/* Strong mobile rules to override defaults on small/tablet */
@media (max-width: 991px){
  .woocommerce-cart table.shop_table.cart tr.woocommerce-cart-form__cart-item{
    display:grid !important;
    grid-template-columns: 88px 1fr 24px !important;
    grid-template-areas:
      'thumb title remove'
      'thumb price remove'
      'thumb total remove'
      'qty   qty   qty' !important;
    align-items:center; column-gap:12px; row-gap:8px; padding:12px; margin:12px 0; position:relative;
    border:1px solid #eee; border-radius:12px; background:#fff;
  }
  .woocommerce-cart table.shop_table.cart td.product-thumbnail{ grid-area:thumb !important; padding:0 !important }
  .woocommerce-cart table.shop_table.cart td.product-thumbnail img{ width:88px !important; height:88px !important; object-fit:cover !important; display:block }
  .woocommerce-cart table.shop_table.cart td.product-name{ grid-area:title !important; min-width:0 }
  .woocommerce-cart table.shop_table.cart td.product-name a{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
  .woocommerce-cart table.shop_table.cart td.product-remove{ position:absolute; right:12px; top:12px; grid-area:auto !important; padding:0 !important }
  .woocommerce-cart table.shop_table.cart td.product-price{ grid-area:price !important; color:#505050; display:block }
  .woocommerce-cart table.shop_table.cart td.product-subtotal{ grid-area:total !important; font-weight:600; display:block; margin-top:2px }
  .woocommerce-cart table.shop_table.cart td.product-quantity{ grid-area:qty !important; padding-top:6px; display:block; text-align:center }
  .woocommerce-cart table.shop_table.cart td.product-quantity .quantity{ display:inline-flex; align-items:center; gap:8px; background:#f5f5f5; border-radius:14px; padding:0 8px; height:32px }
  .woocommerce-cart table.shop_table.cart td.product-quantity .quantity label,
  .woocommerce-cart table.shop_table.cart td.product-quantity .quantity br{ display:none !important }
  .woocommerce-cart table.shop_table.cart td::before{ display:none !important }
  .woocommerce-cart table.shop_table.cart td.product-price::before{ content:'Price:'; display:block !important; font-size:12px; color:#888; margin-bottom:2px }
  .woocommerce-cart table.shop_table.cart td.product-subtotal::before{ content:'Total:'; display:block !important; font-size:12px; color:#888; margin-bottom:2px }
  .woocommerce-cart table.shop_table.cart td.product-price .amount,
  .woocommerce-cart table.shop_table.cart td.product-subtotal .amount{ white-space:nowrap }
  /* Remove the empty actions row (update button) on mobile */
  .woocommerce-cart table.shop_table.cart td.actions{ display:none !important; padding:0 !important; margin:0 !important; height:0 !important; border:0 !important }
  .woocommerce-cart table.shop_table.cart tr:not(.woocommerce-cart-form__cart-item){ display:none !important }
}
/* === Classic cart (stable) desktop polish === */
@media (min-width: 992px){
  /* Page container like the rest of the site */
  .woocommerce-cart .woocommerce{ max-width:1200px; margin:0 auto; padding:0 20px; box-sizing:border-box }

  .woocommerce-cart .shop_table.cart{ width:100%; border-collapse:collapse; border:1px solid #eee; background:#fff }
  .woocommerce-cart .shop_table.cart th,
  .woocommerce-cart .shop_table.cart td{ padding:14px 12px; border-bottom:1px solid #f2f2f2; text-align:left; vertical-align:middle }
  .woocommerce-cart .shop_table.cart{ border:none; background:transparent }
  .woocommerce-cart .shop_table.cart th,
  .woocommerce-cart .shop_table.cart td{ background:transparent }
  .woocommerce-cart .shop_table.cart tr{ border-bottom:1px solid #eee }
  .woocommerce-cart .shop_table.cart thead th{ font-family:var(--font-primary); font-weight:400; color:var(--color-dark-text); background:transparent; border-bottom:1px solid #eee; font-size:14px; white-space:nowrap }
  .woocommerce-cart .shop_table.cart thead .product-remove{ font-size:0 }
  .woocommerce-cart .shop_table.cart .product-thumbnail{ width:120px }
  .woocommerce-cart .shop_table.cart .product-price{ width:160px; text-align:left }
  .woocommerce-cart .shop_table.cart .product-quantity{ width:140px }
  .woocommerce-cart .shop_table.cart .product-remove{ width:80px; text-align:center }
  .woocommerce-cart .shop_table.cart thead th.product-price{ text-align:left }
  .woocommerce-cart .shop_table.cart td.product-price{ padding-right:20px; text-align:left }
  .woocommerce-cart .shop_table.cart td.product-quantity{ padding-left:20px; padding-right:20px }
  .woocommerce-cart .shop_table.cart td.product-remove{ padding-left:20px }
  .woocommerce-cart .shop_table.cart .product-subtotal{ width:140px; text-align:right; font-weight:500 }
  .woocommerce-cart .shop_table.cart .product-name a{ color:var(--color-dark-text); text-decoration:none; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; display:block; max-width:520px; font-size:16px }
  .woocommerce-cart .shop_table.cart .product-price .woocommerce-Price-amount,
  .woocommerce-cart .shop_table.cart .product-subtotal .woocommerce-Price-amount{ color:var(--color-dark-text); font-size:16px }
  .woocommerce-cart .shop_table.cart .remove{ display:inline-block; width:28px; height:28px; line-height:28px; text-align:center; font-size:18px }
  .woocommerce-cart .shop_table.cart .quantity{ display:flex; align-items:center; gap:8px; background:#f5f5f5; border-radius:18px; padding:0 6px; height:36px; overflow:visible }
  .woocommerce-cart .shop_table.cart .quantity br{ display:none }
  .woocommerce-cart .shop_table.cart .quantity .qty{ width:48px; height:32px; line-height:32px; text-align:center; border:none; background:transparent; border-radius:0 }
  .woocommerce-cart .shop_table.cart .quantity .qty:focus{ outline:none; box-shadow:none }
  .woocommerce-cart .shop_table.cart .quantity .qty-btn{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; line-height:32px; padding:0; border:none; background:transparent; color:var(--color-dark-text); border-radius:0; cursor:pointer; font-size:18px; -webkit-appearance:none; appearance:none }
  .woocommerce-cart .shop_table.cart .quantity .qty-btn:hover{ background:#ececec; border-radius:12px }
  .woocommerce-cart .shop_table.cart .quantity .qty-btn:focus{ outline:none; box-shadow:none }
  .woocommerce-cart .shop_table.cart .product-thumbnail img{ width:96px; height:auto }

  /* Actions row (update cart) tidy */
  .woocommerce-cart .shop_table.cart .actions{ text-align:right; background:transparent }
  .woocommerce-cart .shop_table.cart .actions .button[name="update_cart"]{ display:none !important }
  .woocommerce-cart .shop_table.cart .button{ background:var(--color-dark-text); color:#fff; border:none; padding:10px 16px; border-radius:0; cursor:pointer }
  .woocommerce-cart .shop_table.cart .button:hover{ background:#000 }
}

/* Cart totals box */
@media (min-width: 992px){
  .woocommerce-cart .cart-collaterals{ margin-top:20px; display:flex; justify-content:flex-end }
  .woocommerce-cart .cart-collaterals .cart_totals{ width:400px !important; max-width:400px; flex:0 0 400px; background:transparent; border:none; padding:0; margin-left:auto }
  .woocommerce-cart .cart_totals h2{ display:none }
  .woocommerce-cart .cart_totals table{ width:100%; border-collapse:separate; border-spacing:0; border:none !important; table-layout:fixed }
  .woocommerce-cart .cart_totals tr{ border-bottom:1px solid #eee; background:transparent }
  .woocommerce-cart .cart_totals th,
  .woocommerce-cart .cart_totals td{ padding:12px 0; border:none; border-left:none !important; border-right:none !important; text-align:left }
  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals th,
  .woocommerce-cart .cart_totals td{ background:transparent !important }
  .woocommerce-cart .cart_totals tr:nth-child(odd) td,
  .woocommerce-cart .cart_totals tr:nth-child(odd) th,
  .woocommerce-cart .cart_totals tr:nth-child(even) td,
  .woocommerce-cart .cart_totals tr:nth-child(even) th{ background:transparent !important }
  .woocommerce-cart .cart_totals th{ font-family:var(--font-primary); font-size:12px; text-transform:uppercase; letter-spacing:0.06em; color:#8a8a8a; font-weight:400 !important }
  .woocommerce-cart .cart_totals td{ text-align:right !important; font-size:16px; color:var(--color-dark-text) }
  .woocommerce-cart .cart_totals table th{ width:60% }
  .woocommerce-cart .cart_totals table td{ width:40%; text-align:right !important }
  .woocommerce-cart .cart_totals td .amount,
  .woocommerce-cart .cart_totals td .woocommerce-Price-amount{ display:inline-block; text-align:right }
  .woocommerce-cart .cart_totals .amount{ white-space:nowrap }
  .woocommerce-cart .cart_totals .order-total{ border-bottom:none }
  .woocommerce-cart .cart_totals .order-total th{ font-weight:700; font-size:20px }
  .woocommerce-cart .cart_totals .order-total td{ font-weight:400; font-size:20px; padding-top:12px }
  .woocommerce-cart .cart_totals .order-total td strong{ font-weight:400; font-size:inherit }
  .woocommerce-cart .cart_totals{ margin-top:8px }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout{ text-align:center }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button{ width:100%; background:var(--color-dark-text); color:#fff; padding:16px 24px; border-radius:0; display:flex; align-items:center; justify-content:center; line-height:1 }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button br{ display:none }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button:hover{ background:#000 }
}

/* Cart update spinner */
.cart-spinner{ position:fixed; right:24px; bottom:24px; width:36px; height:36px; border:3px solid #e6e6e6; border-top-color:var(--color-dark-text); border-radius:50%; animation:cart-spin .8s linear infinite; z-index:9999; display:none; background:transparent }
body.cart-updating .cart-spinner{ display:block }
@keyframes cart-spin{ to{ transform:rotate(360deg) } }

/* Empty cart recommendations - use existing product card styling */
.cart-empty-recommendations .products{ margin-top: 8px }
.cart-empty-recommendations .shop-products ul.products{ display:grid !important; grid-template-columns: repeat(4, 1fr) !important; gap:20px !important; margin:0 !important; padding:0 !important }
.cart-empty-recommendations .shop-products{ background: transparent !important; padding: 0 !important }

/* Mobile cart fixes */
@media (max-width: 767px){
  /* Add global side padding on cart pages */
  .woocommerce-cart .woocommerce{ padding-left:16px; padding-right:16px }
  /* Classic cart table stack */
  .woocommerce-cart .shop_table.cart{ width:100%; border:none; background:transparent }
  .woocommerce-cart .shop_table.cart thead{ display:none }
  /* Mobile card layout for each cart line */
  .woocommerce-cart .shop_table.cart tr{ 
    display:grid; 
    grid-template-columns: 88px 1fr 24px; 
    grid-template-areas: 
      'thumb title remove'
      'thumb meta  remove'
      'qty   qty   remove';
    align-items:center; column-gap:12px; row-gap:8px; 
    padding:12px; margin:12px 0; 
    border:1px solid #eee; border-radius:12px; 
    background:#fff;
  }
  .woocommerce-cart .shop_table.cart td{ display:block; padding:0; border:none; text-align:left }
  /* Ensure product image is visible on mobile */
  .woocommerce-cart .shop_table.cart td.product-thumbnail{ display:block !important; padding-top:0; grid-area:thumb }
  .woocommerce-cart .shop_table.cart td.product-thumbnail img{ width:88px; height:88px; object-fit:cover; border-radius:6px; display:block }
  /* Make product easier to scan */
  .woocommerce-cart .shop_table.cart td.product-name{ grid-area:title; min-width:0 }
  .woocommerce-cart .shop_table.cart td.product-name a{ font-size:16px; font-weight:500; line-height:1.3; display:block; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis }
  .woocommerce-cart .shop_table.cart td.product-remove{ grid-area:remove; justify-self:end; align-self:center; padding-left:12px }
  .woocommerce-cart .shop_table.cart td.product-subtotal small.tax_label{ display:none }
  .woocommerce-cart .shop_table.cart td.product-price{ grid-area:meta; color: var(--color-text-body); display:block }
  .woocommerce-cart .shop_table.cart td.product-subtotal{ grid-area:meta; font-weight:600; display:block; margin-top:2px }
  .woocommerce-cart .shop_table.cart td.product-quantity{ grid-area:qty; justify-self:stretch; align-self:center; display:flex; align-items:center; gap:8px }
  /* Compact quantity control */
  .woocommerce-cart .shop_table.cart .quantity{ display:flex; align-items:center; gap:6px; background:#f5f5f5; border-radius:14px; padding:0 8px; height:32px; width:auto; justify-content:center }
  .woocommerce-cart .shop_table.cart .quantity .qty{ width:36px; height:24px; line-height:24px; font-size:14px }
  .woocommerce-cart .shop_table.cart .quantity .qty-btn{ width:22px; height:24px; line-height:22px; font-size:16px }
  .woocommerce-cart .shop_table.cart td.product-quantity .quantity{ width:100% }
  .woocommerce-cart .shop_table.cart td.product-quantity .quantity label,
  .woocommerce-cart .shop_table.cart td.product-quantity .quantity br{ display:none !important }
  .woocommerce-cart .shop_table.cart td.product-remove{ padding-left:6px; grid-area:remove; justify-self:end }
  .woocommerce-cart .shop_table.cart td.product-remove a{ display:inline-block; width:28px; height:28px; line-height:26px; text-align:center; border-radius:6px }

  /* Hide default WC mobile labels, then add our own selective labels */
  .woocommerce-cart table.shop_table.cart td::before{ display:none !important }
  .woocommerce-cart table.shop_table.cart td.product-price::before{ content:'Price:'; display:block; font-size:12px; color:#888; margin-bottom:2px }
  .woocommerce-cart table.shop_table.cart td.product-subtotal::before{ content:'Total:'; display:block; font-size:12px; color:#888; margin-bottom:2px }
  .woocommerce-cart table.shop_table.cart td.product-quantity::before{ display:none }
  .woocommerce-cart .shop_table.cart .product-thumbnail img{ width:96px; height:auto }
  .woocommerce-cart .shop_table.cart .product-name a{ font-size:16px; max-width:100% }
  .woocommerce-cart .shop_table.cart .product-price,
  .woocommerce-cart .shop_table.cart .product-subtotal{ text-align:left }
  .woocommerce-cart .shop_table.cart .quantity{ margin-top:8px }
  /* Reduce extra whitespace below each card */
  .woocommerce-cart .shop_table.cart{ margin-bottom:8px }
  .woocommerce-cart .shop_table.cart tr{ margin:8px 0 }
  /* Remove stray bullets */
  .woocommerce-cart .shop_table.cart li, .woocommerce-cart .shop_table.cart td{ list-style:none }
  .woocommerce-cart .shop_table.cart .actions{ padding-top:8px }

  /* Totals box full-width */
  .woocommerce-cart .cart-collaterals{ margin-top:16px; display:block }
  .woocommerce-cart .cart_totals{ width:100% !important; max-width:none !important; padding:0 16px }
  .woocommerce-cart .cart_totals table{ width:100% }
  .woocommerce-cart .cart_totals th{ font-size:12px }
  .woocommerce-cart .cart_totals td{ font-size:16px }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button{ width:100% }
  /* Center checkout button text vertically on mobile */
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button{
    display:flex !important; align-items:center !important; justify-content:center !important; line-height:1 !important; min-height:52px !important; padding:0 16px !important
  }
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button > span,
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button > strong,
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout .button > *{ display:inline-flex; align-items:center; height:100% }
  /* Hide Update Cart button on mobile (auto-update enabled) */
  .woocommerce-cart .shop_table.cart .actions .button[name="update_cart"]{ display:none !important }

  /* Notices visibility */
  .woocommerce-cart .woocommerce-notices-wrapper,
  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-error,
  .woocommerce-cart .woocommerce-info{ display:block !important; margin:12px 16px }

  /* Recommendations: 2 columns on mobile */
  .cart-empty-recommendations .shop-products ul.products{ grid-template-columns: repeat(2, 1fr) !important; gap:12px !important }
  .cart-empty-recommendations{ padding-left:16px; padding-right:16px }
  /* --- Enforce final mobile cart layout (high specificity) --- */
  .woocommerce-cart table.shop_table.cart td.product-quantity .quantity label.screen-reader-text{ display:none !important }
  .woocommerce-cart table.shop_table.cart td.product-quantity .quantity > br{ display:none !important }
  .woocommerce-cart table.shop_table.cart td.product-thumbnail img{ width:88px !important; height:88px !important; object-fit:cover !important; border-radius:6px }
  .woocommerce-cart table.shop_table.cart td.product-price .amount{ white-space:nowrap }
  .woocommerce-cart table.shop_table.cart td.product-subtotal .amount{ white-space:nowrap; font-weight:600 }
}
/*
Theme Name: Sauna Store Theme
Author: Your Name
Description: A custom, customizable WooCommerce theme for a premium sauna store.
Version: 1.0
*/

/* --- GLOBAL CSS VARIABLES & RESETS (Definitive Version) --- */
:root {
    --color-dark-text: #1A1A1A;
    --color-light-bg: #FFFFFF;
    --color-light-grey: #F9F9F9;
    --color-border: #EBE8F4;
    --color-text-body: #505050;
    --color-text-light: #FFFFFF;
    --color-accent-gold: #B08D57; /* Match homepage hero subtitle/orange */
    --font-primary: 'Clash Display', 'Arial', sans-serif;
    --font-body: 'Satoshi', 'Arial', sans-serif;
}

/* Ensure checkout button text is vertically centered across viewports */
.woocommerce-cart .cart_totals .checkout-button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:52px !important;
  line-height:1 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  white-space:nowrap;
}
.woocommerce-cart .cart_totals .checkout-button.wc-forward:after{ align-self:center; margin-left:8px }
/* Remove accidental line breaks and extra margins inside the checkout button wrapper */
.woocommerce-cart .wc-proceed-to-checkout p{ margin:0 !important }
.woocommerce-cart .wc-proceed-to-checkout .checkout-button br{ display:none !important }

/* Coupon box styling */
.woocommerce-cart .sauna-cart-coupon{ padding:0 16px 12px }
.woocommerce-cart .sauna-cart-coupon .coupon-label{ display:block; font-size:12px; color:#888; margin-bottom:6px }
.woocommerce-cart .sauna-cart-coupon .coupon-controls{ display:flex; gap:10px; align-items:center }
.woocommerce-cart .sauna-cart-coupon input#coupon_code{ flex:1 1 auto; height:44px; padding:8px 12px; border:1px solid #ddd; border-radius:8px; background:#fff }
.woocommerce-cart .sauna-cart-coupon button.button{ height:40px; min-width:120px; padding:0 14px; background:var(--color-dark-text); color:#fff; border:none; border-radius:8px; text-transform:uppercase; letter-spacing:.03em; font-weight:600; display:inline-flex; align-items:center; justify-content:center; line-height:1; cursor:pointer; transition:background .2s ease; text-align:center; white-space:nowrap }
.woocommerce-cart .sauna-cart-coupon .coupon-controls .button{ display:inline-flex !important; align-items:center !important; justify-content:center !important; padding-left:14px !important; padding-right:14px !important; min-width:120px !important; text-align:center !important }

/* Force button inner text centering even if theme injects extra padding/span */
.woocommerce-cart .sauna-cart-coupon button.button > *{ display:inline-block; line-height:1; vertical-align:middle }
.woocommerce-cart .sauna-cart-coupon .coupon-controls{ align-items:stretch }
.woocommerce-cart .sauna-cart-coupon button.button:hover{ background:#000 }
.woocommerce-cart .sauna-cart-coupon button.button:disabled{ opacity:.6; cursor:not-allowed }
.woocommerce-cart .sauna-cart-coupons-applied{ margin-top:8px; font-size:14px }
.woocommerce-cart .sauna-cart-coupons-applied .applied-coupon{ display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed #eee }

*, *::before, *::after { box-sizing: border-box; }
body {
    font-family: var(--font-body);
    color: var(--color-text-body);
    margin: 0;
    background-color: var(--color-light-bg);
    font-weight: 400; /* Default font weight for body text */
}
h1, h2, h3, h4 { 
    font-family: var(--font-primary); 
    color: var(--color-dark-text);
    font-weight: 400; /* CORRECTED: Lighter default heading weight */
}
h1 { font-size: 36px; }
h2 { font-size: 32px; }
h3 { font-size: 20px; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; padding: 0; margin: 0; }
p { line-height: 1.6; }
.container { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.section-title { text-align: center; font-size: 32px; margin-bottom: 50px; }
.section-cta { text-align: center; margin-top: 50px; }
.btn {
    display: inline-block;
    padding: 16px 32px;
    background-color: var(--color-light-grey);
    color: var(--color-dark-text);
    text-align: center;
    font-size: 16px;
    border: 1px solid var(--color-border);
    border-radius: 0;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
}
.btn:hover { background-color: #efefef; border-color: #ddd; }
.btn--secondary { background-color: var(--color-dark-text); color: var(--color-text-light); border-color: var(--color-dark-text); }
.btn--secondary:hover { background-color: #000000; color: #fff; border-color: #000; }

/* Gutenberg button alignment with theme buttons */
.wp-block-button .wp-block-button__link {
    padding: 16px 32px;
    background-color: var(--color-light-grey);
    color: var(--color-dark-text);
    border: 1px solid var(--color-border);
    border-radius: 0;
    box-shadow: none;
}
.wp-block-button .wp-block-button__link:hover {
    background-color: #efefef;
    border-color: #ddd;
}
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button__link.is-style-outline {
    background: transparent;
    border: 1px solid var(--color-border);
    color: var(--color-dark-text);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button__link.is-style-outline:hover {
    border-color: #ddd;
    background: #f9f9f9;
}

/* Contextual button overrides */
/* 1) Homepage hero: light grey buttons (reverted) */
.hero .btn,
.hero .btn--secondary,
.hero .wp-block-button .wp-block-button__link {
    background-color: var(--color-light-grey) !important;
    color: var(--color-dark-text) !important;
    border-color: var(--color-border) !important;
}
.hero .btn:hover,
.hero .btn--secondary:hover,
.hero .wp-block-button .wp-block-button__link:hover {
    background-color: #efefef !important;
    border-color: #ddd !important;
}

/* Hero clear variant: white typography and clear button */
.hero.hero--clear .hero__content-box h1,
.hero.hero--clear .hero__content-box p { color: #fff !important; }
.hero.hero--clear .wp-block-button .wp-block-button__link,
.hero.hero--clear .btn {
    background: rgba(255,255,255,0.10) !important; /* slightly brighter than fully clear */
    color: #fff !important;
    border-color: rgba(255,255,255,0.70) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.hero.hero--clear .wp-block-button .wp-block-button__link:hover,
.hero.hero--clear .btn:hover {
    background: rgba(255,255,255,0.22) !important; /* brighter on hover */
    border-color: rgba(255,255,255,0.90) !important;
}

/* 2) Featured products CTA (View all saunas): light grey */
.featured-products .btn,
.featured-products .btn--secondary,
.featured-products .wp-block-button .wp-block-button__link {
    background-color: var(--color-light-grey) !important;
    color: var(--color-dark-text) !important;
    border-color: var(--color-border) !important;
}
.featured-products .btn:hover,
.featured-products .btn--secondary:hover,
.featured-products .wp-block-button .wp-block-button__link:hover {
    background-color: #efefef !important;
    border-color: #ddd !important;
}

/* WooCommerce Blocks → Normalize to theme's product card (image, title, price only) */
.featured-products ul.wc-block-grid__products,
.featured-products .wc-block-product-template {
    gap: 24px;
}
.featured-products .wc-block-grid__product,
.featured-products .wc-block-product {
    border: none;
    box-shadow: none;
    padding: 0;
    background: transparent;
}
.featured-products .wc-block-grid__product-image img,
.featured-products .wc-block-components-product-image img {
    width: 100% !important;
    height: auto !important;
    display: block;
}
/* Hide elements we don't show in theme cards */
.featured-products .wc-block-grid__product-add-to-cart,
.featured-products .wc-block-components-product-button,
.featured-products .wc-block-components-product-rating,
.featured-products .wc-block-components-product-badge,
.featured-products .wc-block-components-product-sale-badge {
    display: none !important;
}
/* Title and price styling to match theme */
.featured-products .wc-block-grid__product-title,
.featured-products .wc-block-components-product-title {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: 400;
    color: var(--color-dark-text);
    margin: 12px 0 6px;
    text-decoration: none;
}
.featured-products .wc-block-grid__product-price,
.featured-products .wc-block-components-product-price {
    font-family: var(--font-body);
    color: var(--color-dark-text);
}

/* 3) Lifestyle showcase: translucent light fill with white text */
.lifestyle-showcase .btn,
.lifestyle-showcase .wp-block-button .wp-block-button__link {
    background-color: rgba(249, 249, 249, 0.15) !important; /* #F9F9F9 at 15% */
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.3) !important;
}
.lifestyle-showcase .btn:hover,
.lifestyle-showcase .wp-block-button .wp-block-button__link:hover {
    background-color: rgba(249, 249, 249, 0.25) !important;
    border-color: rgba(255, 255, 255, 0.45) !important;
}

/* 2) Footer newsletter button: black/dark */
.footer-newsletter .btn,
.footer-newsletter .wp-block-button .wp-block-button__link,
.newsletter-form .btn,
.newsletter-form .wp-block-button .wp-block-button__link {
    background-color: var(--color-dark-text) !important;
    color: var(--color-text-light) !important;
    border-color: var(--color-dark-text) !important;
}
.footer-newsletter .btn:hover,
.footer-newsletter .wp-block-button .wp-block-button__link:hover,
.newsletter-form .btn:hover,
.newsletter-form .wp-block-button .wp-block-button__link:hover {
    background-color: #000 !important;
}

/* 3) Text/Image split + Feature split: grey buttons */
.is-style-text-image-split .btn,
.is-style-text-image-split .wp-block-button .wp-block-button__link,
.is-style-text-image-feature .btn,
.is-style-text-image-feature .wp-block-button .wp-block-button__link,
.feature-split .btn,
.feature-split .wp-block-button .wp-block-button__link {
    background-color: var(--color-light-grey) !important;
    color: var(--color-dark-text) !important;
    border-color: var(--color-border) !important;
}
.is-style-text-image-split .btn:hover,
.is-style-text-image-split .wp-block-button .wp-block-button__link:hover,
.is-style-text-image-feature .btn:hover,
.is-style-text-image-feature .wp-block-button .wp-block-button__link:hover,
.feature-split .btn:hover,
.feature-split .wp-block-button .wp-block-button__link:hover {
    background-color: #efefef !important;
    border-color: #ddd !important;
}


/* --- HEADER (Definitive Desktop & Mobile Version) --- */
.site-header {
    background: var(--color-light-bg);
}

/* 1. TOP BAR STYLING */
.top-bar {
    background-color: #B08D57;
    color: #FFFFFF;
    height: 41px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 400;
}
.top-bar__container {
    position: relative;
    width: 100%;
    text-align: center;
}
.top-bar__close {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: #FFFFFF;
    font-size: 24px;
    line-height: 1;
    padding: 5px;
    cursor: pointer;
    opacity: 0.8;
}
.top-bar__close:hover {
    opacity: 1;
}

/* 2. MAIN HEADER (Desktop First) */
.main-header__container {
    padding: 24px 40px;
    max-width: 100%;
    margin: 0 auto;
}
.header-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.header-left, .header-right {
    display: flex;
    align-items: center;
    gap: 24px;
    flex: 1;
}
.header-right {
    justify-content: flex-end;
}
.header-center {
    display: flex;
    justify-content: center;
    flex: 2;
}
.site-branding img {
    max-height: 50px; /* CORRECTED LOGO SIZE */
}
.header-actions-desktop {
    display: flex; /* Visible on desktop */
    align-items: center;
    gap: 24px;
}
.header-actions-mobile {
    display: none; /* Hidden on desktop */
}
.header-action {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #44415E;
}
.header-action svg {
    width: 16px;
    height: 16px;
    stroke-width: 1.5;
}
.header-bottom-row {
    display: flex;
    justify-content: center;
    padding-top: 24px;
    border-top: 1px solid var(--color-border);
    margin-top: 24px;
}
ul.main-menu {
    display: flex;
    gap: 40px;
}
ul.main-menu a {
    font-family: var(--font-body);
    font-size: 16px;
    color: #44415E;
    padding-bottom: 5px;
    border-bottom: 2px solid transparent;
    transition: border-color 0.2s ease-in-out;
}
ul.main-menu a:hover {
    border-bottom-color: #B08D57;
}

/* 3. LANGUAGE SWITCHER (<select> Styling) */
.language-switcher-container {
    position: relative;
}
.language-switcher-container select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: transparent;
    border: none;
    padding: 8px 20px 8px 0;
    margin: 0;
    width: auto;
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    color: #44415E;
    cursor: pointer;
}
.language-switcher-container::after {
    content: '▼';
    font-size: 10px;
    color: #44415E;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    pointer-events: none;
}

/*
==========================================================================
    MOBILE & RESPONSIVE STYLES
==========================================================================
*/

/* --- Mobile Menu Panel (Hidden by default) --- */
.mobile-menu-panel {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #2A254B;
    z-index: 1000;
    padding: 60px 20px 20px;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s ease-in-out;
}
body.mobile-menu-open .mobile-menu-panel {
    transform: translateX(0);
}
body.mobile-menu-open {
    overflow: hidden;
}
.mobile-menu-close {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 32px;
    color: #FFFFFF;
    background: none;
    border: none;
    cursor: pointer;
}
ul.mobile-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.mobile-menu li {
    border-bottom: 1px solid rgba(255,255,255,0.1);
}
ul.mobile-menu a {
    display: block;
    padding: 20px 0;
    font-size: 20px;
    color: #FFFFFF;
    text-decoration: none;
}

/* --- The Breakpoint: Styles for screens 991px wide or smaller --- */
@media (max-width: 991px) {
    /* Hide desktop-only elements */
    .header-bottom-row,
    .header-actions-desktop,
    .header-left {
        display: none;
    }

    /* Show mobile-only elements */
    .header-actions-mobile {
        display: flex;
        align-items: center;
        gap: 20px;
    }

    /* Re-align header for mobile: logo left, actions right */
    .header-top-row {
        justify-content: space-between;
    }
    .header-center {
        flex: unset; /* Remove the flex grow property */
        order: -1; /* Move the logo to the far left */
    }
    .site-branding img {
        max-height: 40px; /* Slightly smaller logo for mobile */
    }
    .main-header__container {
        padding: 15px 20px;
    }

    /* Hamburger Button Styling */
    .mobile-menu-toggle {
        display: flex;
        flex-direction: column;
        gap: 5px;
        background: none;
        border: none;
        cursor: pointer;
        padding: 0;
    }
    .hamburger-bar {
        width: 24px;
        height: 2px;
        background-color: #2A254B;
    }
}

/* --- Mobile responsiveness refinements (<= 767px) --- */
@media (max-width: 767px) {
    /* 1) Text / Image split: reduce spacing */
    .is-style-text-image-split { padding: 16px 0 !important; }
    .is-style-text-image-split .wp-block-columns { gap: 10px !important; row-gap: 20px !important; }
    /* tighter title/subtext, bigger gap before CTA and image */
    .is-style-text-image-split h2 { margin-bottom: 8px !important; }
    .is-style-text-image-split p:first-of-type { margin-top: 0 !important; margin-bottom: 10px !important; }
    .is-style-text-image-split .wp-block-buttons { margin-top: 24px !important; }
    .is-style-text-image-split .wp-block-image { margin-top: 24px !important; }
    /* Side padding for text content only */
    .is-style-text-image-split .wp-block-column h2,
    .is-style-text-image-split .wp-block-column p,
    .is-style-text-image-split .wp-block-column .wp-block-buttons {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    /* Ensure CTA aligns with text start and stretches nearly full width */
    .is-style-text-image-split .wp-block-buttons { margin-left: 16px !important; margin-right: 16px !important; }
    .is-style-text-image-split .wp-block-buttons { width: 100%; display: flex; }
    .is-style-text-image-split .wp-block-buttons .wp-block-button { flex: 1 1 100%; width: 100%; }
    .is-style-text-image-split .wp-block-buttons .wp-block-button__link,
    .is-style-text-image-split .btn { width: 100% !important; display: block; text-align: center; }

    /* 2) Feature split: remove gaps so stacked images touch; center CTA */
    .feature-split.alignfull { padding: 0 !important; margin: 0 !important; }
    .feature-split { --wp--style--block-gap: 0 !important; }
    .feature-split .wp-block-columns { gap: 0 !important; row-gap: 0 !important; }
    .feature-split .text-col { padding: 20px 0 !important; gap: 10px; }
    .feature-split .text-col h2 { margin-bottom: 8px !important; }
    .feature-split .text-col p:first-of-type { margin-bottom: 10px !important; }
    /* Align CTA left like Text/Image on mobile */
    .feature-split .wp-block-buttons { margin-top: 20px !important; justify-content: flex-start; margin-left: 16px; margin-right: 16px; }
    /* Make CTA nearly full width like homepage mobile buttons */
    .feature-split .wp-block-buttons { width: 100%; display: flex; }
    .feature-split .wp-block-buttons .wp-block-button { flex: 1 1 100%; width: 100%; }
    .feature-split .wp-block-buttons .wp-block-button__link,
    .feature-split .btn { width: 100% !important; display: block; text-align: center; }
    .feature-split .wp-block-column { min-height: auto !important; margin: 0 !important; }
    /* Minimal spacing within text column only */
    .feature-split .text-col.is-layout-flow { --wp--style--block-gap: 8px !important; }
    .feature-split .text-col.is-layout-flow > * + * { margin-block-start: 8px !important; }
    /* Ensure figures add no extra margin so stacked images kiss */
    .feature-split .image-col figure { margin: 0 !important; }
    .feature-split + .feature-split .image-col:first-child figure { margin-top: -1px !important; }

    /* 3) Hero banner: prevent background duplicate, use mobile image */
    .hero .wp-block-cover__image-background { display: none !important; }
    .hero__image--mobile { display: block !important; width: 100%; }
    .hero { background-repeat: no-repeat; background-size: cover; background-position: center; }

    /* 4) Lifestyle blocks: edge-to-edge on mobile */
    .lifestyle-showcase { padding: 0 !important; }
    .lifestyle-showcase .container { padding-left: 0 !important; padding-right: 0 !important; }
    .lifestyle-showcase__wrapper { max-width: 100%; }

    /* Global mobile tightening */
    .container { padding-left: 16px; padding-right: 16px; }
    .section-title { margin-bottom: 16px !important; font-size: 24px; }
    .wp-block-columns { gap: 12px; }

    /* Sections */
    .hero .container { padding-left: 16px; padding-right: 16px; }
    .featured-products { padding: 24px 0 !important; }
    .featured-products .section-cta { margin-top: 16px !important; }
    .brand-difference { padding: 24px 0 !important; }
    .shop-hero { padding: 24px 0 !important; }
    .content-text-section { padding: 24px 0 !important; }
    .content-text-section__inner { max-width: 100%; }
    .content-text-section p, .content-text-section ul { margin-bottom: 12px; }
    .content-media figure.alignwide, .content-media figure.aligncenter { margin: 0 auto 16px; }
    .content-quote blockquote { margin: 0 0 16px; }

    /* Eliminate unexpected block gap/padding from WP layout wrappers on mobile */
    .feature-split,
    .is-style-text-image-split,
    .lifestyle-showcase,
    .content-text-section,
    .content-media,
    .content-quote { --wp--style--block-gap: 10px; }

    /* Normalize flow layout margins within our sections */
    .feature-split :where(.is-layout-flow) > * { margin-block-start: 0 !important; margin-block-end: 10px !important; }
    .feature-split :where(.is-layout-flow) > *:last-child { margin-block-end: 0 !important; }

    .is-style-text-image-split :where(.is-layout-flow) > * { margin-block-start: 0 !important; margin-block-end: 10px !important; }
    .is-style-text-image-split :where(.is-layout-flow) > *:last-child { margin-block-end: 0 !important; }

    .lifestyle-showcase :where(.is-layout-flow) > * { margin-block-start: 0 !important; margin-block-end: 10px !important; }
    .lifestyle-showcase :where(.is-layout-flow) > *:last-child { margin-block-end: 0 !important; }

    .content-text-section :where(.is-layout-flow) > *,
    .content-media :where(.is-layout-flow) > *,
    .content-quote :where(.is-layout-flow) > * {
        margin-block-start: 0 !important; margin-block-end: 12px !important;
    }
    .content-text-section :where(.is-layout-flow) > *:last-child,
    .content-media :where(.is-layout-flow) > *:last-child,
    .content-quote :where(.is-layout-flow) > *:last-child { margin-block-end: 0 !important; }

    /* Remove default figure margins */
    .feature-split figure,
    .is-style-text-image-split figure,
    .lifestyle-showcase figure,
    .content-media figure { margin: 0 !important; }

    /* Kill stray group margins on fullwidth groups */
    .wp-block-group.alignfull { margin-block: 0 !important; }

    /* Zero flex/constrained layout gaps that appear as purple spacing */
    .feature-split :where(.is-layout-constrained, .is-layout-flex) { gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important; }
    .is-style-text-image-split :where(.is-layout-constrained, .is-layout-flex) { gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important; }
    .lifestyle-showcase :where(.is-layout-constrained, .is-layout-flex) { gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important; }
    .content-text-section :where(.is-layout-constrained, .is-layout-flex),
    .content-media :where(.is-layout-constrained, .is-layout-flex),
    .content-quote :where(.is-layout-constrained, .is-layout-flex) {
        gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important;
    }
    /* Prevent nested groups from adding implicit margins */
    .feature-split :where(.wp-block-group),
    .is-style-text-image-split :where(.wp-block-group),
    .lifestyle-showcase :where(.wp-block-group),
    .content-text-section :where(.wp-block-group),
    .content-media :where(.wp-block-group),
    .content-quote :where(.wp-block-group) { margin-top: 0 !important; margin-bottom: 0 !important; }
}

/* --- HERO SECTION (Definitive Responsive Version) --- */
.hero {
    height: 704px; /* Fixed height for desktop */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    position: relative;
}

/* Desktop background layer for hero pattern (non-Cover version) */
.hero__bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}
.hero .container, .hero__content-box { position: relative; z-index: 1; }

.hero .container {
    width: 100%;
    display: flex;
    justify-content: flex-end; /* Pushes content box to the right on desktop */
}

.hero__content-box {
    background-color: var(--color-light-bg);
    padding: 60px;
    max-width: 630px;
    width: 100%;
}
.hero__content-box h1 {
    font-size: 36px;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 20px;
}
.hero__content-box p {
    margin-bottom: 40px;
    font-size: 16px;
    line-height: 1.6;
    color: #B08D57;
}
.hero__content-box .btn--secondary {
    padding: 16px 32px;
}

/* Centered hero variant (no box background, centered content) */
.hero.hero--centered .container { justify-content: center; }
.hero.hero--centered .hero__content-box { background-color: transparent; padding: 0; max-width: 840px; text-align: center; }
.hero.hero--centered .hero__content-box h1 { margin-bottom: 12px; font-size: clamp(40px, 7vw, 84px); line-height: 1.05; font-weight: 500; }
.hero.hero--centered .hero__content-box p { margin-bottom: 20px; font-size: clamp(16px, 2.2vw, 24px); }

/* Short/compact height modifiers */
.hero.hero--short { height: auto !important; min-height: 520px; }
.hero.hero--compact { height: auto !important; min-height: 380px; }

/* Make stacked titles banner match site typography */
.stacked-titles-banner h2 { font-family: var(--font-primary); font-weight: 500 !important; }
.stacked-titles-banner h2 + h2 { font-size: clamp(28px, 6vw, 56px); }

/* Ensure split section headings use regular display weight */
.is-style-text-image-feature h2 { font-weight: 500; }

/* This is our mobile image. HIDE IT ON DESKTOP. */
.hero__image--mobile {
    display: none;
}

/* --- The Breakpoint for Mobile (Final Polished Version) --- */
@media (max-width: 767px) {
    .hero {
        height: auto;
        background-image: none !important;
        padding-top: 40px;
        display: block;
    }
    .hero__bg { display: none !important; }

    .hero .container {
        justify-content: flex-start;
        padding: 0;
    }

    .hero__content-box {
        margin: 0;
        max-width: none;
        padding: 40px 20px;
        text-align: left;
    }
    
    .hero__content-box h1 {
        font-size: 32px;
        margin-right: 20px; /* NEW: Adds a small right margin to the headline */
    }
    .hero__content-box p {
        line-height: 1.7;
        margin-right: 20px; /* NEW: Adds a small right margin to the paragraph */
    }
    
    .hero__content-box .btn {
        display: block;
        width: 100%;    
        text-align: center;
    }

    .hero__image--mobile {
        display: block;
        margin-top: 30px; 
    }

    .hero__image--mobile img {
        width: 100%;
        display: block;
    }

    /* Keep centered layout for the centered hero variant on mobile */
    .hero.hero--centered .hero__content-box { text-align: center; }

    /* Clear hero: keep Cover background visible and use white-on-image styling like desktop */
    .hero.hero--clear .wp-block-cover__image-background { display: block !important; }
    /* Match desktop text color (white) over the image */
    .hero.hero--clear .hero__content-box h1,
    .hero.hero--clear .hero__content-box p { color: #fff !important; }
    /* Clear-style button on mobile: transparent with white text/border */
    .hero.hero--clear .wp-block-button .wp-block-button__link,
    .hero.hero--clear .btn {
        background: rgba(255,255,255,0.10) !important;
        color: #fff !important;
        border-color: rgba(255,255,255,0.70) !important;
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }
    .hero.hero--clear .wp-block-button .wp-block-button__link:hover,
    .hero.hero--clear .btn:hover {
        background: rgba(255,255,255,0.22) !important;
        border-color: rgba(255,255,255,0.90) !important;
    }
    /* Reduce overall hero height on phones so the image feels properly sized */
    .hero.hero--clear { min-height: 340px !important; }
    .hero.hero--clear .hero__content-box { padding: 24px 16px !important; }
    .hero.hero--clear .hero__content-box h1 { font-size: 28px !important; line-height: 1.1 !important; }
    .hero.hero--clear .hero__content-box p { margin-bottom: 12px !important; }

    /* Fix mobile button overflow: remove outer margins and use padding instead */
    .is-style-text-image-split .wp-block-buttons,
    .feature-split .wp-block-buttons {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box;
        width: 100% !important;
    }
    .is-style-text-image-split .wp-block-buttons .wp-block-button,
    .feature-split .wp-block-buttons .wp-block-button {
        flex: 1 1 100% !important;
        width: 100% !important;
    }
}

/* Content video section: remove bottom gap when it is the last section on the page */
.site-content > .wp-block-group.alignfull.content-media:last-child,
.site-content > .content-media.alignfull:last-child {
    padding-bottom: 0 !important;
}
.site-content > .wp-block-group.alignfull.content-media:last-child .wp-block-embed,
.site-content > .content-media.alignfull:last-child .wp-block-embed {
    margin-bottom: 0 !important;
}

/* --- BRAND DIFFERENCE SECTION (Definitive Version) --- */
.brand-difference {
    padding: 80px 0;
}

/* We will target this specific section's container to make it wider */
.brand-difference .container {
    max-width: 1440px; /* Increased from 1240px for a wider feel */
}

.brand-difference .section-title {
    text-align: center;
    font-size: 24px;
    font-weight: 400;
    color: var(--color-dark-text);
    margin-bottom: 80px;
}
.brand-difference__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 30px;
}
.feature-item {
    background-color: var(--color-light-grey);
    padding: 40px;
    border-radius: 8px;
}
.feature-item img {
    height: 24px;
    margin-bottom: 16px;
}
.feature-item h3 {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 400;
    color: var(--color-dark-text);
    margin-top: 0;
    margin-bottom: 12px;
}
.feature-item p {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-body);
    margin: 0;
}

/* --- The Breakpoint for Tablets --- */
@media (max-width: 991px) {
    /* On tablets and smaller, switch to 2 columns */
    .brand-difference__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* --- The Breakpoint for Mobile --- */
@media (max-width: 767px) { /* CORRECTED 'max-width' typo */
    .brand-difference {
        padding: 60px 0;
    }
    .brand-difference .section-title {
        margin-bottom: 40px;
    }
    /* On phones, stack to a single column */
    .brand-difference__grid {
        grid-template-columns: 1fr;
    }
    .feature-item {
        padding: 30px;
    }
}

/* --- LIFESTYLE SHOWCASE SECTION (Definitive Final Version) --- */
.lifestyle-showcase {
    padding: 40px 20px; /* CORRECTED: Reduced top padding from 80px to 40px */
    background-color: var(--color-light-bg);
}

/* --- FEATURE SPLIT: align text/button with Text/Image pattern --- */
.feature-split .text-col h2 { margin-top: 0; }
.feature-split .text-col p { margin-bottom: 30px; }
.feature-split .text-col p:first-of-type { color: var(--color-accent-gold); }
.feature-split .wp-block-buttons { margin-top: auto; }

.lifestyle-showcase__wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 1280px;
    margin: 0 auto;
    gap: 20px;
}

/* The text content box */
.lifestyle-showcase__content {
    background-color: #B08D57;
    color: #FFFFFF;
    height: 478px;
    padding: 48px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 12px;
}
/* Keep CTA anchored to the bottom like on homepage */
.lifestyle-showcase__content .wp-block-buttons {
    margin-top: auto;
}
.lifestyle-showcase__content a.btn { /* in case plain anchor is used */
    margin-top: auto;
}

.lifestyle-showcase__content h2 {
    font-family: var(--font-primary);
    font-size: 32px;
    font-weight: 400;
    color: #FFFFFF;
    margin-top: 0;
    margin-bottom: 10px;
}

.lifestyle-showcase__content p {
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 0; /* Remove bottom margin as the new div handles spacing */
}

/* The image box */
.lifestyle-showcase__image img {
    width: 120%; /* upscale slightly so browser picks a larger srcset candidate */
    height: 478px;
    object-fit: cover;
    display: block;
    max-width: none; /* prevent intrinsic max-width from limiting upscale */
    transform: translateX(-10%); /* re-center after upscale */
}

.lifestyle-showcase__image { overflow: hidden; }

/* Button Style */
.btn--outline {
    background-color: rgba(249, 249, 249, 0.15);
    border: none;
    color: #FFFFFF;
    width: fit-content;
}
.btn--outline:hover {
    background-color: rgba(255,255,255,0.25);
}


/* --- The Breakpoint for Mobile --- */
@media (max-width: 991px) {
    .lifestyle-showcase {
        padding: 30px 20px; /* CORRECTED: Reduced top padding from 60px to 30px */
    }
    
    .lifestyle-showcase__wrapper {
        grid-template-columns: 1fr;
        max-width: 630px;
    }

    .lifestyle-showcase__content {
        height: auto;
        padding: 32px;
        text-align: left;
        align-items: flex-start;
        justify-content: flex-start;
    }
    .lifestyle-showcase__content .wp-block-buttons,
    .lifestyle-showcase__content a.btn {
        margin-top: 40px; /* keep reasonable spacing on mobile */
    }
    
    .lifestyle-showcase__content p {
        margin-bottom: 40px; /* Add margin back in for mobile layout */
    }
    
    .lifestyle-showcase__image img {
        height: 400px;
        object-fit: cover;
    }
    
    .lifestyle-showcase__content .btn--outline {
        display: block;
        width: 100%;
        text-align: center;
    }
}

/* --- Content patterns base (text/image/video/quote) --- */
.content-text-section .container,
.content-media .container,
.content-quote .container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 20px;
}
.content-text-section__inner { max-width: 780px; margin: 0 auto; }
.content-text-section .section-title { text-align: center; margin: 0 0 16px 0; font-size: 32px; font-weight: 400; }
.content-text-section p, .content-text-section ul { margin-bottom: 14px; }
.content-text-section ul { padding-left: 18px; }

/* Centered media with consistent max width */
.content-media figure.alignwide,
.content-media figure.aligncenter {
    margin: 0 auto 24px;
    max-width: 780px; /* Match text content width */
    width: 100%;
}
.content-media img,
.content-media iframe {
    width: 100%;
    height: auto;
    border-radius: 0;
    box-shadow: none;
}
.content-media img { max-height: 520px; object-fit: contain; }
.content-media .wp-block-embed__wrapper { width: 100%; max-width: 780px; margin: 0 auto; }
.content-media .wp-block-embed__wrapper iframe {
    width: 100% !important;
    aspect-ratio: 16 / 9;
    height: auto !important;
    min-height: 360px;
    display: block;
}

/* Quote coloring to match theme minimalism */
.content-quote blockquote { font-style: italic; border-left: 3px solid var(--color-border); padding-left: 18px; color: var(--color-dark-text); }
.content-quote cite { display: block; margin-top: 8px; color: var(--color-text-body); }

/* --- NEWSLETTER SECTION (Definitive Final Version) --- */
.footer-newsletter {
    padding: 100px 20px;
    background-size: cover;
    background-position: center;
    position: relative;
    color: #FFFFFF;
}
.footer-newsletter__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.3);
}
.footer-newsletter__container {
    max-width: 650px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 2;
}
.footer-newsletter h3 {
    font-size: 36px;
    font-weight: 400;
    color: #FFFFFF;
    margin-top: 0;
    margin-bottom: 20px;
}
.footer-newsletter p {
    font-size: 16px;
    max-width: 550px;
    margin: 0 auto 40px auto;
}

.newsletter-benefits {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 40px;
}
.benefit-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
}
.benefit-item svg {
    width: 18px;
    height: 18px;
}

.newsletter-form {
    display: flex;
    justify-content: center;
    background-color: #FFFFFF;
    max-width: 470px;
    margin: 0 auto;
}
.newsletter-form input {
    flex-grow: 1;
    padding: 16px;
    border: none;
    font-size: 16px;
    background: transparent;
}
.newsletter-form input:focus {
    outline: none;
}
.newsletter-form button {
    border: none;
    padding: 16px 32px;
}
.newsletter-form ::placeholder {
    color: #8c8c8c !important;
}

/* --- NEWSLETTER FORM PROTECTION FROM OTHER STYLES --- */
.footer-newsletter .newsletter-form input {
    flex-grow: 1 !important;
    padding: 16px !important;
    border: none !important;
    font-size: 16px !important;
    background: transparent !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    color: inherit !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.footer-newsletter .newsletter-form input:focus {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}

.footer-newsletter .newsletter-form input::placeholder {
    color: #8c8c8c !important;
    font-size: 16px !important;
    font-weight: normal !important;
    opacity: 1 !important;
}

/* Force typed text to render black inside the white input field */
.footer-newsletter .newsletter-form input {
	color: #000 !important;
}

/* Keep layout stable when showing status messages and during submit */
.footer-newsletter .newsletter-message { margin-top: 10px; font-size: 14px; color: #000; }
.footer-newsletter .newsletter-form { align-items: stretch; }
.footer-newsletter .newsletter-form input {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}
@media (max-width: 767px) {
	.footer-newsletter .newsletter-form .btn { min-width: 120px; }
}
.footer-newsletter .newsletter-form .btn { min-width: 160px; }
.footer-newsletter .newsletter-form .btn[disabled] {
	opacity: 1;
	cursor: default;
}

/* --- The Breakpoint for Mobile --- */
@media (max-width: 767px) {
    .footer-newsletter {
        padding: 60px 20px;
    }
    /* CORRECTED: Change alignment for mobile */
    .footer-newsletter__container {
        text-align: left;
    }
    .footer-newsletter h3 {
        font-size: 28px;
    }
    /* CORRECTED: Remove auto margin for mobile */
    .footer-newsletter p {
        margin: 0 0 40px 0;
    }
    .newsletter-benefits {
        display: none;
    }
    /* CORRECTED: Remove auto margin for mobile */
    .newsletter-form {
        margin: 0;
        max-width: none;
    }
}

/* --- FOOTER (Definitive Final Version) --- */
.main-footer {
    background-color: #B08D57;
    color: #FFFFFF;
    padding: 60px 20px 0 20px;
}
.main-footer__container {
    display: grid;
    grid-template-columns: 4fr 1fr 1fr 1fr;
    column-gap: 24px;
    row-gap: 40px;
    max-width: 1240px;
    margin: 0 auto;
    padding-bottom: 60px;
}
.footer-logo {
    margin-bottom: 20px;
}
.footer-logo img {
    max-height: 50px;
}
.footer-column address {
    font-style: normal;
    line-height: 1.6;
    font-size: 16px;
    font-weight: 400;
    opacity: 0.9;
}
.footer-column h4 {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 20px;
    color: #FFFFFF;
}
ul.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}
ul.footer-menu li {
    margin-bottom: 12px;
}
ul.footer-menu a {
    font-size: 14px;
    font-weight: 400;
    transition: opacity 0.2s ease-in-out;
    color: #FFFFFF;
    opacity: 0.9;
}
ul.footer-menu a:hover {
    opacity: 1;
}

/* Right of Withdrawal form */
.sauna-withdrawal { max-width: 760px; margin: 0 auto; padding: 10px 0; }
.sauna-withdrawal__downloads { margin-bottom: 16px; }
.sauna-withdrawal__downloads .button { margin-right: 10px; margin-bottom: 10px; display: inline-block; }
.sauna-withdrawal__form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 24px;
}
.sauna-withdrawal__form .field {
    display: flex;
    flex-direction: column;
}
.sauna-withdrawal__form label {
    font-weight: 500;
    margin-bottom: 6px;
}
.sauna-withdrawal__form input[type="text"],
.sauna-withdrawal__form input[type="date"],
.sauna-withdrawal__form input[type="file"] {
    padding: 10px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
}
.sauna-withdrawal__form .field:nth-last-child(-n+1),
.sauna-withdrawal__form .field:has(button),
.sauna-withdrawal__form #attachment.field,
.sauna-withdrawal__form .field input[type="file"] { grid-column: 1 / -1; }
.sauna-withdrawal__form button.button {
    background: #000;
    color: #fff;
    padding: 12px 18px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}
.sauna-withdrawal__form button.button:hover { opacity: 0.9; }
@media (max-width: 767px) {
    .sauna-withdrawal__form { grid-template-columns: 1fr; }
}

/* --- Center single product layout on wide screens (override left-shift) --- */
@media (min-width: 1200px) {
    /* Keep original grid sizing; only neutralize left-shift */
    .product-layout-grid {
        max-width: none;
        margin: 0;
        padding-left: 0;
        padding-right: 0;
    }
    .single-product .product-gallery {
        margin-left: 0 !important;
    }
}
@media (min-width: 1921px) {
    .single-product .product-gallery {
        margin-left: 0 !important;
    }
}
.social-links {
    display: flex;
    gap: 16px;
}
.social-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFFFFF;
    opacity: 0.9;
    transition: opacity 0.2s ease-in-out;
}
.social-links a:hover {
    opacity: 1;
}
.social-links svg {
    width: 24px;
    height: 24px;
}

.footer-copyright {
    text-align: left;
    padding: 20px 0;
    font-size: 14px;
    font-weight: 400;
    color: #FFFFFF;
    opacity: 0.9;
    border-top: 1px solid var(--color-accent-gold);
    max-width: 1240px;
    margin: 0 auto;
}

/* --- Responsive styles for the Footer --- */
@media (max-width: 991px) {
    /* On tablet AND mobile, switch to 2 columns */
    .main-footer__container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767px) {
    /* On mobile, keep the 2-column layout but reset text alignment from the old version */
    .main-footer__container {
        text-align: left;
    }
    .footer-column {
        align-items: flex-start; /* Aligns content to the left */
    }
    .footer-logo, .social-links {
        justify-content: flex-start; /* Aligns these items to the left */
    }
    .footer-copyright {
        text-align: center;
    }
}

/* --- GLOBAL PRODUCT GRID STYLING (Featured, Related & Shop) --- */
.featured-products,
.related.products,
.shop-products { /* ADDED: The main shop container */
    padding: 80px 0;
    background-color: var(--color-light-bg);
}
.featured-products {
    padding-top: 20px;
}
.related.products, .shop-products {
    padding: 0; /* Remove padding from the inner container */
}
.featured-products .section-title,
.related.products h2 {
    text-align: left;
    font-size: 24px;
    font-weight: 400;
    color: var(--color-dark-text);
    margin-bottom: 30px;
}

/* Product grids for all sections */
.featured-products ul.products,
.related.products ul.products,
.woocommerce .related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.shop-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* YOUR CUSTOM PRODUCT CARDS - keeping your structure */
.featured-products li.product,
.related.products li.product,
.woocommerce .related.products li.product,
.shop-products li.product,
.cart-empty-recommendations li.product {
    list-style: none !important;
    text-align: left !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: transform 0.3s ease-in-out;
    width: auto !important;
    float: none !important;
    background: transparent !important;
}
.featured-products li.product:hover,
.related.products li.product:hover,
.shop-products li.product:hover,
.cart-empty-recommendations li.product:hover {
    transform: scale(1.03);
}
.featured-products .product-link,
.related.products .product-link,
.shop-products .product-link,
.cart-empty-recommendations .product-link {
    display: block;
    text-decoration: none;
}
.featured-products .product-image-container img,
.related.products .product-image-container img,
.woocommerce .related.products .product-image-container img,
.shop-products .product-image-container img,
.cart-empty-recommendations .product-image-container img {
    width: 100% !important;
    height: 375px !important;
    object-fit: cover !important;
    display: block !important;
}
.featured-products .product-title,
.related.products .product-title,
.shop-products .product-title,
.cart-empty-recommendations .product-title {
    font-family: var(--font-primary);
    font-size: 20px;
    font-weight: 400;
    color: var(--color-dark-text);
    margin: 24px 0 8px 0;
}
.featured-products .price,
.related.products .price,
.shop-products .price,
.cart-empty-recommendations .price {
    font-family: var(--font-body);
    font-size: 18px;
    color: var(--color-text-body);
}
.featured-products .section-cta {
    text-align: center;
    margin-top: 40px;
}

/* --- SINGLE PRODUCT PAGE (Enhanced Design Implementation) --- */
.single-product .site-content { 
    padding: 0; 
    max-width: none;
    margin: 0;
}

.product-layout-grid { 
    display: grid; 
    grid-template-columns: 760px 1fr; 
    gap: 40px; 
    max-width: none;
    margin: 0;
    padding-right: 20px;
}

/* --- PRODUCT GALLERY STYLING (now handled by JavaScript) --- */
.product-gallery {
    position: relative;
    /* Dimensions now handled by JavaScript for responsiveness */
}

/* Force gallery to left edge but prevent off-screen issues - DESKTOP ONLY */
@media (min-width: 768px) and (max-width: 1440px) {
    .single-product .product-gallery {
        margin-left: 0 !important;
    }
}

/* Only apply left-edge positioning on screens where we know the layout is centered */
@media (min-width: 1441px) and (max-width: 1920px) {
    .single-product .product-gallery {
        margin-left: calc(-1 * max(0px, min(200px, (100vw - 1440px) / 2))) !important;
    }
}

/* For ultra-wide screens, use a safer fixed offset */
@media (min-width: 1921px) {
    .single-product .product-gallery {
        margin-left: -200px !important;
    }
}

/* Old arrow positioning - now handled by JavaScript */

/* WooCommerce gallery elements removed by JavaScript - keeping for reference only */
/* All gallery styling now handled by custom JavaScript system */

/* Hide WooCommerce thumbnails if they exist */
.product-gallery .flex-control-thumbs,
.product-gallery .flex-control-nav {
    display: none !important;
}

/* Hide the zoom/lightbox icon but preserve functionality */
.woocommerce-product-gallery__trigger {
    display: none !important;
}

/* Re-enable WooCommerce zoom functionality - constrained within container */
.product-gallery .woocommerce-product-gallery__image {
    overflow: hidden !important;
    position: relative !important;
}

.product-gallery .woocommerce-product-gallery__image img:hover {
    transform: scale(1.2);
    transform-origin: center center;
    transition: transform 0.3s ease;
    cursor: zoom-in;
}

/* Ensure zoom doesn't break layout */
.product-gallery .woocommerce-product-gallery__wrapper {
    overflow: hidden !important;
}

/* Enable click to fullscreen functionality */
.product-gallery .woocommerce-product-gallery__image a {
    cursor: zoom-in;
    display: block !important;
}

/* --- PRODUCT INFO STYLING --- */
.product-info {
    padding-top: 80px;
    max-width: 600px;
    padding-left: 20px;
}

.product-info h1.product_title { 
    font-family: var(--font-primary);
    font-size: 36px; 
    font-weight: 400; 
    margin: 0 0 15px 0;
    color: var(--color-dark-text);
}

.product-info .price { 
    font-family: var(--font-body);
    font-size: 24px; 
    color: var(--color-text-body); 
    margin-bottom: 30px; 
    display: block; 
}

/* --- PRODUCT DESCRIPTION --- */
.product-description { 
    margin-bottom: 30px; 
    padding-top: 30px;
    min-height: 120px;
}

.product-description h4 { 
    font-family: var(--font-primary);
    font-size: 16px; 
    font-weight: 400; 
    color: var(--color-dark-text); 
    margin: 0 0 15px 0; 
}

.woocommerce-product-details__short-description { 
    font-family: var(--font-body);
    font-size: 16px; 
    line-height: 1.6;
    color: var(--color-text-body);
}

/* --- ADD TO CART FORM & BUTTON (188x56px) --- */
.single-product form.cart { 
    display: flex !important; 
    align-items: center !important; 
    justify-content: space-between !important;
    gap: 20px !important; 
    margin-top: 30px !important; 
    padding-top: 30px !important;
    margin-left: -20px !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 0 !important;
    width: calc(100% + 20px) !important;
}

/* Remove any pseudo-elements that might cause spacing issues */
.single-product form.cart::before,
.single-product form.cart::after,
.single-product form.cart *::before,
.single-product form.cart *::after {
    display: none !important;
    content: none !important;
}

/* --- CUSTOM QUANTITY INPUT WITH +/- BUTTONS --- */
.quantity {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    background-color: #f5f5f5 !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

.quantity .qty { 
    border: none;
    background: transparent;
    padding: 16px 10px; 
    width: 120px; 
    text-align: center; 
    font-size: 16px;
    font-family: var(--font-body);
    color: var(--color-dark-text);
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
}

/* Hide default number input arrows */
.quantity .qty::-webkit-outer-spin-button,
.quantity .qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Custom +/- buttons */
.quantity .qty-btn {
    background-color: #f5f5f5;
    border: none;
    width: 35px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 18px;
    font-weight: bold;
    color: var(--color-dark-text);
}

.quantity .qty-btn.minus {
    order: 1;
}

.quantity .qty {
    order: 2;
}

.quantity .qty-btn.plus {
    order: 3;
}

.single_add_to_cart_button { 
    background-color: var(--color-dark-text) !important; 
    color: var(--color-text-light) !important; 
    width: 188px !important;
    height: 56px !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important; 
    font-weight: 400 !important;
    border: none !important;
    border-radius: 0 !important; 
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
}

.single_add_to_cart_button:hover { 
    background-color: #000000 !important;
}

.single-product .brand-difference, 
.single-product .related.products { 
    margin-top: 40px; 
    padding-top: 40px; 
}

/* --- MOBILE QUANTITY & CART BUTTON LAYOUT --- */
@media (max-width: 767px) {
    /* Stack quantity above add to cart button on mobile */
    .single-product form.cart {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        width: 100%;
    }
    
    /* Make quantity input same width as add to cart button */
    .quantity {
        width: 188px !important;
        height: 56px !important;
        max-width: 188px !important;
        min-width: 188px !important;
        box-sizing: border-box !important;
        border: 1px solid var(--color-border) !important;
        flex-shrink: 0 !important;
    }
    
    .quantity .qty {
        flex: 1 !important;
        width: auto !important;
        height: 56px !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        border: none !important;
        padding: 16px 10px !important;
    }
    
    .quantity .qty-btn {
        width: 35px !important;
        height: 56px !important;
        min-width: 35px !important;
        max-width: 35px !important;
        flex-shrink: 0 !important;
        box-sizing: border-box !important;
        border: none !important;
    }
    
    /* Ensure add to cart button maintains its size */
    .single_add_to_cart_button {
        width: 188px !important;
        height: 56px !important;
        box-sizing: border-box !important;
        flex-shrink: 0 !important;
    }
}

/* --- RESPONSIVE STYLES --- */
/* Tablets (991px and below) - More like desktop */
@media (max-width: 991px) {
    .featured-products ul.products, 
    .related.products ul.products,
    .woocommerce .related.products ul.products { 
        grid-template-columns: repeat(2, 1fr) !important; 
    }
    
    .product-layout-grid { 
        grid-template-columns: 1fr; 
        gap: 30px;
        padding-right: 20px;
    }
    
    .product-gallery {
        width: 100% !important;
        max-width: 760px !important;
        min-width: auto !important;
        margin: 0;
    }
    
    .product-gallery .woocommerce-product-gallery,
    .product-gallery .woocommerce-product-gallery__wrapper,
    .product-gallery .flex-viewport,
    .product-gallery .slides,
    .product-gallery .slides li,
    .product-gallery .woocommerce-product-gallery__image,
    .product-gallery .woocommerce-product-gallery__image a {
        width: 100% !important;
        height: 450px !important;
        max-width: 760px !important;
        min-width: auto !important;
        max-height: 450px !important;
    }
    
    .product-gallery .woocommerce-product-gallery__image img,
    .product-gallery .slides li img {
        width: 100% !important;
        height: 450px !important;
        max-width: 760px !important;
        min-width: auto !important;
        min-height: auto !important;
    }
}

/* Mobile (390px and below) */
@media (max-width: 767px) {
    .featured-products .product-image-container img, 
    .related.products .product-image-container img,
    .woocommerce .related.products .product-image-container img { 
        height: 250px !important; 
    }
    
    .single-product .site-content { 
        padding: 0;
        max-width: none;
    }
    
    .product-layout-grid { 
        gap: 20px;
        grid-template-columns: 1fr;
        padding-right: 0;
    }
    
    /* Full-width mobile gallery */
    .product-gallery {
        width: 100vw !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        min-width: auto !important;
        position: relative;
        left: 0;
    }
    
    .product-gallery .woocommerce-product-gallery,
    .product-gallery .woocommerce-product-gallery__wrapper,
    .product-gallery .flex-viewport,
    .product-gallery .slides,
    .product-gallery .slides li,
    .product-gallery .woocommerce-product-gallery__image,
    .product-gallery .woocommerce-product-gallery__image a {
        width: 100% !important;
        height: 280px !important;
        max-width: none !important;
        min-width: auto !important;
        max-height: 280px !important;
    }
    
    .product-gallery .woocommerce-product-gallery__image img,
    .product-gallery .slides li img {
        width: 100% !important;
        height: 280px !important;
        max-width: none !important;
        min-width: auto !important;
        min-height: auto !important;
    }
    
    .product-info {
        padding: 20px;
        padding-top: 30px;
    }
    
    /* Mobile add to cart button - same as homepage hero button */
    .single-product form.cart {
        justify-content: stretch;
        flex-direction: column;
        align-items: stretch;
    }
    
    .single_add_to_cart_button {
        width: 100% !important;
        height: 56px !important;
        font-size: 16px !important;
    }
    
    /* HACKY SOLUTION: Force quantity to match button exactly */
    .quantity {
        width: 100% !important;
        max-width: none !important;
        height: 56px !important;
        position: relative !important;
        margin-bottom: 20px;
        margin-left: 0 !important;
        margin-right: 0 !important;
        background-color: #f5f5f5 !important;
        border: 1px solid var(--color-border) !important;
        box-sizing: border-box !important;
    }
    
    .quantity .qty {
        width: 100% !important;
        height: 56px !important;
        padding: 16px 45px !important; /* 45px padding to make room for buttons */
        text-align: center !important;
        background: transparent !important;
        border: none !important;
        box-sizing: border-box !important;
        position: relative !important;
        z-index: 1 !important;
    }
    
    .quantity .qty-btn {
        position: absolute !important;
        top: 0 !important;
        width: 45px !important;
        height: 56px !important;
        background-color: #f5f5f5 !important;
        border: none !important;
        z-index: 2 !important;
        box-sizing: border-box !important;
    }
    
    .quantity .qty-btn.minus {
        left: 0 !important;
    }
    
    .quantity .qty-btn.plus {
        right: 0 !important;
    }
}

/* --- FIX RELATED PRODUCTS LEFT ALIGNMENT --- */
/* Remove phantom elements that create blank cards */
.woocommerce .related.products ul.products::before,
.related.products ul.products::before,
.woocommerce ul.products::before,
ul.products::before {
    display: none !important;
    content: none !important;
}

.woocommerce .related.products li.product::before,
.related.products li.product::before,
.woocommerce li.product::before,
li.product::before {
    display: none !important;
    content: none !important;
}

/* Ensure proper grid alignment */
.woocommerce .related.products ul.products,
.related.products ul.products {
    justify-content: flex-start !important;
    align-content: flex-start !important;
}

/* --- PRODUCT GALLERY NAVIGATION ARROWS --- */
.product-gallery-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.6);
    border: 2px solid rgba(255, 255, 255, 0.8);
    color: white;
    font-size: 18px;
    font-weight: bold;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    transition: all 0.3s ease;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.product-gallery:hover .product-gallery-nav {
    opacity: 1;
}

.product-gallery-nav:hover {
    background: rgba(0, 0, 0, 0.8);
    border-color: white;
    transform: translateY(-50%) scale(1.1);
}

.product-gallery-nav.prev {
    left: 25px;
}

.product-gallery-nav.next {
    right: 25px;
}

/* Show arrows on mobile with better visibility */
@media (max-width: 767px) {
    .product-gallery-nav {
        opacity: 0.9;
        background: rgba(0, 0, 0, 0.7);
        border-color: white;
    }
}

/* --- SHOP PAGE SPECIFIC STYLES --- */
.shop-hero { 
    padding: 60px 0; 
    background-size: cover; 
    background-position: center; 
    position: relative; 
    text-align: center; 
    color: var(--color-text-light); 
}
.shop-hero__overlay { 
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-color: rgba(0,0,0,0.3); 
}
.shop-hero .container { 
    position: relative; 
    z-index: 2; 
}
.shop-hero h1 { 
    color: var(--color-text-light); 
    font-size: 40px; 
}
.shop-main-content { 
    padding: 80px 0; 
}
.shop-layout-grid { 
    display: grid; 
    grid-template-columns: 280px 1fr; 
    gap: 40px; 
}
.shop-sidebar .widget { 
    margin-bottom: 40px; 
}
.shop-sidebar .widget-title { 
    font-size: 16px; 
    font-weight: 500; 
    margin-bottom: 20px; 
    text-transform: uppercase; 
    letter-spacing: 1px; 
}
.shop-sidebar ul.product-categories { 
    list-style: none; 
    padding: 0; 
    margin: 0; 
}
.shop-sidebar ul.product-categories li { 
    margin-bottom: 12px; 
}
.shop-sidebar ul.product-categories a { 
    font-size: 16px; 
}
.price_slider_amount { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
}

/* --- PRICE SLIDER INPUT FIELDS --- */
/* Target all possible price filter input variations with maximum specificity */
.shop-sidebar .widget_price_filter .price_slider_amount input,
.shop-sidebar .widget_price_filter input[type="text"],
.shop-sidebar .widget_price_filter input[type="number"], 
.widget-area .widget_price_filter .price_slider_amount input,
.widget-area .widget_price_filter input[type="text"],
.widget-area .widget_price_filter input[type="number"],
.woocommerce .widget_price_filter .price_slider_amount input,
.woocommerce .widget_price_filter input[type="text"],
.woocommerce .widget_price_filter input[type="number"],
.price_slider_amount input[type="text"],
.price_slider_amount input[type="number"],
.price_slider_amount input.price_slider_amount_min,
.price_slider_amount input.price_slider_amount_max,
aside .widget_price_filter input,
#secondary .widget_price_filter input {
    width: 120px !important; /* Even wider to definitely accommodate currency symbol */
    min-width: 120px !important;
    max-width: 120px !important;
    padding: 8px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    color: var(--color-text-body) !important;
    background: #fff !important;
    text-align: center !important;
    box-sizing: border-box !important;
    display: inline-block !important;
}

/* Focus states */
.shop-sidebar .widget_price_filter .price_slider_amount input:focus,
.widget-area .widget_price_filter .price_slider_amount input:focus,
.woocommerce .widget_price_filter .price_slider_amount input:focus,
.price_slider_amount input[type="text"]:focus,
.price_slider_amount input[type="number"]:focus,
.price_slider_amount input.price_slider_amount_min:focus,
.price_slider_amount input.price_slider_amount_max:focus,
aside .widget_price_filter input:focus,
#secondary .widget_price_filter input:focus {
    outline: none !important;
    border-color: var(--color-dark-text) !important;
}

/* Additional rule to override any potential inline styles */
.widget_price_filter * {
    box-sizing: border-box !important;
}

.price_slider_amount .button { 
    display: inline-block !important; 
    background: var(--color-dark-text) !important; 
    color: #fff !important; 
    font-size: 14px !important; 
    padding: 8px 16px !important; 
}
.shop-controls-mobile { 
    display: none; 
}
.woocommerce-ordering { 
    margin-bottom: 0; 
}

/* --- SHOP SORTING DROPDOWN STYLING --- */
.woocommerce-ordering select {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-body);
    background-color: transparent;
    border: none;
    padding: 8px 32px 8px 8px;
    border-radius: 0;
    min-width: 200px;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path fill="%23666666" d="M1.5 0L6 4.5L10.5 0L12 1.5L6 7.5L0 1.5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 12px;
    cursor: pointer;
    transition: opacity 0.2s;
}

.woocommerce-ordering select:hover {
    opacity: 0.7;
}

.woocommerce-ordering select:focus {
    outline: none;
    opacity: 0.7;
}

/* --- SHOP RESULT COUNT STYLING --- */
.woocommerce-result-count {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-body);
    margin: 0;
}
.woocommerce-default-page { 
    padding: 80px 0; 
}

/* --- SEARCH PAGE STYLING (REUSE SHOP PAGE STYLES) --- */
.search-hero {
    /* Inherits from .shop-hero */
}

.search-hero h1 {
    /* Same styling as shop hero title */
    font-family: var(--font-primary);
    font-size: 48px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    margin: 0;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
}

.search-main-content {
    /* Inherits from .shop-main-content */
}

.search-layout-grid {
    /* Inherits from .shop-layout-grid */
}

.search-sidebar {
    /* Inherits from .shop-sidebar */
}

.search-products {
    /* Inherits from .shop-products */
}

/* --- SEARCH FORM STYLING --- */
.search-form-container {
    margin-bottom: 40px;
    padding: 20px 0;
    border-bottom: 1px solid #eee;
}

.search-form {
    display: flex;
    max-width: 600px;
    margin: 0 auto;
    background: #fff;
    border: 2px solid var(--color-dark-text);
    border-radius: 0;
    overflow: hidden;
}

.search-field {
    flex: 1;
    padding: 16px 20px;
    border: none;
    background: transparent;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-body);
    outline: none;
}

.search-field::placeholder {
    color: #999;
}

.search-submit {
    padding: 16px 20px;
    border: none;
    background: var(--color-dark-text);
    color: #fff;
    cursor: pointer;
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-submit:hover {
    background: #000;
}

.search-submit svg {
    width: 18px;
    height: 18px;
}

/* --- SEARCH RESULTS STYLING --- */
.search-result-item {
    border: 1px solid #eee;
    padding: 20px;
    margin-bottom: 20px;
    transition: box-shadow 0.2s;
}

.search-result-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.product-excerpt {
    font-family: var(--font-body);
    font-size: 14px;
    color: var(--color-text-body);
    line-height: 1.5;
    margin: 10px 0;
}

.product-meta {
    font-size: 12px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* --- NO RESULTS STYLING --- */
.no-results-found {
    text-align: center;
    padding: 60px 20px;
}

.no-results-found h2 {
    font-family: var(--font-primary);
    font-size: 28px;
    color: var(--color-dark-text);
    margin-bottom: 15px;
}

.no-results-found p {
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-body);
    margin-bottom: 40px;
}

.suggested-products {
    margin-top: 40px;
}

.suggested-products h3 {
    font-family: var(--font-primary);
    font-size: 20px;
    color: var(--color-dark-text);
    margin-bottom: 30px;
    text-align: center;
}

/* --- SEARCH OVERLAY (FOR HEADER SEARCH) --- */
.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
}

.search-overlay.active {
    opacity: 1;
    visibility: visible;
}

.search-overlay-content {
    background: #fff;
    padding: 40px;
    max-width: 600px;
    width: 90%;
    position: relative;
}

.search-overlay .search-form {
    margin: 0;
    max-width: none;
}

.search-overlay-close {
    position: absolute;
    top: 15px;
    right: 20px;
    background: none;
    border: none;
    font-size: 24px;
    color: var(--color-text-body);
    cursor: pointer;
    padding: 5px;
    line-height: 1;
}

.search-overlay-close:hover {
    color: var(--color-dark-text);
}

/* ============================================================================
   MY ACCOUNT PAGES STYLING
   ============================================================================ */

/* --- MY ACCOUNT HERO --- */
.account-hero {
    /* Inherits from .shop-hero */
}

.account-hero h1 {
    /* Same styling as shop/search hero titles */
    font-family: var(--font-primary);
    font-size: 48px;
    font-weight: 400;
    color: #fff;
    text-align: left; /* Left align instead of center */
    margin: 0;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    max-width: 1200px; /* Match container max-width */
    margin-left: auto;
    margin-right: auto;
    padding-left: calc(20px + 24px); /* Container padding (20px) + navigation text padding (24px) */
    width: 100%;
    box-sizing: border-box;
}

.account-main-content {
    padding: 80px 0 200px 0; /* Significantly increased bottom padding */
    background-color: var(--color-light-bg);
    min-height: 60vh; /* Ensure minimum height */
}

.account-layout-grid {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0 20px; /* Add horizontal padding */
    display: flex !important;
    flex-direction: row !important;
    gap: 40px !important;
    align-items: flex-start !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Force the woocommerce wrapper to use flexbox */
.account-layout-grid .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 40px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Force navigation to fixed width */
.account-layout-grid .woocommerce-MyAccount-navigation {
    display: block !important;
    width: 250px !important;
    max-width: 250px !important;
    min-width: 250px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    box-sizing: border-box !important;
    order: 1 !important;
}

/* Force content to fill remaining space */
.account-layout-grid .woocommerce-MyAccount-content {
    display: block !important;
    flex: 1 !important;
    min-width: 0 !important;
    max-width: calc(100% - 250px - 40px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    order: 2 !important;
}

/* --- FIX FOR STANDALONE H1 TITLE ABOVE NAVIGATION/CONTENT --- */
.account-layout-grid > h1,
.account-layout-grid .woocommerce > h1:first-child,
.woocommerce-account h1:first-child,
.account-main-content h1:first-child {
    margin: 0 0 30px 0 !important;
    padding: 0 0 0 24px !important; /* Add left padding to align with navigation text */
    font-family: var(--font-primary);
    font-size: 32px;
    font-weight: 400;
    color: var(--color-dark-text);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* --- MY ACCOUNT NAVIGATION --- */
.woocommerce-MyAccount-navigation {
    background: #fff;
    border-radius: 0;
    padding: 0;
    margin: 0; /* Remove all margins */
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1;
    clear: both;
    height: fit-content; /* Auto height */
    align-self: start; /* Force alignment to start */
}

.woocommerce-MyAccount-navigation ul {
    display: flex;
    flex-direction: column; /* Stack items vertically */
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: none; /* Remove border */
}

.woocommerce-MyAccount-navigation li {
    margin: 0;
    flex: none; /* Remove flex grow */
    min-width: none; /* Remove min-width */
    width: 100%; /* Full width of navigation column */
    max-width: 250px !important; /* Ensure it doesn't exceed navigation width */
    box-sizing: border-box !important;
}

.woocommerce-MyAccount-navigation a {
    display: block;
    padding: 20px 24px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--color-text-body);
    text-decoration: none;
    text-align: left; /* Left align text */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-right: none; /* Remove right border */
    border-bottom: 1px solid #eee; /* Add bottom border */
    transition: all 0.3s ease;
    position: relative;
    width: 100% !important;
    max-width: 250px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.woocommerce-MyAccount-navigation li:last-child a {
    border-bottom: none; /* Remove bottom border from last item */
}

.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a {
    background: var(--color-dark-text);
    color: #fff;
}

/* --- MY ACCOUNT CONTENT --- */
.woocommerce-MyAccount-content {
    background: #fff;
    padding: 40px; /* Add normal padding to content container */
    border-radius: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    position: relative;
    z-index: 1;
    clear: both;
    margin: 0 0 60px 0; /* Add bottom margin for desktop whitespace */
    overflow: hidden; /* Prevent content overflow */
    min-height: 400px; /* Ensure minimum height */
    align-self: start; /* Force alignment to start */
}

/* Remove padding from inner content since container has padding */
.woocommerce-MyAccount-content > * {
    padding: 0;
    margin-top: 0 !important; /* Force no top margin */
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}

/* Ensure first element has no extra spacing */
.woocommerce-MyAccount-content > *:first-child {
    margin-top: 0 !important;
    padding-top: 40px !important; /* Maintain internal padding but no extra top space */
}

/* Force consistent top alignment for all content elements */
.woocommerce-MyAccount-content h2:first-child,
.woocommerce-MyAccount-content .woocommerce-notices-wrapper + *,
.woocommerce-MyAccount-content .woocommerce > *:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Specific fix for notices wrapper positioning */
.woocommerce-MyAccount-content .woocommerce-notices-wrapper:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.woocommerce-MyAccount-content .woocommerce-notices-wrapper:first-child + * {
    margin-top: 0 !important;
    padding-top: 40px !important;
}

/* Special handling for specific content that needs less padding */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content .woocommerce table {
    margin: 0 40px !important;
    margin-top: 0 !important;
    width: calc(100% - 80px) !important;
    max-width: calc(100% - 80px) !important;
    box-sizing: border-box !important;
    table-layout: fixed !important;
    overflow: hidden !important;
}

/* Constrain all forms and inputs */
.woocommerce-MyAccount-content form,
.woocommerce-MyAccount-content .form-row,
.woocommerce-MyAccount-content input,
.woocommerce-MyAccount-content textarea,
.woocommerce-MyAccount-content select {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Constrain any divs that might break out */
.woocommerce-MyAccount-content div {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
}

/* Ensure the WooCommerce wrapper has no extra spacing */
.woocommerce-MyAccount-content .woocommerce {
    margin: 0 !important;
    padding-top: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Target the actual content wrapper that might be adding space */
.account-layout-grid .woocommerce-MyAccount-content {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove any default spacing from WooCommerce account content */
.woocommerce-account {
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove spacing from any divs inside the content */
.woocommerce-MyAccount-content > div {
    margin-top: 0 !important;
}

.woocommerce-MyAccount-content h1,
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-family: var(--font-primary);
    font-weight: 400;
    color: var(--color-dark-text);
    margin-top: 0;
    margin-bottom: 24px;
}

/* Specific styling for h1 in content - no positioning overrides */
.woocommerce-MyAccount-content h1 {
    font-size: 32px;
    font-family: var(--font-primary);
    font-weight: 400;
    color: var(--color-dark-text);
    margin: 0 0 24px 0;
}

.woocommerce-MyAccount-content h2 {
    font-size: 28px;
    border-bottom: 2px solid #eee;
    padding-bottom: 16px;
}

.woocommerce-MyAccount-content h3 {
    font-size: 20px;
}

.woocommerce-MyAccount-content p {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-body);
    margin-bottom: 20px;
}

/* --- MY ACCOUNT FORMS --- */
.woocommerce form .form-row {
    margin-bottom: 24px;
}

.woocommerce form label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    color: var(--color-dark-text);
    margin-bottom: 8px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form input[type="tel"],
.woocommerce form textarea,
.woocommerce form select {
    width: 100%;
    padding: 16px 20px;
    border: 2px solid #eee;
    border-radius: 0;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-body);
    background: #fff;
    transition: border-color 0.3s ease;
    box-sizing: border-box;
}

.woocommerce form input:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus {
    outline: none;
    border-color: var(--color-dark-text);
}

.woocommerce form textarea {
    min-height: 120px;
    resize: vertical;
}

/* --- MY ACCOUNT BUTTONS --- */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
    background: var(--color-dark-text) !important;
    color: #fff !important;
    border: none !important;
    padding: 16px 32px !important;
    font-family: var(--font-body) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    display: inline-block !important;
    min-width: 140px !important;
    text-align: center !important;
}

.woocommerce .button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
    background: #000 !important;
    color: #fff !important;
}

.woocommerce .button.alt {
    background: #000 !important;
}

.woocommerce .button.alt:hover {
    background: #967341 !important;
}

/* --- ORDERS TABLE --- */
.woocommerce-orders-table,
.woocommerce table.shop_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
    background: #fff;
    table-layout: fixed; /* Prevent table overflow */
    overflow-wrap: break-word;
}

.woocommerce-orders-table th,
.woocommerce-orders-table td,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    padding: 16px 20px;
    text-align: left;
    border-bottom: 1px solid #eee;
    font-family: var(--font-body);
}

.woocommerce-orders-table th,
.woocommerce table.shop_table th {
    background: #f8f9fa;
    font-weight: 500;
    color: var(--color-dark-text);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 12px;
}

.woocommerce-orders-table td,
.woocommerce table.shop_table td {
    font-size: 14px;
    color: var(--color-text-body);
}

.woocommerce-orders-table .button,
.woocommerce table.shop_table .button {
    min-width: auto !important;
    padding: 8px 16px !important;
    font-size: 12px !important;
}

/* --- ADDRESSES --- */
.woocommerce-Address {
    background: #fff;
    padding: 24px;
    margin-bottom: 24px;
    border: 2px solid #eee;
    position: relative;
    clear: both;
    overflow: hidden;
    display: block;
    width: 100%;
    box-sizing: border-box;
}

.woocommerce-Address-title h3 {
    font-family: var(--font-primary);
    font-size: 18px;
    margin-bottom: 16px;
    color: var(--color-dark-text);
}

.woocommerce-Address address {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text-body);
    font-style: normal;
    margin-bottom: 16px;
}

/* --- DASHBOARD WELCOME --- */
.woocommerce-MyAccount-content > p:first-child {
    background: #f8f9fa;
    padding: 24px;
    border-left: 4px solid var(--color-dark-text);
    margin-bottom: 32px;
    font-size: 16px;
}

/* --- LOGIN/REGISTER FORMS --- */
.woocommerce-form-login,
.woocommerce-form-register {
    background: #fff;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    clear: both;
    overflow: hidden;
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
    font-family: var(--font-primary);
    font-size: 24px;
    margin-bottom: 24px;
    text-align: center;
    color: var(--color-dark-text);
}

.woocommerce .lost_password a {
    color: var(--color-dark-text);
    text-decoration: none;
    font-size: 14px;
}

.woocommerce .lost_password a:hover {
    text-decoration: underline;
}

/* --- MESSAGES AND NOTICES --- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    padding: 16px 20px 16px 60px !important; /* Extra left padding for icon */
    margin: 0 0 20px 0 !important; /* Remove top margin, controlled bottom margin */
    border-left: 4px solid;
    font-family: var(--font-body);
    border-radius: 0;
    position: relative !important;
    line-height: 1.6 !important;
    clear: both !important;
    display: block !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-wrap: break-word !important;
}

/* Ensure notices don't push content down */
.woocommerce-MyAccount-content .woocommerce-message,
.woocommerce-MyAccount-content .woocommerce-info,
.woocommerce-MyAccount-content .woocommerce-error {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}

/* Fix notices wrapper */
.woocommerce-notices-wrapper {
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* Remove default WooCommerce icons that overlap */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    display: none !important;
}

/* Hide any floating icons */
.woocommerce-message .dashicons,
.woocommerce-info .dashicons,
.woocommerce-error .dashicons {
    display: none !important;
}

.woocommerce-message {
    background: #d4edda;
    border-left-color: #28a745;
    color: #155724;
}

.woocommerce-info {
    background: #d1ecf1;
    border-left-color: #17a2b8;
    color: #0c5460;
}

.woocommerce-error {
    background: #f8d7da;
    border-left-color: #dc3545;
    color: #721c24;
}

/* --- CLEARFIX UTILITIES --- */
.woocommerce-MyAccount-content::after {
    content: "";
    display: table;
    clear: both;
}

/* Remove clearfix from grid container to prevent spacing issues */
.account-layout-grid::after {
    display: none !important;
}

/* Prevent any floating issues */
.woocommerce .col2-set,
.woocommerce .col-1,
.woocommerce .col-2 {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Fix WooCommerce default layouts that might overlap */
.woocommerce .form-row-first,
.woocommerce .form-row-last {
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 16px !important;
}

/* Ensure proper spacing between elements */
.woocommerce .form-row {
    clear: both;
    overflow: hidden;
    margin-top: 0 !important;
}

/* Fix any absolute positioning issues */
.woocommerce-MyAccount-content * {
    position: relative;
}

/* Override any conflicting WooCommerce styles */
.woocommerce-account .woocommerce {
    clear: both;
    overflow: hidden;
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Aggressive override of WooCommerce default account layout */
.woocommerce-account .woocommerce-MyAccount-navigation {
    width: 250px !important;
    max-width: 250px !important;
    min-width: 250px !important;
    float: none !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    box-sizing: border-box !important;
}

.woocommerce-account .woocommerce-MyAccount-content {
    width: auto !important;
    max-width: none !important;
    float: none !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
}

/* Force WooCommerce to use our flexbox layout */
.woocommerce-account .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 40px !important;
}

/* Force account page wrapper to participate in flexbox */
.account-layout-grid .woocommerce-account {
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
}

/* Additional WooCommerce override for account pages */
body.woocommerce-account .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 40px !important;
}

body.woocommerce-account .woocommerce-MyAccount-navigation {
    display: block !important;
    width: 250px !important;
    max-width: 250px !important;
    min-width: 250px !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    float: none !important;
    clear: none !important;
}

body.woocommerce-account .woocommerce-MyAccount-content {
    display: block !important;
    flex: 1 !important;
    min-width: 0 !important;
    max-width: calc(100% - 250px - 40px) !important;
    float: none !important;
    clear: none !important;
}

/* Remove any potential wrapper that might cause issues */
.account-layout-grid .woocommerce > div {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 40px !important;
    width: 100% !important;
}

/* Ultimate override for account pages */
.woocommerce-account {
    display: block !important;
    width: 100% !important;
}

.woocommerce-account .account-layout-grid {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 40px !important;
}

.woocommerce-account .account-layout-grid .woocommerce {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 40px !important;
    width: 100% !important;
}

/* Ensure our grid takes precedence over all WooCommerce styles */
.account-layout-grid {
    position: relative !important;
}

.account-layout-grid .woocommerce-MyAccount-navigation {
    position: static !important;
}

.account-layout-grid .woocommerce-MyAccount-content {
    position: static !important;
}

/* Force grid items to start at the top */
.account-layout-grid > * {
    margin-top: 0 !important;
    padding-top: 0 !important;
    vertical-align: top !important;
}

/* Ensure grid container has no conflicting styles */
.account-layout-grid {
    vertical-align: top !important;
}

/* Make sure both navigation and content align to grid start */
.woocommerce-MyAccount-navigation,
.woocommerce-MyAccount-content {
    vertical-align: top !important;
    align-self: start !important;
}

/* ============================================================================
   CART PAGE STYLING - FLOWING VERTICAL DESIGN (MATCHING YOUR IMAGE)
   ============================================================================ */

/* --- CART PAGE BACKDROP (LIGHT GREY BEHIND EVERYTHING) --- */
body.woocommerce-cart::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #f8f8f8; /* Light grey backdrop */
    z-index: -1; /* Behind everything */
    pointer-events: none; /* Don't interfere with clicks */
}

/* Alternative approach using WooCommerce cart container */
.wp-block-woocommerce-cart::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #f8f8f8; /* Light grey backdrop */
    z-index: -1;
    pointer-events: none;
}

/* Cart page title alignment */
body.woocommerce-cart .page-content h1,
.woocommerce-cart .page-content h1,
.cart .page-content h1 {
    font-family: var(--font-primary);
    font-size: 48px;
    font-weight: 400;
    color: var(--color-dark-text);
    margin: 60px 0 40px 0; /* Added top margin for spacing from page top */
    text-align: left;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px; /* Align with table start */
    box-sizing: border-box;
}

/* --- WOOCOMMERCE BLOCKS CART CONTAINER --- */
.wp-block-woocommerce-cart {
    background: transparent; /* Let the grey backdrop show through */
    padding: 0;
}

/* FORCE VERTICAL SINGLE-COLUMN LAYOUT */
.wc-block-components-sidebar-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: block !important; /* Force vertical flow */
    width: 100% !important;
    box-sizing: border-box !important;
}

/* --- CART ITEMS TABLE (FULL WIDTH) --- */
.wc-block-components-main {
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 40px;
    box-sizing: border-box !important;
}

.wc-block-cart-items {
    width: 100% !important;
    max-width: 100% !important;
    border-collapse: collapse;
    background: #fff;
    border: none;
    margin-bottom: 0;
    table-layout: fixed; /* Force fixed table layout for better column control */
    box-sizing: border-box !important;
}

/* --- MINIMAL TABLE HEADER (4 COLUMNS) --- */
.wc-block-cart-items thead {
    background: none;
}

.wc-block-cart-items__header th {
    padding: 20px 0;
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 300; /* Even lighter - not bold */
    color: var(--color-dark-text);
    text-transform: none;
    border: none;
    border-bottom: 1px solid #eee;
    text-align: left;
    background: none;
}

/* More specific selector to override WooCommerce bold headers */
.editor-styles-wrapper table.wc-block-cart-items .wc-block-cart-items__header th, 
table.wc-block-cart-items .wc-block-cart-items__header th {
    font-weight: 300 !important; /* Force non-bold headers */
}

/* Force proper 5-column layout */
.wc-block-cart-items__header-image {
    width: 15%; /* Image column */
    padding-left: 0 !important;
    text-align: left; /* Left align header */
}

.wc-block-cart-items__header-product-info {
    width: 35%; /* Product info column */
    text-align: left; /* Left align header */
    padding-left: 0 !important; /* Start at cell edge */
}

.wc-block-cart-items__header-quantity {
    width: 20%; /* Quantity column */
    text-align: left; /* Left align header to match content */
    padding-left: 0 !important; /* Start at cell edge */
}

.wc-block-cart-items__header-product {
    display: none !important; /* Hide original product header - content moved */
}

.wc-block-cart-items__header-total {
    width: 20%; /* Total column */
    text-align: right !important; /* Keep right-aligned for prices */
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.wc-block-cart-items__header-remove {
    width: 10%; /* Remove column */
    text-align: center; /* Center header to match content */
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* --- CLEAN TABLE ROWS --- */
.wc-block-cart-items__row {
    border-bottom: 1px solid #f5f5f5;
}

.wc-block-cart-items__row:last-child {
    border-bottom: none;
}

.wc-block-cart-items__row td {
    padding: 30px 0;
    vertical-align: middle;
    border: none;
    background: none;
}

/* === CLEAN 5-COLUMN LAYOUT === */

/* --- COLUMN 1: IMAGE ONLY --- */
.wc-block-cart-item__image {
    width: 15% !important;
    padding: 15px 0 15px 0 !important; /* No left padding - start at cell edge */
    vertical-align: top !important; /* Align to top for higher positioning */
    text-align: left !important; /* Left align to start at cell edge */
}

.wc-block-cart-item__image img {
    width: 109px !important;
    height: 134px !important;
    object-fit: contain !important; /* Don't squish the image */
    border-radius: 0;
    display: block !important;
    max-width: 109px !important;
    max-height: 134px !important;
    margin: 0 !important; /* No margin - start at left edge */
}

/* --- COLUMN 2: PRODUCT INFO --- */
.wc-block-cart-item__product-info {
    width: 35% !important;
    padding: 15px 0 15px 0 !important; /* No left padding - start at cell edge */
    vertical-align: top !important; /* Align to top for higher positioning */
    text-align: left !important; /* Start at left edge */
}

.wc-block-cart-item__product-info .cart-product-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start; /* Align to top for higher positioning */
    gap: 4px;
}

.wc-block-cart-item__product-info .cart-product-info .wc-block-components-product-name {
    font-family: var(--font-primary);
    font-size: 16px;
    font-weight: 400;
    color: var(--color-dark-text);
    text-decoration: none;
    line-height: 1.3;
    margin: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.wc-block-cart-item__product-info .cart-product-info .wc-block-components-product-name:hover {
    color: var(--color-dark-text);
    text-decoration: none;
}

.wc-block-cart-item__product-info .cart-product-info .wc-block-formatted-money-amount {
    font-family: var(--font-secondary);
    font-size: 14px;
    font-weight: 300;
    color: var(--color-text);
    margin: 0;
}

/* --- COLUMN 3: QUANTITY --- */
.wc-block-cart-item__quantity-cell {
    width: 20% !important;
    padding: 15px 0 15px 0 !important; /* No left padding - start at cell edge */
    vertical-align: top !important; /* Align to top for higher positioning */
    text-align: left !important; /* Left align to start at cell edge */
}

/* Style the moved quantity div */
.wc-block-cart-item__quantity-cell .wc-block-cart-item__quantity {
    margin: 0 !important;
    display: flex !important;
    align-items: flex-start !important; /* Align to top for higher positioning */
    justify-content: flex-start !important; /* Left align entire quantity container */
    flex-direction: column !important;
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important; /* Let it size naturally, don't force full width */
}

.wc-block-cart-item__quantity-cell .wc-block-components-quantity-selector {
    background: none !important;
    border: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important; /* Left align to start at cell edge */
}

.wc-block-cart-item__quantity-cell .wc-block-components-quantity-selector__input {
    width: 60px !important;
    min-width: 60px !important; /* Prevent shrinking */
    max-width: 60px !important; /* Prevent growing */
    height: auto !important;
    border: none !important;
    background: none !important;
    text-align: center !important; /* Keep number centered inside input field */
    font-family: var(--font-secondary) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: var(--color-text) !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important; /* No margin within the selector block */
    box-shadow: none !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-self: flex-start !important; /* Align to left within the flex container */
    flex-shrink: 0 !important; /* Don't shrink */
    flex-grow: 0 !important; /* Don't grow */
}

/* Make sure the quantity selector is visible and left-aligned */
.wc-block-cart-item__quantity-cell .wc-block-components-quantity-selector {
    display: inline-flex !important; /* Use inline-flex to prevent stretching */
    visibility: visible !important;
    opacity: 1 !important;
    justify-content: flex-start !important; /* Position input at left edge of this block */
    align-items: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important; /* Ensure left alignment */
    width: auto !important; /* Let it size naturally */
}

/* Force input field to be at the very left of the selector block */
.wc-block-cart-item__quantity-cell .wc-block-components-quantity-selector > .wc-block-components-quantity-selector__input:first-child {
    margin-left: 0 !important;
    margin-right: auto !important;
}

/* Hide +/- buttons in moved quantity */
.wc-block-cart-item__quantity-cell .wc-block-components-quantity-selector__button {
    display: none !important;
}

/* --- HIDE ORIGINAL PRODUCT COLUMN (content moved to other columns) --- */
.wc-block-cart-item__product {
    /* Allow product cell to render (desktop layout provides its own column) */
    display: table-cell !important;
}

/* Hide product name and price - they'll be moved to image column via JS */
.wc-block-cart-item__product .wc-block-components-product-name,
.wc-block-cart-item__product .wc-block-cart-item__prices {
    display: inline-block !important;
}

/* Hide product descriptions completely */
.wc-block-components-product-metadata,
.wc-block-components-product-metadata__description,
.wc-block-cart-item__product .wc-block-components-product-metadata,
.wc-block-cart-item__product p,
.wc-block-cart-item__wrap p,
.wc-block-cart-item__wrap .wc-block-components-product-metadata,
.wc-block-cart-item__product-description,
.wc-block-cart-item__product-meta {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* Ensure moved quantity is visible and functional */
.wc-block-cart-item__quantity-cell .wc-block-cart-item__quantity {
    margin: 0 !important;
    display: flex !important;
    align-items: flex-start !important; /* Left align instead of center */
    justify-content: flex-start !important; /* Left align instead of center */
    height: auto !important; /* Don't force full height */
    padding: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hide quantity in original location (will be moved) */
.wc-block-cart-item__product .wc-block-cart-item__quantity {
    display: inline-flex !important;
}

.wc-block-components-quantity-selector__button {
    display: none !important;
}

.wc-block-components-quantity-selector {
    background: none !important;
    border: none !important;
    padding: 0 !important;
}

.wc-block-components-quantity-selector__input {
    width: 60px !important;
    height: auto !important;
    border: none !important;
    background: none !important;
    text-align: center !important;
    font-family: var(--font-secondary) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: var(--color-text) !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 auto !important;
    box-shadow: none !important;
    display: block !important;
}

.wc-block-components-quantity-selector__input::-webkit-outer-spin-button,
.wc-block-components-quantity-selector__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Hide original remove button ONLY in original location */
/* Do NOT hide original remove link; ensure visibility on mobile too */
.wc-block-cart-item__product .wc-block-cart-item__remove-link { display: inline-block !important; }

/* Ensure moved remove button is visible */
.wc-block-cart-item__remove .wc-block-cart-item__remove-link {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
}

/* Clean up - removed old positioning styles for new 4-column layout */

.wc-block-cart-item__remove-link:hover {
    color: #999;
}

/* Hide pseudo-element content only in original location */
.wc-block-cart-item__product .wc-block-cart-item__remove-link::before {
    display: none !important;
}

/* Ensure pseudo-element works in moved button */
.wc-block-cart-item__remove .wc-block-cart-item__remove-link::before {
    display: inline !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Product info is now in its own column - see column 2 styles above */

/* --- COLUMN 4: PRODUCT TOTAL --- */
.wc-block-cart-item__total {
    text-align: right; /* Keep right-aligned for prices */
    padding: 15px 0 15px 0 !important; /* No left padding - start at cell edge */
    width: 20% !important;
    vertical-align: top !important; /* Align to top for higher positioning */
}

.wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-family: var(--font-secondary);
    font-size: 16px;
    font-weight: 400; /* Lighter */
    color: var(--color-dark-text);
}

/* --- COLUMN 5: REMOVE BUTTON --- */
.wc-block-cart-item__remove {
    width: 10% !important;
    text-align: center !important; /* Center the remove button */
    padding: 15px 0 !important; /* Top/bottom padding only */
    vertical-align: top !important; /* Align to top for higher positioning */
}

.cart-remove-button {
    display: inline-block !important;
    width: 24px !important;
    height: 24px !important;
    background: none !important;
    color: #666 !important; /* Darker color */
    text-decoration: none !important;
    border: none !important;
    cursor: pointer !important;
    font-size: 20px !important; /* Larger font */
    text-align: center !important;
    line-height: 24px !important;
    transition: all 0.2s ease !important;
    font-family: var(--font-secondary) !important;
    font-weight: 400 !important;
}

.cart-remove-button:hover {
    color: #333 !important; /* Even darker on hover */
}

/* --- TOTALS SECTION (BELOW PRODUCTS) --- */
.wc-block-components-sidebar {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 20px 0 0 0 !important; /* Reduced from 40px to 20px - closer to table */
    margin: 0 !important;
    width: 100% !important;
    max-width: 400px !important;
    margin-left: auto !important;
    display: block !important;
}

/* --- HIDE CART TOTALS TITLE --- */
.wc-block-cart__totals-title {
    display: none !important;
}

/* --- COUPON SECTION (SIMPLIFIED) --- */
.wc-block-components-totals-coupon {
    margin-bottom: 8px; /* Reduced from 20px to 8px - closer to total */
}

.wc-block-components-panel__button {
    background: none !important;
    border: 1px solid #eee !important;
    padding: 12px 0 !important;
    border-radius: 0 !important;
    font-family: var(--font-secondary) !important;
    font-size: 14px !important;
    color: var(--color-text) !important;
    transition: all 0.2s ease !important;
    width: 100% !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.wc-block-components-panel__button:hover {
    background: #f9f9f9 !important;
    color: var(--color-dark-text) !important;
}

.wc-block-components-panel__button-icon {
    width: 14px !important;
    height: 14px !important;
    opacity: 0.5 !important;
}

/* --- HIDE BREAKDOWN TOTALS CONTAINER --- */
.wp-block-woocommerce-cart-order-summary-totals-block {
    display: none !important; /* Hide entire breakdown container (subtotal, discount, fee) */
}

/* --- MINIMAL TOTALS SECTION --- */
.wc-block-components-totals-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border: none;
    font-family: var(--font-secondary);
    font-size: 16px;
    background: none;
}

.wc-block-components-totals-item__label {
    font-weight: 300; /* Much lighter */
    color: var(--color-dark-text);
}

.wc-block-components-totals-item__value {
    font-weight: 400; /* Lighter */
    color: var(--color-dark-text);
}

/* --- MAIN TOTAL (EMPHASIZE) --- */
.wc-block-components-totals-footer-item {
    padding: 16px 0 !important;
    margin-top: 0 !important; /* Reduced from 8px to 0 - closer to coupon */
    border-top: none !important; /* Removed divider line */
    border-bottom: none !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 18px !important;
    font-weight: 500 !important; /* Lighter than before */
    color: var(--color-dark-text) !important;
}

/* --- CHECKOUT BUTTON --- */
.wc-block-cart__submit {
    margin-top: 24px;
    text-align: right;
}

.wc-block-cart__submit-button {
    display: inline-block !important;
    padding: 16px 40px !important;
    background: var(--color-dark-text) !important;
    color: #fff !important;
    font-family: var(--font-primary) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    box-sizing: border-box !important;
    min-width: 200px !important;
}

.wc-block-cart__submit-button:hover {
    background: #000 !important;
    color: #fff !important;
}

/* --- Custom cart totals breakdown (excl. tax, tax, incl. tax) --- */
.woocommerce-cart .sauna-cart-breakdown {
    margin-top: 8px;
    border-top: 1px solid #eee;
    padding-top: 12px;
}
.woocommerce-cart .sauna-cart-breakdown .sauna-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 8px;
    margin-top: 8px;
    border-top: 1px solid #f2f2f2;
}
.woocommerce-cart .sauna-cart-breakdown .sauna-row span {
    font-weight: 500;
    color: var(--color-dark-text);
}

/* ===== CHECKOUT PAGE STYLING ===== */

/* --- CHECKOUT PAGE BACKGROUND --- */
body.woocommerce-checkout::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #f8f8f8; /* Same light grey as cart */
    z-index: -1;
    pointer-events: none;
}

/* --- CHECKOUT PAGE TITLE --- */
body.woocommerce-checkout .page-content h1,
.woocommerce-checkout .page-content h1,
.checkout .page-content h1 {
    font-family: var(--font-primary);
    font-size: 48px;
    font-weight: 400;
    color: var(--color-dark-text);
    margin: 60px 0 40px 0;
    text-align: left;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    box-sizing: border-box;
}

/* --- CHECKOUT CONTAINER --- */
.wp-block-woocommerce-checkout {
    background: transparent;
    padding: 0;
    max-width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
}

.wc-block-checkout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 !important; /* Remove all padding to fully use space */
    box-sizing: border-box;
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important; /* Small space between sections */
    align-items: flex-start;
    flex-wrap: nowrap !important;
}

/* Force the checkout to use flexbox layout with highest specificity */
body.woocommerce-checkout .wp-block-woocommerce-checkout {
    display: block !important;
}

body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wc-block-checkout {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 20px !important; /* Small space between sections */
    flex-wrap: nowrap !important;
}

/* Additional force for any container that might be interfering */
body.woocommerce-checkout .wp-block-woocommerce-checkout > *,
body.woocommerce-checkout .wc-block-checkout > * {
    display: block !important;
}

/* Ensure checkout container takes full width */  
body.woocommerce-checkout .wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout {
    width: 100% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
}

/* --- CHECKOUT FORM SECTIONS (LEFT SIDE) --- */
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-components-main {
    width: 65% !important; /* 65% form section */
    margin-bottom: 0 !important;
    flex: 0 0 65% !important;
    max-width: 65% !important;
    order: 1 !important;
    display: block !important;
}

.wc-block-checkout__main {
    width: 100% !important;
    background: #fff;
    padding: 40px;
    box-sizing: border-box;
}

/* --- FORM FIELD CONTAINERS --- */
body.woocommerce-checkout .wc-block-components-address-form__company,
body.woocommerce-checkout .wc-block-components-address-form__first_name,
body.woocommerce-checkout .wc-block-components-address-form__last_name,
body.woocommerce-checkout .wc-block-components-address-form__address_1,
body.woocommerce-checkout .wc-block-components-address-form__address_2,
body.woocommerce-checkout .wc-block-components-address-form__city,
body.woocommerce-checkout .wc-block-components-address-form__state,
body.woocommerce-checkout .wc-block-components-address-form__postcode,
body.woocommerce-checkout .wc-block-components-address-form__country,
body.woocommerce-checkout .wc-block-components-address-form__phone,
body.woocommerce-checkout .wc-block-components-address-form__email,
body.woocommerce-checkout .wc-block-components-address-form div,
body.woocommerce-checkout .wc-block-checkout__billing-fields div,
body.woocommerce-checkout .wc-block-checkout__shipping-fields div {
    border: none !important; /* Remove outer borders */
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 24px !important;
}

/* --- FORM FIELD STYLING --- */
body.woocommerce-checkout .wc-block-components-text-input,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-components-select-input,
body.woocommerce-checkout .wc-block-components-phone-number-input,
body.woocommerce-checkout .wc-block-components-state-input,
body.woocommerce-checkout .wc-block-components-country-input,
body.woocommerce-checkout .wc-block-checkout__billing-fields input[type="text"],
body.woocommerce-checkout .wc-block-checkout__billing-fields input[type="email"],
body.woocommerce-checkout .wc-block-checkout__billing-fields input[type="tel"],
body.woocommerce-checkout .wc-block-checkout__shipping-fields input[type="text"],
body.woocommerce-checkout .wc-block-checkout__shipping-fields input[type="email"],
body.woocommerce-checkout .wc-block-checkout__shipping-fields input[type="tel"],
body.woocommerce-checkout .wc-block-checkout__payment-method input[type="text"],
body.woocommerce-checkout .wc-block-checkout__payment-method input[type="email"],
body.woocommerce-checkout .wc-block-checkout__payment-method input[type="tel"],
body.woocommerce-checkout .wc-block-checkout__billing-fields select,
body.woocommerce-checkout .wc-block-checkout__shipping-fields select,
body.woocommerce-checkout .wc-block-checkout__payment-method select,
body.woocommerce-checkout .wc-block-checkout__billing-fields textarea,
body.woocommerce-checkout .wc-block-checkout__shipping-fields textarea,
body.woocommerce-checkout .wc-block-checkout__payment-method textarea {
    width: 100% !important;
    padding: 16px 0 8px 0 !important; /* Remove horizontal padding to align with label */
    border: none !important;
    border-bottom: 1px solid #eee !important; /* Only bottom border */
    border-radius: 0 !important;
    font-family: var(--font-secondary) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: var(--color-dark-text) !important;
    background: transparent !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
    margin-top: 8px !important; /* Space below label */
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-block-components-text-input:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus,
body.woocommerce-checkout .wc-block-components-select-input:focus,
body.woocommerce-checkout .wc-block-components-phone-number-input:focus,
body.woocommerce-checkout .wc-block-components-state-input:focus,
body.woocommerce-checkout .wc-block-components-country-input:focus,
body.woocommerce-checkout .wc-block-checkout__billing-fields input:focus,
body.woocommerce-checkout .wc-block-checkout__shipping-fields input:focus,
body.woocommerce-checkout .wc-block-checkout__payment-method input:focus,
body.woocommerce-checkout .wc-block-checkout__billing-fields select:focus,
body.woocommerce-checkout .wc-block-checkout__shipping-fields select:focus,
body.woocommerce-checkout .wc-block-checkout__payment-method select:focus,
body.woocommerce-checkout .wc-block-checkout__billing-fields textarea:focus,
body.woocommerce-checkout .wc-block-checkout__shipping-fields textarea:focus,
body.woocommerce-checkout .wc-block-checkout__payment-method textarea:focus {
    outline: none !important;
    border-bottom-color: var(--color-dark-text) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
}

/* --- FORM LABELS --- */
body.woocommerce-checkout .wc-block-components-text-input__label,
body.woocommerce-checkout .wc-block-components-textarea__label,
body.woocommerce-checkout .wc-block-components-select-input__label,
body.woocommerce-checkout .wc-block-components-phone-number-input__label,
body.woocommerce-checkout .wc-block-components-state-input__label,
body.woocommerce-checkout .wc-block-components-country-input__label,
body.woocommerce-checkout .wc-block-checkout__billing-fields label,
body.woocommerce-checkout .wc-block-checkout__shipping-fields label,
body.woocommerce-checkout .wc-block-checkout__payment-method label {
    font-family: var(--font-secondary) !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--color-dark-text) !important;
    margin-bottom: 0 !important; /* No margin, input will have margin-top */
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
    background: none !important;
    padding: 0 !important;
}

/* --- ADDITIONAL PROVINCE/STATE AND PHONE FIELD STYLING --- */
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-blocks-components-phone__select,
body.woocommerce-checkout .wc-blocks-components-phone-number-input,
body.woocommerce-checkout .wc-block-components-address-form__state select,
body.woocommerce-checkout .wc-block-components-address-form__phone input,
body.woocommerce-checkout .wc-block-components-address-form__state input,
body.woocommerce-checkout .wc-block-components-address-form__country select,
body.woocommerce-checkout input[name*="state"],
body.woocommerce-checkout input[name*="phone"],
body.woocommerce-checkout select[name*="state"],
body.woocommerce-checkout select[name*="country"],
body.woocommerce-checkout #billing-state,
body.woocommerce-checkout #shipping-state,
body.woocommerce-checkout #billing-phone,
body.woocommerce-checkout #shipping-phone {
    width: 100% !important;
    padding: 16px 0 8px 0 !important;
    border: none !important;
    border-bottom: 1px solid #eee !important;
    border-radius: 0 !important;
    font-family: var(--font-secondary) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: var(--color-dark-text) !important;
    background: transparent !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
    margin-top: 8px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-blocks-components-phone__select:focus,
body.woocommerce-checkout .wc-blocks-components-phone-number-input:focus,
body.woocommerce-checkout .wc-block-components-address-form__state select:focus,
body.woocommerce-checkout .wc-block-components-address-form__phone input:focus,
body.woocommerce-checkout .wc-block-components-address-form__state input:focus,
body.woocommerce-checkout .wc-block-components-address-form__country select:focus,
body.woocommerce-checkout input[name*="state"]:focus,
body.woocommerce-checkout input[name*="phone"]:focus,
body.woocommerce-checkout select[name*="state"]:focus,
body.woocommerce-checkout select[name*="country"]:focus,
body.woocommerce-checkout #billing-state:focus,
body.woocommerce-checkout #shipping-state:focus,
body.woocommerce-checkout #billing-phone:focus,
body.woocommerce-checkout #shipping-phone:focus {
    outline: none !important;
    border-bottom-color: var(--color-dark-text) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
}

/* --- MAXIMUM SPECIFICITY OVERRIDES FOR PROVINCE AND PHONE FIELDS --- */
body.woocommerce-checkout #billing-state,
body.woocommerce-checkout #shipping-state,
body.woocommerce-checkout select#billing-state,
body.woocommerce-checkout select#shipping-state,
body.woocommerce-checkout .wc-blocks-components-select__select#billing-state,
body.woocommerce-checkout .wc-blocks-components-select__select#shipping-state {
    appearance: none !important;
    height: auto !important;
    width: 100% !important;
    padding: 16px 0 8px 0 !important;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #eee !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: var(--color-dark-text) !important;
    background: transparent !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
    margin-top: 8px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #billing-phone,
body.woocommerce-checkout #shipping-phone,
body.woocommerce-checkout input#billing-phone,
body.woocommerce-checkout input#shipping-phone,
body.woocommerce-checkout input[type="tel"]#billing-phone,
body.woocommerce-checkout input[type="tel"]#shipping-phone {
    appearance: none !important;
    height: auto !important;
    width: 100% !important;
    padding: 16px 0 8px 0 !important;
    border: none !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: 1px solid #eee !important;
    border-radius: 0 !important;
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 300 !important;
    color: var(--color-dark-text) !important;
    background: transparent !important;
    transition: border-color 0.3s ease !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
    margin-top: 8px !important;
    box-shadow: none !important;
}

body.woocommerce-checkout #billing-state:focus,
body.woocommerce-checkout #shipping-state:focus,
body.woocommerce-checkout select#billing-state:focus,
body.woocommerce-checkout select#shipping-state:focus,
body.woocommerce-checkout .wc-blocks-components-select__select#billing-state:focus,
body.woocommerce-checkout .wc-blocks-components-select__select#shipping-state:focus,
body.woocommerce-checkout #billing-phone:focus,
body.woocommerce-checkout #shipping-phone:focus,
body.woocommerce-checkout input#billing-phone:focus,
body.woocommerce-checkout input#shipping-phone:focus,
body.woocommerce-checkout input[type="tel"]#billing-phone:focus,
body.woocommerce-checkout input[type="tel"]#shipping-phone:focus {
    outline: none !important;
    border-bottom-color: var(--color-dark-text) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    box-shadow: none !important;
}

/* --- CSS CUSTOM PROPERTY OVERRIDES (Highest Priority) --- */
body.woocommerce-checkout {
    --checkout-field-padding: 16px 0 8px 0;
    --checkout-field-border: none;
    --checkout-field-border-bottom: 1px solid #eee;
    --checkout-field-background: transparent;
    --checkout-field-font-family: var(--font-body);
}

/* Apply custom properties with highest specificity */
html body.woocommerce-checkout #billing-state,
html body.woocommerce-checkout #shipping-state,
html body.woocommerce-checkout #billing-phone,
html body.woocommerce-checkout #shipping-phone {
    padding: var(--checkout-field-padding) !important;
    border: var(--checkout-field-border) !important;
    border-bottom: var(--checkout-field-border-bottom) !important;
    background: var(--checkout-field-background) !important;
    font-family: var(--checkout-field-font-family) !important;
    
    /* Force override any inline styles */
    border-top-style: none !important;
    border-left-style: none !important;
    border-right-style: none !important;
    border-top-width: 0 !important;
    border-left-width: 0 !important;
    border-right-width: 0 !important;
}

/* --- SECTION HEADINGS --- */
.wc-block-checkout__billing-fields h2,
.wc-block-checkout__shipping-fields h2,
.wc-block-checkout__payment-method h2 {
    font-family: var(--font-primary) !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: var(--color-dark-text) !important;
    margin: 0 0 30px 0 !important;
    border: none !important;
    padding: 0 !important;
}

/* --- CHECKOUT SIDEBAR (ORDER SUMMARY - RIGHT SIDE) --- */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
    width: 35% !important; /* 35% order summary section (65% + 35% = 100%) */
    background: #fff !important;
    padding: 40px !important;
    margin-bottom: 0 !important;
    border: none !important;
    box-shadow: none !important;
    height: fit-content !important; /* Don't stretch full height */
    flex-shrink: 0 !important; /* Don't shrink */
    display: block !important; /* Ensure it's a block container */
    flex: 0 0 35% !important;
    max-width: 35% !important;
    order: 2 !important; /* Ensure it comes after main content */
}

/* Force sidebar to stay on right */
body.woocommerce-checkout .wc-block-checkout__sidebar {
    position: relative !important;
    float: none !important;
    clear: none !important;
}

/* Override any WooCommerce defaults that might stack the sidebar */
body.woocommerce-checkout .wc-block-checkout .wc-block-checkout__sidebar {
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: flex-start !important;
}

/* --- ORDER SUMMARY TITLE --- */
.wc-block-components-sidebar h2 {
    font-family: var(--font-primary) !important;
    font-size: 24px !important;
    font-weight: 400 !important;
    color: var(--color-dark-text) !important;
    margin: 0 0 30px 0 !important;
    border: none !important;
}

/* --- ORDER ITEMS STYLING --- */
.wc-block-components-order-summary-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid #f0f0f0 !important;
    font-family: var(--font-secondary) !important;
}

.wc-block-components-order-summary-item__name {
    font-size: 16px !important;
    font-weight: 300 !important;
    color: var(--color-dark-text) !important;
}

.wc-block-components-order-summary-item__quantity {
    font-size: 14px !important;
    font-weight: 300 !important;
    color: var(--color-text) !important;
    margin-left: 8px !important;
}

.wc-block-components-order-summary-item__total {
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--color-dark-text) !important;
}

/* --- PAYMENT METHODS --- */
.wc-block-components-radio-control {
    margin-bottom: 20px !important;
}

.wc-block-components-radio-control-option {
    padding: 16px !important;
    border: 1px solid #eee !important;
    margin-bottom: 8px !important;
    transition: all 0.2s ease !important;
    background: #fff !important;
}

.wc-block-components-radio-control-option:hover {
    border-color: var(--color-dark-text) !important;
    background: #f9f9f9 !important;
}

.wc-block-components-radio-control-option__label {
    font-family: var(--font-secondary) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--color-dark-text) !important;
}

/* --- CHECKOUT TOTALS (SIMPLIFIED) --- */
/* Hide breakdown items (subtotal, shipping, tax, etc.) */
body.woocommerce-checkout .wc-block-components-totals-wrapper .wc-block-components-totals-item {
    display: none !important;
}

/* Show main total only */
body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 20px 0 0 0 !important; /* No border, just top padding */
    border: none !important; /* Remove useless divider */
    margin-top: 0 !important;
    background: none !important;
}

/* Total text styling */
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: var(--font-secondary) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--color-dark-text) !important;
    border: none !important;
    background: none !important;
}

/* Force totals footer to be visible */
body.woocommerce-checkout .wc-block-components-totals-footer {
    display: block !important;
    border: none !important;
    background: none !important;
}

/* --- AGGRESSIVE TOTAL DISPLAY OVERRIDES --- */
/* Force ALL possible total variations to show */
html body.woocommerce-checkout .wc-block-components-totals-footer-item,
html body.woocommerce-checkout .wc-block-components-totals-footer-item *,
html body.woocommerce-checkout .wc-block-components-totals-footer,
html body.woocommerce-checkout .wc-block-components-totals-footer *,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block,
html body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block *,
html body.woocommerce-checkout [class*="totals-footer"],
html body.woocommerce-checkout [class*="total"][class*="item"],
html body.woocommerce-checkout .wc-block-checkout__sidebar [class*="total"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

/* Specific total item display */
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    overflow: visible !important;
}

/* --- ULTIMATE NUCLEAR OPTION FOR CHECKOUT TOTALS --- */
/* Show any element with "total" in the class name in checkout sidebar */
body.woocommerce-checkout .wc-block-checkout__sidebar *[class*="total"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Force flex for actual totals items */
body.woocommerce-checkout .wc-block-checkout__sidebar *[class*="totals-item"] {
    display: flex !important;
    justify-content: space-between !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* --- ENSURE ORDER SUMMARY ITEMS ARE VISIBLE --- */
/* Force order summary items to show */
body.woocommerce-checkout .wc-block-components-order-summary-item,
body.woocommerce-checkout .wc-block-components-order-summary-item__name,
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity,
body.woocommerce-checkout .wc-block-components-order-summary-item__total {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Ensure main container is visible */
body.woocommerce-checkout .wc-block-components-order-summary {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* --- SIMPLE DIRECT TARGETING --- */
/* Hide item description paragraphs ONLY */
body.woocommerce-checkout .wc-block-checkout__sidebar p {
    display: none !important;
}

/* --- CLEAN ORDER SUMMARY ITEM LAYOUT --- */
/* Main product item container */
body.woocommerce-checkout .wc-block-components-order-summary-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 16px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

/* Product image */
body.woocommerce-checkout .wc-block-components-order-summary-item__image {
    flex-shrink: 0 !important;
    width: 50px !important;
    height: 50px !important;
}

body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
}

/* Product info section (name, price, quantity) */
body.woocommerce-checkout .wc-block-components-order-summary-item__details {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
}

/* Product name */
body.woocommerce-checkout .wc-block-components-order-summary-item__name {
    font-family: var(--font-body) !important;
    font-size: 15px !important;
    font-weight: 400 !important;
    color: var(--color-dark-text) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
}

/* Product individual price and quantity row */
body.woocommerce-checkout .wc-block-components-order-summary-item__price-line {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    color: var(--color-text-body) !important;
}

/* Product quantity styling */
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
    font-size: 14px !important;
    color: var(--color-text-body) !important;
    font-weight: 400 !important;
}

/* Item total price (right side) */
body.woocommerce-checkout .wc-block-components-order-summary-item__total {
    font-family: var(--font-body) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--color-dark-text) !important;
    flex-shrink: 0 !important;
    text-align: right !important;
}

/* Overall container spacing */
body.woocommerce-checkout .wc-block-components-order-summary {
    padding: 0 !important;
    margin: 0 !important;
}

/* --- FORCE MAIN TOTAL TO SHOW --- */
/* Override any hiding for the main total */
body.woocommerce-checkout .wc-block-components-totals-footer-item,
body.woocommerce-checkout .wc-block-components-totals-footer-item *,
body.woocommerce-checkout .wc-block-components-totals-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Force main total item to flex */
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item {
    display: flex !important;
    justify-content: space-between !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 20px 0 0 0 !important;
    border: none !important;
    background: none !important;
}

/* --- CLEAN TOTAL STYLING --- */
/* Style the total container properly */
body.woocommerce-checkout .wc-block-checkout__sidebar *[class*="totals-footer"] {
    border: none !important;
    background: none !important;
    padding: 20px 0 0 0 !important;
    margin-top: 20px !important;
}

/* Style the total item properly */
body.woocommerce-checkout .wc-block-checkout__sidebar *[class*="totals-footer"] *[class*="totals-item"] {
    border: none !important;
    background: none !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    font-family: var(--font-secondary) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--color-dark-text) !important;
}

/* Style total label and value specifically */
body.woocommerce-checkout .wc-block-checkout__sidebar *[class*="totals-footer"] *[class*="totals-item"] *[class*="label"],
body.woocommerce-checkout .wc-block-checkout__sidebar *[class*="totals-footer"] *[class*="totals-item"] *[class*="value"] {
    font-family: var(--font-secondary) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    color: var(--color-dark-text) !important;
    background: none !important;
    border: none !important;
}

/* --- PLACE ORDER BUTTON --- */
.wc-block-components-checkout-place-order-button {
    width: 100% !important;
    padding: 18px 40px !important;
    background: var(--color-dark-text) !important;
    color: #fff !important;
    font-family: var(--font-primary) !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    transition: background-color 0.3s ease !important;
    margin-top: 24px !important;
    box-sizing: border-box !important;
}

.wc-block-components-checkout-place-order-button:hover {
    background: #000 !important;
    color: #fff !important;
}

/* Form row spacing is now handled in the form field containers section above */

/* --- REMOVE HEAVY BORDERS --- */
body.woocommerce-checkout .wc-block-checkout__billing-fields,
body.woocommerce-checkout .wc-block-checkout__shipping-fields,
body.woocommerce-checkout .wc-block-checkout__payment-method,
body.woocommerce-checkout .wc-block-checkout__main > *,
body.woocommerce-checkout .wc-block-checkout__main section {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    margin-bottom: 40px !important;
}

/* --- FORCE PROPER CHECKOUT LAYOUT --- */
/* Override any WooCommerce default styles that might break the layout */
.wp-block-woocommerce-checkout .wc-block-checkout > * {
    display: block !important;
}

.wp-block-woocommerce-checkout .wc-block-components-main,
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
    float: none !important;
    clear: none !important;
    position: relative !important;
}

/* Ensure sidebar doesn't get pushed to next line */
.wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* Debug: ensure container is wide enough */
.wp-block-woocommerce-checkout .wc-block-checkout {
    min-height: 1px; /* Ensure container has height */
    width: 100% !important;
}

/* --- RESPONSIVE STYLES --- */
@media (max-width: 991px) {
    /* Search overlay responsive */
    .search-overlay-content {
        padding: 30px 20px;
        width: 95%;
    }
    
    .search-form {
        max-width: none;
    }
    
    .search-field {
        padding: 14px 16px;
        font-size: 16px; /* Prevent zoom on iOS */
    }
    
    .search-submit {
        padding: 14px 16px;
    }
    
    .search-form-container {
        margin-bottom: 30px;
        padding: 15px 0;
    }
    
    /* Search results responsive */
    .search-result-item {
        padding: 15px;
        margin-bottom: 15px;
    }
    
    .no-results-found {
        padding: 40px 15px;
    }
    
    .no-results-found h2 {
        font-size: 24px;
    }
    
    /* Responsive hero titles */
    .shop-hero h1,
    .search-hero h1,
    .account-hero h1 {
        font-size: 32px !important;
        padding-left: calc(10px + 24px) !important; /* Tablet container padding + navigation text padding */
    }
    
    /* --- MY ACCOUNT RESPONSIVE --- */
    .account-main-content {
        padding: 60px 20px 180px 20px; /* Significantly increased bottom padding for tablet */
    }
    
    .account-layout-grid {
        padding: 0 10px; /* Reduce horizontal padding */
        display: flex !important; /* Keep flexbox on tablet */
        flex-direction: column !important; /* Stack vertically on tablet */
        gap: 30px !important;
    }
    
    .woocommerce-MyAccount-navigation {
        margin-bottom: 30px; /* Add spacing between nav and content */
    }
    
    .woocommerce-MyAccount-navigation ul {
        flex-direction: row; /* Horizontal on tablet */
        flex-wrap: wrap;
    }
    
    .woocommerce-MyAccount-navigation li {
        width: auto; /* Auto width on tablet */
        min-width: 120px;
        flex: 1;
    }
    
    .woocommerce-MyAccount-navigation a {
        text-align: center; /* Center text on tablet */
        border-bottom: 1px solid #eee;
        border-right: 1px solid #eee;
        padding: 16px 12px;
    }
    
    .woocommerce-MyAccount-navigation li:last-child a {
        border-right: none;
    }
    
    .woocommerce-MyAccount-content {
        padding: 30px; /* Simplified tablet padding */
        margin-bottom: 40px; /* Add bottom whitespace on tablet */
    }
    
    /* Fix standalone h1 spacing on tablet */
    .account-layout-grid > h1,
    .account-layout-grid .woocommerce > h1:first-child,
    .woocommerce-account h1:first-child,
    .account-main-content h1:first-child {
        padding-left: 20px !important; /* Reduce padding on tablet */
    }
    
    .woocommerce form input[type="text"],
    .woocommerce form input[type="email"],
    .woocommerce form input[type="password"],
    .woocommerce form input[type="tel"],
    .woocommerce form textarea,
    .woocommerce form select {
        padding: 14px 16px;
        font-size: 16px; /* Prevent zoom on iOS */
    }
    
    /* Orders table responsive */
    .woocommerce-orders-table,
    .woocommerce table.shop_table {
        font-size: 12px;
    }
    
    .woocommerce-orders-table th,
    .woocommerce-orders-table td,
    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding: 12px 8px;
    }
    
    .woocommerce-Address {
        padding: 20px 16px;
        margin-bottom: 20px;
    }
    
    /* --- CART BLOCKS RESPONSIVE (TABLET) --- */
    body.woocommerce-cart .page-content h1,
    .woocommerce-cart .page-content h1,
    .cart .page-content h1 {
        font-size: 36px;
        margin-bottom: 30px;
        padding-left: 20px; /* Maintain alignment with table */
    }
    
    .wc-block-components-sidebar-layout {
        padding: 0 20px;
    }
    
    .wc-block-cart-items__header th {
        padding: 16px 0;
        font-size: 14px;
        font-weight: 300; /* Non-bold on mobile too */
    }
    
    .wc-block-cart-items__row td {
        padding: 20px 0;
    }
    
    .wc-block-cart-item__image img {
        width: 70px;
        height: 70px;
    }
    
    .wc-block-components-sidebar {
        max-width: 100% !important;
        margin-left: 0 !important;
    }
    
    .featured-products ul.products, 
    .related.products ul.products, 
    .shop-products ul.products { 
        grid-template-columns: repeat(2, 1fr) !important; 
    }
    .product-layout-grid { 
        grid-template-columns: 1fr; 
    }
    .shop-layout-grid { 
        grid-template-columns: 1fr; 
    }
    .shop-sidebar { 
        display: none; 
    }
    
    /* Show mobile filter controls */
    .shop-controls-mobile { 
        display: flex; 
        justify-content: center; 
        align-items: center; 
        margin-bottom: 30px; 
        gap: 20px;
    }
    .filter-toggle { 
        background: var(--color-light-grey); 
        border: 1px solid var(--color-border); 
        padding: 12px 24px; 
        font-size: 16px; 
        cursor: pointer;
        border-radius: 0;
        text-decoration: none;
        color: var(--color-dark-text);
    }
    .filter-toggle:hover {
        background: var(--color-dark-text);
        color: var(--color-text-light);
    }
    
    /* Mobile sorting dropdown in the controls */
    .shop-controls-mobile .woocommerce-ordering {
        display: block;
    }
    .shop-controls-mobile .woocommerce-ordering select {
        font-family: var(--font-body);
        font-size: 16px;
        color: var(--color-text-body);
        background-color: transparent;
        border: none;
        padding: 8px 32px 8px 8px;
        border-radius: 0;
        min-width: 150px;
        appearance: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8"><path fill="%23666666" d="M1.5 0L6 4.5L10.5 0L12 1.5L6 7.5L0 1.5z"/></svg>');
        background-repeat: no-repeat;
        background-position: right 8px center;
        background-size: 12px;
        cursor: pointer;
    }
    
    /* Style the existing mobile filter panel */
    .mobile-filter-panel {
        position: fixed;
        top: 0;
        right: -100%;
        width: 100%;
        max-width: 400px;
        height: 100vh;
        background: white;
        z-index: 9999;
        transition: right 0.3s ease;
        overflow-y: auto;
        box-shadow: -2px 0 10px rgba(0,0,0,0.3);
    }
    
    .filter-panel-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background: rgba(0,0,0,0.5);
        z-index: 9998;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }
    
    /* When filter panel is open */
    body.filter-panel-open .mobile-filter-panel {
        right: 0 !important;
    }
    
    body.filter-panel-open .filter-panel-overlay {
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* Clean mobile filter panel styling */
    
    /* Style the filter panel header */
    .mobile-filter-panel__header {
        padding: 20px;
        border-bottom: 1px solid var(--color-border);
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: var(--color-light-bg);
    }
    
    .mobile-filter-panel__header h4 {
        margin: 0;
        font-family: var(--font-primary);
        font-size: 18px;
        color: var(--color-dark-text);
    }
    
    .filter-close {
        background: none;
        border: none;
        font-size: 24px;
        cursor: pointer;
        color: var(--color-dark-text);
        padding: 0;
        width: 30px;
        height: 30px;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    
    /* Style the filter widgets */
    .mobile-filter-panel__widgets {
        padding: 20px;
    }
    
    .mobile-filter-panel__widgets .widget {
        margin-bottom: 30px;
        border-bottom: 1px solid var(--color-border);
        padding-bottom: 20px;
    }
    
    .mobile-filter-panel__widgets .widget:last-child {
        border-bottom: none;
        margin-bottom: 0;
    }
    
    .mobile-filter-panel__widgets .widget-title {
        font-family: var(--font-primary);
        font-size: 16px;
        font-weight: 500;
        color: var(--color-dark-text);
        margin-bottom: 15px;
        text-transform: uppercase;
        letter-spacing: 1px;
    }
    
    /* Style filter lists */
    .mobile-filter-panel__widgets ul {
        list-style: none;
        padding: 0;
        margin: 0;
    }
    
    .mobile-filter-panel__widgets li {
        margin-bottom: 10px;
    }
    
    .mobile-filter-panel__widgets a {
        font-family: var(--font-body);
        font-size: 14px;
        color: var(--color-text-body);
        text-decoration: none;
        display: block;
        padding: 8px 0;
        transition: color 0.2s;
    }
    
    .mobile-filter-panel__widgets a:hover {
        color: var(--color-dark-text);
    }
    
    /* Mobile specific adjustments */
    @media (max-width: 480px) {
        .mobile-filter-panel {
            max-width: 100%;
            right: -100%;
        }
        
        .mobile-filter-panel__header {
            padding: 15px;
        }
        
        .mobile-filter-panel__widgets {
            padding: 15px;
        }
    }
}
@media (max-width: 767px) {
    .featured-products .product-image-container img,
    .related.products .product-image-container img,
    .woocommerce .related.products .product-image-container img,
    .shop-products .product-image-container img { 
        height: 250px !important; 
    }
    .single-product .site-content { 
        padding: 40px 20px; 
    }
    .product-layout-grid { 
        gap: 40px; 
    }
    /* Hide the default WooCommerce ordering on mobile since we have custom controls */
    .woocommerce-ordering {
        display: none;
    }
    
    /* Hide result count on very small screens to reduce clutter */
    .woocommerce-result-count {
        font-size: 14px;
        text-align: center;
        margin-bottom: 15px;
    }
    .shop-hero { 
        padding: 40px 0; 
    }
    
    /* Mobile hero titles */
    .shop-hero h1,
    .search-hero h1,
    .account-hero h1 {
        font-size: 28px !important;
        padding-left: calc(5px + 20px) !important; /* Mobile container padding + navigation text padding */
        padding-right: 20px !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }
    
    /* --- MY ACCOUNT MOBILE --- */
    .account-main-content {
        padding: 40px 15px 160px 15px; /* Significantly increased bottom padding for mobile */
    }
    
    /* Force mobile container to be properly sized */
    .account-main-content .container {
        max-width: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .account-layout-grid {
        padding: 0 5px; /* Minimal horizontal padding on mobile */
        display: flex !important; /* Keep flexbox on mobile */
        flex-direction: column !important; /* Stack vertically on mobile */
        gap: 20px !important;
    }
    
    /* Force WooCommerce wrapper to also stack vertically on mobile */
    .account-layout-grid .woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        width: 100% !important;
        align-items: stretch !important;
    }
    
    /* Override all desktop WooCommerce rules for mobile */
    body.woocommerce-account .woocommerce {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }
    
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-content {
        width: 100% !important;
        max-width: none !important;
        min-width: none !important;
        flex: none !important;
    }
    
    /* Reset navigation for mobile */
    .woocommerce-MyAccount-navigation {
        width: 100% !important; /* Full width on mobile */
        max-width: none !important;
        min-width: none !important;
        flex: none !important;
        margin-bottom: 20px; /* Reduce spacing on mobile */
        order: 1 !important; /* Navigation first */
    }
    
    .woocommerce-MyAccount-navigation ul {
        flex-direction: column; /* Stack vertically on mobile */
        flex-wrap: nowrap;
    }
    
    .woocommerce-MyAccount-navigation li {
        width: 100%; /* Full width on mobile */
        max-width: none !important;
        min-width: none;
        flex: none;
    }
    
    .woocommerce-MyAccount-navigation a {
        width: 100% !important;
        max-width: none !important;
        text-align: left; /* Left align on mobile */
        border-bottom: 1px solid #eee;
        border-right: none;
        padding: 16px 20px;
        box-sizing: border-box !important;
        white-space: normal !important; /* Allow text wrapping on mobile */
        text-overflow: clip !important;
        overflow: visible !important;
    }
    
    .woocommerce-MyAccount-navigation li:last-child a {
        border-bottom: none;
    }
    
    /* Reset content for mobile */
    .woocommerce-MyAccount-content {
        width: 100% !important; /* Full width on mobile */
        max-width: 100% !important;
        min-width: 0 !important;
        flex: none !important;
        padding: 15px; /* Reduced mobile padding */
        margin: 0 !important; /* Remove desktop bottom margin on mobile */
        order: 2 !important; /* Content second */
        box-sizing: border-box !important;
        overflow-x: hidden !important;
    }
    
    /* Ensure content children don't overflow on mobile */
    .woocommerce-MyAccount-content > * {
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        padding: 0 !important; /* Remove inner padding on mobile */
    }
    
    /* Fix standalone h1 spacing on mobile */
    .account-layout-grid > h1,
    .account-layout-grid .woocommerce > h1:first-child,
    .woocommerce-account h1:first-child,
    .account-main-content h1:first-child {
        padding-left: 15px !important; /* Minimal padding on mobile */
    }
    
    .woocommerce-MyAccount-content h2 {
        font-size: 24px;
    }
    
    .woocommerce-MyAccount-content h3 {
        font-size: 18px;
    }
    
    .woocommerce .button,
    .woocommerce button.button,
    .woocommerce input.button,
    .woocommerce a.button {
        padding: 14px 20px !important;
        font-size: 13px !important;
        min-width: 120px !important;
    }
    
    /* Make forms more mobile-friendly */
    .woocommerce form .form-row {
        margin-bottom: 20px;
    }
    
    /* Stack form elements better on mobile */
    .woocommerce .form-row-first,
    .woocommerce .form-row-last {
        width: 100% !important;
        margin-right: 0 !important;
    }
    
    /* Addresses on mobile */
    .woocommerce-Address {
        padding: 16px 12px;
        margin-bottom: 16px;
    }
    
    /* Orders table mobile optimization */
    .woocommerce-orders-table,
    .woocommerce table.shop_table {
        font-size: 11px;
        overflow-x: auto;
        display: block;
        white-space: nowrap;
    }
    
    .woocommerce-orders-table tbody,
    .woocommerce table.shop_table tbody {
        display: table;
        width: 100%;
    }
    
    .woocommerce-orders-table th,
    .woocommerce-orders-table td,
    .woocommerce table.shop_table th,
    .woocommerce table.shop_table td {
        padding: 8px 4px;
    }
    
    /* Login/Register forms mobile */
    .woocommerce-form-login,
    .woocommerce-form-register {
        padding: 20px 15px;
    }
    
    /* --- CART BLOCKS RESPONSIVE (MOBILE) --- */
    body.woocommerce-cart .page-content h1,
    .woocommerce-cart .page-content h1,
    .cart .page-content h1 {
        font-size: 28px;
        margin-bottom: 20px;
        padding-left: 15px; /* Maintain alignment with table on mobile */
    }
    
    .wc-block-components-sidebar-layout {
        padding: 0 15px;
    }
    
    /* Switch to minimal mobile layout */
    .wc-block-cart-items thead {
        display: none; /* Hide table headers on mobile */
    }
    
    .wc-block-cart-items__row {
        border-bottom: 1px solid #f0f0f0;
        padding: 20px 0;
    }
    
    .wc-block-cart-items__row td {
        display: block;
        padding: 0 !important;
        width: 100% !important;
        margin-bottom: 8px;
    }
    
    /* Product image mobile */
    .wc-block-cart-item__image {
        width: 100% !important;
        text-align: left;
        margin-bottom: 12px;
        padding-left: 0 !important;
    }
    
    .wc-block-cart-item__image img {
        width: 60px;
        height: 60px;
    }
    
    /* Product details mobile */
    .wc-block-cart-item__product {
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-bottom: 8px;
    }
    
    .wc-block-components-product-name {
        font-size: 16px;
        margin-bottom: 4px;
    }
    
    .wc-block-cart-item__prices .wc-block-formatted-money-amount {
        font-size: 13px;
    }
    
    /* Quantity and remove in one line */
    .wc-block-cart-item__quantity {
        margin-top: 8px;
        margin-bottom: 8px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    
    .wc-block-components-quantity-selector__input {
        width: 30px !important;
        font-size: 14px !important;
    }
    
    /* Product total mobile */
    .wc-block-cart-item__total {
        text-align: left !important;
        padding-right: 0 !important;
        width: 100% !important;
        font-size: 16px;
        font-weight: 600;
    }
    
    .wc-block-cart-item__total::before {
        content: "Total: ";
        font-weight: 400;
        color: var(--color-text);
        font-family: var(--font-secondary);
        font-size: 14px;
        display: inline;
        margin-right: 8px;
    }
    
    /* Totals section mobile */
    .wc-block-components-sidebar {
        padding-top: 30px !important;
        max-width: 100% !important;
        margin-left: 0 !important;
    }
    
    .wc-block-cart__submit {
        text-align: center;
    }
    
    .wc-block-cart__submit-button {
        width: 100% !important;
        min-width: none !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
    }
    
    /* --- CHECKOUT MOBILE RESPONSIVE --- */
    body.woocommerce-checkout .page-content h1,
    .woocommerce-checkout .page-content h1,
    .checkout .page-content h1 {
        font-size: 28px;
        margin-bottom: 20px;
        padding-left: 15px;
    }
    
    .wc-block-checkout {
        padding: 0 15px; /* Reduced padding for mobile */
        display: block !important; /* Stack vertically on mobile */
        gap: 0;
    }
    
    .wp-block-woocommerce-checkout .wc-block-components-main {
        width: 100% !important; /* Full width on mobile - CHECKOUT ONLY */
        margin-bottom: 20px;
    }
    
    .wc-block-checkout__main {
        padding: 20px;
        margin-bottom: 20px;
    }
    
    .wc-block-checkout__sidebar {
        width: 100% !important; /* Full width on mobile */
        padding: 20px !important;
        margin-bottom: 20px;
    }
    
    .wc-block-checkout__billing-fields h2,
    .wc-block-checkout__shipping-fields h2,
    .wc-block-checkout__payment-method h2,
    .wc-block-components-sidebar h2 {
        font-size: 20px !important;
        margin-bottom: 20px !important;
    }
    
    .wc-block-components-text-input,
    .wc-block-components-textarea,
    .wc-block-components-select-input {
        padding: 12px 0 !important; /* Maintain bottom-border-only approach on mobile */
        font-size: 16px !important;
    }
    
    .wc-block-components-checkout-place-order-button {
        padding: 16px 30px !important;
        font-size: 16px !important;
    }
    
    /* Checkout order summary mobile */
    .wc-block-components-order-summary-item {
        padding: 8px 0 !important;
    }
    
    .wc-block-components-order-summary-item__name {
        font-size: 14px !important;
    }
    
    .wc-block-components-order-summary-item__total {
        font-size: 14px !important;
    }
    
    /* Payment methods mobile */
    .wc-block-components-radio-control-option {
        padding: 12px !important;
    }
    
    .wc-block-components-radio-control-option__label {
        font-size: 14px !important;
    }
}

/* --- CUSTOM BLOCK PATTERN STYLES --- */

/* Text / Image Split Pattern */
.is-style-text-image-split {
    padding: 80px 0;
}
.is-style-text-image-split .wp-block-columns {
    gap: 60px;
}
.is-style-text-image-split h2 {
    margin-top: 0;
}
.is-style-text-image-split p {
    margin-bottom: 30px;
}

/* General improvements for split sections */
.is-style-text-image-split .wp-block-column.is-vertically-aligned-center {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.is-style-text-image-split p:first-of-type {
    color: var(--color-accent-gold);
}
.is-style-text-image-split .wp-block-buttons {
    margin-top: auto;
}

/* Feature split variant (new patterns) */
.is-style-text-image-feature {
    padding: 80px 0;
}
.is-style-text-image-feature .wp-block-columns {
    gap: 60px;
}
.is-style-text-image-feature .wp-block-column.is-vertically-aligned-center {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-height: 603px;
}
.is-style-text-image-feature h2 { margin-top: 0; }
.is-style-text-image-feature p:first-of-type { color: var(--color-accent-gold); }
.is-style-text-image-feature .wp-block-buttons { margin-top: auto; }
/* Default image dimensions for desktop */
.is-style-text-image-feature .feature-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
/* Tight stacking variant for back-to-back feature blocks */
.feature-split.alignfull + .feature-split.alignfull {
    margin-top: -2px; /* eliminate seam more aggressively */
}
.feature-split.alignfull + .feature-split.alignfull .wp-block-columns {
    margin-top: 0;
}

@media (min-width: 1360px) {
    .is-style-text-image-feature .feature-image img {
        width: 740px; /* +20px to kiss corners when stacked */
        height: 620px;
        object-fit: cover;
    }
}

/* --- Gutenberg layout helpers --- */
.alignfull {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.wp-block-group.alignfull {
    padding-left: 20px;
    padding-right: 20px;
}
/* Remove group side padding for full-width feature splits so the image can be truly edge-to-edge */
.feature-split.alignfull {
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
}
.feature-split.alignfull .wp-block-columns { margin: 0; }
.feature-split.image-right .wp-block-columns,
.feature-split.image-left .wp-block-columns {
    align-items: stretch;
}
.feature-split.alignfull .wp-block-columns {
    max-width: none;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    gap: 0 !important;
}
.feature-split .text-col {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding-left: 28px;
    padding-right: 28px;
    padding-top: 32px;
    padding-bottom: 32px;
}
.feature-split .text-col .wp-block-buttons { margin-top: auto; }
.feature-split .text-col p:first-of-type { color: var(--color-accent-gold); }
/* Enforce single subtitle paragraph in feature split */
.feature-split .text-col > p:nth-of-type(n+2) { display: none; }
.feature-split .image-col { position: relative; }
.feature-split.image-right .image-col { margin-right: 0; }
.feature-split.image-left .image-col { margin-left: 0; }
.feature-split .feature-image { margin: 0; }
.feature-split .feature-image img { display: block; }
.feature-split.image-left .image-col,
.feature-split.image-right .image-col {
    display: flex;
    justify-content: center;
}
.feature-split.image-left .feature-image img,
.feature-split.image-right .feature-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}
@media (min-width: 1360px) {
    .feature-split.image-right .image-col { padding-right: 0; }
    .feature-split.image-left .image-col { padding-left: 0; }
    .feature-split .image-col { overflow: hidden; }
    .feature-split.alignfull .image-col,
    .feature-split.alignfull .text-col {
        flex: 0 0 50vw;
        max-width: 50vw;
    }
    .feature-split.alignfull .feature-image img {
        width: 50vw;
        height: 603px;
        object-fit: cover;
    }
    /* Desktop comfortable padding & spacing for text column */
    .feature-split.alignfull .text-col {
        padding-left: 60px;
        padding-right: 48px;
        padding-top: 56px;
        padding-bottom: 48px;
        gap: 18px;
    }
    /* Comfortable reading width on desktop */
    .feature-split .text-col > .wp-block-heading { max-width: 760px; }
    .feature-split .text-col > p { max-width: 560px; }
    .feature-split .text-col .wp-block-buttons { padding-top: 16px; padding-bottom: 24px; }
}
.newsletter-cta {
    background-size: cover;
    background-position: center;
}
.wp-block-columns {
    gap: 24px;
}

/* ===== CHECKOUT LAYOUT CLEANUP (non-destructive overrides) ===== */
@supports (display: grid) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout,
	body.woocommerce-checkout .wc-block-checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 380px;
		gap: 24px !important;
		align-items: start !important;
	}

	/* Main form column (left) */
	body.woocommerce-checkout .wc-block-components-main {
		width: auto !important;
		max-width: none !important;
		flex: initial !important;
		order: initial !important;
		grid-column: 1 !important;
	}

	/* Order summary column (right) */
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		width: auto !important;
		max-width: none !important;
		flex: initial !important;
		order: initial !important;
		grid-column: 2 !important;
	}
}

/* Ensure mobile keeps stacking cleanly */
@media (max-width: 991px) {
	body.woocommerce-checkout .wc-block-checkout {
		display: block !important;
	}
	body.woocommerce-checkout .wc-block-components-main,
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		grid-column: auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* Keep checkout totals minimal */
html body.woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper .wc-block-components-totals-item {
	display: none !important;
}

/* ===== CHECKOUT SIDEBAR SAFEGUARDS ===== */
/* Ensure the sidebar never collapses to a narrow strip (works for both grid and flex fallbacks) */
body.woocommerce-checkout .wc-block-checkout__sidebar {
	min-width: 340px !important;
	flex-basis: 380px !important; /* if flex layout is active */
}

/* Strengthen the grid column sizing for consistency */
@supports (display: grid) {
	body.woocommerce-checkout .wc-block-checkout {
		grid-template-columns: minmax(0, 1fr) minmax(340px, 420px) !important;
	}
}

/* Prevent vertical-looking product titles by correcting wrapping behavior */
body.woocommerce-checkout .wc-block-components-order-summary-item__name {
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
	hyphens: auto !important;
}

/* Ensure order summary details area can grow properly but also shrink if needed */
body.woocommerce-checkout .wc-block-components-order-summary-item__details {
	min-width: 0 !important;
}

/* Defensive: ensure no writing-mode changes affect the sidebar */
body.woocommerce-checkout .wc-block-checkout__sidebar * {
	writing-mode: horizontal-tb !important;
}

/* ===== CHECKOUT ALIGNMENT REFINEMENTS ===== */
/* Align checkout grid with page title left/right padding */
body.woocommerce-checkout .wc-block-checkout {
	padding-left: 20px !important;
	padding-right: 20px !important;
}

/* Ensure box-sizing so sidebar width includes padding within grid track */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-checkout__main {
	box-sizing: border-box !important;
}

/* Slightly tighten column gap for better visual balance */
@supports (display: grid) {
	body.woocommerce-checkout .wc-block-checkout {
		gap: 20px !important;
	}
}

/* ===== CHECKOUT COLUMN SIZING TWEAKS ===== */
@supports (display: grid) {
	body.woocommerce-checkout .wc-block-checkout {
		grid-template-columns: minmax(620px, 1fr) minmax(360px, 420px) !important;
	}
}

/* Reduce inner padding slightly for tighter look */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	padding: 32px !important;
}

/* Restore necessary sidebar paragraphs (shipping notes, tax notes), but keep item descriptions hidden */
body.woocommerce-checkout .wc-block-checkout__sidebar p {
	display: block !important;
	margin: 0 0 12px !important;
	font-size: 14px !important;
	color: var(--color-text-body) !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__details p {
	display: none !important;
}

/* Ensure product image and badges do not overflow awkwardly */
body.woocommerce-checkout .wc-block-components-order-summary-item__image {
	width: 56px !important;
	height: 56px !important;
	border-radius: 6px !important;
	overflow: hidden !important;
}

/* Keep item row alignment crisp */
body.woocommerce-checkout .wc-block-components-order-summary-item {
	align-items: flex-start !important;
	gap: 14px !important;
}

/* ===== CHECKOUT GRID AREA LAYOUT (hard reset) ===== */
@supports (display: grid) {
	body.woocommerce-checkout .wc-block-checkout {
		display: grid !important;
		grid-template-areas: "main sidebar" !important;
		grid-auto-flow: dense !important;
		justify-items: stretch !important;
		align-items: start !important;
	}
	body.woocommerce-checkout .wc-block-components-main {
		grid-area: main !important;
		justify-self: stretch !important;
		align-self: start !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}
	body.woocommerce-checkout .wc-block-checkout__sidebar {
		grid-area: sidebar !important;
		justify-self: end !important;
		align-self: start !important;
		min-width: 0 !important;
		width: 100% !important; /* width within its grid track */
		max-width: none !important;
		margin: 0 !important;
	}
}

/* Neutralize any stray margins/widths even if flex layout kicks in */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-components-main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
	margin: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

/* Ensure the two grid tracks are stable and not over-spaced */
@supports (display: grid) {
	body.woocommerce-checkout .wc-block-checkout {
		grid-template-columns: minmax(640px, 1fr) minmax(360px, 420px) !important;
		column-gap: 24px !important;
	}
}

/* ===== CHECKOUT HARD OVERRIDES (highest specificity) ===== */
@supports (display: grid) {
	html body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 420px !important;
		grid-template-areas: "main sidebar" !important;
		gap: 24px !important;
		align-items: start !important;
	}
	html body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-main {
		grid-area: main !important;
		width: 100% !important;
		max-width: none !important;
		flex: initial !important;
		order: initial !important;
		min-width: 0 !important;
	}
	html body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
		grid-area: sidebar !important;
		width: 420px !important;
		max-width: 420px !important;
		min-width: 360px !important;
		flex: 0 0 420px !important;
		order: initial !important;
	}
}

/* Neutralize earlier percentage widths on sidebar even if grid is unavailable */
html body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout__sidebar {
	width: 420px !important;
	max-width: 420px !important;
	min-width: 360px !important;
	flex: 0 0 420px !important;
}

/* Ensure readable product names (no vertical stacking) */
html body.woocommerce-checkout .wc-block-components-order-summary-item__name {
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

/* ===== FINAL CHECKOUT TUNING ===== */
@supports (display: grid) {
	html body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-checkout {
		grid-template-columns: minmax(720px, 1fr) minmax(380px, 420px) !important;
	}
}

/* Unify card styling for both columns */
html body.woocommerce-checkout .wc-block-checkout__main,
html body.woocommerce-checkout .wc-block-checkout__sidebar {
	background: #fff !important;
	border: 1px solid #eee !important;
	border-radius: 8px !important;
	padding: 32px !important;
}

/* Clamp long product descriptions inside order summary */
html body.woocommerce-checkout .wc-block-components-order-summary-item__details p {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	margin: 0 !important;
}

/* Ensure the main form column can grow naturally */
html body.woocommerce-checkout .wp-block-woocommerce-checkout .wc-block-components-main {
	min-width: 0 !important;
}

/* ===== CHECKOUT POLISH ===== */
/* Align the inline edit control to the baseline of the section heading */
html body.woocommerce-checkout .wc-block-components-address-address-wrapper + a,
html body.woocommerce-checkout a.wc-block-components-address-edit {
	display: inline-block !important;
	vertical-align: baseline !important;
	margin-left: 12px !important;
	font-size: 14px !important;
}

/* Normalize heading spacing in both columns */
html body.woocommerce-checkout .wc-block-checkout__main h2,
html body.woocommerce-checkout .wc-block-checkout__sidebar h2 {
	margin: 0 0 20px 0 !important;
	line-height: 1.2 !important;
}

/* Consistent rounded corners on the summary card */
html body.woocommerce-checkout .wc-block-components-order-summary {
	border-radius: 6px !important;
	border: 1px solid #eee !important;
}

/* Slightly reduce space above the first item */
html body.woocommerce-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item:first-child {
	padding-top: 12px !important;
}

/* Keep totals aligned with the right edge */
html body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	text-align: right !important;
}

/* ===== CHECKOUT LAYOUT ALIGNMENT FIXES ===== */
/* Match the outer container to page title width and padding */
html body.woocommerce-checkout .wp-block-woocommerce-checkout,
html body.woocommerce-checkout .wc-block-checkout {
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}

/* Ensure a consistent inter-column gap */
@supports (display: grid) {
	html body.woocommerce-checkout .wc-block-checkout {
		gap: 24px !important;
		column-gap: 24px !important;
	}
}

/* Avoid double borders between card and inner elements */
html body.woocommerce-checkout .wc-block-checkout__main > section,
html body.woocommerce-checkout .wc-block-checkout__sidebar > * {
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
}

/* Balance internal padding for both columns */
html body.woocommerce-checkout .wc-block-checkout__main,
html body.woocommerce-checkout .wc-block-checkout__sidebar {
	padding: 28px !important;
}

/* Align columns at the top: remove stray top margins on first child */
html body.woocommerce-checkout .wc-block-checkout__sidebar > *:first-child,
html body.woocommerce-checkout .wc-block-checkout__main > *:first-child,
html body.woocommerce-checkout .wc-block-components-order-summary {
	margin-top: 0 !important;
}

/* WordPress block gap may add top margin to first block in sidebar – neutralize explicitly */
html body.woocommerce-checkout .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block,
html body.woocommerce-checkout .wc-block-checkout__sidebar > .wp-block-group:first-child,
html body.woocommerce-checkout .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-totals-block:first-child {
	margin-top: 0 !important;
}

/* Ensure both columns align to the same top by removing padding start variance */
html body.woocommerce-checkout .wc-block-checkout__sidebar { padding-top: 0 !important; }
html body.woocommerce-checkout .wc-block-components-main { padding-top: 0 !important; }

/* ===== Checkout Layout: Safe reset for WooCommerce Blocks ===== */
/* Use a simple, reliable grid; stop fighting internal flex rules */
html body.woocommerce-checkout .wc-block-checkout {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
	gap: 28px !important;
	align-items: start !important;
}

/* Cancel previous width forcing on columns */
html body.woocommerce-checkout .wc-block-components-main,
html body.woocommerce-checkout .wc-block-checkout__sidebar {
	width: auto !important;
	max-width: none !important;
	flex: initial !important;
	order: initial !important;
}

/* Normalize first-child spacing inside both columns */
html body.woocommerce-checkout .wc-block-components-main > *:first-child,
html body.woocommerce-checkout .wc-block-checkout__sidebar > *:first-child { margin-top: 0 !important; }
html body.woocommerce-checkout .wc-block-components-main h2:first-child,
html body.woocommerce-checkout .wc-block-components-sidebar h2:first-child { margin-top: 0 !important; }

/* Remove incidental top margins introduced by block wrappers */
html body.woocommerce-checkout .wc-block-checkout__sidebar > .wp-block-group:first-child,
html body.woocommerce-checkout .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-order-summary-block:first-child,
html body.woocommerce-checkout .wc-block-checkout__sidebar > .wp-block-woocommerce-checkout-totals-block:first-child { margin-top: 0 !important; }

/* Classic shortcode fallback alignment */
html body.woocommerce-checkout #order_review_heading,
html body.woocommerce-checkout #order_review { margin-top: 0 !important; }

/* =============================
   WooCommerce: Empty Cart page polish
   ============================= */
.woocommerce-cart.is-empty .woocommerce {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px 60px;
	box-sizing: border-box;
}

/* Cart mobile: revert to Woo Blocks defaults (no overrides) */

/* Ultra-narrow mobile: scale sizes down */
@media (max-width: 480px){
  .woocommerce-cart .wc-block-cart-item__image img{ width:64px !important; height:64px !important }
  .woocommerce-cart .wc-block-components-quantity-selector__input{ width:44px !important; height:30px !important; font-size:13px !important }
  .woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
  .woocommerce-cart .wc-block-cart-item__product-info .wc-block-components-product-name{ font-size:13px !important }
  .woocommerce-cart .wc-block-formatted-money-amount{ font-size:14px !important }
}

/* Mobile cart: keep native layout; just scale elements down */
@media (max-width: 767px){
  /* Recover default cell flow so content stays visible */
  .woocommerce-cart .wc-block-cart-items__header{ display:none !important }
  .woocommerce-cart .wc-block-cart-item__image,
  .woocommerce-cart .wc-block-cart-item__product,
  .woocommerce-cart .wc-block-cart-item__product-info,
  .woocommerce-cart .wc-block-cart-item__quantity,
  .woocommerce-cart .wc-block-cart-item__quantity-cell,
  .woocommerce-cart .wc-block-cart-item__total,
  .woocommerce-cart .wc-block-cart-item__remove{ width:auto !important; float:none !important }
  /* Critical for flex layouts: allow text containers to shrink so they wrap earlier */
  .woocommerce-cart .wc-block-cart-item__product,
  .woocommerce-cart .wc-block-cart-item__product-info{ min-width:0 !important }
  /* Ensure product cell starts right after image without extra left padding */
  .woocommerce-cart .wc-block-cart-item__product{ padding-left:0 !important; }
  .woocommerce-cart .wc-block-cart-item__product-info{ padding-left:0 !important; }
  .woocommerce-cart .wc-block-cart-items__header-image{ width:64px !important }
  .woocommerce-cart .wc-block-cart-item__image{ width:64px !important }
  .woocommerce-cart .wc-block-cart-item__image img{ width:64px !important; height:64px !important }
  /* Force compact quantity control */
  .woocommerce-cart .wc-block-components-quantity-selector{ width:auto !important; min-width:0 !important; display:inline-flex !important; }
  .woocommerce-cart .wc-block-components-quantity-selector__input{ width:32px !important; min-width:32px !important; height:24px !important; font-size:12px !important; padding:2px 0 !important; line-height:1 !important; }
  .woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name,
  .woocommerce-cart .wc-block-cart-item__product-info .wc-block-components-product-name{
    font-size:14px !important; line-height:1.3 !important; display:-webkit-box !important;
    -webkit-line-clamp:2; -webkit-box-orient: vertical; overflow:hidden !important; text-overflow:ellipsis !important; max-width:55vw !important;
    white-space: normal !important; /* allow natural wrapping */
    overflow-wrap: anywhere !important; /* break long segments earlier if needed */
    word-break: break-word !important; /* legacy fallback */
    hyphens: auto !important; /* insert hyphens where allowed */
    margin-right:8px !important;
  }
  /* Hide the inline "Total:" label beside the amount on phones */
  .woocommerce-cart .wc-block-cart-item__total-price-label,
  .woocommerce-cart .wc-block-cart-item__total .wc-block-cart-item__total-price-label{ display:none !important }
  /* Keep quantity and remove on one line without crowding */
  .woocommerce-cart .wc-block-cart-item__quantity{ display:inline-flex !important; margin-right:10px !important }
  /* Mobile: use an "×" icon for remove with better placement */
  .woocommerce-cart .wc-block-cart-item__remove-link{ font-size:0 !important; width:28px !important; height:28px !important; margin-left:8px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; text-decoration:none !important }
  .woocommerce-cart .wc-block-cart-item__remove-link::before{ content:'×'; font-size:18px; line-height:1; display:block }
  .woocommerce-cart .wc-block-formatted-money-amount{ font-size:15px !important }
  .woocommerce-cart .wc-block-cart-item__remove-link{ font-size:14px !important; display:inline-block !important; visibility:visible !important; opacity:1 !important; text-decoration:none !important; margin-left:12px !important }
  /* Tighten row spacing and alignment */
  .woocommerce-cart .wc-block-cart-items__row td{ padding:8px 0 !important; vertical-align:top !important; border:none !important }
  /* Reduce cart page side padding to bring content closer to the left edge */
  .woocommerce-cart .wp-block-woocommerce-cart{ padding-left:12px !important; padding-right:12px !important }
  /* Minimize gap between image and title */
  .woocommerce-cart .wc-block-cart-item__image{ padding-right:0 !important; width:76px !important }
  .woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name{ margin:0 0 6px 0 !important }
  .woocommerce-cart .wc-block-cart-item__total{ text-align:right !important; white-space:nowrap !important }
  .woocommerce-cart .wc-block-cart-item__total-price-label{ display:none !important }
}

/* Tablet and below: enforce compact qty + icon remove */
@media (max-width: 991px){
  .woocommerce-cart .wc-block-components-quantity-selector{ width:auto !important; min-width:0 !important; display:inline-flex !important }
  .woocommerce-cart .wc-block-components-quantity-selector__input{ width:32px !important; min-width:32px !important; height:24px !important; font-size:12px !important; padding:2px 0 !important; line-height:1 !important }

  .woocommerce-cart .wc-block-cart-item__quantity{ display:inline-flex !important; margin-right:10px !important }
  .woocommerce-cart .wc-block-cart-item__remove .wc-block-cart-item__remove-link{
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:28px !important; height:28px !important; padding:0 !important; margin-left:8px !important;
    font-size:0 !important; text-decoration:none !important; line-height:1 !important; position:relative !important;
  }
  .woocommerce-cart .wc-block-cart-item__remove .wc-block-cart-item__remove-link::before{
    content:'×' !important; font-size:18px !important; display:block !important; line-height:1 !important;
  }
  /* Also target anchor or button, depending on Woo Blocks version */
  .woocommerce-cart .wc-block-cart-item__remove a,
  .woocommerce-cart .wc-block-cart-item__remove button{
    display:inline-flex !important; align-items:center !important; justify-content:center !important;
    width:28px !important; height:28px !important; padding:0 !important; margin-left:8px !important;
    font-size:0 !important; text-decoration:none !important; line-height:1 !important;
  }
  .woocommerce-cart .wc-block-cart-item__remove a::before,
  .woocommerce-cart .wc-block-cart-item__remove button::before{ content:'×' !important; font-size:18px !important; line-height:1 !important }
  /* Prevent qty wrapper from growing and widening the input */
  .woocommerce-cart .wc-block-cart-item__quantity .wc-block-components-quantity-selector{ flex:0 0 auto !important }
}

/* Desktop (restore default Woo Blocks layout + sizes) */
@media (min-width: 992px){
  /* Ensure headers and cells render normally */
  table.wc-block-cart-items .wc-block-cart-items__header{ display: table-row !important }
  .wc-block-cart-item__product{ display: table-cell !important; padding-left: initial !important; padding-right: initial !important; width:auto !important }
  .wc-block-cart-item__product-info{ padding-left: initial !important; padding-right: initial !important; width:auto !important }

  /* Restore default column headers visibility/widths */
  .wc-block-cart-items__header-image,
  .wc-block-cart-items__header-product-info,
  .wc-block-cart-items__header-quantity,
  .wc-block-cart-items__header-product,
  .wc-block-cart-items__header-total,
  .wc-block-cart-items__header-remove{ display: table-cell !important; width: auto !important; text-align: left !important; padding-left: initial !important; padding-right: initial !important }

  /* Stabilize table layout and column widths */
  .wc-block-cart-items{ table-layout: fixed !important; width:100% !important }
  .wc-block-cart-items__header-image, .wc-block-cart-item__image{ width:120px !important }
  .wc-block-cart-items__header-total, .wc-block-cart-item__total{ width:140px !important; text-align:right !important }
  .wc-block-cart-items__header-product{ display: table-cell !important }

  /* Reset image sizing back to Woo defaults */
  .wc-block-cart-item__image{ width:auto !important; padding: 15px 0 !important }
  .wc-block-cart-item__image img{ width:auto !important; height:auto !important; max-width:100% !important }

  /* Reset widths for quantity/total/remove cells */
  .wc-block-cart-item__quantity-cell,
  .wc-block-cart-item__total,
  .wc-block-cart-item__remove{ width:auto !important }

  /* Restore quantity control sizing */
  .wc-block-components-quantity-selector{ width: auto !important }
  .wc-block-components-quantity-selector__input{ width: 56px !important; height: auto !important; font-size: inherit !important; padding: 0 4px !important }

  /* Restore remove link text variant */
  .wc-block-cart-item__remove .wc-block-cart-item__remove-link{ font-size: inherit !important; width: auto !important; height: auto !important; margin-left: 0 !important }
  .wc-block-cart-item__remove .wc-block-cart-item__remove-link::before{ content: none !important }

  /* Product cell layout: name/meta on left, quantity+remove on right */
  .wc-block-cart-item__product .wc-block-cart-item__wrap{ display:grid !important; grid-template-columns: 1fr 180px; column-gap:16px; align-items:center }
  .wc-block-cart-item__product .wc-block-components-product-name{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; margin:0 0 6px 0 }
  .wc-block-cart-item__product .wc-block-cart-item__prices{ margin:0 }
  .wc-block-cart-item__product .wc-block-cart-item__quantity{ grid-column:2; justify-self:end }
  .wc-block-cart-item__product .wc-block-components-quantity-selector__input{ width:56px !important; min-width:56px !important }
  .wc-block-cart-item__product .wc-block-cart-item__remove-link{ margin-left:12px }

  /* Show metadata/details on desktop (under title) */
  .wc-block-components-product-metadata,
  .wc-block-components-product-metadata__description,
  .wc-block-cart-item__product .wc-block-components-product-metadata,
  .wc-block-cart-item__product p,
  .wc-block-cart-item__wrap p,
  .wc-block-cart-item__wrap .wc-block-components-product-metadata,
  .wc-block-cart-item__product-description,
  .wc-block-cart-item__product-meta{
    display: block !important; visibility: visible !important; height: auto !important; overflow: visible !important;
  }
  /* Keep the 'Details' header visible on desktop */
  .wc-block-cart-items__header-product{ display: table-cell !important }
}

/* === Desktop cart: split the Details cell into sub-columns (title | price | qty | remove) === */
@media (min-width: 992px){
  /* Use fixed layout so widths are respected */
  .wc-block-components-main table.wc-block-cart-items{ table-layout: fixed !important; width:100% !important }
  .wc-block-components-main .wc-block-cart-items__header{ display: table-row !important }
  .wc-block-components-main .wc-block-cart-items__header-image{ width:140px !important }
  .wc-block-components-main .wc-block-cart-items__header-total{ width:140px !important; text-align:right !important }

  /* Grid inside the Details cell */
  .wc-block-components-main .wc-block-cart-item__product > .wc-block-cart-item__wrap{
    display: grid !important;
    grid-template-columns: 1fr 120px 120px 90px; /* title | price | qty | remove */
    column-gap: 16px !important;
    align-items: center !important;
  }
  /* Title */
  .wc-block-components-main .wc-block-cart-item__product .wc-block-components-product-name{
    grid-column: 1 !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; margin: 0 !important;
  }
  /* Price (unit) aligned right */
  .wc-block-components-main .wc-block-cart-item__product .wc-block-cart-item__prices{ grid-column: 2 !important; margin: 0 !important; text-align: right !important }
  /* Quantity */
  .wc-block-components-main .wc-block-cart-item__product .wc-block-cart-item__quantity{ grid-column: 3 !important; justify-self: start !important }
  .wc-block-components-main .wc-block-cart-item__product .wc-block-components-quantity-selector__input{ width:56px !important; min-width:56px !important }
  /* Remove */
  .wc-block-components-main .wc-block-cart-item__product .wc-block-cart-item__remove-link{ grid-column: 4 !important; justify-self: start !important; margin-left: 0 !important }

  /* Hide description/metadata in the Details cell */
  .wc-block-components-main .wc-block-cart-item__product .wc-block-components-product-metadata,
  .wc-block-components-main .wc-block-cart-item__product .wc-block-components-product-metadata__description,
  .wc-block-components-main .wc-block-cart-item__product p{ display: none !important; visibility: hidden !important; height: 0 !important; overflow: hidden !important }
}

/* Desktop headers for sub-columns within Details (Price, Qty, Remove) */
@media (min-width: 992px){
  .wc-block-components-main .wc-block-cart-items__header-product{
    display: grid !important;
    grid-template-columns: 1fr 120px 120px 90px;
    column-gap: 16px;
    align-items: center;
  }
  .wc-block-components-main .wc-block-cart-items__header-product > span{ grid-column: 1 }
  .wc-block-components-main .wc-block-cart-items__header-product::before{ content: 'Price'; grid-column: 2; justify-self: end; color: var(--color-text-body); font-weight: 400; }
  .wc-block-components-main .wc-block-cart-items__header-product::after{ content: 'Qty'; grid-column: 3; justify-self: start; color: var(--color-text-body); font-weight: 400; }
  .wc-block-components-main .wc-block-cart-items__header-remove::before{ content: 'Remove'; color: var(--color-text-body); font-weight: 400; }
}

/* =============================
   Header language switcher (TranslatePress)
   ============================= */
/* language switcher styles removed per user request */
.woocommerce-cart.is-empty .cart-empty {
	text-align: center;
	font-size: 18px;
	margin: 24px 0 12px;
}
.woocommerce-cart.is-empty .return-to-shop {
	text-align: center;
	margin-bottom: 32px;
}
.woocommerce-cart.is-empty .return-to-shop .button {
	padding: 12px 24px;
	border-radius: 0;
	font-weight: 500;
}
.woocommerce-cart.is-empty .wp-block-heading {
	font-family: var(--font-primary);
	font-weight: 400;
	font-size: 24px;
	margin: 12px 0 16px;
}
.woocommerce-cart.is-empty .wp-block-woocommerce-product-collection,
.woocommerce-cart.is-empty .wp-block-query,
.woocommerce-cart.is-empty ul.products {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 20px;
	box-sizing: border-box;
}

/* Cart block (Woo Blocks) empty state: clamp width and optionally hide product collection */
.woocommerce-cart .wc-block-cart__empty-cart{ max-width:1200px; margin:0 auto; padding:0 20px 60px; box-sizing:border-box }
.woocommerce-cart .wp-block-woocommerce-cart{ max-width:1200px; margin:0 auto; padding:0 20px; box-sizing:border-box }
/* Hide the built-in "New in store" product grid inside the empty cart block */
.woocommerce-cart.is-empty .wc-block-cart__empty-cart .wp-block-woocommerce-product-collection,
.woocommerce-cart.is-empty .wc-block-cart__empty-cart .wp-block-query,
.woocommerce-cart.is-empty .wc-block-cart__empty-cart .wp-block-heading{ display:none !important }

/* =============================
   Global WooCommerce notices (all pages)
   ============================= */
.woocommerce-global-notices{ max-width:1200px; margin:12px auto 0; padding:0 20px; box-sizing:border-box }
.woocommerce-global-notices .woocommerce-message,
.woocommerce-global-notices .woocommerce-info,
.woocommerce-global-notices .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error{
  border-radius:8px; border-width:1px; padding:12px 14px; margin:12px 20px; /* margin gives breathing room on shop/product */
}
.woocommerce-global-notices .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-message{ background:#ECFDF3; border:1px solid #D1FADF; color:#065F46 }
.woocommerce-global-notices .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-info{ background:#EFF6FF; border:1px solid #DBEAFE; color:#1E3A8A }
.woocommerce-global-notices .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error{ background:#FEF2F2; border:1px solid #FECACA; color:#7F1D1D }
.woocommerce-global-notices .button,
.woocommerce-notices-wrapper .button{ float:right; border-radius:4px; padding:6px 10px; font-weight:500 }
.woocommerce-global-notices::after,
.woocommerce-notices-wrapper::after{ content:""; display:block; clear:both }

/* Mobile cart: show only line total, hide unit price and label */
@media (max-width: 767px){
  .woocommerce-cart .wc-block-cart-item__total-price-label,
  .woocommerce-cart .wc-block-cart-item__price,
  .woocommerce-cart .wc-block-cart-item__prices{ display:none !important; }
}

/* === Single product: Final left-shift neutralizer (keep original sizing) === */
@media (min-width: 1200px){
  .single-product .product-layout-grid{ max-width:none; margin-left:0; margin-right:0; padding-left:0; padding-right:0 }
  .single-product .product-gallery{ margin-left:0 !important }
}
@media (min-width: 1441px){
  .single-product .product-gallery{ margin-left:0 !important }
}
@media (min-width: 1921px){
  .single-product .product-gallery{ margin-left:0 !important }
}

/* Lock single product grid width after 1440px and center it, preserving original styling */
@media (min-width: 1520px){
  .single-product .product-layout-grid{
    grid-template-columns: 760px minmax(0, 600px);
    justify-content: center;
    column-gap: 40px; /* preserve original gap */
  }
}

/* Nudge gallery slightly left on ≥1520px to reduce left whitespace */
@media (min-width: 1520px){
  .single-product .product-gallery{ margin-left:-26px !important }
  .single-product .product-gallery .custom-product-gallery{ transform: translateX(-26px); }
}