/*
 Theme Name:   Divi Child
 Theme URI:    https://sabasabai.no
 Description:  Sabasabai unified child theme stylesheet (recipes + shop + Divi header)
 Author:       Tore
 Author URI:   https://aliom.no
 Template:     Divi
 Version:      1.7.5-alpha

 ------------------------------------------------------------
 Version History
 ------------------------------------------------------------
 1.7.1 - Blog grid 4-column layout + hover zoom
 1.7.2 - Uniform height on desktop/tablet
 1.7.3 - Compact spacing between image and title
 1.7.4 - Mobile layout fix (safe single column)
 1.7.5 - Cleaned Ingredient Insights & Steps Overview (deprecated old image/product columns)
 ------------------------------------------------------------

 TABLE OF CONTENTS
 ------------------------------------------------------------
  0) Base / Variables / Resets
  1) Ingredient Insights (layout + Woo product)   [Deprecated + New clean]
  2) ACF Gallery Slider
  3) Steps Overview                               [Deprecated + New clean]
  4) Sticky Stack
  5) Divi Builder Preview Fixes
  6) Woo Buttons – site-wide gold
  7) Woo Button Motion Smoothing
  8) Theme Builder Add-to-Cart Fix
  9) Cart Totals Styling
 10) Blog Grid (4-column, even height, hover zoom, mobile safe)
 11) Woo Bundled Products
 12) Divi Header Search
 ------------------------------------------------------------
*/

/* =========================================================
   0) BASE / VARIABLES / RESETS
   --------------------------------------------------------- */
:root {
  --saba-gold: #c9a646;           /* warm golden-yellow accent */
  --saba-gold-darker: #a38334;    /* deeper gold hover tone */
  --saba-bluegray: #627e8b;       /* calm blue-gray base */
  --saba-green: #2f6f5e;          /* organic green tone */
  --saba-red: #a63a3a;            /* coral-red accent */
  --saba-graphite: #2e2f31;       /* soft dark neutral */
  --saba-ivory: #eae3d7;          /* warm ivory background */
  --header-sticky-height: 72px;   /* used for sticky offsets */
}

* {
  box-sizing: border-box;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* =========================================================
   1) INGREDIENT INSIGHTS
   Displays ingredient descriptions with linked Woo products.
   --------------------------------------------------------- */

/* === Deprecated 2025-12-11 === */
.saba-insights {
  display: grid;
  gap: 1.5rem;
}

.saba-insight {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  padding: 1rem 0;
}

.saba-insight-text {
  flex: 1 1 65%;
}

.saba-insight-product {
  flex: 0 0 35%;
}

.saba-insight-product img {
  width: 100%;
  height: auto;
}

/* Buttons in product area */
.saba-insight-product :is(a.button, button.button, input.button) {
  display: inline-block;
  width: 100%;
  margin-top: 0.5rem;
  text-align: center;
  border-radius: 6px;
}

/* Hover magnifying glass overlay */
.saba-insight-product .saba-prod-link {
  position: relative;
  display: block;
}

.saba-insight-product .saba-prod-link img {
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.saba-insight-product .saba-prod-link:hover img {
  opacity: 0.85;
  transform: scale(1.01);
}

.saba-insight-product .saba-prod-link::after {
  content: "\1F50D";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) scale(0.85);
  width: 42px;
  height: 42px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 20px;
  line-height: 42px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.saba-insight-product .saba-prod-link:hover::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
/* === End Deprecated === */

/* =========================================================
   1) INGREDIENT INSIGHTS (clean version)
   Displays ingredient descriptions with inline WYSIWYG images.
   --------------------------------------------------------- */
.saba-insights {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 1.5rem;
}

.saba-insight {
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.saba-insight-text h3 {
  font-size: 1.5rem;
  margin-bottom: 0.35rem;
  color: var(--saba-graphite);
}

.saba-insight-text img {
  margin-top: 0.5rem;
  border-radius: 6px;
  max-width: 100%;
  height: auto;
}

/* =========================================================
   2) ACF GALLERY SLIDER
   Simple responsive image slider with optional captions.
   --------------------------------------------------------- */
.saba-slider {
  position: relative;
  overflow: hidden;
  width: 100%;
}

.saba-slider-track {
  display: flex;
  transition: transform 0.5s ease;
}

.saba-slide {
  flex: 0 0 100%;
  position: relative;
}

.saba-slide figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  padding: 0.5rem 0.75rem;
  font-size: 0.9rem;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.saba-slide:hover figcaption {
  opacity: 1;
}

/* ACF Slider: hide nav and progress elements from [saba_acf_gallery] */
.saba-slider .saba-nav,
.saba-slider .saba-dots {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Prevent any extra spacing below slider */
.saba-slider {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}


/* =========================================================
   3) STEPS OVERVIEW
   Displays cooking steps (with optional image).
   --------------------------------------------------------- */

/* === Deprecated 2025-12-11 === 
.saba-steps {
  display: grid;
  gap: 0;
}

.saba-step {
  display: flex;
  gap: 1.5rem;
  align-items: flex-start;
  padding: 0.5rem 0;
}

.saba-step-text {
  flex: 1 1 65%;
}

.saba-step-media {
  flex: 0 0 35%;
}

.saba-step h3,
.saba-step h4 {
  margin: 0 0 0.35rem;
  font-size: 1.4rem;
  line-height: 1.3;
}

.saba-step h3::first-letter,
.saba-step h4::first-letter {
  font-weight: 700;
  color: var(--saba-gold);
}
/* === End Deprecated === */

/* =========================================================
   3) STEPS OVERVIEW (clean version)
   Displays numbered steps with optional inline images.
   --------------------------------------------------------- */
.saba-steps {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  counter-reset: step;
}

.saba-step {
  padding: 0.75rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  counter-increment: step;
}

.saba-step-text h3 {
  position: relative;
  font-size: 1.3rem;
  line-height: 1.35;
  margin-bottom: 0.35rem;
  color: var(--saba-graphite);
}

.saba-step-text h3::before {
  content: counter(step) ". ";
  color: var(--saba-gold);
  font-weight: 700;
}

.saba-step-text img {
  margin-top: 0.5rem;
  border-radius: 6px;
  max-width: 100%;
  height: auto;
}

/* =========================================================
   4) STICKY STACK
   Keeps product box or title sticky beside content.
   --------------------------------------------------------- 
@media (min-width: 981px) {
  .sticky-stack {
    position: sticky;
    top: var(--header-sticky-height);
    z-index: 10;
  }
}

.sticky-product-box {
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
}

.sticky-product-box img {
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.sticky-product-box .saba-prod-link:hover img {
  opacity: 0.85;
  transform: scale(1.01);
}

/* =========================================================
   5) DIVI BUILDER PREVIEW FIXES
   Adjusts layout inside the Visual Builder.
   --------------------------------------------------------- */
.et-fb .saba-insight,
.et-fb .saba-step {
  flex-direction: column;
}

.et-fb .saba-insight-text,
.et-fb .saba-step-text {
  flex: 1 1 100%;
}
/* ============================================================
   6) WOO BUTTONS – STRUCTURAL BASELINE (CLEAN RESET)
   ------------------------------------------------------------
   Version: 2.4-clean
   Date: 2025-12-07
   Author: Tore
   Purpose:
     Removes all color overrides now handled in Divi Global
     Defaults. Keeps only alignment, spacing, and form styling
     relevant to WooCommerce product pages.
   ------------------------------------------------------------
   Version History
   ------------------------------------------------------------
   1.0 - Original gold baseline for WooCommerce
   2.0 - Reset for Divi baseline
   2.1 - Solid gold + darker hover
   2.2 - Gradient experiments (removed)
   2.3 - Global gradient override (removed)
   2.4 - Clean structural baseline before Global Header setup
   ============================================================ */


/* ------------------------------------------------------------
   BUTTON VISUALS – REMOVED
   ------------------------------------------------------------
   All color, gradient, and hover styling is now defined
   through Divi Theme Builder (Global Defaults).
   ------------------------------------------------------------ */


/* ------------------------------------------------------------
   PRODUCT FORM ALIGNMENT
   ------------------------------------------------------------ */

/* -- Flex layout: aligns quantity + add-to-cart nicely -- 
body.single-product form.cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
}

/* -- Quantity input field -- 
body.single-product form.cart .quantity input.qty {
  padding: 0.45em 0.7em;
  border: 1px solid #ccc;
  border-radius: 4px;
  text-align: center;
  font-size: 1em;
  line-height: 1.2;
}

/* -- Variation dropdown reset to Divi baseline -- 
body.single-product form.cart select {
  appearance: auto;
  background-color: #fff;
  padding: 0.45em 1.75em 0.45em 0.7em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1em;
  line-height: 1.3;
}

/* -- Hover cue for dropdowns -- 
body.single-product form.cart select:hover {
  border-color: #be9b4a;
}


/* ------------------------------------------------------------
   END SECTION 6
   ------------------------------------------------------------ */

/* =========================================================
   8) THEME BUILDER ADD-TO-CART FIX
   Ensures Add to Cart modules display properly.
   --------------------------------------------------------- */
.et-l .et_pb_module.et_pb_wc_add_to_cart form.cart {
  display: block !important;
}

/* =========================================================
   9) CART TOTALS STYLING
   Adds padding and contrast for tax rows.
   --------------------------------------------------------- */
.woocommerce .cart_totals .custom-tax-row th,
.woocommerce .cart_totals .custom-tax-row td {
  font-weight: 500;
  color: #333;
  border-top: none;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}

/* =========================================================
   10) BLOG GRID
   4-column responsive layout, even heights, hover zoom, safe on mobile.
   --------------------------------------------------------- */
#blog-grid-1.et_pb_blog_grid .et_pb_salvattore_content[data-columns]::before,
#blog-grid-1 .et_pb_salvattore_content[data-columns]::before {
  content: '4 .column.size-1of4';
}

#blog-grid-1 .et_pb_salvattore_content .column.size-1of4 {
  width: 25% !important;
}

/* Tablet: 2 columns */
@media (min-width: 768px) and (max-width: 980px) {
  #blog-grid-1 .et_pb_salvattore_content[data-columns]::before {
    content: '2 .column.size-1of2';
  }
  #blog-grid-1 .et_pb_salvattore_content .column.size-1of2 {
    width: 50% !important;
  }
}

/* Phone: 1 column */
@media (max-width: 767px) {
  #blog-grid-1 .et_pb_salvattore_content[data-columns]::before {
    content: '1 .column.size-1of1';
  }
  #blog-grid-1 .et_pb_salvattore_content .column.size-1of1 {
    width: 100% !important;
  }
}

/* Card styling */
#blog-grid-1 .et_pb_post {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 20px;
  margin: 10px 10px 24px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  overflow: hidden;
}

/* Hover lift */
#blog-grid-1 .et_pb_post:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
  border-color: #ddd;
}

/* Featured image zoom */
#blog-grid-1 .et_pb_post .et_pb_image_container img {
  transition: transform 0.5s ease;
}

#blog-grid-1 .et_pb_post:hover .et_pb_image_container img {
  transform: scale(1.08);
}

/* Image corners match card corners */
#blog-grid-1 .et_pb_post .et_pb_image_container,
#blog-grid-1 .et_pb_post .et_pb_image_container img {
  border-radius: 8px 8px 0 0 !important;
  overflow: hidden;
  display: block;
}

/* Compact spacing */
#blog-grid-1 .et_pb_post .et_pb_image_container {
  margin-bottom: 0.6rem !important;
}

#blog-grid-1 .et_pb_post .entry-title {
  margin-top: 0 !important;
  margin-bottom: 0.4rem !important;
  line-height: 1.3;
}

#blog-grid-1 .et_pb_post .post-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#blog-grid-1 .et_pb_post p,
#blog-grid-1 .et_pb_post .post-meta {
  margin-top: 0.25rem !important;
}

/* Mobile: disable flex equal height */
@media (max-width: 980px) {
  #blog-grid-1 .et_pb_salvattore_content[data-columns] {
    display: block !important;
  }
  #blog-grid-1 .et_pb_post {
    display: block !important;
    height: auto !important;
  }
  #blog-grid-1 .et_pb_post .post-content {
    display: block !important;
  }
}

/* =========================================================
   11) WOO BUNDLED PRODUCTS
   Typography and spacing tweaks for bundled kits.
   --------------------------------------------------------- 
body.single-product [class*="bundled_product"] .bundled_product_title {
  font-size: 1.1rem;
  font-weight: 700;
}

body.single-product [class*="bundled_product"] .bundled_product_excerpt {
  font-size: 0.95rem;
  line-height: 1.45;
}

body.single-product [class*="bundled_product"] .price {
  font-size: 0.96rem;
  color: #333;
}
*/
/* =========================================================
   12) DIVI HEADER SEARCH
   Improves search input and placeholder legibility.
   --------------------------------------------------------- */

.site-main-menu .et_pb_menu__search-input {
  color: #eae3d7 !important;
  caret-color: #eae3d7;
}

.site-main-menu .et_pb_menu__search-input::placeholder {
  color: rgba(234, 227, 215, 0.85) !important;
  opacity: 1;
}
/* Hide browser-native search clear X in main menu search */
.site-main-menu .et_pb_menu__search-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
  appearance: none;
  display: none;
}


/* =========================================================
   WooCommerce Product Bundles
   Layout-aware styling for Grid, Standard and Tabular layouts
   Version: 1.3
   Last updated: 2026-05-06

   Version history:
   1.0 - Added layout-aware styling for bundle layouts.
   1.1 - Refined tabular product text, checkbox and optional pricing.
   1.2 - Added compact mobile layout for tabular bundles.
   1.3 - Cleaned duplicate rules and removed old grid experiments.

   Table of contents:
   1. Shared bundle styling
   2. Grid / Standard bundle layout
   3. Tabular bundle layout - desktop/tablet
   4. Tabular bundle layout - mobile
   ========================================================= */


/* ---------------------------------------------------------
   1. Shared bundle styling
   --------------------------------------------------------- */

/* Keep bundle elements predictable across layouts. */
body.single-product .bundle_form .bundled_product_summary,
body.single-product .bundle_form table[class*="bundled"] {
  box-sizing: border-box !important;
}

/* Remove underlines from bundle product links. */
body.single-product .bundle_form .bundled_product_summary a,
body.single-product .bundle_form table[class*="bundled"] a {
  text-decoration: none !important;
}


/* ---------------------------------------------------------
   2. Grid / Standard bundle layout
   --------------------------------------------------------- */

/* Keep the native Product Bundles grid/float layout. Do not force 4 columns. */
body.single-product .bundle_form .bundled_products:not(table) .bundled_product,
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary {
  margin-bottom: 34px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Light horizontal padding inside each bundled product card. */
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary {
  padding: 0 10px !important;
}

/* Product images in Grid / Standard layout. */
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .bundled_product_images,
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .bundled_product_image,
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .images {
  max-width: 130px !important;
  width: 130px !important;
  margin: 0 auto 10px !important;
}

body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary img {
  max-width: 130px !important;
  width: 130px !important;
  height: 130px !important;
  object-fit: contain !important;
}

/* Product text in Grid / Standard layout. */
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .bundled_product_title,
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .product_title {
  font-size: 16px !important;
  line-height: 1.3 !important;
  margin: 6px 0 5px !important;
  text-align: center !important;
}

body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .price,
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .bundled_item_cart_content,
body.single-product .bundle_form .bundled_products:not(table) .bundled_product_summary .cart {
  font-size: 14px !important;
  line-height: 1.35 !important;
  text-align: center !important;
}


/* ---------------------------------------------------------
   3. Tabular bundle layout - desktop/tablet
   --------------------------------------------------------- */

/* Main tabular bundle table. */
body.single-product .bundle_form table[class*="bundled"] {
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
}

/* Header row. */
body.single-product .bundle_form table[class*="bundled"] th {
  padding: 18px 16px 20px !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  text-align: left !important;
  vertical-align: middle !important;
}

/* Quantity column header. */
body.single-product .bundle_form table[class*="bundled"] th:last-child {
  width: 110px !important;
  text-align: center !important;
}

/* Table cells. */
body.single-product .bundle_form table[class*="bundled"] td {
  padding: 14px 16px !important;
  vertical-align: middle !important;
  line-height: 1.35 !important;
  font-size: 17px !important;
}

/* Product image column. */
body.single-product .bundle_form table[class*="bundled"] td:first-child {
  width: 110px !important;
  padding-right: 8px !important;
}

/* Product images in Tabular layout. */
body.single-product .bundle_form table[class*="bundled"] img {
  width: 86px !important;
  max-width: 86px !important;
  height: 86px !important;
  object-fit: contain !important;
}

/* Product names in Tabular layout. */
body.single-product .bundle_form table[class*="bundled"] .bundled_product_title,
body.single-product .bundle_form table[class*="bundled"] .bundled_product_title a,
body.single-product .bundle_form table[class*="bundled"] .product_title,
body.single-product .bundle_form table[class*="bundled"] .product_title a {
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.22 !important;
}

/* Short description override / product description below product name. */
body.single-product .bundle_form table[class*="bundled"] .bundled_product_excerpt,
body.single-product .bundle_form table[class*="bundled"] .bundled_product_excerpt p,
body.single-product .bundle_form table[class*="bundled"] .bundled_product_description,
body.single-product .bundle_form table[class*="bundled"] .bundled_product_description p,
body.single-product .bundle_form table[class*="bundled"] .details,
body.single-product .bundle_form table[class*="bundled"] .details p {
  font-size: 14px !important;
  line-height: 1.22 !important;
  margin-top: 0 !important;
  margin-bottom: 6px !important;
}

/* Quantity / amount column. */
body.single-product .bundle_form table[class*="bundled"] td:last-child {
  width: 110px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* Optional add-on line. */
body.single-product .bundle_form table[class*="bundled"] .bundled_item_cart_content,
body.single-product .bundle_form table[class*="bundled"] .bundled_product_optional_checkbox,
body.single-product .bundle_form table[class*="bundled"] label {
  margin-top: 6px !important;
  font-size: 17px !important;
  line-height: 1.35 !important;
  color: #627e8b !important;
}

/* Add a little separation between description and optional add-on line. */
body.single-product .bundle_form table[class*="bundled"] .bundled_item_cart_content {
  margin-top: 8px !important;
}

/* Optional add-on checkbox. */
body.single-product .bundle_form table[class*="bundled"] input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  margin-right: 9px !important;
  vertical-align: -3px !important;
  accent-color: #627e8b;
}

/* Optional add-on price. */
body.single-product .bundle_form table[class*="bundled"] .bundled_item_cart_content .price,
body.single-product .bundle_form table[class*="bundled"] .bundled_product_optional_checkbox .price {
  font-size: 18px !important;
  line-height: 1.35 !important;
  color: #627e8b !important;
}


/* ---------------------------------------------------------
   4. Tabular bundle layout - mobile
   --------------------------------------------------------- */

@media (max-width: 767px) {

  /* Hide table headers on mobile. */
  body.single-product .bundle_form table[class*="bundled"] thead {
    display: none !important;
  }

  /* Convert each bundled product row to a compact mobile row. */
  body.single-product .bundle_form table[class*="bundled"] tr {
    display: grid !important;
    grid-template-columns: 76px 1fr 42px !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    align-items: start !important;
    margin: 0 0 22px !important;
    padding: 0 0 18px !important;
  }

  /* Reset table cells for mobile grid layout. */
  body.single-product .bundle_form table[class*="bundled"] td {
    display: block !important;
    width: auto !important;
    padding: 0 !important;
    text-align: left !important;
  }

  /* Product image column. */
  body.single-product .bundle_form table[class*="bundled"] td:first-child {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
  }

  /* Product images on mobile. */
  body.single-product .bundle_form table[class*="bundled"] img {
    width: 72px !important;
    max-width: 72px !important;
    height: 72px !important;
    object-fit: contain !important;
    margin: 0 !important;
  }

  /* Product text column. */
  body.single-product .bundle_form table[class*="bundled"] td:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
  }

  /* Quantity column. */
  body.single-product .bundle_form table[class*="bundled"] td:last-child {
    grid-column: 3 !important;
    grid-row: 1 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    text-align: center !important;
    padding-top: 2px !important;
    width: auto !important;
    white-space: normal !important;
  }

  /* Product names on mobile. Avoid broad td a selectors here. */
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_title,
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_title a,
  body.single-product .bundle_form table[class*="bundled"] .product_title,
  body.single-product .bundle_form table[class*="bundled"] .product_title a,
  body.single-product .bundle_form table[class*="bundled"] h3,
  body.single-product .bundle_form table[class*="bundled"] h3 a,
  body.single-product .bundle_form table[class*="bundled"] h4,
  body.single-product .bundle_form table[class*="bundled"] h4 a {
    font-size: 18px !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
    margin: 0 0 3px !important;
  }

  /* Short description / override text on mobile. */
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_excerpt,
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_excerpt p,
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_description,
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_description p,
  body.single-product .bundle_form table[class*="bundled"] .details p {
    font-size: 15px !important;
    line-height: 1.25 !important;
    margin: 0 0 5px !important;
    font-weight: 400 !important;
  }

  /* Optional add-on line on mobile. */
  body.single-product .bundle_form table[class*="bundled"] .bundled_item_cart_content,
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_optional_checkbox,
  body.single-product .bundle_form table[class*="bundled"] label {
    font-size: 16px !important;
    line-height: 1.3 !important;
    color: #627e8b !important;
  }

  /* Optional add-on checkbox on mobile. */
  body.single-product .bundle_form table[class*="bundled"] input[type="checkbox"] {
    width: 18px !important;
    height: 18px !important;
    margin-right: 7px !important;
    vertical-align: -3px !important;
    accent-color: #627e8b;
  }

  /* Optional add-on price on mobile. */
  body.single-product .bundle_form table[class*="bundled"] .bundled_item_cart_content .price,
  body.single-product .bundle_form table[class*="bundled"] .bundled_product_optional_checkbox .price {
    font-size: 16px !important;
    color: #627e8b !important;
  }
}

/* =========================================================
   WooCommerce Blocks
   Cart cross-sells styling
   Version: 1.4
   Last updated: 2026-05-07

   Version history:
   1.0 - Added base styling for Cart Cross-Sells.
   1.1 - Added Sabasabai gradient button styling.
   1.2 - Added mobile layout.
   1.3 - Added image containment fixes.
   1.4 - Cleaned duplicate rules and added optional product-list class.

   Required block classes:
   - Add "saba-cart-cross-sells" to the Cart Cross-Sells wrapper block.
   - Optional: Add "saba-cart-cross-sells-products" to the Cart Cross-Sells Products block.

   Table of contents:
   1. Variables
   2. Section and heading
   3. Product grid
   4. Product cards and content
   5. Buttons
   6. Mobile layout
   ========================================================= */


/* ---------------------------------------------------------
   1. Variables
   --------------------------------------------------------- */

.saba-cart-cross-sells {
  /* Regular button gradient */
  --saba-cross-sell-button-bg-left: #d3b363;
  --saba-cross-sell-button-bg-left-stop: 0%;
  --saba-cross-sell-button-bg-mid: #d3b363;
  --saba-cross-sell-button-bg-mid-stop: 33%;
  --saba-cross-sell-button-bg-right: #ecd181;
  --saba-cross-sell-button-bg-right-stop: 100%;

  /* Hover button gradient */
  --saba-cross-sell-button-hover-bg-left: #d3b363;
  --saba-cross-sell-button-hover-bg-left-stop: 0%;
  --saba-cross-sell-button-hover-bg-mid: #d3b363;
  --saba-cross-sell-button-hover-bg-mid-stop: 67%;
  --saba-cross-sell-button-hover-bg-right: #ecd181;
  --saba-cross-sell-button-hover-bg-right-stop: 100%;

  /* Regular button border */
  --saba-cross-sell-button-border-color: #ecd181;
  --saba-cross-sell-button-border-width: 2px;
  --saba-cross-sell-button-border-radius: 6px;

  /* Hover button border */
  --saba-cross-sell-button-hover-border-color: #ecd181;
  --saba-cross-sell-button-hover-border-width: 2px;
  --saba-cross-sell-button-hover-border-radius: 0;

  /* Button text */
  --saba-cross-sell-button-text-color: #ffffff;
  --saba-cross-sell-button-hover-text-color: #ffffff;
}


/* ---------------------------------------------------------
   2. Section and heading
   --------------------------------------------------------- */

.saba-cart-cross-sells {
  margin-top: 36px;
  margin-bottom: 40px;
}

/* Cross-sell heading */
.saba-cart-cross-sells h2.wp-block-heading,
.saba-cart-cross-sells .wp-block-heading {
  margin: 0 0 28px;
  font-size: 26px !important;
  line-height: 1.2;
  font-weight: 500;
  color: #2e2f31;
  text-align: left;
}

/* ---------------------------------------------------------
   3. Product grid
   --------------------------------------------------------- */

.saba-cart-cross-sells ul,
.saba-cart-cross-sells .wc-block-grid__products,
.saba-cart-cross-sells .products,
.saba-cart-cross-sells .wp-block-post-template,
.saba-cart-cross-sells .wp-block-woocommerce-product-template,
.saba-cart-cross-sells-products ul,
.saba-cart-cross-sells-products .wc-block-grid__products,
.saba-cart-cross-sells-products .products,
.saba-cart-cross-sells-products .wp-block-post-template,
.saba-cart-cross-sells-products .wp-block-woocommerce-product-template {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 36px;
  row-gap: 40px;
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}


/* ---------------------------------------------------------
   4. Product cards and content
   --------------------------------------------------------- */

.saba-cart-cross-sells li,
.saba-cart-cross-sells .wc-block-grid__product,
.saba-cart-cross-sells .product,
.saba-cart-cross-sells .wp-block-post,
.saba-cart-cross-sells-products li,
.saba-cart-cross-sells-products .wc-block-grid__product,
.saba-cart-cross-sells-products .product,
.saba-cart-cross-sells-products .wp-block-post {
  text-align: center;
  border: 0;
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

/* Product image wrappers */
.saba-cart-cross-sells .wc-block-grid__product-image,
.saba-cart-cross-sells .wc-block-components-product-image,
.saba-cart-cross-sells .wp-block-woocommerce-product-image,
.saba-cart-cross-sells-products .wc-block-grid__product-image,
.saba-cart-cross-sells-products .wc-block-components-product-image,
.saba-cart-cross-sells-products .wp-block-woocommerce-product-image {
  height: auto !important;
  overflow: visible !important;
}

/* Product images */
.saba-cart-cross-sells img,
.saba-cart-cross-sells-products img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 150px !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 auto 18px;
  display: block;
}

/* Product titles */
.saba-cart-cross-sells .wc-block-grid__product-title,
.saba-cart-cross-sells .woocommerce-loop-product__title,
.saba-cart-cross-sells .wp-block-post-title,
.saba-cart-cross-sells h3,
.saba-cart-cross-sells li > a,
.saba-cart-cross-sells-products .wc-block-grid__product-title,
.saba-cart-cross-sells-products .woocommerce-loop-product__title,
.saba-cart-cross-sells-products .wp-block-post-title,
.saba-cart-cross-sells-products h3,
.saba-cart-cross-sells-products li > a {
  font-size: 18px;
  line-height: 1.35;
  font-weight: 400;
  color: #2e2f31;
  text-decoration: none;
}

/* Product prices */
.saba-cart-cross-sells .price,
.saba-cart-cross-sells .wc-block-grid__product-price,
.saba-cart-cross-sells .wp-block-woocommerce-product-price,
.saba-cart-cross-sells-products .price,
.saba-cart-cross-sells-products .wc-block-grid__product-price,
.saba-cart-cross-sells-products .wp-block-woocommerce-product-price {
  margin: 14px 0 22px;
  font-size: 17px;
  line-height: 1.3;
  color: #2e2f31;
}


/* ---------------------------------------------------------
   5. Buttons
   --------------------------------------------------------- */

.saba-cart-cross-sells .button,
.saba-cart-cross-sells .wp-block-button__link,
.saba-cart-cross-sells .add_to_cart_button,
.saba-cart-cross-sells button,
.saba-cart-cross-sells-products .button,
.saba-cart-cross-sells-products .wp-block-button__link,
.saba-cart-cross-sells-products .add_to_cart_button,
.saba-cart-cross-sells-products button {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 48px;
  padding: 13px 28px;

  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;

  color: var(--saba-cross-sell-button-text-color) !important;
  background: linear-gradient(
    90deg,
    var(--saba-cross-sell-button-bg-left) var(--saba-cross-sell-button-bg-left-stop),
    var(--saba-cross-sell-button-bg-mid) var(--saba-cross-sell-button-bg-mid-stop),
    var(--saba-cross-sell-button-bg-right) var(--saba-cross-sell-button-bg-right-stop)
  ) !important;

  border-color: var(--saba-cross-sell-button-border-color) !important;
  border-style: solid !important;
  border-width: var(--saba-cross-sell-button-border-width) !important;
  border-radius: var(--saba-cross-sell-button-border-radius) !important;

  cursor: pointer;
  transition:
    background 180ms ease,
    border-color 180ms ease,
    border-radius 180ms ease,
    color 180ms ease;
}

.saba-cart-cross-sells .button:hover,
.saba-cart-cross-sells .button:focus,
.saba-cart-cross-sells .wp-block-button__link:hover,
.saba-cart-cross-sells .wp-block-button__link:focus,
.saba-cart-cross-sells .add_to_cart_button:hover,
.saba-cart-cross-sells .add_to_cart_button:focus,
.saba-cart-cross-sells button:hover,
.saba-cart-cross-sells button:focus,
.saba-cart-cross-sells-products .button:hover,
.saba-cart-cross-sells-products .button:focus,
.saba-cart-cross-sells-products .wp-block-button__link:hover,
.saba-cart-cross-sells-products .wp-block-button__link:focus,
.saba-cart-cross-sells-products .add_to_cart_button:hover,
.saba-cart-cross-sells-products .add_to_cart_button:focus,
.saba-cart-cross-sells-products button:hover,
.saba-cart-cross-sells-products button:focus {
  color: var(--saba-cross-sell-button-hover-text-color) !important;
  background: linear-gradient(
    90deg,
    var(--saba-cross-sell-button-hover-bg-left) var(--saba-cross-sell-button-hover-bg-left-stop),
    var(--saba-cross-sell-button-hover-bg-mid) var(--saba-cross-sell-button-hover-bg-mid-stop),
    var(--saba-cross-sell-button-hover-bg-right) var(--saba-cross-sell-button-hover-bg-right-stop)
  ) !important;

  border-color: var(--saba-cross-sell-button-hover-border-color) !important;
  border-width: var(--saba-cross-sell-button-hover-border-width) !important;
  border-radius: var(--saba-cross-sell-button-hover-border-radius) !important;
}


/* ---------------------------------------------------------
   6. Mobile layout
   --------------------------------------------------------- */

@media (max-width: 767px) {

  /* Cross-sell section wrapper */
  .saba-cart-cross-sells {
    margin-top: 24px;
    margin-bottom: 28px;
    padding-left: 8px;
    padding-right: 8px;
  }

  /* Cross-sell heading */
  .saba-cart-cross-sells h2,
  .saba-cart-cross-sells .wp-block-heading {
    margin: 0 0 20px;
    font-size: 34px;
    line-height: 1.1;
  }

  /* Product grid: one product per row on mobile */
  .saba-cart-cross-sells ul,
  .saba-cart-cross-sells .wc-block-grid__products,
  .saba-cart-cross-sells .products,
  .saba-cart-cross-sells .wp-block-post-template,
  .saba-cart-cross-sells .wp-block-woocommerce-product-template,
  .saba-cart-cross-sells-products ul,
  .saba-cart-cross-sells-products .wc-block-grid__products,
  .saba-cart-cross-sells-products .products,
  .saba-cart-cross-sells-products .wp-block-post-template,
  .saba-cart-cross-sells-products .wp-block-woocommerce-product-template {
    grid-template-columns: 1fr;
    row-gap: 32px;
    column-gap: 0;
  }

  /* Product card */
  .saba-cart-cross-sells li,
  .saba-cart-cross-sells .wc-block-grid__product,
  .saba-cart-cross-sells .product,
  .saba-cart-cross-sells .wp-block-post,
  .saba-cart-cross-sells-products li,
  .saba-cart-cross-sells-products .wc-block-grid__product,
  .saba-cart-cross-sells-products .product,
  .saba-cart-cross-sells-products .wp-block-post {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    padding: 22px 18px 24px;
    border: 1px solid #e3e3e3;
    border-radius: 6px;
    background: #ffffff;
    text-align: center;
    box-sizing: border-box;
  }

  /* Product images */
  .saba-cart-cross-sells img,
  .saba-cart-cross-sells-products img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 145px !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto 14px;
    display: block;
  }

  /* Product titles */
  .saba-cart-cross-sells .wc-block-grid__product-title,
  .saba-cart-cross-sells .woocommerce-loop-product__title,
  .saba-cart-cross-sells .wp-block-post-title,
  .saba-cart-cross-sells h3,
  .saba-cart-cross-sells li > a,
  .saba-cart-cross-sells-products .wc-block-grid__product-title,
  .saba-cart-cross-sells-products .woocommerce-loop-product__title,
  .saba-cart-cross-sells-products .wp-block-post-title,
  .saba-cart-cross-sells-products h3,
  .saba-cart-cross-sells-products li > a {
    font-size: 22px;
    line-height: 1.25;
  }

  /* Product price */
  .saba-cart-cross-sells .price,
  .saba-cart-cross-sells .wc-block-grid__product-price,
  .saba-cart-cross-sells .wp-block-woocommerce-product-price,
  .saba-cart-cross-sells-products .price,
  .saba-cart-cross-sells-products .wc-block-grid__product-price,
  .saba-cart-cross-sells-products .wp-block-woocommerce-product-price {
    margin: 10px 0 16px;
    font-size: 18px;
    line-height: 1.3;
  }

  /* Add-to-cart button */
  .saba-cart-cross-sells .button,
  .saba-cart-cross-sells .wp-block-button__link,
  .saba-cart-cross-sells .add_to_cart_button,
  .saba-cart-cross-sells button,
  .saba-cart-cross-sells-products .button,
  .saba-cart-cross-sells-products .wp-block-button__link,
  .saba-cart-cross-sells-products .add_to_cart_button,
  .saba-cart-cross-sells-products button {
    width: 100%;
    max-width: 260px;
    min-height: 50px;
    padding: 13px 22px;
    font-size: 17px;
  }
}

/* =========================================================
   WooCommerce Blocks
   Sticky cart totals column
   Version: 1.0
   Keeps the cart totals column visible while scrolling long carts/cross-sells
   ========================================================= */

@media (min-width: 981px) {

  /* Sticky summary column on cart page */
  .saba-cart-totals-sticky {
    position: sticky;
    top: 150px;
    align-self: flex-start;
    z-index: 5;
  }
}

/* ============================
   SABASABAI – WPRM PRODUCT TOOLTIP
   Version: 0.2.0
   Last updated: 2026-07-05

   TABLE OF CONTENTS
   1. Tippy wrapper limits
   2. Tooltip wrapper
   3. Product content layout
   4. Product image
   5. Product name
   6. Price
   7. Quantity and cart button
   8. Cart summary
   9. Mobile positioning and sizing
   ============================ */


/* 1. Tippy wrapper limits */
body .tippy-box:has(.wprmp-product-tooltip) {
  max-width: calc(100vw - 24px) !important;
}

body .tippy-box:has(.wprmp-product-tooltip) .tippy-content {
  padding: 0 !important;
  max-width: calc(100vw - 24px) !important;
}


/* 2. Tooltip wrapper */
body .tippy-box .tippy-content .wprmp-product-tooltip {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
  column-gap: 16px !important;
  row-gap: 0 !important;
  box-sizing: border-box !important;
  width: 390px !important;
  max-width: calc(100vw - 24px) !important;
  padding: 20px 22px !important;
  color: #2e2f31 !important;
  background: #ffffff !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 28px rgba(46, 47, 49, 0.14) !important;
}


/* 3. Product content layout
   Allows the children of the content wrapper to be placed directly
   in the tooltip grid, preventing image/button overlap.
*/
body .tippy-box .tippy-content .wprmp-product-tooltip-content {
  display: contents !important;
}


/* 4. Product image */
body .tippy-box .tippy-content .wprmp-product-tooltip-image {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  justify-self: end !important;
  align-self: start !important;

  width: 64px !important;
  height: 64px !important;
  aspect-ratio: 1 / 1 !important;

  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  background: #ffffff !important;
  z-index: 1 !important;
}

body .tippy-box .tippy-content .wprmp-product-tooltip-image img {
  display: block !important;
  width: 64px !important;
  height: 64px !important;
  aspect-ratio: 1 / 1 !important;

  object-fit: contain !important;
  object-position: center center !important;

  border-radius: 6px !important;
}


/* 5. Product name */
body .tippy-box .tippy-content .wprmp-product-tooltip-name {
  grid-column: 1 !important;
  grid-row: 1 !important;
  max-width: none !important;
  margin: 0 0 6px 0 !important;
  color: #627e8b !important;
  font-size: 16px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

body .tippy-box .tippy-content .wprmp-product-tooltip-name a {
  color: #627e8b !important;
  text-decoration: none !important;
}

body .tippy-box .tippy-content .wprmp-product-tooltip-name a:hover {
  color: #2f6f5e !important;
  text-decoration: underline !important;
}

body .tippy-box .tippy-content .wprmp-external-link-icon {
  font-size: 0.85em !important;
  opacity: 0.75 !important;
}


/* 6. Price */
body .tippy-box .tippy-content .wprmp-product-tooltip-price {
  grid-column: 1 !important;
  grid-row: 2 !important;
  margin: 0 0 16px 0 !important;
  color: #2e2f31 !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}


/* 7. Quantity and cart button */
body .tippy-box .tippy-content .wprmp-product-tooltip-quantity-cart {
  display: grid !important;
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  grid-template-columns: 68px 220px !important;
  gap: 10px !important;
  align-items: stretch !important;
  margin: 0 0 16px 0 !important;
}

body .tippy-box .tippy-content input.wprmp-quantity-input {
  width: 100% !important;
  min-height: 42px !important;
  padding: 5px 8px !important;
  color: #2e2f31 !important;
  background: #ffffff !important;
  border: 1px solid #e8e4de !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-align: center !important;
}


/* Sabasabai gold button – normal state */
body .tippy-box .tippy-content button.wprmp-add-to-cart-btn {
  width: 100% !important;
  min-height: 42px !important;
  padding: 6px 14px !important;

  color: #ffffff !important;
  background-color: #d3b363 !important;
  background-image: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 33%,
    #ecd181 100%
  ) !important;

  border: 2px solid #ecd181 !important;
  border-radius: 6px !important;

  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: normal !important;

  box-shadow: none !important;
  cursor: pointer !important;
}


/* Sabasabai gold button – hover/focus state */
body .tippy-box .tippy-content button.wprmp-add-to-cart-btn:hover,
body .tippy-box .tippy-content button.wprmp-add-to-cart-btn:focus {
  color: #ffffff !important;
  background-color: #d3b363 !important;
  background-image: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 67%,
    #ecd181 100%
  ) !important;

  border: 2px solid #ecd181 !important;
  border-color: #ecd181 !important;

  box-shadow: none !important;
  text-decoration: none !important;
  outline: none !important;
}


/* 8. Cart summary */
body .tippy-box .tippy-content .wprmp-product-tooltip-cart-summary {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  margin: 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid #e8e4de !important;
  color: #5f5f5f !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

body .tippy-box .tippy-content .wprmp-product-tooltip-cart-summary a {
  color: #627e8b !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

body .tippy-box .tippy-content .wprmp-product-tooltip-cart-summary a:hover {
  color: #2f6f5e !important;
}


/* 9. Mobile positioning and sizing */
@media (max-width: 767px) {
  body [data-tippy-root]:has(.wprmp-product-tooltip) {
    position: fixed !important;
    inset: auto !important;
    left: 50% !important;
    top: calc(env(safe-area-inset-top, 0px) + 120px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    max-width: calc(100vw - 32px) !important;
    z-index: 999999 !important;
  }

  body .tippy-box:has(.wprmp-product-tooltip),
  body .tippy-box:has(.wprmp-product-tooltip) .tippy-content {
    max-width: calc(100vw - 32px) !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip {
    grid-template-columns: minmax(0, 1fr) 56px !important;
    column-gap: 12px !important;
    box-sizing: border-box !important;
    width: calc(100vw - 32px) !important;
    max-width: 360px !important;
    padding: 18px !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip-image {
    width: 52px !important;
    height: 52px !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip-image img {
    width: 52px !important;
    height: 52px !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip-name {
    font-size: 15px !important;
    line-height: 1.3 !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip-price {
    margin-bottom: 14px !important;
    font-size: 13px !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip-quantity-cart {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 8px !important;
    margin-bottom: 14px !important;
  }

  body .tippy-box .tippy-content input.wprmp-quantity-input,
  body .tippy-box .tippy-content button.wprmp-add-to-cart-btn {
    min-height: 42px !important;
  }

  body .tippy-box .tippy-content input.wprmp-quantity-input {
    font-size: 13px !important;
  }

  body .tippy-box .tippy-content button.wprmp-add-to-cart-btn {
    padding: 6px 10px !important;
    font-size: 13px !important;
    white-space: normal !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip-cart-summary {
    padding-top: 12px !important;
    font-size: 12.5px !important;
  }
}

/* 10. Small landscape / tablet-like viewport adjustment */
@media (min-width: 768px) and (max-width: 980px) {
  body [data-tippy-root]:has(.wprmp-product-tooltip) {
    position: fixed !important;
    inset: auto !important;
    left: 50% !important;
    top: calc(env(safe-area-inset-top, 0px) + 120px) !important;
    right: auto !important;
    bottom: auto !important;
    transform: translateX(-50%) !important;
    max-width: calc(100vw - 48px) !important;
    z-index: 999999 !important;
  }

  body .tippy-box:has(.wprmp-product-tooltip),
  body .tippy-box:has(.wprmp-product-tooltip) .tippy-content {
    max-width: calc(100vw - 48px) !important;
  }

  body .tippy-box .tippy-content .wprmp-product-tooltip {
    box-sizing: border-box !important;
    width: 390px !important;
    max-width: calc(100vw - 48px) !important;
  }
}

/* =========================================================
   Cart – Proceed to Checkout button
   Styles the actual WooCommerce Blocks checkout button
   ========================================================= */

body.woocommerce-cart .saba-cart-checkout-button .wc-block-cart__submit-button,
body.woocommerce-cart .saba-cart-checkout-button a.wc-block-cart__submit-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 16px !important;

  background: linear-gradient(90deg, #d3b363 0%, #d3b363 33%, #ecd181 100%) !important;
  border: 2px solid #ecd181 !important;
  border-radius: 6px !important;

  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: none !important;
}

/* Inner text in WooCommerce Blocks */
body.woocommerce-cart .saba-cart-checkout-button .wc-block-components-button__text {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}
/* Hover – Cart Proceed to Checkout button */
body.woocommerce-cart .saba-cart-checkout-button .wc-block-cart__submit-button:hover,
body.woocommerce-cart .saba-cart-checkout-button .wc-block-cart__submit-button:focus,
body.woocommerce-cart .saba-cart-checkout-button a.wc-block-cart__submit-button:hover,
body.woocommerce-cart .saba-cart-checkout-button a.wc-block-cart__submit-button:focus {
  background: linear-gradient(90deg, #d3b363 0%, #d3b363 67%, #ecd181 100%) !important;
  border: 2px solid #ecd181 !important;
  border-radius: 2px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* =========================================================
   Checkout – Place Order / Send bestilling button
   Styles the actual WooCommerce Blocks checkout button
   ========================================================= */

body.woocommerce-checkout .saba-checkout-place-order-button .wc-block-components-checkout-place-order-button,
body.woocommerce-checkout .saba-checkout-place-order-button button.wc-block-components-checkout-place-order-button,
body.woocommerce-checkout button.saba-checkout-place-order-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 16px !important;

  background: linear-gradient(90deg, #d3b363 0%, #d3b363 33%, #ecd181 100%) !important;
  border: 2px solid #ecd181 !important;
  border-radius: 6px !important;

  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: none !important;
}

/* Inner text in WooCommerce Blocks */
body.woocommerce-checkout .saba-checkout-place-order-button .wc-block-components-button__text,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  color: #ffffff !important;
  font-size: 18px !important;
  font-weight: 500 !important;
}

/* Hover – Checkout Place Order button */
body.woocommerce-checkout .saba-checkout-place-order-button .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .saba-checkout-place-order-button .wc-block-components-checkout-place-order-button:focus,
body.woocommerce-checkout button.saba-checkout-place-order-button:hover,
body.woocommerce-checkout button.saba-checkout-place-order-button:focus,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus {
  background: linear-gradient(90deg, #d3b363 0%, #d3b363 67%, #ecd181 100%) !important;
  border: 2px solid #ecd181 !important;
  border-radius: 2px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

/* =========================================================
   Cart / Checkout – Coupon code field
   Shared styling for WooCommerce Blocks coupon form
   ========================================================= */

body.woocommerce-cart .saba-coupon-code .wc-block-components-totals-coupon__form,
body.woocommerce-checkout .saba-coupon-code .wc-block-components-totals-coupon__form {
  display: grid !important;
  grid-template-columns: 1fr 128px !important;
  gap: 10px !important;
  align-items: stretch !important;
}

/* Coupon input wrapper */
body.woocommerce-cart .saba-coupon-code .wc-block-components-text-input,
body.woocommerce-checkout .saba-coupon-code .wc-block-components-text-input {
  position: relative !important;
  min-height: 64px !important;
  margin: 0 !important;
}

/* Coupon input */
body.woocommerce-cart .saba-coupon-code .wc-block-components-text-input input,
body.woocommerce-checkout .saba-coupon-code .wc-block-components-text-input input {
  width: 100% !important;
  min-height: 64px !important;
  height: 64px !important;
  padding: 26px 14px 10px 14px !important;

  border: 1px solid #2e2f31 !important;
  border-radius: 4px !important;

  font-size: 18px !important;
  line-height: 1.25 !important;
  color: #2e2f31 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
}

/* Coupon floating label */
body.woocommerce-cart .saba-coupon-code .wc-block-components-text-input label,
body.woocommerce-checkout .saba-coupon-code .wc-block-components-text-input label {
  top: 9px !important;
  left: 14px !important;
  transform: none !important;

  font-size: 14px !important;
  line-height: 1.1 !important;
  color: #4a4a4a !important;
  pointer-events: none !important;
}

/* Coupon button */
body.woocommerce-cart .saba-coupon-code button,
body.woocommerce-checkout .saba-coupon-code button {
  min-height: 64px !important;
  height: 64px !important;
  padding: 12px 16px !important;

  background: linear-gradient(90deg, #d3b363 0%, #d3b363 33%, #ecd181 100%) !important;
  border: 2px solid #ecd181 !important;
  border-radius: 6px !important;

  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-align: center !important;

  box-shadow: none !important;
  cursor: pointer !important;
}

/* Coupon button hover */
body.woocommerce-cart .saba-coupon-code button:hover,
body.woocommerce-cart .saba-coupon-code button:focus,
body.woocommerce-checkout .saba-coupon-code button:hover,
body.woocommerce-checkout .saba-coupon-code button:focus {
  background: linear-gradient(90deg, #d3b363 0%, #d3b363 67%, #ecd181 100%) !important;
  border-color: #ecd181 !important;
  border-radius: 2px !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Disabled state before code is entered */
body.woocommerce-cart .saba-coupon-code button:disabled,
body.woocommerce-checkout .saba-coupon-code button:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
}

/* Mobile */
@media (max-width: 767px) {
  body.woocommerce-cart .saba-coupon-code .wc-block-components-totals-coupon__form,
  body.woocommerce-checkout .saba-coupon-code .wc-block-components-totals-coupon__form {
    grid-template-columns: 1fr !important;
  }

  body.woocommerce-cart .saba-coupon-code button,
  body.woocommerce-checkout .saba-coupon-code button {
    width: 100% !important;
  }
}
/* =========================================================
   Recipe template – sticky product carousel block
   ========================================================= */

.saba-recipe-product-sticky-box {
  width: 100%;
}

.saba-recipe-product-heading {
  margin: 0 0 18px 0;
  text-align: center;
  color: #627e8b;
  font-size: 22px !important;
  font-weight: 600;
  line-height: 1.25;
}

/* ============================
   Woo Products module prices
   ============================ */

/* "Fra:" prefix */
.saba-product-grid ul.products li.product .price .from {
  color: rgba(234, 227, 215, 0.72) !important;
  font-size: 16px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.02em;
}

/* Regular price when product is on sale */
.saba-product-grid ul.products li.product .price del {
  color: rgba(234, 227, 215, 0.62) !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

.saba-product-grid ul.products li.product .price del .woocommerce-Price-amount {
  color: rgba(234, 227, 215, 0.62) !important;
  text-decoration-line: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(234, 227, 215, 0.75);
}

/* Sale/current price */
.saba-product-grid ul.products li.product .price ins {
  color: #ffffff !important;
  background: transparent !important;
  text-decoration: none !important;
}

.saba-product-grid ul.products li.product .price ins .woocommerce-Price-amount,
.saba-product-grid ul.products li.product .price > .woocommerce-Price-amount {
  color: #ffffff !important;
}
/* ============================
   WooCommerce related products prices
   Product pages
   ============================ */

/* "Fra:" prefix */
.single-product .related.products ul.products li.product .price .from {
  color: rgba(234, 227, 215, 0.72) !important;
  font-size: 16px;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0.02em;
}

/* Regular price when product is on sale */
.single-product .related.products ul.products li.product .price del {
  color: rgba(234, 227, 215, 0.62) !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

.single-product .related.products ul.products li.product .price del .woocommerce-Price-amount {
  color: rgba(234, 227, 215, 0.62) !important;
  text-decoration-line: line-through;
  text-decoration-thickness: 2px;
  text-decoration-color: rgba(234, 227, 215, 0.75);
}

/* Sale/current price */
.single-product .related.products ul.products li.product .price ins {
  color: #ffffff !important;
  background: transparent !important;
  text-decoration: none !important;
}

.single-product .related.products ul.products li.product .price ins .woocommerce-Price-amount,
.single-product .related.products ul.products li.product .price > .woocommerce-Price-amount {
  color: #ffffff !important;
}

/* ============================================================
   MIN KONTO – SABASABAI STANDARDKNAPPER
   ============================================================ */

body.woocommerce-account #page-container .woocommerce button.button,
body.woocommerce-account #page-container .woocommerce a.button,
body.woocommerce-account #page-container .woocommerce input.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;

	width: auto !important;
	min-height: 0 !important;
	padding: 12px 24px !important;

	background: linear-gradient(
		90deg,
		#d3b363 0%,
		#d3b363 33%,
		#ecd181 100%
	) !important;

	border: 2px solid #ecd181 !important;
	border-radius: 6px !important;

	color: #ffffff !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;

	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
	cursor: pointer;

	transition: border-radius 0.25s ease !important;
}


/* Hover og tastaturfokus – behold nøyaktig samme størrelse */

body.woocommerce-account #page-container .woocommerce button.button:hover,
body.woocommerce-account #page-container .woocommerce button.button:focus,
body.woocommerce-account #page-container .woocommerce a.button:hover,
body.woocommerce-account #page-container .woocommerce a.button:focus,
body.woocommerce-account #page-container .woocommerce input.button:hover,
body.woocommerce-account #page-container .woocommerce input.button:focus {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;

	width: auto !important;
	min-height: 0 !important;
	padding: 12px 24px !important;

	background: linear-gradient(
		90deg,
		#d3b363 0%,
		#d3b363 67%,
		#ecd181 100%
	) !important;

	border: 2px solid #ecd181 !important;
	border-radius: 2px !important;

	color: #ffffff !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;

	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
}


/* Fjern eventuelt Divi-knappikon og plassen det reserverer */

body.woocommerce-account #page-container .woocommerce button.button::before,
body.woocommerce-account #page-container .woocommerce button.button::after,
body.woocommerce-account #page-container .woocommerce a.button::before,
body.woocommerce-account #page-container .woocommerce a.button::after {
	display: none !important;
	content: none !important;
}

/* =========================================================
   DIVI WOO PRODUCTS – ADD TO CART
   ========================================================= */

body #page-container .et_pb_shop ul.products li.product a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	width: 100%;
	min-height: 52px;
	box-sizing: border-box;

	margin: 26px 0 0 !important;
	padding: 12px 20px !important;

	background: linear-gradient(
		90deg,
		#d3b363 0%,
		#d3b363 33%,
		#ecd181 100%
	) !important;

	border: 2px solid #ecd181 !important;
	border-radius: 6px !important;

	color: #ffffff !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;

	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
}


/* Hover and keyboard focus */

body #page-container .et_pb_shop ul.products li.product a.button:hover,
body #page-container .et_pb_shop ul.products li.product a.button:focus {
	padding: 12px 20px !important;

	background: linear-gradient(
		90deg,
		#d3b363 0%,
		#d3b363 67%,
		#ecd181 100%
	) !important;

	border: 2px solid #ecd181 !important;
	border-radius: 2px !important;

	color: #ffffff !important;
	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
}


/* =========================================================
   VIEW CART LINK AFTER AJAX ADD TO CART
   ========================================================= */

body #page-container .et_pb_shop ul.products li.product a.added_to_cart.wc-forward {
	display: block !important;
	width: max-content;

	margin: 11px auto 0 !important;
	padding: 0 0 2px !important;

	border-bottom: 1px solid rgba(255, 255, 255, 0.75) !important;

	color: #ffffff !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	text-align: center !important;
	text-decoration: none !important;
}


/* View cart hover and keyboard focus */

body #page-container .et_pb_shop ul.products li.product a.added_to_cart.wc-forward:hover,
body #page-container .et_pb_shop ul.products li.product a.added_to_cart.wc-forward:focus {
	border-bottom-color: #ecd181 !important;
	color: #ecd181 !important;
}
/* Divi Woo Products – mindre Add to Cart-knapper på mobil */

@media (max-width: 767px) {

	body #page-container .et_pb_shop ul.products li.product a.button {
		width: 100% !important;
		min-height: 0 !important;

		margin-top: 18px !important;
		padding: 10px 8px !important;

		font-size: 16px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
	}

	body #page-container .et_pb_shop ul.products li.product a.button:hover,
	body #page-container .et_pb_shop ul.products li.product a.button:focus {
		padding: 10px 8px !important;
	}
}

/* =========================================================
   RELATED PRODUCTS – ADD TO CART
   ========================================================= */

body #page-container section.related.products ul.products li.product a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;

	width: 100% !important;
	min-height: 52px;
	box-sizing: border-box;

	margin: 26px 0 0 !important;
	padding: 12px 20px !important;

	background: linear-gradient(
		90deg,
		#d3b363 0%,
		#d3b363 33%,
		#ecd181 100%
	) !important;

	border: 2px solid #ecd181 !important;
	border-radius: 6px !important;

	color: #ffffff !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;

	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
}


/* Hover and keyboard focus */

body #page-container section.related.products ul.products li.product a.button:hover,
body #page-container section.related.products ul.products li.product a.button:focus {
	padding: 12px 20px !important;

	background: linear-gradient(
		90deg,
		#d3b363 0%,
		#d3b363 67%,
		#ecd181 100%
	) !important;

	border: 2px solid #ecd181 !important;
	border-radius: 2px !important;

	color: #ffffff !important;
	box-shadow: none !important;
	opacity: 1 !important;
	transform: none !important;
}


/* View cart after AJAX */

body #page-container section.related.products ul.products li.product a.added_to_cart.wc-forward {
	display: block !important;
	width: max-content !important;

	margin: 11px auto 0 !important;
	padding: 0 0 2px !important;

	border-bottom: 1px solid rgba(255, 255, 255, 0.75) !important;

	color: #ffffff !important;
	font-family: "Source Sans 3", sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.3 !important;
	text-align: center !important;
	text-decoration: none !important;
}


/* =========================================================
   DIVI WOO RELATED PRODUCTS – MOBILE
   ========================================================= */

@media (max-width: 767px) {

	body #page-container .et_pb_wc_related_products
	ul.products li.product a.button {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		min-width: 0 !important;
		min-height: 0 !important;
		box-sizing: border-box !important;

		margin: 18px 0 0 !important;
		padding: 10px 8px !important;

		font-family: "Source Sans 3", sans-serif !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	body #page-container .et_pb_wc_related_products
	ul.products li.product a.button:hover,
	body #page-container .et_pb_wc_related_products
	ul.products li.product a.button:focus {
		padding: 10px 8px !important;
	}


	/* Vis handlekurv */

	body #page-container .et_pb_wc_related_products
	ul.products li.product a.added_to_cart.wc-forward {
		display: table !important;
		width: auto !important;

		margin: 9px auto 0 !important;
		padding: 0 0 2px !important;

		border-bottom: 1px solid rgba(255, 255, 255, 0.75) !important;

		color: #ffffff !important;
		font-family: "Source Sans 3", sans-serif !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		line-height: 1.2 !important;
		text-align: center !important;
		text-decoration: none !important;
	}
}
/* =========================================================
   PRODUKTKNAPPER – SAMME STØRRELSE PÅ MOBIL
   ========================================================= */

@media (max-width: 767px) {

	body #page-container .et_pb_shop ul.products li.product a.button,
	body #page-container .et_pb_wc_related_products ul.products li.product a.button,
	body #page-container section.related.products ul.products li.product a.button {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 100% !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		box-sizing: border-box !important;

		margin: 18px 0 0 !important;
		padding: 0 8px !important;

		font-family: "Source Sans 3", sans-serif !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}
}

/* =========================================================
   WooCommerce Bundle-sells – equipment layout
   ========================================================= */

/* More breathing room around the Bundle-sells heading. */
body.single-product
.saba-equipment-bundle-sells
.bundle_sells_title {
  margin: 0 !important;
  padding: 22px 16px 18px !important;
}

body.single-product
.saba-equipment-bundle-sells
.bundle_sells_title h3 {
  margin: 0 !important;
  line-height: 1.25 !important;
}


/* Each Bundle-sells product row. */
body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_summary {
  display: grid !important;
  grid-template-columns: 108px minmax(0, 1fr) !important;
  column-gap: 24px !important;
  align-items: start !important;

  float: none !important;
  clear: both !important;
  width: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 24px 16px !important;

  border-bottom: 1px solid rgba(46, 47, 49, 0.08);
  box-sizing: border-box !important;
}


/* Image – always in the first column. */
body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  order: 0 !important;

  float: none !important;
  clear: none !important;
  position: static !important;

  width: 108px !important;
  max-width: 108px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_image {
  width: 108px !important;
  max-width: 108px !important;
  margin: 0 !important;
}

body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_images img {
  display: block !important;
  width: 108px !important;
  max-width: 108px !important;
  height: 108px !important;
  object-fit: contain !important;
  margin: 0 !important;
}


/* Text – always in the second column. */
body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_summary
.details {
  grid-column: 2 !important;
  grid-row: 1 !important;
  order: 1 !important;

  float: none !important;
  clear: none !important;

  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* Hide child-product short descriptions. */
body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_excerpt {
  display: none !important;
}


/* Space between product title and “Legg til for”. */
body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_title {
  display: block !important;
  margin: 0 0 12px !important;
  line-height: 1.25 !important;
}

body.single-product
.saba-equipment-bundle-sells
.bundle_sells_form
.bundled_product_optional_checkbox {
  display: block !important;
  margin: 0 !important;
  line-height: 1.35 !important;
}


/* Mobile layout. */
@media (max-width: 767px) {

  body.single-product
  .saba-equipment-bundle-sells
  .bundle_sells_title {
    padding: 18px 12px 14px !important;
  }

  body.single-product
  .saba-equipment-bundle-sells
  .bundle_sells_form
  .bundled_product_summary {
    grid-template-columns: 76px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    padding: 18px 12px !important;
  }

  body.single-product
  .saba-equipment-bundle-sells
  .bundle_sells_form
  .bundled_product_images,
  body.single-product
  .saba-equipment-bundle-sells
  .bundle_sells_form
  .bundled_product_image {
    width: 76px !important;
    max-width: 76px !important;
  }

  body.single-product
  .saba-equipment-bundle-sells
  .bundle_sells_form
  .bundled_product_images img {
    width: 76px !important;
    max-width: 76px !important;
    height: 76px !important;
  }

  body.single-product
  .saba-equipment-bundle-sells
  .bundle_sells_form
  .bundled_product_title {
    margin-bottom: 9px !important;
  }
}
/* =========================================================
   Divi Woo Cart Notice – hide duplicated success notice
   ========================================================= */

body.single-product
.et_pb_wc_cart_notice
.woocommerce-notices-wrapper
> .woocommerce-message
+ .woocommerce-message {
  display: none !important;
}
/* =========================================================
   CART – EMPTY CART
   ========================================================= */

/* Main text */
body.woocommerce-cart .saba-empty-cart-title {
  margin: 0 auto 12px !important;
  font-size: clamp(30px, 2.2vw, 40px) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

body.woocommerce-cart .saba-empty-cart-intro {
  margin: 0 auto !important;
  font-size: 19px !important;
  line-height: 1.5 !important;
  text-align: center !important;
  color: #5f5f5f !important;
}

body.woocommerce-cart .saba-empty-cart-products-title {
  margin-bottom: 28px !important;
  font-size: clamp(27px, 2vw, 36px) !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  text-align: center !important;
}

/* Keep product images at a sensible, consistent size */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product-image img {
  width: 100% !important;
  height: 270px !important;
  object-fit: contain !important;
}

/* Sabasabai button style */
body.woocommerce-cart
.saba-empty-cart-products
:is(.button, .wp-block-button__link, .add_to_cart_button),
body.woocommerce-cart
.saba-empty-cart-button
.wp-block-button__link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 33%,
    #ecd181 100%
  ) !important;

  border: 2px solid #ecd181 !important;
  border-radius: 6px !important;

  color: #ffffff !important;
  font-family: "Source Sans 3", sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;

  box-shadow: none !important;
  opacity: 1 !important;
  transition:
    border-radius 180ms ease,
    transform 180ms ease !important;
}

/* Product buttons */
body.woocommerce-cart
.saba-empty-cart-products
:is(.button, .wp-block-button__link, .add_to_cart_button) {
  min-height: 52px !important;
  padding: 12px 20px !important;
  font-size: 18px !important;
}

/* Main button placement */
body.woocommerce-cart .saba-empty-cart-actions {
  justify-content: center !important;
  margin-top: 48px !important;
  margin-bottom: 64px !important;
}

/* Main button is deliberately larger */
body.woocommerce-cart
.saba-empty-cart-button
.wp-block-button__link {
  min-width: 300px !important;
  min-height: 64px !important;
  padding: 16px 38px !important;
  font-size: 20px !important;
}

/* Sabasabai hover and keyboard focus */
body.woocommerce-cart
.saba-empty-cart-products
:is(.button, .wp-block-button__link, .add_to_cart_button):hover,
body.woocommerce-cart
.saba-empty-cart-products
:is(.button, .wp-block-button__link, .add_to_cart_button):focus,
body.woocommerce-cart
.saba-empty-cart-button
.wp-block-button__link:hover,
body.woocommerce-cart
.saba-empty-cart-button
.wp-block-button__link:focus {
  background: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 67%,
    #ecd181 100%
  ) !important;

  border: 2px solid #ecd181 !important;
  border-radius: 2px !important;
  color: #ffffff !important;
  transform: none !important;
}
/* Mobile */
@media (max-width: 767px) {
  body.woocommerce-cart
  .saba-empty-cart-products
  .wc-block-grid__product-image img {
    height: 230px !important;
  }

  body.woocommerce-cart .saba-empty-cart-button {
    width: 100% !important;
  }

  body.woocommerce-cart
  .saba-empty-cart-button
  .wp-block-button__link {
    width: 100% !important;
    min-width: 0 !important;
  }
}

/* =========================================================
   EMPTY CART – VISUAL REFINEMENT
   ========================================================= */

/* Gold detail beneath the main message */
body.woocommerce-cart .saba-empty-cart-title::after {
  content: "";
  display: block;
  width: 58px;
  height: 3px;
  margin: 20px auto 0;
  border-radius: 999px;
  background: linear-gradient(
    90deg,
    #d3b363 0%,
    #ecd181 100%
  );
}

/* Small label above product recommendations */
body.woocommerce-cart
.saba-empty-cart-products-title::before {
  content: "UTVALGT FOR DEG";
  display: block;
  margin-bottom: 10px;
  color: #a38334;
  font-family: "Source Sans 3", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.16em;
}

/* Make the recommendation heading subordinate to the main title */
body.woocommerce-cart .saba-empty-cart-products-title {
  font-size: clamp(26px, 1.8vw, 32px) !important;
}

/* Warm product cards */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product {
  padding: 24px 24px 30px !important;
  border: 1px solid rgba(211, 179, 99, 0.35) !important;
  border-radius: 12px !important;
  background: linear-gradient(
    180deg,
    #ffffff 0%,
    #eae3d7 100%
  ) !important;
  box-shadow: 0 8px 24px rgba(46, 47, 49, 0.06);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease !important;
}

body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(46, 47, 49, 0.1);
}

/* Keep images comfortably inside the cards */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product-image img {
  padding: 10px !important;
}

/* Slightly tighten the space before the main button */
body.woocommerce-cart .saba-empty-cart-actions {
  margin-top: 40px !important;
}

@media (max-width: 767px) {
  body.woocommerce-cart
  .saba-empty-cart-products
  .wc-block-grid__product {
    padding: 20px 18px 26px !important;
  }
}
/* Empty cart – spacing between product cards */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
}

body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Tablet */
@media (max-width: 980px) {
  body.woocommerce-cart
  .saba-empty-cart-products
  .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 600px) {
  body.woocommerce-cart
  .saba-empty-cart-products
  .wc-block-grid__products {
    grid-template-columns: 1fr !important;
  }
}
/* Empty cart – align product-card content */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product {
  display: flex !important;
  flex-direction: column !important;
}

body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product-link {
  display: flex !important;
  width: 100% !important;
  flex-direction: column !important;
}

/* Equal title height */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product-title {
  display: flex !important;
  min-height: 48px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
}

/* Consistent price placement */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product-price {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
}

/* Align product buttons at the bottom */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product-add-to-cart {
  width: 100% !important;
  margin-top: auto !important;
}

/* Wider than before, but smaller than the main button */
body.woocommerce-cart
.saba-empty-cart-products
.wc-block-grid__product-add-to-cart
:is(.button, .wp-block-button__link, .add_to_cart_button) {
  width: 78% !important;
  max-width: 240px !important;
}

/* =========================================================
   CART CROSS-SELLS – ALIGNMENT
   ========================================================= */

/* Compact product grid */
body.woocommerce-cart
.saba-cart-cross-sells
:is(
  ul,
  .wc-block-grid__products,
  .products,
  .wp-block-woocommerce-product-template
) {
  grid-template-columns:
    repeat(auto-fit, minmax(210px, 260px)) !important;
  gap: 36px !important;
  justify-content: start !important;
}

/* Keep cross-sells light and subordinate */
body.woocommerce-cart
.saba-cart-cross-sells
:is(
  li,
  .wc-block-grid__product,
  .product,
  .wp-block-post
) {
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Equal image area */
body.woocommerce-cart
.saba-cart-cross-sells
:is(
  .wc-block-grid__product-image,
  .wc-block-components-product-image,
  .wp-block-woocommerce-product-image
) {
  display: flex !important;
  width: 100% !important;
  height: 170px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
}

body.woocommerce-cart .saba-cart-cross-sells img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 150px !important;
  object-fit: contain !important;
}

/* Equal title height */
body.woocommerce-cart
.saba-cart-cross-sells
:is(
  .wc-block-grid__product-title,
  .woocommerce-loop-product__title,
  .wp-block-post-title,
  h3
) {
  display: flex !important;
  min-height: 54px !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 10px !important;
}

/* Align price and button */
body.woocommerce-cart
.saba-cart-cross-sells
:is(
  .wc-block-grid__product-price,
  .price
) {
  margin: 0 0 18px !important;
}

body.woocommerce-cart
.saba-cart-cross-sells
.wc-block-grid__product-add-to-cart {
  width: 100% !important;
  margin-top: auto !important;
  text-align: center !important;
}

/* Mobile */
@media (max-width: 600px) {
  body.woocommerce-cart
  .saba-cart-cross-sells
  :is(
    ul,
    .wc-block-grid__products,
    .products,
    .wp-block-woocommerce-product-template
  ) {
    grid-template-columns: minmax(0, 320px) !important;
    justify-content: center !important;
  }
}

/* Cart cross-sells – quieter secondary buttons */
body.woocommerce-cart
.saba-cart-cross-sells
:is(.button, .wp-block-button__link, .add_to_cart_button) {
  width: auto !important;
  min-width: 124px !important;

  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;

  padding: 0 20px !important;

  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}
/* Sabasabai-gullknapper */
.sabasabai-mailpoet-gullknapp :is(
  input.mailpoet_submit,
  button[type="submit"],
  a[href*="mailpoet_router"][href*="action=unsubscribe"]
) {
  min-height: 42px;
  padding: 6px 14px;

  background: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 33%,
    #ecd181 100%
  ) !important;

  color: #ffffff !important;
  border: 2px solid #ecd181 !important;
  border-radius: 6px;

  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;

  box-shadow: none !important;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

/* Avmeldingslenken vises som knapp */
.sabasabai-mailpoet-gullknapp:not(:has(form))
a[href*="mailpoet_router"][href*="action=unsubscribe"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
}

/* Avmeldingslenken skal ikke bli knapp på sider med skjema */
.sabasabai-mailpoet-gullknapp:has(form)
a[href*="mailpoet_router"][href*="action=unsubscribe"] {
  min-height: initial;
  padding: 0;
  background: none !important;
  color: inherit !important;
  border: 0 !important;
  border-radius: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  box-shadow: none !important;
  text-decoration: underline;
}

/* Hover, tastaturfokus og aktiv tilstand */
.sabasabai-mailpoet-gullknapp :is(
  input.mailpoet_submit,
  button[type="submit"]
):hover,
.sabasabai-mailpoet-gullknapp :is(
  input.mailpoet_submit,
  button[type="submit"]
):focus-visible,
.sabasabai-mailpoet-gullknapp :is(
  input.mailpoet_submit,
  button[type="submit"]
):active,
.sabasabai-mailpoet-gullknapp:not(:has(form))
a[href*="mailpoet_router"][href*="action=unsubscribe"]:hover,
.sabasabai-mailpoet-gullknapp:not(:has(form))
a[href*="mailpoet_router"][href*="action=unsubscribe"]:focus-visible,
.sabasabai-mailpoet-gullknapp:not(:has(form))
a[href*="mailpoet_router"][href*="action=unsubscribe"]:active {
  background: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 67%,
    #ecd181 100%
  ) !important;

  color: #ffffff !important;
  border-color: #ecd181 !important;
  box-shadow: none !important;
}

/* Bare hover får mindre hjørner */
.sabasabai-mailpoet-gullknapp :is(
  input.mailpoet_submit,
  button[type="submit"]
):hover,
.sabasabai-mailpoet-gullknapp:not(:has(form))
a[href*="mailpoet_router"][href*="action=unsubscribe"]:hover {
  border-radius: 2px !important;
}

/* Synlig tastaturfokus */
.sabasabai-mailpoet-gullknapp :is(
  input.mailpoet_submit,
  button[type="submit"]
):focus-visible,
.sabasabai-mailpoet-gullknapp:not(:has(form))
a[href*="mailpoet_router"][href*="action=unsubscribe"]:focus-visible {
  outline: 2px solid #d3b363;
  outline-offset: 3px;
}

/* Deaktivert tilstand */
.sabasabai-mailpoet-gullknapp :is(
  input.mailpoet_submit,
  button[type="submit"]
):disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Mobiloverskrift i påmeldingsskjemaet */
@media (max-width: 767px) {
  .sabasabai-mailpoet .mailpoet_form h2 {
    font-size: 36px !important;
    line-height: 1.15;
  }
}

/* Litt mer luft over påmeldingsknappen */
.sabasabai-mailpoet .mailpoet_submit {
  margin-top: 12px !important;
}
/* Gullknapp for lenker på MailPoet-sider uten skjema */
.sabasabai-mailpoet-gullknapp:not(:has(form)) a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 42px;
  padding: 6px 14px;

  background: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 33%,
    #ecd181 100%
  ) !important;

  color: #ffffff !important;
  border: 2px solid #ecd181 !important;
  border-radius: 6px;

  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;

  box-shadow: none !important;
  cursor: pointer;
}

.sabasabai-mailpoet-gullknapp:not(:has(form)) a:hover,
.sabasabai-mailpoet-gullknapp:not(:has(form)) a:focus-visible,
.sabasabai-mailpoet-gullknapp:not(:has(form)) a:active {
  background: linear-gradient(
    90deg,
    #d3b363 0%,
    #d3b363 67%,
    #ecd181 100%
  ) !important;

  color: #ffffff !important;
  border-color: #ecd181 !important;
  box-shadow: none !important;
}

.sabasabai-mailpoet-gullknapp:not(:has(form)) a:hover {
  border-radius: 2px !important;
}

.sabasabai-mailpoet-gullknapp:not(:has(form)) a:focus-visible {
  outline: 2px solid #d3b363;
  outline-offset: 3px;
}
/* MailPoet-popup: spørsmål og listevalg */
div.mailpoet_form_popup .mailpoet_segment_label,
div.mailpoet_form_popup .mailpoet_checkbox_label {
    color: #ffffff !important;
}

/* Personvernerklæring – normal og besøkt */
div.mailpoet_form_popup a,
div.mailpoet_form_popup a:visited {
    color: #eae3d7 !important;
    text-decoration: underline !important;
    text-decoration-color: #ecd181 !important;
}

/* Personvernerklæring – hover og tastaturfokus */
div.mailpoet_form_popup a:hover,
div.mailpoet_form_popup a:focus-visible {
    color: #ffffff !important;
    text-decoration-color: #ecd181 !important;
}

/* Meld meg på – normal */
div.mailpoet_form_popup .mailpoet_submit {
    background: linear-gradient(
        90deg,
        #d3b363 0%,
        #d3b363 33%,
        #ecd181 100%
    ) !important;
    color: #ffffff !important;
    border-color: #ecd181 !important;
    box-shadow: none !important;
}

/* Meld meg på – hover og tastaturfokus */
div.mailpoet_form_popup .mailpoet_submit:hover,
div.mailpoet_form_popup .mailpoet_submit:focus-visible {
    background: linear-gradient(
        90deg,
        #d3b363 0%,
        #d3b363 67%,
        #ecd181 100%
    ) !important;
    color: #ffffff !important;
    border-color: #ecd181 !important;
    box-shadow: none !important;
}
@media (max-width: 500px) {
    div.mailpoet_form_popup {
        max-height: 80% !important;
    }
}