/* Ren Candle Store — Dawn v16 Design System */
@font-face{font-family:Inter;font-weight:400;font-style:normal;font-display:swap;src:local('Inter'),local('Inter-Regular')}
@font-face{font-family:Inter;font-weight:500;font-style:normal;font-display:swap;src:local('Inter'),local('Inter-Medium')}
@font-face{font-family:Inter;font-weight:600;font-style:normal;font-display:swap;src:local('Inter'),local('Inter-SemiBold')}
@font-face{font-family:Inter;font-weight:700;font-style:normal;font-display:swap;src:local('Inter'),local('Inter-Bold')}

:root {
  --cream: #FFF7D1;
  --cream-warm: #F7EAB8;         /* one step darker than cream — used for selected fills, hover chips */
  --brown: #603F26;
  --brown-dark: #4F3626;
  --terracotta: #B27C43;         /* warm honey/caramel — used for CTA + accent (was #C25B3F red-orange) */
  --terracotta-dark: #8B5E30;
  --charcoal: #2A2118;           /* warm charcoal — body copy on cream (harshless than pure black) */
  --white: #FFFFFF;
  --black: #000000;
  --gray: #878787;
  --gray-dark: #5A5A5A;
  --gray-mid: #666666;
  --border-color: rgb(96 63 38 / 0.22);  /* was 0.12 — barely visible; 0.22 gives cards structure */
  --star: #FFA800;
  --green: #3FB950;
  --red: #F85149;

  /* ────────────────────────────────────────────────────────────────
     Legacy variable aliases — the original design shipped with 217
     references to variables that were NEVER defined (--espresso, --gold,
     --ivory, --line, --sage, --warm-white). Every one of those elements
     was silently falling back to browser defaults (transparent bg, no
     border, wrong text colour) — which is why the trust block, kit
     picker, and reviews section all looked flat/white.
     Mapping them here fixes it all in one shot.
     ──────────────────────────────────────────────────────────────── */
  --espresso: var(--brown-dark);       /* dark warm text on light bg */
  --gold: var(--terracotta);           /* accent for trust icons + highlights */
  --ivory: var(--cream-warm);          /* soft warm surface, one step above cream */
  --line: var(--border-color);         /* dividers + card borders */
  --sage: #7A8F6E;                     /* muted sage green for verified/success chips */
  --warm-white: var(--cream);          /* warm off-white surface */

  --font-body: Inter, system-ui, -apple-system, sans-serif;
  --font-heading: Inter, system-ui, sans-serif;
  --font-accent: 'Bricolage Grotesque', Inter, system-ui, sans-serif;

  --page-width: 120rem;
  --page-margin: max(2rem, 50vw - 60rem);

  --h1-size: clamp(3rem, 5.6vw, 3.5rem);
  --h2-size: clamp(2.25rem, 4.8vw, 3rem);
  --h3-size: 2rem;
  --h4-size: 1.5rem;
  --h5-size: 0.875rem;
  --h6-size: 0.75rem;
  --body-size: 0.875rem;

  --radius-btn: 14px;
  --radius-card: 4px;
  --radius-input: 4px;
  --radius-badge: 100px;
  --radius-popover: 14px;

  --shadow-sm: 0 1px 2px rgba(0,0,0,.04);
  --shadow: 0 2px 8px rgba(0,0,0,.06);
  --shadow-lg: 0 4px 20px rgba(0,0,0,.1);

  --spacing-2xs: 0.25rem;
  --spacing-xs: 0.5rem;
  --spacing-sm: 0.75rem;
  --spacing-md: 1rem;
  --spacing-lg: 1.25rem;
  --spacing-xl: 1.5rem;
  --spacing-2xl: 2rem;
  --spacing-3xl: 3rem;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:var(--font-body);font-weight:400;font-size:var(--body-size);line-height:1.6;background:var(--cream);color:var(--charcoal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;max-width:100vw}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block;height:auto}button{font-family:inherit;cursor:pointer;border:none;background:none;font-size:inherit}
:focus-visible{outline:0.15rem solid var(--brown-dark);outline-offset:0.3em;border-radius:2px}

.skip-link{position:absolute;top:-100%;left:1rem;z-index:9999;background:var(--brown-dark);color:var(--cream);padding:.5rem 1rem;border-radius:0 0 6px 6px;font-size:.82rem;font-weight:600;transition:top .2s}
.skip-link:focus{top:0}

/* ── Announcement Bar ── */
.announcement-bar{background:var(--brown-dark);overflow:hidden;padding:9px 0;position:relative;z-index:101}
.announcement-track{display:flex;width:max-content;will-change:transform;white-space:nowrap}
.announcement-item{display:inline-flex;align-items:center;gap:8px;padding:0 2.5rem;white-space:nowrap;color:var(--cream);font-size:.68rem;font-weight:400;letter-spacing:.02em;opacity:.92}
.announcement-item i{font-size:.72rem;flex-shrink:0}

/* ── Navbar / Header ── */
.navbar{position:sticky;top:0;z-index:100;background:var(--brown-dark);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,247,209,.08);box-shadow:0 2px 12px rgba(0,0,0,.15)}
.nav-inner{max-width:var(--page-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-margin);min-height:70px}
.logo{display:flex;align-items:center;flex-shrink:0;padding:0}
.logo-img{height:44px;width:44px;object-fit:contain}
.nav-links{display:flex;gap:1.5rem;align-items:center}
.nav-links a{font-size:.8rem;font-weight:500;color:var(--cream);opacity:.82;transition:opacity .15s,color .15s;white-space:nowrap;letter-spacing:-.01em}
.nav-links a:hover{opacity:1;color:var(--terracotta)}
.nav-icons{display:flex;align-items:center;gap:.15rem}
.nav-icon{position:relative;padding:6px 8px;font-size:1.05rem;color:var(--cream);display:flex;align-items:center;opacity:.85;transition:opacity .15s,background .15s;border-radius:4px}
.nav-icon:hover{opacity:1;background:rgba(255,247,209,.08)}
.cart-count{position:absolute;top:-2px;right:0;background:var(--terracotta);color:#fff;font-size:.48rem;font-weight:700;min-width:16px;height:16px;border-radius:50%;display:none;align-items:center;justify-content:center;line-height:1;box-shadow:0 0 0 2px var(--brown-dark)}
.menu-toggle{display:none;font-size:1.35rem;color:var(--brown);padding:8px}

/* ── Search Overlay ── */
.search-overlay{position:fixed;inset:0;z-index:500;background:rgba(255,247,209,.98);backdrop-filter:blur(10px);display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;opacity:0;visibility:hidden;transition:all .3s}
.search-overlay.open{opacity:1;visibility:visible}
.search-overlay-inner{width:100%;max-width:600px;padding:0 2rem}
.search-overlay-close{position:absolute;top:1.5rem;right:1.5rem;font-size:1.5rem;color:var(--brown);cursor:pointer;opacity:.6;transition:opacity .15s}
.search-overlay-close:hover{opacity:1}
.search-overlay-form{display:flex;border-bottom:2px solid var(--brown-dark)}
.search-overlay-form input{flex:1;padding:1rem 0;border:none;background:transparent;font-size:1.3rem;font-family:var(--font-heading);color:var(--brown-dark);font-weight:600;outline:none}
.search-overlay-form button{font-size:1.3rem;color:var(--brown);cursor:pointer;padding:0 0 0 1rem}

/* ── Hero ── */
.hero-section{position:relative;overflow:hidden;display:block;min-height:0;background:var(--cream)}
.hero-container{position:relative;display:flex;align-items:center;justify-content:center;min-height:auto;padding:5rem var(--page-margin)}
.hero-bg-img{position:absolute;inset:0;width:100%;height:100%}
.hero-bg-img img{width:100%;height:100%;object-fit:cover;object-position:center center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top, rgba(0,0,0,.03) 0%, transparent 50%)}
.hero-content{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}
.hero-content h1{font-family:var(--font-accent);font-size:var(--h2-size);font-weight:700;color:var(--black);line-height:1;letter-spacing:-.03em;max-width:20ch;margin:0}
.hero-content p{font-size:1rem;color:var(--brown);opacity:.82;line-height:1.6;max-width:42ch}

/* ── Buttons ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:.7rem 1.5rem;border-radius:var(--radius-btn);font-size:.84rem;font-weight:600;line-height:1.3;letter-spacing:.01em;transition:all .15s;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn-primary{background:var(--terracotta);color:#fff;border:1px solid var(--terracotta);padding:.75rem 2rem}
.btn-primary:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark);opacity:1;transform:translateY(-1px);box-shadow:0 4px 16px rgba(178,124,67,.28)}
.btn-secondary{background:var(--cream);color:var(--black);border:1px solid var(--black)}
.btn-secondary:hover{background:#FAFAFA;color:#333;border-color:#333}
.btn-outline{background:transparent;border:1px solid var(--black);color:var(--black)}
.btn-outline:hover{background:var(--black);color:var(--cream)}
.btn-link{background:none;border:none;color:var(--brown);font-weight:600;padding:.5rem 0;font-size:.82rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.btn-link:hover{color:var(--brown-dark)}
.btn-block{justify-content:center;width:100%}
.btn-sm{padding:.4rem 1rem;font-size:.75rem}

/* ── Trust Badges (cream bg, icon badges) ── */
.trust-badges{padding:2rem var(--page-margin) 1.5rem}
.trust-badges-inner{max-width:calc(var(--page-width) - var(--page-margin)*2);margin:0 auto;display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:500;color:var(--black);white-space:nowrap}
.trust-item i{font-size:1.1rem;opacity:.7}

/* ── Section ── */
.section{padding:2.5rem var(--page-margin);max-width:var(--page-width);margin:0 auto}
.section-sm{padding:1.5rem var(--page-margin)}
.section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:1.5rem}
.section-header h2{font-family:var(--font-heading);font-weight:700;font-size:var(--h4-size);color:var(--black);letter-spacing:-.02em}
.section-header h3{font-family:var(--font-heading);font-weight:700;font-size:var(--h4-size);color:var(--black);letter-spacing:-.02em}
.section-heading-lg{font-family:var(--font-heading);font-weight:700;font-size:var(--h3-size);color:var(--black);letter-spacing:-.02em}
.view-all{font-size:.82rem;font-weight:600;color:var(--brown);display:flex;align-items:center;gap:5px;opacity:.65;transition:all .15s;text-decoration:none}
.view-all:hover{opacity:1;gap:8px}

/* ── Product Cards ── */
.product-grid{display:grid;grid-template-columns:repeat(4, 1fr);column-gap:8px;row-gap:24px}
@media(max-width:989px){.product-grid{grid-template-columns:repeat(2, 1fr);column-gap:8px;row-gap:16px}}
@media(max-width:480px){.product-grid{grid-template-columns:repeat(2, 1fr);column-gap:6px;row-gap:12px}}

.product-card{background:transparent;border-radius:0;overflow:visible;display:flex;flex-direction:column;position:relative;transition:transform .2s ease;border:none}
.product-card:hover{transform:translateY(-3px)}
.card-image{position:relative;overflow:hidden;aspect-ratio:4/5;background:var(--cream);cursor:pointer;display:block;border-radius:6px;border:1px solid var(--border-color);transition:border-color .18s,box-shadow .18s}
.product-card:hover .card-image{border-color:rgba(96,63,38,.28);box-shadow:0 8px 22px -12px rgba(96,63,38,.30)}
/* Category chip in the top-left of each product tile — lets the eye tell wax/jar/candle
   apart at a glance instead of blending into a wall of warm-tone product shots. */
.card-cat-badge{position:absolute;top:8px;left:8px;padding:3px 9px;border-radius:20px;font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,247,209,.94);color:var(--brown-dark);z-index:3;border:1px solid rgba(96,63,38,.14);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.card-cat-badge.cat-candle{background:rgba(178,124,67,.94);color:#fff;border-color:rgba(178,124,67,.6)}
.card-cat-badge.cat-jar{background:rgba(122,143,110,.94);color:#fff;border-color:rgba(122,143,110,.6)}
.card-cat-badge.cat-wax{background:rgba(180,138,66,.94);color:#fff;border-color:rgba(180,138,66,.6)}
.card-cat-badge.cat-wick{background:rgba(96,63,38,.94);color:var(--cream);border-color:rgba(96,63,38,.6)}
.card-cat-badge.cat-gift{background:rgba(178,102,120,.94);color:#fff;border-color:rgba(178,102,120,.6)}
.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.product-card:hover .card-image img{transform:scale(1.04)}

.card-image .quick-add-overlay{position:absolute;inset:0;background:rgba(0,0,0,0);display:flex;align-items:flex-end;justify-content:flex-end;padding:10px;transition:background .2s;z-index:2}
.product-card:hover .card-image .quick-add-overlay{background:rgba(0,0,0,.03)}
.card-image .quick-add-btn{width:32px;height:32px;border-radius:50%;background:var(--white);color:var(--brown-dark);display:flex;align-items:center;justify-content:center;font-size:.85rem;opacity:0;transform:translateY(6px);transition:all .2s ease;box-shadow:0 2px 10px rgba(0,0,0,.15);cursor:pointer;border:none}
.product-card:hover .card-image .quick-add-btn{opacity:1;transform:translateY(0)}
.quick-add-btn:hover{background:var(--brown-dark);color:var(--cream)}

/* Badges */
.badge{position:absolute;top:10px;left:10px;padding:2px 12px 2px 8px;border-radius:var(--radius-badge);font-size:.62rem;font-weight:600;z-index:3;letter-spacing:.02em}
.badge-sale{background:var(--brown);color:var(--cream)}
.badge-new{background:var(--black);color:var(--cream)}
.badge-sale+.badge-new,.badge-new+.badge-sale{top:36px}
/* When a category badge is present on the top-left, push Sale/New down so
   they stack cleanly instead of overlapping. */
.card-cat-badge~.badge{top:36px}
.card-cat-badge~.badge+.badge{top:62px}
/* Best-seller badge (2026-09-02) — bottom-left of card image so it doesn't
   collide with .card-cat-badge (top-left) or .card-off (top-right). */
.card-bestseller-badge{position:absolute;bottom:10px;left:10px;background:#c94f1a;color:#fff;padding:4px 10px;font-size:.66rem;font-weight:700;letter-spacing:.06em;border-radius:3px;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.18);z-index:3;line-height:1.1}
/* Sold-out pill — top-right, distinct from card-off (%). */
.card-oos-badge{position:absolute;top:10px;right:10px;background:#333;color:#fff;padding:4px 10px;font-size:.66rem;font-weight:700;letter-spacing:.06em;border-radius:3px;text-transform:uppercase;box-shadow:0 2px 6px rgba(0,0,0,.18);z-index:3;line-height:1.1}
/* Dim the image on out-of-stock cards so the state reads at a glance. */
.product-card.is-oos .card-image img{opacity:.55;filter:grayscale(35%)}
.product-card.is-oos .quick-add-overlay{display:none}
.product-card.is-oos .btn-card-add{opacity:.45;pointer-events:none;background:#8a8a8a;color:#eee}
@media(max-width:480px){
  .card-bestseller-badge,.card-oos-badge{font-size:.6rem;padding:3px 8px;bottom:8px;left:8px}
  .card-oos-badge{bottom:auto;top:8px;left:auto;right:8px}
}

/* Card body */
.card-body{padding:.5rem 0 0;flex:1;display:flex;flex-direction:column;gap:4px}
.card-body h3{font-size:.84rem;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--black)}
.card-body h3 a:hover{text-decoration:underline;text-underline-offset:2px}
.card-variants{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}
.card-variants .var-chip{padding:1px 8px;border:1px solid var(--border-color);border-radius:20px;font-size:.63rem;font-weight:500;color:var(--brown);white-space:nowrap;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.card-variants .var-chip:hover{border-color:var(--terracotta);color:var(--terracotta-dark);background:var(--cream-warm)}

/* Price: Sale price FIRST, then regular price crossed out */
.card-price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:2px}
.price-sale{font-size:.88rem;font-weight:600;color:var(--black)}
.price-regular{font-size:.72rem;color:var(--gray);text-decoration:line-through;font-weight:400;order:1}
.price-sale+.price-regular{order:0}

.card-stars{display:flex;align-items:center;gap:6px;font-size:.68rem;color:var(--star)}
.card-stars .stars{letter-spacing:1.5px}
.card-stars .review-count{color:var(--gray);font-size:.66rem;font-weight:400}

.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;opacity:.1;background:var(--cream)}

.btn-card-add{width:100%;padding:.45rem;border-radius:6px;background:var(--terracotta);color:#fff;border:1px solid var(--terracotta);font-size:.76rem;font-weight:600;transition:background .15s,border-color .15s,transform .15s;cursor:pointer;margin-top:auto;display:flex;align-items:center;justify-content:center;gap:5px}
.btn-card-add:hover{background:var(--terracotta-dark);border-color:var(--terracotta-dark)}
.btn-card-add.added{background:var(--green);border-color:var(--green);color:var(--white)}

/* ── Collection Cards (with real images) ── */
.collections-row{display:grid;grid-template-columns:repeat(3, 1fr);gap:1rem}
@media(max-width:749px){.collections-row{grid-template-columns:repeat(3,1fr);gap:.5rem}}
@media(max-width:749px){.collections-row .collection-card-link{aspect-ratio:3/4}
  .collections-row .coll-label{padding:.7rem .8rem;font-size:.82rem}
  .collections-row .coll-label::after{font-size:.9rem}}
.collection-card-link{position:relative;border-radius:0;overflow:hidden;text-decoration:none;aspect-ratio:1/1;display:block;transition:transform .2s}
.collection-card-link:hover{transform:translateY(-3px)}
.collection-card-link img{width:100%;height:100%;object-fit:cover}
.collection-card-link .coll-label{position:absolute;bottom:0;left:0;right:0;padding:.7rem 1rem;font-size:.82rem;font-weight:500;color:var(--black);text-align:center;background:rgba(255,255,255,.75);backdrop-filter:blur(4px)}

/* ── Testimonials ── */
.testimonials-heading{font-family:var(--font-heading);font-size:var(--h3-size);font-weight:700;color:var(--black);margin-bottom:1.5rem;text-align:center;letter-spacing:-.02em}
.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(max-width:749px){.testimonials-grid{grid-template-columns:1fr}}
.testimonial-card{background:var(--cream);border:1px solid var(--cream);padding:1.5rem;border-radius:8px}
.testimonial-card p{font-size:.84rem;color:#333;line-height:1.7;margin-bottom:.8rem}
.testimonial-card .author{font-size:.75rem;color:var(--gray-mid);font-weight:500}

/* ── Marquee ── */
.marquee-section{overflow:hidden;padding:1.5rem 0;position:relative;--gap:1.5rem}
.marquee-track{display:flex;width:max-content;animation:marqueeScroll 20s linear infinite;gap:var(--gap)}
.marquee-content{padding:0;font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:var(--black);white-space:nowrap;letter-spacing:-.01em}
@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marquee-section:hover .marquee-track{animation-play-state:paused}

/* ── Trust Scroll Bar (brown bg, from Shopify) ── */
.trust-scroll-section{background:var(--brown-dark);overflow:hidden;padding:.5rem 0;margin:2rem 0;border-radius:6px;position:relative}
.trust-scroll-wrapper{display:flex;width:max-content;animation:trustScroll 15s linear infinite}
.trust-scroll-track{display:flex;gap:2.5rem;white-space:nowrap;font-size:.9rem;font-weight:600;color:#FFF7D6}
@media(max-width:749px){.trust-scroll-track{font-size:.78rem;gap:1.5rem}}
.trust-scroll-item{display:flex;align-items:center;gap:.4rem;flex:0 0 auto}
.trust-scroll-icon{font-size:1rem;display:inline-block;width:1.2em;text-align:center}
@keyframes trustScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.trust-scroll-section:hover .trust-scroll-wrapper{animation-play-state:paused}

/* ── Product Detail Page ── */
.product-detail{max-width:var(--page-width);margin:0 auto;padding:1rem var(--page-margin) 2rem;display:grid;grid-template-columns:1fr;gap:2.5rem}
@media(min-width:750px){.product-detail{grid-template-columns:1fr 1fr;gap:3rem}}
.product-gallery{position:sticky;top:80px}
.gallery-main{border-radius:4px;overflow:hidden;background:var(--cream);cursor:zoom-in}
.gallery-main img{width:100%;aspect-ratio:1;object-fit:cover}
.gallery-thumbs{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.thumb{width:60px;height:60px;border-radius:4px;overflow:hidden;border:1.5px solid transparent;cursor:pointer;opacity:.45;transition:all .15s}
.thumb.active,.thumb:hover{border-color:var(--brown-dark);opacity:1}
.thumb img{width:100%;height:100%;object-fit:cover}

.product-info{display:flex;flex-direction:column;gap:.8rem}
.product-category{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;color:var(--brown);font-weight:600;opacity:.7}
.product-info h1{font-family:var(--font-heading);font-size:var(--h4-size);font-weight:700;color:var(--black);line-height:1.15}
.product-rating-inline{display:flex;align-items:center;gap:8px}
.stars-inline{color:var(--star);font-size:.9rem;letter-spacing:2px}
.review-count-inline{font-size:.76rem;color:var(--gray)}

/* Product price - sale price before regular */
.product-price-block{display:flex;align-items:baseline;gap:12px;padding:.3rem 0;flex-wrap:wrap}
.price-current.large{font-size:1.5rem;font-weight:600;color:var(--black)}
.price-old.large{font-size:1rem;color:var(--gray);text-decoration:line-through;font-weight:400}
.you-save{font-size:.74rem;color:var(--green);font-weight:600;background:rgba(63,185,80,.08);padding:2px 10px;border-radius:20px}

/* Variant Buttons (Dawn-style) */
.variant-section label{font-size:.72rem;font-weight:600;display:block;margin-bottom:6px;color:var(--brown)}
.variant-options{display:flex;gap:8px;flex-wrap:wrap}
.variant-btn{padding:.5rem 1.2rem;border:1px solid var(--border-color);border-radius:var(--radius-btn);background:var(--white);font-size:.78rem;color:var(--brown);cursor:pointer;transition:border-color .15s,background .15s,color .15s,box-shadow .15s;font-weight:500;min-width:80px;text-align:center}
.variant-btn:hover{border-color:var(--terracotta);color:var(--terracotta-dark)}
.variant-btn.active{background:var(--cream-warm);color:var(--terracotta-dark);border-color:var(--terracotta);box-shadow:inset 0 0 0 1px var(--terracotta)}

/* Buy buttons */
.product-actions{display:flex;gap:.8rem;align-items:center}
.qty-selector{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-input);overflow:hidden;flex-shrink:0}
.qty-selector button{padding:.45rem .85rem;border:none;background:transparent;color:var(--brown-dark);font-size:.95rem;cursor:pointer}
.qty-selector button:hover{background:rgba(0,0,0,.04)}
.qty-selector input{width:48px;text-align:center;border:none;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);font-size:.82rem;font-family:inherit;color:var(--black);background:transparent;font-weight:600}
.btn-buy{display:flex;align-items:center;justify-content:center;gap:8px;padding:.75rem 2rem;border-radius:var(--radius-btn);font-size:.84rem;font-weight:600;background:var(--cream-warm);border:1.5px solid var(--terracotta);color:var(--terracotta-dark);margin-top:.3rem;cursor:pointer;width:100%;transition:all .18s}
.btn-buy:hover{background:var(--terracotta);border-color:var(--terracotta);color:#fff;transform:translateY(-1px);box-shadow:0 4px 14px rgba(178,124,67,.22)}

/* Trust badges on product page */
.product-trust-badges{display:flex;gap:.8rem;flex-wrap:wrap;padding:.8rem 0}
.product-trust-badge{display:flex;align-items:center;gap:6px;font-size:.75rem;font-weight:500;color:var(--brown);background:var(--cream);padding:.5rem .8rem;border-radius:4px}
.product-trust-badge i{font-size:.9rem;color:var(--brown);opacity:.8}

/* ── Accordion Tabs (Shopify Dawn style) ── */
.accordion-tabs details{border-bottom:1px solid var(--border-color);padding:.3rem 0}
.accordion-tabs details:first-child{border-top:1px solid var(--border-color)}
.accordion-tabs summary{font-size:.84rem;font-weight:600;color:var(--black);cursor:pointer;padding:.8rem 0;list-style:none;display:flex;justify-content:space-between;align-items:center;outline:none;user-select:none}
.accordion-tabs summary::-webkit-details-marker{display:none}
.accordion-tabs summary::marker{display:none;content:''}
.accordion-tabs summary::after{content:'+';font-size:1.2rem;font-weight:300;color:var(--brown);transition:transform .2s;margin-left:8px;flex-shrink:0}
.accordion-tabs details[open] summary::after{content:'\2212'}
.accordion-tabs .details-content{font-size:.82rem;color:var(--gray-dark);line-height:1.8;padding:.2rem 0 .6rem}
.accordion-tabs .details-content p{font-size:.82rem;color:var(--gray-dark);line-height:1.7;padding:0 0 .6rem;margin:0}
.accordion-tabs .details-content p strong{color:var(--brown);font-weight:600}
.accordion-tabs .details-content a{color:var(--brown);text-decoration:underline;text-underline-offset:2px}

/* ── Product Reviews ── */
.section-reviews-full{padding:2rem var(--page-margin) 3rem;max-width:var(--page-width);margin:0 auto}
.review-section{padding-top:1.5rem;border-top:1px solid var(--border-color)}
.review-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}
.review-header h2{font-family:var(--font-heading);font-weight:700;font-size:1.3rem;color:var(--black)}
.review-summary{display:flex;align-items:center;gap:1.5rem}
.review-avg-box{display:flex;flex-direction:column;align-items:center}
.review-stars-big{font-size:1.4rem;color:var(--star);letter-spacing:3px;margin-bottom:2px}
.review-rating-big{font-size:.85rem;font-weight:700;color:var(--black)}
.review-total{font-size:.76rem;color:var(--gray)}
.review-list{display:flex;flex-direction:column;gap:.6rem}
.review-card{background:var(--cream-warm);border:1px solid var(--border-color);border-radius:6px;padding:1rem 1.1rem;box-shadow:none;display:flex;gap:.8rem;align-items:flex-start}
.review-card-avatar{width:38px;height:38px;border-radius:50%;background:#EDE4BF;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:700;color:var(--brown-dark);flex-shrink:0}
.review-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.review-name{font-size:.8rem;font-weight:600;color:var(--black)}
.review-date{font-size:.66rem;color:var(--gray)}
.review-stars-sm{color:var(--star);font-size:.78rem;letter-spacing:1px;margin-bottom:4px}
.review-text{font-size:.8rem;color:var(--gray-dark);line-height:1.55}

/* ── CTA Section ── */
.section-cta{background:var(--brown-dark);color:var(--cream);text-align:center;padding:4rem var(--page-margin);position:relative;overflow:hidden;border-radius:6px;margin:0 var(--page-margin);max-width:var(--page-width);margin-left:auto;margin-right:auto}
.section-cta h2{font-family:var(--font-accent);font-size:1.8rem;font-weight:700;margin-bottom:.6rem;position:relative;color:var(--cream)}
.section-cta p{font-size:.92rem;opacity:.75;margin-bottom:1.5rem;position:relative}
.section-cta .btn-primary{background:var(--cream);color:var(--brown-dark);font-weight:700}
.section-cta .btn-primary:hover{background:var(--white)}

/* ── Catalog Pages ── */
.page-header{padding:2rem var(--page-margin) 1rem;max-width:var(--page-width);margin:0 auto}
.page-header h1{font-family:var(--font-heading);font-weight:700;font-size:var(--h4-size);color:var(--black)}
.product-count{font-size:.78rem;color:var(--gray);margin-top:4px}
.page-breadcrumb{padding:1rem var(--page-margin) 0;max-width:var(--page-width);margin:0 auto;font-size:.73rem;color:var(--gray);display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.page-breadcrumb a{color:var(--brown);opacity:.65;transition:opacity .15s;padding:.35rem .3rem;display:inline-flex;align-items:center;min-height:32px}
.page-breadcrumb a:hover{opacity:1}
.page-breadcrumb span{opacity:.5}
@media(max-width:749px){.page-breadcrumb{font-size:.78rem}.page-breadcrumb a{padding:.4rem .3rem}}

.catalog-layout{padding:0 var(--page-margin) 3rem;max-width:var(--page-width);margin:0 auto;display:grid;grid-template-columns:220px 1fr;gap:2.5rem}
@media(max-width:749px){.catalog-layout{grid-template-columns:1fr}}
.catalog-sidebar .sidebar-section{margin-bottom:1.8rem}
.catalog-sidebar .sidebar-section h4{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--brown);margin-bottom:.9rem}
.sidebar-cats{list-style:none;display:flex;flex-direction:column;gap:2px}
.sidebar-cats a{display:flex;justify-content:space-between;padding:.38rem .6rem;font-size:.81rem;font-weight:500;border-radius:6px;transition:all .15s;color:var(--brown);opacity:.68}
.sidebar-cats a:hover,.sidebar-cats a.active{background:rgba(96,63,38,.04);opacity:1}
.sidebar-cats .filter-count{font-size:.7rem;opacity:.5;font-weight:400}
.catalog-toolbar{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.search-form{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-input);overflow:hidden;background:var(--cream);flex:1;max-width:320px}
.search-form input{flex:1;padding:.55rem .9rem;border:none;font-size:.82rem;font-family:inherit;color:var(--brown);background:transparent;outline:none}
.search-form button{padding:.55rem .9rem;color:var(--brown);cursor:pointer;font-size:.95rem}
.sort-select{display:flex;align-items:center;gap:8px;font-size:.81rem;color:var(--brown);white-space:nowrap}
.sort-select select{padding:.5rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-input);font-size:.81rem;background:var(--cream);color:var(--brown);cursor:pointer;font-family:inherit}
.filter-clear{font-size:.74rem;color:var(--brown);font-weight:600;cursor:pointer;margin-top:.5rem;text-decoration:underline;display:block}

/* ── Cart Page ── */
.cart-page{padding:0 var(--page-margin) 3rem;max-width:var(--page-width);margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:750px){.cart-page{grid-template-columns:1fr 380px}}
.cart-summary{background:var(--cream-warm);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:none;position:sticky;top:80px}
.cart-summary h3{font-size:.92rem;font-weight:700;color:var(--black);margin-bottom:1rem}
.summary-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.82rem;color:var(--brown)}
.summary-row.total{border-top:1px solid var(--border-color);padding-top:.8rem;font-weight:700;font-size:.95rem;margin-top:.3rem;color:var(--black)}
.free-ship-note{font-size:.7rem;color:var(--green);display:block;margin:.3rem 0 .8rem}
.free-ship-bar{background:var(--cream);border-radius:4px;padding:.8rem 1rem;margin-bottom:1rem}
.free-ship-bar .fs-label{font-size:.76rem;font-weight:600;margin-bottom:.5rem;color:var(--brown)}
.free-ship-bar .fs-track{height:6px;background:#EDE4BF;border-radius:10px;overflow:hidden}
.free-ship-bar .fs-fill{height:100%;background:var(--green);border-radius:10px;transition:width .5s cubic-bezier(.4,0,.2,1)}

/* ── Checkout ── */
.checkout-layout{padding:0 var(--page-margin) 3rem;max-width:var(--page-width);margin:0 auto;display:grid;grid-template-columns:1fr;gap:1.5rem}
@media(min-width:750px){.checkout-layout{grid-template-columns:1fr 390px}}
.checkout-form-col h3{font-size:.95rem;font-weight:700;margin-bottom:1rem;color:var(--black)}
.form-group{margin-bottom:.8rem}
.form-group label{display:block;font-size:.74rem;font-weight:600;margin-bottom:5px;color:var(--brown)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:.7rem .8rem;border:1px solid var(--border-color);border-radius:var(--radius-input);background:var(--cream);color:#333;font-size:.9rem;font-family:inherit;transition:border-color .15s;min-height:44px}
.form-group textarea{min-height:88px}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--brown-dark)}
/* Mobile: prevent iOS Safari auto-zoom on input focus (needs >= 16px) */
@media(max-width:749px){.form-group input,.form-group textarea,.form-group select{font-size:16px}}
.coupon-row{display:flex;gap:.5rem;margin:.6rem 0}
.coupon-row input{flex:1;padding:.7rem .8rem;border:1.5px solid var(--border);border-radius:6px;font-size:.9rem;font-family:inherit;color:var(--brown);background:var(--white);min-height:44px}
@media(max-width:749px){.coupon-row input{font-size:16px}}
.form-row{display:flex;gap:.8rem;flex-wrap:wrap}.form-row .form-group{flex:1;min-width:130px}
.payment-options{display:flex;flex-direction:column;gap:8px}
.payment-option{display:flex;align-items:center;gap:10px;padding:.85rem 1rem;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;font-size:.82rem;transition:all .15s;font-weight:500}
.payment-option.active{border-color:var(--brown-dark);background:rgba(96,63,38,.03)}
.payment-option input[type=radio]{accent-color:var(--brown-dark)}
.checkout-summary-col{background:var(--cream-warm);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;box-shadow:none;position:sticky;top:80px;height:fit-content}
.checkout-summary-col h3{font-size:.92rem;font-weight:700;margin-bottom:1rem;color:var(--black)}
.checkout-item{display:flex;align-items:center;gap:8px;padding:.5rem 0;border-bottom:1px solid var(--border-color);font-size:.78rem}
.checkout-item-img{width:42px;height:42px;border-radius:4px;overflow:hidden;background:#EDE4BF;flex-shrink:0}
.checkout-item-img img{width:100%;height:100%;object-fit:cover}

/* ── Order Success ── */
.order-success{text-align:center;padding:3rem var(--page-margin);max-width:580px;margin:0 auto}
.success-icon{font-size:4rem;color:var(--green);margin-bottom:1rem}
.order-success h1{font-family:var(--font-accent);font-size:var(--h3-size);font-weight:700;margin-bottom:.5rem;color:var(--black)}
.order-details-box{background:var(--cream-warm);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;margin-top:1.5rem;box-shadow:none;text-align:left}
.order-detail-row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.82rem;border-bottom:1px solid var(--border-color)}
.status-badge{padding:3px 12px;border-radius:20px;font-size:.66rem;font-weight:600}
.status-confirmed{background:rgba(63,185,80,.1);color:var(--green)}
.status-shipped{background:rgba(88,166,255,.1);color:#58a6ff}
.status-delivered{background:rgba(96,63,38,.08);color:var(--brown)}
.status-cancelled{background:rgba(248,81,73,.08);color:var(--red)}
.order-item-mini{display:flex;align-items:center;gap:10px;padding:.5rem 0;border-bottom:1px solid var(--border-color);font-size:.78rem}

/* ── Static Pages ── */
.static-page{padding:2rem var(--page-margin);max-width:var(--page-width);margin:0 auto;font-size:.86rem;line-height:1.8;color:var(--gray-dark)}
.static-page h3{font-size:.95rem;font-weight:700;margin:1.5rem 0 .5rem;color:var(--black)}
.static-page p{margin-bottom:.8rem}
.faq-item{margin-bottom:1.5rem}.faq-item h3{font-size:.88rem;font-weight:700;margin-bottom:.3rem;color:var(--black)}

/* ── Footer ── */
.footer{background:var(--brown-dark);color:var(--cream);padding:3.5rem var(--page-margin) 1.5rem;margin-top:1rem}
.footer-inner{max-width:var(--page-width);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:2.5rem}
.footer-col h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.8rem;color:var(--cream);opacity:1}
.footer-col p,.footer-col a{font-size:.78rem;color:var(--cream);opacity:.82;line-height:1.9;display:block;transition:opacity .15s,color .15s}
.footer-col a:hover{opacity:1;color:var(--terracotta)}
.footer-tagline{font-size:.74rem;opacity:.7;font-style:italic;margin-top:.5rem}
.footer-email{font-family:monospace;font-size:.72rem}
.footer-social{display:flex;gap:12px;margin-top:.8rem}
.footer-social a{font-size:1.1rem;color:var(--cream);opacity:.82;transition:all .15s}
.footer-social a:hover{opacity:1;color:var(--terracotta);transform:translateY(-2px)}
.newsletter-form{display:flex;margin-top:.5rem}
.newsletter-form input{flex:1;padding:.5rem .8rem;border:none;border-radius:6px 0 0 6px;font-size:.74rem;font-family:inherit;color:var(--brown-dark)}
.newsletter-form button{padding:.5rem 1rem;border:none;background:var(--cream);color:var(--brown-dark);font-weight:600;font-size:.74rem;border-radius:0 6px 6px 0;cursor:pointer}
.newsletter-form button:hover{opacity:.85}
.footer-bottom{max-width:var(--page-width);margin:2rem auto 0;padding-top:1.3rem;border-top:1px solid rgba(255,247,209,.18);display:flex;justify-content:space-between;align-items:center;font-size:.7rem;color:var(--cream);opacity:.75;gap:1rem;flex-wrap:wrap}
.footer-bottom .footer-pay{display:flex;gap:12px;align-items:center;font-size:.7rem;font-weight:600;letter-spacing:.04em}

/* ── Cart Drawer ── */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:300;opacity:0;visibility:hidden;transition:all .3s}
.cart-overlay.open{opacity:1;visibility:visible}
.cart-drawer{position:fixed;top:0;right:0;width:420px;max-width:92vw;height:100dvh;background:var(--cream);z-index:301;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-6px 0 30px rgba(0,0,0,.12)}
.cart-drawer.open{transform:translateX(0)}
.cart-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.4rem;border-bottom:1px solid var(--border-color)}
.cart-drawer-header h3{font-size:.92rem;font-weight:700;color:var(--black)}
.cart-drawer-close{font-size:1.3rem;cursor:pointer;color:var(--brown);padding:4px;opacity:.6}
.cart-drawer-close:hover{opacity:1}
.cart-drawer-body{flex:1;overflow-y:auto;padding:1rem 1.4rem}
.cart-drawer-footer{padding:1rem 1.4rem;border-top:1px solid var(--border-color);background:var(--cream)}
.cart-drawer-footer .summary-row{padding:.25rem 0}
.cart-drawer-footer .summary-row.total{padding:.6rem 0 .8rem;border-top:1px solid var(--border-color)}
.cart-drawer-footer .btn{margin-top:.3rem}
.cart-drawer-empty{text-align:center;padding:3rem 1rem;color:var(--brown);opacity:.6}
.cart-item{display:flex;align-items:center;gap:1rem;padding:.8rem;background:var(--cream);border-radius:4px;margin-bottom:.4rem}
.cart-item-img{width:60px;height:60px;border-radius:4px;overflow:hidden;background:#EDE4BF;flex-shrink:0}
.cart-item-img img{width:100%;height:100%;object-fit:cover}
.cart-item-info{flex:1;min-width:0}
.cart-item-info h4{font-size:.8rem;font-weight:600;color:var(--black)}
.cart-item-variant{font-size:.68rem;color:var(--brown)}
.cart-item-price{font-size:.74rem;font-weight:600;color:var(--brown)}
.cart-item-qty{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:6px;overflow:hidden}
.cart-item-qty button{padding:.15rem .45rem;cursor:pointer;font-size:.8rem;color:var(--brown-dark)}
.cart-item-qty button:hover{background:rgba(0,0,0,.04)}
.cart-item-qty span{padding:.15rem .5rem;font-size:.76rem;font-weight:600;color:var(--black)}
.cart-item-remove{color:var(--red);cursor:pointer;font-size:.9rem;opacity:.35}
.cart-item-remove:hover{opacity:1}

/* ── Lightbox ── */
.lightbox{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.92);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s}
.lightbox.open{opacity:1;visibility:visible}
.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px}
.lightbox-close{position:absolute;top:1.5rem;right:1.5rem;color:#fff;font-size:1.8rem;cursor:pointer;opacity:.7}
.lightbox-close:hover{opacity:1}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);color:#fff;font-size:2rem;padding:.5rem 1rem;border-radius:6px;cursor:pointer;opacity:.7}
.lightbox-prev{left:1.5rem}.lightbox-next{right:1.5rem}
.lightbox-prev:hover,.lightbox-next:hover{opacity:1;background:rgba(255,255,255,.2)}

/* ── Sticky Cart ── */
.sticky-cart{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--brown-dark);color:var(--cream);padding:.8rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;box-shadow:0 -4px 24px rgba(0,0,0,.25);display:none;animation:slideUp .3s ease}
.sticky-cart.visible{display:flex}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.sticky-cart .sticky-info{display:flex;align-items:center;gap:.8rem;min-width:0}
.sticky-cart .sticky-img{width:44px;height:44px;border-radius:4px;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.08)}
.sticky-cart .sticky-img img{width:100%;height:100%;object-fit:cover}
.sticky-cart .sticky-name{font-size:.8rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-cart .sticky-price{font-size:.88rem;font-weight:700}
.sticky-cart .sticky-actions{display:flex;align-items:center;gap:.8rem;flex-shrink:0}
.sticky-cart .btn-primary{background:var(--cream);color:var(--brown-dark);font-weight:700}
.sticky-cart .btn-primary:hover{background:var(--white)}

/* ── Toast ── */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--brown-dark);color:var(--cream);padding:.65rem 1.5rem;border-radius:40px;font-size:.82rem;font-weight:600;opacity:0;transition:opacity .3s;z-index:9999;pointer-events:none;box-shadow:0 4px 16px rgba(0,0,0,.2)}
.toast.show{opacity:1}

/* ── Empty State ── */
.empty-state{text-align:center;padding:3rem 1rem;color:var(--charcoal)}
.empty-state h3{font-size:1.35rem;font-weight:700;margin-bottom:.5rem;color:var(--charcoal);opacity:1}
.empty-state p{margin-bottom:1rem;font-size:.85rem;color:var(--charcoal);opacity:.72}

/* ── Responsive ── */
@media(max-width:749px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--brown-dark);flex-direction:column;padding:1rem;border-bottom:1px solid rgba(255,247,209,.08);gap:.3rem;z-index:99;box-shadow:0 10px 20px rgba(0,0,0,.25)}
  .nav-links.open{display:flex}.menu-toggle{display:flex}
  .nav-links a{padding:.6rem .4rem;border-radius:4px}
  .nav-links a:hover{background:rgba(255,247,209,.06);opacity:1}
  .nav-inner{padding-left:1rem;padding-right:1rem}
  .hero-section{padding:4rem 1.5rem;min-height:320px}
  .section{padding:2rem 1.2rem}
  .section-header h2,.section-header h3{font-size:1.5rem}
  .product-detail{padding:0 1rem 1rem}
  .page-header{padding:1.5rem 1rem 1rem}
  .catalog-layout{padding:0 1rem 2rem}
  .trust-badges{padding:1.2rem 1rem}
  .sticky-cart{padding:.6rem 1rem}
  .sticky-cart .sticky-info .sticky-name{display:none}
  .testimonials-grid{grid-template-columns:1fr}
  .collections-row{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:480px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}
  .card-body h3{font-size:.73rem}
  .btn-card-add{font-size:.7rem;padding:.35rem}
  .section{padding:1.5rem .8rem}
  .hero-section{padding:3rem 1rem;min-height:280px}
  .hero-content h1{font-size:1.5rem}
  .product-detail{padding:0 .8rem 1rem}
  /* Footer: 2-col with 2.5rem gap overflows 390px viewport (needs ≥380px). Fall back to 1 col. */
  .footer-inner{grid-template-columns:1fr;gap:1.6rem}
}

/* ═══════════════════════════════════════════════════════════════
   EDITORIAL UPGRADE v2 — refined visual system
   ═══════════════════════════════════════════════════════════════ */

:root {
  --ivory: #FBF6E9;
  --cream-soft: #FAEFC7;
  --sage: #7B8A67;
  --gold: #B8925A;
  --espresso: #2E1F14;
  --charcoal: #1C1611;
  --warm-white: #FDFAF1;
  --line: rgba(46,31,20,.10);
  --line-strong: rgba(46,31,20,.22);
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: .18s;
  --duration: .32s;
  --duration-slow: .6s;

  --display-1: clamp(2.8rem, 6vw, 5.2rem);
  --display-2: clamp(2.2rem, 4.5vw, 3.4rem);
  --display-3: clamp(1.5rem, 2.6vw, 2rem);

  --content-max: 68rem;
  --content-max-wide: 78rem;
}

/* Utility */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--gold)}
.eyebrow::before{content:'';display:inline-block;width:24px;height:1px;background:var(--gold)}
.divider-mark{width:44px;height:1px;background:var(--line-strong);margin:1rem auto}
.section-title{font-family:var(--font-accent);font-weight:700;letter-spacing:-.02em;color:var(--espresso);line-height:1.08}
.section-title.large{font-size:var(--display-2)}
.section-lede{font-size:1rem;color:var(--espresso);opacity:.72;line-height:1.7;max-width:52ch}

/* Reveal-on-scroll — fails open: hidden only after JS confirms animation-ready */
.reveal{opacity:1;transform:none;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out)}
body.reveal-ready .reveal{opacity:0;transform:translateY(20px)}
body.reveal-ready .reveal.in{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}
.reveal-delay-2{transition-delay:.16s}
.reveal-delay-3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){body.reveal-ready .reveal,body.reveal-ready .reveal.in{opacity:1;transform:none;transition:none}}

/* ── EDITORIAL HERO ── */
.hero-editorial{position:relative;background:var(--ivory);overflow:hidden;border-bottom:1px solid var(--line)}
.hero-editorial-inner{max-width:var(--content-max-wide);margin:0 auto;padding:5rem var(--page-margin) 5rem;display:grid;grid-template-columns:1.05fr 1fr;gap:4rem;align-items:center;min-height:min(78vh,720px)}
.hero-copy{display:flex;flex-direction:column;gap:1.4rem}
.hero-copy h1{font-family:var(--font-accent);font-weight:700;font-size:var(--display-1);color:var(--espresso);line-height:1.02;letter-spacing:-.035em}
.hero-copy h1 em{font-style:italic;font-weight:400;color:var(--gold);font-family:var(--font-accent)}
.hero-copy .hero-lede{font-size:1.02rem;line-height:1.75;color:var(--espresso);opacity:.78;max-width:44ch}
.hero-cta-row{display:flex;gap:1rem;flex-wrap:wrap;margin-top:.5rem}
.hero-cta-row .btn{padding:.95rem 2rem;font-size:.85rem}
.hero-meta{display:flex;gap:2.5rem;padding-top:1.6rem;border-top:1px solid var(--line);margin-top:1rem}
.hero-meta-item{display:flex;flex-direction:column;gap:2px}
.hero-meta-item .num{font-family:var(--font-accent);font-weight:700;font-size:1.5rem;color:var(--espresso);letter-spacing:-.02em}
.hero-meta-item .lbl{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--espresso);opacity:.55;font-weight:600}
.hero-visual{position:relative;height:100%;min-height:520px;display:flex;align-items:center;justify-content:center}
.hero-visual-frame{position:relative;width:100%;height:100%;min-height:520px;background:var(--cream-soft);border-radius:2px;overflow:hidden;box-shadow:0 30px 80px -30px rgba(46,31,20,.25)}
.hero-visual-frame img{width:100%;height:100%;object-fit:cover;transition:transform 8s var(--ease-out)}
.hero-visual-frame:hover img{transform:scale(1.05)}
.hero-visual-tag{position:absolute;left:-1px;top:2rem;background:var(--espresso);color:var(--ivory);padding:.55rem 1.2rem;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;z-index:2}
.hero-visual-badge{position:absolute;right:1.2rem;bottom:1.2rem;background:rgba(46,31,20,.9);color:var(--ivory);padding:.7rem 1rem;border-radius:2px;font-size:.7rem;line-height:1.5;font-weight:500;backdrop-filter:blur(6px);max-width:200px}
.hero-visual-badge strong{display:block;font-family:var(--font-accent);font-size:.92rem;font-weight:700;margin-bottom:2px}

@media(max-width:900px){
  .hero-editorial-inner{grid-template-columns:1fr;padding:3rem 1.4rem 3rem;gap:2.4rem;min-height:0}
  .hero-visual{min-height:380px}
  .hero-visual-frame{min-height:380px}
  .hero-meta{gap:1.5rem}
  .hero-meta-item .num{font-size:1.2rem}
}

/* ── GUARANTEE STRIP ── */
.guarantee-strip{background:var(--espresso);color:var(--ivory);padding:2.2rem var(--page-margin)}
.guarantee-strip-inner{max-width:var(--content-max-wide);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.guarantee-item{display:flex;align-items:flex-start;gap:.9rem}
.guarantee-item i{font-size:1.6rem;color:var(--gold);flex-shrink:0;margin-top:2px}
.guarantee-item .g-title{font-family:var(--font-accent);font-weight:700;font-size:.92rem;letter-spacing:-.01em;margin-bottom:2px}
.guarantee-item .g-sub{font-size:.72rem;opacity:.68;line-height:1.5}
@media(max-width:900px){.guarantee-strip-inner{grid-template-columns:repeat(2,1fr);gap:1.5rem 1.2rem}}
@media(max-width:480px){.guarantee-strip-inner{grid-template-columns:1fr}}

/* ── CRAFT STORY (3-step process) ── */
.craft-story{padding:5rem var(--page-margin) 4rem;background:var(--warm-white);position:relative}
.craft-story-inner{max-width:var(--content-max-wide);margin:0 auto}
.craft-story-head{text-align:center;max-width:60ch;margin:0 auto 3rem}
.craft-story-head .eyebrow{justify-content:center;margin-bottom:1rem}
.craft-story-head .eyebrow::before,.craft-story-head .eyebrow::after{content:'';display:inline-block;width:24px;height:1px;background:var(--gold)}
.craft-story-head h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em;margin-bottom:.9rem}
.craft-story-head p{font-size:1rem;color:var(--espresso);opacity:.72;line-height:1.75;max-width:52ch;margin:0 auto}
.craft-story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;counter-reset:step}
.craft-step{position:relative;padding:2rem 1.6rem;background:var(--ivory);border-radius:2px;border:1px solid var(--line);transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out)}
.craft-step:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(46,31,20,.15)}
.craft-step::before{counter-increment:step;content:counter(step, decimal-leading-zero);position:absolute;top:1.4rem;right:1.4rem;font-family:var(--font-accent);font-size:1.15rem;font-weight:700;color:var(--gold);letter-spacing:.02em}
.craft-step i{font-size:1.8rem;color:var(--espresso);margin-bottom:1.2rem;display:block}
.craft-step h3{font-family:var(--font-accent);font-weight:700;font-size:1.2rem;color:var(--espresso);margin-bottom:.6rem;letter-spacing:-.01em}
.craft-step p{font-size:.85rem;color:var(--espresso);opacity:.72;line-height:1.7}
@media(max-width:900px){.craft-story-grid{grid-template-columns:1fr;gap:1rem}}

/* ── PROMISE BAND (below craft) ── */
.promise-band{padding:5rem var(--page-margin);background:var(--espresso);color:var(--ivory);text-align:center;position:relative;overflow:hidden}
.promise-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%, rgba(184,146,90,.15) 0%, transparent 40%), radial-gradient(circle at 80% 70%, rgba(184,146,90,.1) 0%, transparent 40%);pointer-events:none}
.promise-band-inner{max-width:52ch;margin:0 auto;position:relative}
.promise-band .eyebrow{color:var(--gold);justify-content:center}
.promise-band .eyebrow::before{background:var(--gold)}
.promise-band h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);letter-spacing:-.03em;line-height:1.1;margin:1rem 0 1.2rem;color:var(--ivory)}
.promise-band .quote-marks{font-family:var(--font-accent);font-size:4rem;color:var(--gold);line-height:.6;margin-bottom:.5rem;opacity:.5}
.promise-band p{font-size:1.05rem;line-height:1.8;opacity:.85;margin-bottom:2rem}
.promise-band .signature{font-family:var(--font-accent);font-style:italic;font-size:.9rem;opacity:.7;letter-spacing:.02em}

/* Small WhatsApp reassurance under Buy Now on retail PDP — sits below the
   primary CTA, doesn't compete. Feature is opt-out: hidden if store_phone
   still contains the 'X' placeholder. */
.pdp-help-nudge{margin:.5rem 0 0 0;font-size:.78rem;text-align:center;color:var(--gray-dark);display:flex;align-items:center;justify-content:center;gap:.35rem}
.pdp-help-nudge i{color:#25D366;font-size:1rem}
.pdp-help-nudge a{color:var(--gray-dark);text-decoration:none;border-bottom:1px dotted var(--gray-dark)}
.pdp-help-nudge a:hover{color:var(--brown-dark);border-bottom-color:var(--brown-dark)}

/* ── PRODUCT TRUST BLOCK (product page) ── */
.pdp-trust-block{margin-top:1.4rem;background:var(--warm-white);border:1px solid var(--line);border-radius:4px;padding:1.1rem;display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem 1.1rem}
.pdp-trust-item{display:flex;gap:.7rem;align-items:flex-start;font-size:.8rem;line-height:1.45}
.pdp-trust-item i{font-size:1.05rem;color:var(--gold);margin-top:1px;flex-shrink:0}
.pdp-trust-item strong{display:block;color:var(--espresso);font-weight:600;font-size:.85rem;margin-bottom:2px}
.pdp-trust-item span{color:var(--espresso);opacity:.75;font-size:.78rem;line-height:1.4}
@media(max-width:600px){.pdp-trust-block{grid-template-columns:1fr}.pdp-trust-item strong{font-size:.88rem}.pdp-trust-item span{font-size:.8rem}}

/* ── ENHANCED TESTIMONIALS ── */
.testimonials-editorial{padding:5rem var(--page-margin) 4rem;background:var(--ivory)}
.testimonials-editorial-inner{max-width:var(--content-max-wide);margin:0 auto}
.testimonials-editorial-head{text-align:center;margin-bottom:3rem}
.testimonials-editorial-head .eyebrow{justify-content:center;margin-bottom:1rem}
.testimonials-editorial-head .eyebrow::before,.testimonials-editorial-head .eyebrow::after{content:'';display:inline-block;width:24px;height:1px;background:var(--gold)}
.testimonials-editorial-head h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em}
.testimonials-editorial-head .rating-summary{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.85rem;color:var(--espresso)}
.testimonials-editorial-head .rating-summary .stars{color:var(--gold);font-size:1rem;letter-spacing:2px}
.testimonials-editorial-head .rating-summary strong{font-weight:700}
.testimonials-grid-editorial{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.testimonial-card-editorial{background:var(--warm-white);border:1px solid var(--line);padding:1.8rem 1.5rem;border-radius:2px;display:flex;flex-direction:column;gap:1rem;transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out)}
.testimonial-card-editorial:hover{transform:translateY(-3px);box-shadow:0 20px 40px -20px rgba(46,31,20,.12)}
.testimonial-card-editorial .stars{color:var(--gold);font-size:.85rem;letter-spacing:2px}
.testimonial-card-editorial p{font-size:.92rem;color:var(--espresso);line-height:1.75;font-family:var(--font-accent);font-weight:400;flex:1}
.testimonial-card-editorial .author-row{display:flex;align-items:center;gap:.7rem;padding-top:.9rem;border-top:1px solid var(--line)}
.testimonial-card-editorial .avatar{width:38px;height:38px;border-radius:50%;background:var(--cream-soft);display:flex;align-items:center;justify-content:center;font-family:var(--font-accent);font-weight:700;font-size:.85rem;color:var(--espresso);flex-shrink:0}
.testimonial-card-editorial .author-info{flex:1;min-width:0}
.testimonial-card-editorial .author-name{font-size:.82rem;font-weight:600;color:var(--espresso)}
.testimonial-card-editorial .author-verified{font-size:.66rem;color:var(--sage);font-weight:500;display:flex;align-items:center;gap:3px}
.testimonial-card-editorial .author-verified i{font-size:.75rem}
@media(max-width:900px){.testimonials-grid-editorial{grid-template-columns:1fr}}

/* ── CHECKOUT STEPS ── */
.checkout-steps{display:flex;gap:0;padding:1.5rem var(--page-margin) 1rem;max-width:var(--content-max-wide);margin:0 auto}
.checkout-step{display:flex;align-items:center;gap:.6rem;flex:1;font-size:.78rem;color:var(--espresso);opacity:.4}
.checkout-step.active{opacity:1}
.checkout-step .step-num{width:26px;height:26px;border-radius:50%;background:var(--line);color:var(--espresso);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0}
.checkout-step.active .step-num{background:var(--espresso);color:var(--ivory)}
.checkout-step.done .step-num{background:var(--sage);color:var(--ivory)}
.checkout-step .step-name{font-weight:600;letter-spacing:-.005em}
.checkout-step + .checkout-step::before{content:'';flex:1;height:1px;background:var(--line-strong);margin-right:.6rem;opacity:.4;max-width:60px}
.checkout-secure-note{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.72rem;color:var(--sage);padding:.8rem;background:rgba(123,138,103,.08);border-radius:4px;margin-top:1rem;font-weight:500}
.checkout-secure-note i{font-size:.9rem}
.pay-methods-row{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;justify-content:center;margin-top:.8rem}
.pay-methods-label{font-size:.72rem;color:var(--brown);margin-right:.2rem}
.trust-list{list-style:none;padding:0;margin:1rem 0 0 0;border-top:1px solid var(--line);padding-top:1rem}
.trust-list li{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--espresso);padding:.35rem 0;font-weight:500}
.trust-list li i{color:var(--sage);font-size:.9rem;flex-shrink:0;width:16px;text-align:center}
.trust-list a{color:var(--espresso);text-decoration:underline}

/* ── FREQUENTLY BOUGHT TOGETHER ── */
.section-kit{background:var(--cream);padding:2.5rem var(--page-margin)}
.kit-wrap{max-width:880px;margin:0 auto;background:var(--cream);border:1px solid var(--border-color);border-radius:8px;padding:1.8rem;box-shadow:none}
.kit-head{text-align:center;margin-bottom:1.4rem}
.kit-head h2{font-size:1.35rem;font-weight:700;color:var(--espresso);margin-bottom:.3rem}
.kit-sub{font-size:.82rem;color:var(--brown)}
.kit-row{display:flex;align-items:stretch;justify-content:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.kit-card{flex:1 1 0;min-width:0;max-width:210px;text-align:center;background:var(--ivory);border:1px solid var(--line);border-radius:6px;padding:.9rem .7rem 2rem;text-decoration:none;color:var(--espresso);transition:transform .15s,box-shadow .15s;position:relative;display:flex;flex-direction:column}
.kit-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.kit-current{border:2px solid var(--sage);padding-top:calc(.9rem - 1px)}
.kit-img{aspect-ratio:1;width:100%;max-width:130px;margin:0 auto .6rem;background:var(--cream-warm);border-radius:4px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.kit-img img{width:100%;height:100%;object-fit:cover}
.kit-name{font-size:.78rem;font-weight:600;line-height:1.3;margin-bottom:.4rem;min-height:2.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.kit-price{font-size:.95rem;font-weight:700;color:var(--espresso);margin-top:auto}
.kit-tag{position:absolute;bottom:.55rem;left:0;right:0;font-size:.62rem;color:var(--brown);letter-spacing:.05em;text-transform:uppercase}
.kit-current .kit-tag{color:var(--sage);font-weight:700}
.kit-plus{align-self:center;font-size:1.4rem;color:var(--brown);font-weight:300;flex-shrink:0;padding:0 .2rem}
.kit-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.1rem;border-top:1px solid var(--line);flex-wrap:wrap}
.kit-total-label{font-size:.72rem;color:var(--brown);text-transform:uppercase;letter-spacing:.03em}
.kit-total-price{font-size:1.3rem;font-weight:700;color:var(--espresso)}
.btn-add-kit{padding:.85rem 1.5rem;font-size:.92rem;white-space:nowrap}
@media(max-width:749px){
  .section-kit{padding:1.5rem .5rem}
  .kit-wrap{padding:1.2rem .7rem}
  .kit-head h2{font-size:1.1rem}
  .kit-row{gap:.15rem;flex-wrap:nowrap}
  .kit-card{flex:1 1 0;min-width:0;padding:.55rem .3rem 1.7rem;max-width:none}
  .kit-img{max-width:none}
  .kit-name{font-size:.66rem;min-height:2.4rem;margin-bottom:.3rem;line-height:1.2}
  .kit-price{font-size:.75rem}
  .kit-tag{font-size:.5rem;bottom:.35rem;letter-spacing:.02em}
  .kit-plus{font-size:.9rem;padding:0;color:var(--brown);opacity:.6}
  .btn-add-kit{width:100%;padding:.75rem}
  .kit-summary{gap:.6rem}
  .kit-total-price{font-size:1.15rem}
}

/* ── FOOTER PAYMENT ROW ── */
.footer-pay-badges{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.pay-badge{padding:.3rem .7rem;background:var(--ivory);color:var(--espresso);border:1px solid var(--line);border-radius:3px;font-size:.68rem;font-weight:600;letter-spacing:.02em}
.pay-logo{height:22px;width:auto;display:inline-block;vertical-align:middle;background:#fff;padding:5px 8px;border-radius:4px;box-sizing:content-box;box-shadow:0 1px 3px rgba(0,0,0,.15);transition:transform .15s}
.pay-logo:hover{transform:translateY(-1px)}
@media(max-width:749px){.pay-logo{height:18px;padding:4px 6px}}
.footer-ribbon{background:var(--espresso);color:var(--ivory);padding:.85rem var(--page-margin);font-size:.75rem;text-align:center;font-weight:500;letter-spacing:.02em}
.footer-ribbon i{color:var(--gold);margin-right:.4rem}
.footer-ribbon .sep{opacity:.3;margin:0 .8rem}

/* ── ENHANCED BUTTONS ── */
.btn{transition:all .25s var(--ease-out);position:relative;overflow:hidden}
.btn:active{transform:scale(.97)}
.btn-primary{box-shadow:0 2px 6px rgba(46,31,20,.15)}
.btn-primary:hover{background:var(--espresso);border-color:var(--espresso);opacity:1;box-shadow:0 8px 22px rgba(46,31,20,.28);transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:var(--espresso);border:1px solid var(--gold);padding:.75rem 2rem;font-weight:700}
.btn-gold:hover{background:#a37f4a;border-color:#a37f4a;color:var(--ivory);transform:translateY(-1px)}

/* ── ENHANCED TOAST ── */
.toast{position:fixed;bottom:2rem;left:50%;transform:translateX(-50%) translateY(120%);background:var(--espresso);color:var(--ivory);padding:.9rem 1.4rem;border-radius:4px;font-size:.84rem;font-weight:500;z-index:9999;box-shadow:0 20px 40px -10px rgba(46,31,20,.4);transition:transform .4s var(--ease-out);letter-spacing:-.005em;display:flex;align-items:center;gap:.6rem}
.toast::before{content:'\F26B';font-family:'bootstrap-icons';color:var(--gold);font-size:1rem}
.toast.show{transform:translateX(-50%) translateY(0)}

/* ── UPGRADED PRODUCT CARD ── */
.product-card{transition:transform .35s var(--ease-out)}
.product-card .card-image{border-radius:2px;box-shadow:0 0 0 1px transparent, 0 2px 12px transparent;transition:box-shadow .35s var(--ease-out)}
.product-card:hover .card-image{box-shadow:0 0 0 1px var(--line), 0 12px 30px -10px rgba(46,31,20,.18)}
.badge{padding:4px 10px 4px 10px;font-size:.6rem;letter-spacing:.09em;font-weight:700;border-radius:2px}
.badge-sale{background:var(--gold);color:var(--espresso)}
.badge-new{background:var(--espresso);color:var(--ivory)}

/* ── CART DRAWER POLISH ── */
.cart-drawer{background:var(--ivory);box-shadow:-16px 0 60px -20px rgba(46,31,20,.3)}
.cart-drawer-header{border-bottom:1px solid var(--line);padding:1.2rem 1.4rem;background:var(--ivory)}
.cart-drawer-header h3{font-family:var(--font-accent);font-weight:700;letter-spacing:-.01em;color:var(--espresso)}

/* ── MOBILE POLISH ── */
@media(max-width:749px){
  .hero-editorial-inner{padding:2rem 1.4rem 2.5rem}
  .craft-story,.testimonials-editorial,.promise-band{padding:3rem 1.4rem}
  .checkout-steps{padding:1rem 1rem .5rem;flex-wrap:wrap;gap:.5rem}
}

/* ═══════════════════════════════════════════════════════════════
   COMPLETENESS UPGRADE v3 — density + design polish
   ═══════════════════════════════════════════════════════════════ */

/* ── FEATURED BESTSELLER STRIP (big split image + copy) ── */
.featured-strip{background:var(--cream-soft);padding:5rem var(--page-margin);position:relative}
.featured-strip-inner{max-width:var(--content-max-wide);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}
.featured-strip .fs-visual{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:2px;background:var(--ivory)}
.featured-strip .fs-visual img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out)}
.featured-strip .fs-visual:hover img{transform:scale(1.04)}
.featured-strip .fs-visual-tag{position:absolute;top:1.4rem;left:1.4rem;background:var(--gold);color:var(--espresso);padding:.4rem .8rem;font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border-radius:2px}
.featured-strip .fs-copy .eyebrow{margin-bottom:1rem}
.featured-strip .fs-copy h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em;margin-bottom:1.2rem}
.featured-strip .fs-copy .fs-price{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1.2rem}
.featured-strip .fs-price .now{font-family:var(--font-accent);font-weight:700;font-size:2rem;color:var(--espresso)}
.featured-strip .fs-price .was{font-size:1.1rem;color:var(--espresso);opacity:.5;text-decoration:line-through}
.featured-strip .fs-price .off{background:var(--sage);color:var(--ivory);padding:3px 10px;font-size:.7rem;font-weight:700;border-radius:2px;letter-spacing:.04em}
.featured-strip .fs-desc{font-size:1rem;color:var(--espresso);opacity:.78;line-height:1.75;margin-bottom:1.5rem;max-width:44ch}
.featured-strip .fs-notes{display:flex;flex-direction:column;gap:.7rem;margin-bottom:1.8rem}
.featured-strip .fs-note{display:flex;align-items:flex-start;gap:.7rem;font-size:.85rem;color:var(--espresso)}
.featured-strip .fs-note i{color:var(--sage);font-size:1rem;margin-top:2px}
@media(max-width:900px){.featured-strip{padding:3rem 1.4rem}.featured-strip-inner{grid-template-columns:1fr;gap:2rem}}

/* ── SCENT / FRAGRANCE GUIDE ── */
.scent-guide{padding:5rem var(--page-margin);background:var(--warm-white)}
.scent-guide-inner{max-width:var(--content-max-wide);margin:0 auto}
.scent-guide-head{text-align:center;max-width:56ch;margin:0 auto 2.5rem}
.scent-guide-head .eyebrow{justify-content:center;margin-bottom:1rem}
.scent-guide-head .eyebrow::before,.scent-guide-head .eyebrow::after{content:'';display:inline-block;width:24px;height:1px;background:var(--gold)}
.scent-guide-head h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em;margin-bottom:1rem}
.scent-guide-head p{color:var(--espresso);opacity:.72;line-height:1.7}
.scent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.scent-card{position:relative;padding:2.2rem 1.4rem 1.6rem;background:var(--ivory);border:1px solid var(--line);border-radius:2px;text-align:center;transition:all .3s var(--ease-out);cursor:pointer;text-decoration:none;color:inherit;overflow:hidden}
.scent-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--scent-color, var(--gold));transition:height .3s var(--ease-out)}
.scent-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(46,31,20,.15)}
.scent-card:hover::before{height:8px}
.scent-card.floral{--scent-color:#D89AB5}
.scent-card.woody{--scent-color:#8A6844}
.scent-card.fresh{--scent-color:#7B9A8A}
.scent-card.sweet{--scent-color:#D4A574}
.scent-card i{font-size:2rem;color:var(--espresso);opacity:.85;display:block;margin-bottom:.9rem}
.scent-card h3{font-family:var(--font-accent);font-weight:700;font-size:1.05rem;color:var(--espresso);margin-bottom:.4rem;letter-spacing:-.01em}
.scent-card .scent-notes{font-size:.72rem;color:var(--espresso);opacity:.6;letter-spacing:.03em;line-height:1.5}
@media(max-width:900px){.scent-grid{grid-template-columns:repeat(2,1fr)}}

/* ── GIFTING SECTION ── */
.gifting-strip{padding:5rem var(--page-margin);background:linear-gradient(180deg, var(--ivory) 0%, var(--cream-soft) 100%)}
.gifting-inner{max-width:var(--content-max-wide);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.gifting-visual{position:relative;aspect-ratio:5/4;background:var(--espresso);border-radius:2px;overflow:hidden}
.gifting-visual img{width:100%;height:100%;object-fit:cover;opacity:.95}
.gifting-visual .gv-badge{position:absolute;bottom:1.2rem;left:1.2rem;background:var(--gold);color:var(--espresso);padding:.55rem .9rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.gifting-copy .eyebrow{margin-bottom:1rem}
.gifting-copy h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em;margin-bottom:1.2rem}
.gifting-copy p{font-size:1rem;line-height:1.75;color:var(--espresso);opacity:.78;margin-bottom:1.8rem;max-width:44ch}
.gifting-features{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.gifting-feat{display:flex;gap:.9rem;font-size:.9rem;color:var(--espresso)}
.gifting-feat i{color:var(--gold);font-size:1.1rem;flex-shrink:0;margin-top:2px}
.gifting-feat strong{display:block;font-weight:600;margin-bottom:2px}
.gifting-feat span{opacity:.65;font-size:.82rem}
@media(max-width:900px){.gifting-strip{padding:3rem 1.4rem}.gifting-inner{grid-template-columns:1fr;gap:2rem}}

/* ── NEWSLETTER PROMO BAND ── */
.newsletter-promo{padding:5rem var(--page-margin);background:var(--espresso);color:var(--ivory);text-align:center;position:relative;overflow:hidden}
.newsletter-promo::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center, rgba(184,146,90,.18) 0%, transparent 60%);pointer-events:none}
.newsletter-promo-inner{max-width:52ch;margin:0 auto;position:relative}
.newsletter-promo .discount-tag{display:inline-block;background:var(--gold);color:var(--espresso);padding:.35rem 1rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:1.4rem;border-radius:2px}
.newsletter-promo h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--ivory);line-height:1.05;letter-spacing:-.03em;margin-bottom:1rem}
.newsletter-promo p{font-size:1rem;line-height:1.75;opacity:.8;margin-bottom:2rem}
.newsletter-promo-form{display:flex;gap:.5rem;max-width:440px;margin:0 auto;flex-wrap:wrap}
.newsletter-promo-form input{flex:1;min-width:200px;padding:.9rem 1.2rem;background:transparent;border:1px solid rgba(251,246,233,.3);border-radius:2px;color:var(--ivory);font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}
.newsletter-promo-form input::placeholder{color:rgba(251,246,233,.5)}
.newsletter-promo-form input:focus{border-color:var(--gold)}
.newsletter-promo-form button{padding:.9rem 1.6rem;background:var(--gold);color:var(--espresso);border:1px solid var(--gold);font-weight:700;font-size:.82rem;letter-spacing:.02em;cursor:pointer;border-radius:2px;transition:all .2s;font-family:inherit;text-transform:uppercase}
.newsletter-promo-form button:hover{background:#c8a067;border-color:#c8a067}
.newsletter-promo .fine-print{font-size:.7rem;opacity:.55;margin-top:1rem;letter-spacing:.02em}

/* ── HOME FAQ ── */
.home-faq{padding:5rem var(--page-margin) 4rem;background:var(--warm-white)}
.home-faq-inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:4rem;align-items:start}
.home-faq-head .eyebrow{margin-bottom:1rem}
.home-faq-head h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em;margin-bottom:1rem}
.home-faq-head p{color:var(--espresso);opacity:.72;line-height:1.75;margin-bottom:1.5rem}
.home-faq-head a{color:var(--gold);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:.9rem}
.faq-accordion{border-top:1px solid var(--line-strong)}
.faq-accordion details{border-bottom:1px solid var(--line-strong);padding:0}
.faq-accordion summary{padding:1.4rem 0;font-family:var(--font-accent);font-weight:600;font-size:1.05rem;color:var(--espresso);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;letter-spacing:-.01em;outline:none}
.faq-accordion summary::-webkit-details-marker{display:none}
.faq-accordion summary::after{content:'+';font-size:1.4rem;color:var(--gold);font-weight:400;transition:transform .3s}
.faq-accordion details[open] summary::after{content:'\2212'}
.faq-accordion .faq-answer{padding:0 0 1.4rem;font-size:.92rem;line-height:1.75;color:var(--espresso);opacity:.78;max-width:56ch}
@media(max-width:900px){.home-faq-inner{grid-template-columns:1fr;gap:2rem}.home-faq{padding:3rem 1.4rem}}

/* ── PRODUCT CARD UPGRADE (sale emphasis) ── */
.product-card .card-image{aspect-ratio:1/1}
.product-card .badge-sale{background:var(--gold);color:var(--espresso);font-weight:700}
.product-card .card-off{position:absolute;top:10px;right:10px;background:var(--espresso);color:var(--ivory);padding:3px 8px;font-size:.6rem;font-weight:700;letter-spacing:.06em;border-radius:2px;z-index:3}
.card-body h3{font-family:var(--font-accent);font-weight:600;font-size:.9rem;letter-spacing:-.01em;color:var(--espresso);line-height:1.3}
.card-body h3 a{color:inherit}
.card-body .card-tagline{font-size:.72rem;color:var(--espresso);opacity:.55;margin-top:1px;line-height:1.4;font-style:italic}
.price-sale{font-family:var(--font-accent);font-weight:700;font-size:1rem;color:var(--espresso)}
.price-regular{font-size:.78rem;opacity:.5}
.card-stars .stars{color:var(--gold);letter-spacing:1.2px}
.btn-card-add{background:transparent;color:var(--espresso);border:1px solid var(--espresso);font-weight:600;padding:.5rem;transition:all .2s var(--ease-out);border-radius:2px}
.btn-card-add:hover{background:var(--espresso);color:var(--ivory)}
.btn-card-add.added{background:var(--sage);border-color:var(--sage);color:var(--ivory)}

/* ── PDP FEATURES / SPECS LIST ── */
.pdp-features-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.4rem;margin:1rem 0}
.pdp-feature{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--espresso);line-height:1.55}
.pdp-feature i{color:var(--sage);font-size:.95rem;margin-top:3px;flex-shrink:0}
.pdp-specs-table{width:100%;border-collapse:collapse;margin:.6rem 0}
.pdp-specs-table td{padding:.55rem 0;font-size:.85rem;color:var(--espresso);border-bottom:1px solid var(--line)}
.pdp-specs-table td:first-child{font-weight:600;opacity:.72;width:40%}
.pdp-specs-table tr:last-child td{border-bottom:none}
.pdp-delivery-row{display:flex;gap:1.2rem;padding:.9rem 1.1rem;background:rgba(123,138,103,.08);border-radius:4px;font-size:.82rem;color:var(--espresso);margin-top:1rem;align-items:center}
.pdp-delivery-row i{font-size:1.4rem;color:var(--sage);flex-shrink:0}
.pdp-delivery-row strong{display:block;font-weight:600;margin-bottom:1px}
.pdp-delivery-row span{opacity:.7;font-size:.75rem}

/* ── ALTERNATING SECTION BG UTILITY ── */
.bg-warm{background:var(--warm-white)}
.bg-cream{background:var(--cream-soft)}
.bg-ivory{background:var(--ivory)}

/* ── FIX: cart-count position after card size change ── */
.cart-count{top:2px;right:-2px}

/* ── Announcement bar visual refinement ── */
.announcement-bar{background:var(--espresso)}
.announcement-item{color:var(--gold);opacity:1;font-weight:500}

/* ── Divider ornament between sections (optional inline use) ── */
.divider-ornament{display:flex;align-items:center;justify-content:center;gap:12px;padding:2rem 0}
.divider-ornament::before,.divider-ornament::after{content:'';width:60px;height:1px;background:var(--line-strong)}
.divider-ornament i{color:var(--gold);font-size:1.1rem}

/* ═══════════════════════════════════════════════════════════════
   SUPPLIES-FIRST UPGRADE v4 — image-heavy, wax/jar focused
   ═══════════════════════════════════════════════════════════════ */

/* ── HERO MOSAIC (2x2 image grid instead of single image) ── */
.hero-mosaic{position:relative;width:100%;height:100%;min-height:520px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:12px}
.hero-mosaic-cell{position:relative;overflow:hidden;background:var(--cream-soft);border-radius:2px}
.hero-mosaic-cell img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.hero-mosaic-cell:hover img{transform:scale(1.06)}
.hero-mosaic-cell.tall{grid-row:span 2}
.hero-mosaic-cell .tag{position:absolute;bottom:.7rem;left:.7rem;background:rgba(46,31,20,.85);color:var(--ivory);padding:.35rem .6rem;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:2px;backdrop-filter:blur(4px)}
@media(max-width:900px){.hero-mosaic{min-height:400px}}
@media(max-width:600px){.hero-mosaic{grid-template-columns:1fr;grid-template-rows:1.4fr 1fr 1fr;min-height:500px}.hero-mosaic-cell.tall{grid-row:auto}}

/* ── WAX RANGE / JAR RANGE VISUAL BAND ── */
.range-band{padding:5rem var(--page-margin);background:var(--warm-white)}
.range-band-inner{max-width:var(--content-max-wide);margin:0 auto}
.range-band-head{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:3rem}
.range-band-head .eyebrow{margin-bottom:.8rem}
.range-band-head h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em}
.range-band-head p{font-size:1rem;line-height:1.75;color:var(--espresso);opacity:.72;max-width:44ch;justify-self:end}
.range-mosaic{display:grid;gap:12px}
.range-mosaic.count-5{grid-template-columns:1.4fr 1fr 1fr 1fr 1fr}
.range-mosaic.count-4{grid-template-columns:1.4fr 1fr 1fr 1fr}
.range-mosaic.count-3{grid-template-columns:1.4fr 1fr 1fr}
.range-mosaic.count-6{grid-template-columns:repeat(6,1fr)}
.range-item{position:relative;aspect-ratio:3/4;background:var(--cream-soft);border-radius:2px;overflow:hidden;text-decoration:none;color:inherit;transition:all .3s var(--ease-out);display:block}
.range-item:hover{transform:translateY(-4px);box-shadow:0 20px 40px -15px rgba(46,31,20,.2)}
.range-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease-out)}
.range-item:hover img{transform:scale(1.05)}
.range-item-overlay{position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1rem .9rem;background:linear-gradient(to top, rgba(46,31,20,.9), rgba(46,31,20,0));color:var(--ivory)}
.range-item-overlay .r-name{font-family:var(--font-accent);font-weight:700;font-size:.92rem;letter-spacing:-.005em;margin-bottom:2px;line-height:1.2}
.range-item-overlay .r-meta{font-size:.7rem;opacity:.85;letter-spacing:.02em}
.range-item .r-price-tag{position:absolute;top:.7rem;right:.7rem;background:var(--ivory);color:var(--espresso);padding:.3rem .6rem;font-size:.68rem;font-weight:700;border-radius:2px;letter-spacing:.02em}
@media(max-width:900px){.range-band-head{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem}.range-band-head p{justify-self:start}.range-mosaic{grid-template-columns:repeat(2,1fr) !important}.range-band{padding:3rem 1.4rem}}
@media(max-width:480px){.range-mosaic{grid-template-columns:1fr !important}.range-item{aspect-ratio:16/9}}

/* ── BULK / WHOLESALE BAND ── */
.bulk-band{padding:5rem var(--page-margin);background:var(--espresso);color:var(--ivory);position:relative;overflow:hidden}
.bulk-band::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 15% 30%, rgba(184,146,90,.2) 0%, transparent 45%);pointer-events:none}
.bulk-band-inner{max-width:var(--content-max-wide);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative}
.bulk-band-copy .eyebrow{color:var(--gold);margin-bottom:1rem}
.bulk-band-copy .eyebrow::before{background:var(--gold)}
.bulk-band-copy h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--ivory);line-height:1.05;letter-spacing:-.03em;margin-bottom:1.2rem}
.bulk-band-copy p{font-size:1.05rem;line-height:1.75;opacity:.85;margin-bottom:1.8rem;max-width:46ch}
.bulk-band-features{display:flex;flex-direction:column;gap:.9rem;margin-bottom:2rem}
.bulk-feat{display:flex;gap:.9rem;font-size:.92rem;line-height:1.5}
.bulk-feat i{color:var(--gold);font-size:1.1rem;flex-shrink:0;margin-top:2px}
.bulk-cta-row{display:flex;gap:.8rem;flex-wrap:wrap}
.bulk-band-visual{position:relative;aspect-ratio:1/1;min-height:400px;max-width:100%;background:var(--cream-soft);border-radius:2px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;min-width:0}
.bulk-band-visual > div{overflow:hidden;position:relative;background:var(--cream-soft);border-radius:2px;min-width:0}
.bulk-band-visual img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.bulk-band-inner{grid-template-columns:1fr;gap:2rem}.bulk-band{padding:3rem 1.4rem}.bulk-band-visual{min-height:300px}}

/* ── "SIDE MENTION" CANDLES ── */
.candles-side{padding:5rem var(--page-margin) 4rem;background:var(--ivory)}
.candles-side-inner{max-width:var(--content-max-wide);margin:0 auto}
.candles-side-head{text-align:center;max-width:52ch;margin:0 auto 2.5rem}
.candles-side-head .eyebrow{justify-content:center;margin-bottom:1rem}
.candles-side-head .eyebrow::before,.candles-side-head .eyebrow::after{content:'';display:inline-block;width:24px;height:1px;background:var(--gold)}
.candles-side-head h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em;margin-bottom:.8rem}
.candles-side-head p{font-size:.98rem;color:var(--espresso);opacity:.72;line-height:1.7}

/* ── COLLECTION CARDS UPGRADE (bigger, richer overlay) ── */
.collections-row{gap:1rem}
.collection-card-link{aspect-ratio:4/5;border-radius:2px;position:relative}
.collection-card-link::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(46,31,20,.55) 0%, rgba(46,31,20,.05) 45%);pointer-events:none;z-index:1}
.collection-card-link img{transition:transform .8s var(--ease-out)}
.collection-card-link:hover img{transform:scale(1.06)}
.collection-card-link .coll-label{background:transparent;backdrop-filter:none;color:var(--ivory);text-align:left;font-family:var(--font-accent);font-weight:700;font-size:1.15rem;letter-spacing:-.01em;padding:1.2rem 1.4rem;z-index:2;display:flex;align-items:center;justify-content:space-between}
.collection-card-link .coll-label::after{content:'\2192';font-size:1.2rem;opacity:.85;transition:transform .3s var(--ease-out)}
.collection-card-link:hover .coll-label::after{transform:translateX(4px)}

/* ── DELIVERY MAP LINE ── */
.delivery-map{padding:2.5rem var(--page-margin);background:var(--warm-white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.delivery-map-inner{max-width:var(--content-max-wide);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.delivery-map .dm-head{display:flex;align-items:center;gap:1rem}
.delivery-map .dm-head i{font-size:1.8rem;color:var(--gold)}
.delivery-map .dm-head strong{font-family:var(--font-accent);font-size:1.1rem;color:var(--espresso);display:block;letter-spacing:-.01em;margin-bottom:1px}
.delivery-map .dm-head span{font-size:.82rem;color:var(--espresso);opacity:.65}
.delivery-cities{display:flex;gap:.55rem;flex-wrap:wrap}
.delivery-city{padding:.3rem .75rem;background:var(--ivory);border:1px solid var(--line);border-radius:100px;font-size:.7rem;color:var(--espresso);font-weight:500;letter-spacing:.01em}

/* ── STARTER PACK / KIT PROMO ── */
.starter-band{padding:5rem var(--page-margin);background:var(--cream-soft)}
.starter-inner{max-width:var(--content-max-wide);margin:0 auto;display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.starter-visual{position:relative;aspect-ratio:1/1;background:var(--ivory);border-radius:2px;overflow:hidden}
.starter-visual img{width:100%;height:100%;object-fit:cover}
.starter-visual .sv-badge{position:absolute;top:1.2rem;left:1.2rem;background:var(--espresso);color:var(--gold);padding:.5rem .9rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border-radius:2px}
.starter-copy .eyebrow{margin-bottom:1rem}
.starter-copy h2{font-family:var(--font-accent);font-weight:700;font-size:var(--display-2);color:var(--espresso);line-height:1.05;letter-spacing:-.03em;margin-bottom:1.2rem}
.starter-copy .kit-includes{list-style:none;padding:0;margin:1.4rem 0 2rem;display:flex;flex-direction:column;gap:.7rem}
.starter-copy .kit-includes li{display:flex;gap:.7rem;font-size:.9rem;color:var(--espresso);align-items:flex-start}
.starter-copy .kit-includes li i{color:var(--sage);margin-top:2px}
@media(max-width:900px){.starter-inner{grid-template-columns:1fr;gap:2rem}.starter-band{padding:3rem 1.4rem}}

/* ── BEFORE/AFTER MICRO SECTION ── */
.side-by-side-facts{padding:4rem var(--page-margin);background:var(--warm-white)}
.sbs-inner{max-width:var(--content-max);margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.sbs-card{padding:2.4rem 1.6rem;background:var(--ivory);border:1px solid var(--line);border-radius:2px;text-align:center;transition:transform .3s var(--ease-out)}
.sbs-card:hover{transform:translateY(-3px)}
.sbs-card .num{font-family:var(--font-accent);font-weight:700;font-size:2.6rem;color:var(--gold);letter-spacing:-.03em;line-height:1;margin-bottom:.5rem;display:block}
.sbs-card h4{font-family:var(--font-accent);font-weight:700;font-size:1.05rem;color:var(--espresso);margin-bottom:.4rem;letter-spacing:-.01em}
.sbs-card p{font-size:.85rem;color:var(--espresso);opacity:.68;line-height:1.6}
@media(max-width:900px){.sbs-inner{grid-template-columns:1fr;gap:1rem}}

/* ── CANDLE-SIDE PRODUCT ROW (smaller product cards) ── */
.candles-side .product-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.candles-side .product-grid{grid-template-columns:repeat(2,1fr)}}

/* Hero adjustments — allow image on left, text on right too */
.hero-editorial.reverse .hero-editorial-inner{grid-template-columns:1fr 1.05fr}
.hero-editorial.reverse .hero-copy{order:2}
.hero-editorial.reverse .hero-visual{order:1}
@media(max-width:900px){.hero-editorial.reverse .hero-copy{order:2}.hero-editorial.reverse .hero-visual{order:1}}

/* ═══════════════════════════════════════════════════════════════
   BUG-FIX PASS v5 — visibility, spacing, contrast
   ═══════════════════════════════════════════════════════════════ */

/* Product cards need visible edges on cream backgrounds */
.product-card .card-image{
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.08), 0 1px 3px rgba(46,31,20,.04);
  border-radius:3px;
  overflow:hidden;
}
.product-card:hover .card-image{
  box-shadow:0 0 0 1px rgba(46,31,20,.15), 0 12px 30px -12px rgba(46,31,20,.2);
}

/* Range mosaic — make uniform, not asymmetric */
.range-mosaic.count-3,
.range-mosaic.count-4,
.range-mosaic.count-5,
.range-mosaic.count-6{
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
}
.range-item{
  aspect-ratio:1/1;
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.08);
}

/* Featured strip visual — subtle border so light images stand out */
.featured-strip .fs-visual{
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.08), 0 20px 40px -20px rgba(46,31,20,.15);
}

/* Hero mosaic cells — subtle border */
.hero-mosaic-cell{
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.08);
}

/* Bulk band visual cells */
.bulk-band-visual > div{
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.15) inset;
}

/* Collection cards — visible border */
.collection-card-link{
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.08);
}

/* Testimonial cards — sharper edge */
.testimonial-card-editorial{
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.06);
}

/* Craft steps — sharper edge */
.craft-step{
  background:var(--white);
  box-shadow:0 0 0 1px rgba(46,31,20,.06);
}

/* Scent cards — visible edges */
.scent-card{background:var(--white)}

/* SBS cards */
.sbs-card{background:var(--white);box-shadow:0 0 0 1px rgba(46,31,20,.06)}

/* Reduce excessive section padding to tighten layout */
.craft-story,
.testimonials-editorial,
.scent-guide,
.candles-side,
.home-faq,
.featured-strip,
.gifting-strip,
.starter-band,
.range-band{
  padding-top:3.5rem;
  padding-bottom:3.5rem;
}
.promise-band,
.newsletter-promo,
.bulk-band{
  padding-top:4rem;
  padding-bottom:4rem;
}
.side-by-side-facts{padding-top:2.5rem;padding-bottom:2.5rem}

/* Hero — cap height so it doesn't over-stretch on tall screens */
.hero-editorial-inner{min-height:auto;padding-top:3.5rem;padding-bottom:3.5rem}

/* Section product-grid — tighter row gap */
.section .product-grid{row-gap:20px}

/* Section between range-band and its grid — remove double margin */
.range-band + .section{padding-top:2.5rem}
.featured-strip + .range-band{padding-top:4rem}

/* Guarantee strip — reduce padding to feel tighter */
.guarantee-strip{padding:2rem var(--page-margin)}

/* Collection cards row breathing */
.collections-row{margin-top:1.5rem}

/* Home page overall - reduce first section top padding */
.hero-editorial + .guarantee-strip{margin-top:0}

/* Hero mosaic — force min height on smaller screens so it doesn't collapse */
.hero-mosaic{min-height:520px}

/* Better range-band-head alignment */
.range-band-head p{align-self:end}

/* Section headers — reduce top-space when they follow a colored section */
.candles-side .section-header,
.testimonials-editorial-head,
.scent-guide-head,
.craft-story-head,
.home-faq-head,
.candles-side-head{margin-bottom:2rem}

/* Announcement bar — remove leftover gold color from earlier override, keep ivory */
.announcement-item{color:var(--ivory);opacity:.85;font-weight:500}
.announcement-item i{color:var(--gold);margin-right:4px}

/* ═══════════════════════════════════════════════════════════════
   MOBILE UX FIXES — tap targets, cart layout, sticky bar, hero
   ═══════════════════════════════════════════════════════════════ */

/* Tap targets: nav icons, drawer close, search close (WCAG 44x44) */
@media(max-width:749px){
  .nav-icon{min-width:44px;min-height:44px;padding:10px;justify-content:center;font-size:1.2rem}
  .nav-icons{gap:0}
  .cart-drawer-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;font-size:1.4rem}
  .search-overlay-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px;top:1rem;right:1rem}
  .cart-item-qty button{min-width:44px;min-height:44px;padding:6px 10px;font-size:1rem}
  .cart-item-remove{min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;padding:8px;font-size:1.1rem;opacity:.5}
}

/* Cart page item — mobile grid layout so nothing squishes */
@media(max-width:749px){
  .cart-item{
    display:grid;
    grid-template-columns:76px 1fr auto;
    grid-template-rows:auto auto;
    column-gap:.9rem;
    row-gap:.6rem;
    padding:.9rem;
    align-items:start;
  }
  .cart-item-img{width:76px;height:76px;grid-column:1;grid-row:1/3}
  .cart-item-info{grid-column:2;grid-row:1;min-width:0}
  .cart-item-info h4{font-size:.9rem;line-height:1.3;margin:0;word-break:break-word}
  .cart-item-variant{font-size:.75rem;margin:.2rem 0 0;color:var(--brown);opacity:.85}
  .cart-item-price{display:none}
  .cart-item-remove{grid-column:3;grid-row:1;align-self:start}
  .cart-item-qty{grid-column:2;grid-row:2;justify-self:start;align-self:center}
  .cart-item-line-total{grid-column:3;grid-row:2;align-self:center;font-weight:700;font-size:.95rem;color:var(--black);white-space:nowrap}
}

/* Sticky mobile add-to-cart bar — tighten for narrow phones */
@media(max-width:749px){
  .sticky-cart{padding:.6rem .8rem;gap:.6rem}
  .sticky-cart .sticky-info{gap:.6rem;flex-shrink:1;min-width:0}
  .sticky-cart .sticky-img{width:40px;height:40px}
  .sticky-cart .sticky-name{display:none}
  .sticky-cart .sticky-price{font-size:.95rem}
  .sticky-cart .sticky-actions{gap:.5rem}
  .sticky-cart .sticky-actions .qty-selector{display:none}
  .sticky-cart .btn-primary{padding:.7rem 1.1rem;font-size:.85rem;min-height:44px;white-space:nowrap}
  /* Prevent footer overlap when sticky bar visible */
  body:has(.sticky-cart.visible) .footer{padding-bottom:80px}
}

/* Checkout step indicator — clearer on mobile, no ugly wrapping */
@media(max-width:749px){
  .checkout-steps{padding:1rem .8rem .3rem;gap:.3rem;flex-wrap:nowrap}
  .checkout-step{font-size:.7rem;gap:.35rem;flex:0 1 auto}
  .checkout-step .step-name{display:none}
  .checkout-step.active .step-name{display:inline;font-size:.72rem}
  .checkout-step + .checkout-step::before{max-width:24px;margin-right:.3rem;margin-left:.1rem}
}

/* Hero — prevent italic overflow on ultra-narrow phones (Galaxy 360, etc.) */
@media(max-width:400px){
  .hero-copy h1{font-size:clamp(2.2rem,10vw,2.8rem);letter-spacing:-.02em;padding-right:.3rem;overflow-wrap:break-word}
  .hero-editorial-inner{padding:2.4rem 1.2rem 2.4rem}
}

/* ═══════════════════════════════════════════════════════════════
   WHOLESALE TEASER RIBBON (homepage, below guarantee strip)
   ═══════════════════════════════════════════════════════════════ */
.wholesale-ribbon{display:block;background:linear-gradient(90deg,var(--brown-dark) 0%,#4a2f1c 100%);color:var(--cream);text-decoration:none;border-top:2px solid var(--gold);border-bottom:2px solid var(--gold);transition:transform .2s var(--ease-out),box-shadow .2s var(--ease-out)}
.wholesale-ribbon:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.15)}
.wholesale-ribbon-inner{max-width:var(--content-max-wide);margin:0 auto;padding:1.1rem var(--page-margin);display:flex;align-items:center;gap:1.2rem}
.wholesale-ribbon .wr-icon{flex-shrink:0;width:44px;height:44px;background:var(--gold);color:var(--brown-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.wholesale-ribbon .wr-copy{flex:1;min-width:0}
.wholesale-ribbon .wr-title{font-size:1rem;font-weight:600;line-height:1.3;letter-spacing:-.005em}
.wholesale-ribbon .wr-title strong{color:var(--gold);font-weight:700}
.wholesale-ribbon .wr-sub{font-size:.78rem;opacity:.7;margin-top:2px;letter-spacing:.01em}
.wholesale-ribbon .wr-cta{flex-shrink:0;background:var(--gold);color:var(--brown-dark);padding:.7rem 1.2rem;border-radius:4px;font-weight:700;font-size:.82rem;letter-spacing:.01em;display:flex;align-items:center;gap:.35rem;white-space:nowrap;transition:filter .2s}
.wholesale-ribbon:hover .wr-cta{filter:brightness(1.08)}

@media(max-width:749px){
  .wholesale-ribbon-inner{padding:.9rem 1rem;gap:.8rem;flex-wrap:wrap}
  .wholesale-ribbon .wr-icon{width:38px;height:38px;font-size:1.1rem}
  .wholesale-ribbon .wr-title{font-size:.88rem}
  .wholesale-ribbon .wr-sub{font-size:.72rem}
  .wholesale-ribbon .wr-cta{width:100%;justify-content:center;padding:.75rem 1rem;font-size:.82rem;margin-top:.2rem;order:3}
  .wholesale-ribbon .wr-copy{flex:1 1 calc(100% - 46px)}
}

/* PDP wholesale banner — signals bulk buyers that retail packs aren't the only option */
.pdp-wholesale-banner{display:flex;align-items:center;gap:.9rem;background:linear-gradient(90deg,rgba(96,63,38,.06) 0%,rgba(212,175,55,.09) 100%);border:1px solid rgba(96,63,38,.15);border-left:3px solid var(--gold);border-radius:6px;padding:.8rem 1rem;margin:.6rem 0 .4rem;text-decoration:none;color:var(--brown-dark);transition:background .2s var(--ease-out),transform .15s var(--ease-out)}
.pdp-wholesale-banner:hover{background:linear-gradient(90deg,rgba(96,63,38,.1) 0%,rgba(212,175,55,.15) 100%);transform:translateX(2px)}
.pdp-wholesale-banner .pwb-icon{flex-shrink:0;width:36px;height:36px;background:var(--brown-dark);color:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.pdp-wholesale-banner .pwb-copy{flex:1;min-width:0}
.pdp-wholesale-banner .pwb-title{font-size:.85rem;line-height:1.35;color:var(--black);margin-bottom:.15rem}
.pdp-wholesale-banner .pwb-title strong{color:var(--brown-dark);font-weight:700}
.pdp-wholesale-banner .pwb-sub{font-size:.72rem;color:var(--brown);opacity:.85}
.pdp-wholesale-banner .pwb-arrow{flex-shrink:0;color:var(--brown-dark);font-size:1.1rem;transition:transform .2s var(--ease-out)}
.pdp-wholesale-banner:hover .pwb-arrow{transform:translateX(3px)}
@media(max-width:600px){
  .pdp-wholesale-banner{padding:.7rem .8rem;gap:.7rem}
  .pdp-wholesale-banner .pwb-icon{width:32px;height:32px;font-size:.95rem}
  .pdp-wholesale-banner .pwb-title{font-size:.8rem}
  .pdp-wholesale-banner .pwb-sub{font-size:.68rem}
}

/* ═══════════════════════════════════════════════════════════════
   Mobile alignment fixes — iPhone viewport pass
   ═══════════════════════════════════════════════════════════════ */
@media(max-width:749px){
  html,body{max-width:100vw;overflow-x:hidden}
  /* Cart drawer sits off-screen via translateX(100%) — but on mobile that
     translated width still enlarges the document's scrollWidth, leaking a strip
     of the drawer into full-page screenshots and forcing a horizontal scroll.
     Hide it entirely when not open on small screens. */
  .cart-drawer:not(.open){display:none}
  .cart-overlay:not(.open){display:none}
  /* Prevent long words / order numbers pushing rows wider than the box */
  .order-details-box{padding:1rem;word-break:break-word}
  .order-detail-row{font-size:.78rem;gap:.6rem}
  .order-detail-row > span:last-child{text-align:right;word-break:break-all}
  /* Order-success items grid — the price column was falling off the right edge */
  .order-item-mini{flex-wrap:wrap;font-size:.75rem;gap:8px}
  .order-item-mini > div:nth-child(2){flex:1 1 60%;min-width:0}
  .order-item-mini > div:last-child{margin-left:auto;white-space:nowrap;font-weight:600}
  /* Continue Shopping / Download Invoice buttons on order-success — let them wrap onto 2 lines instead of cutting */
  .order-success .btn{white-space:normal;word-break:normal}
  /* Cart empty state featured-products grid — 2-col at 390px cut the 2nd card in half */
  .empty-featured-grid{grid-template-columns:1fr!important;max-width:340px!important}
  /* Static / About pages — enforce mobile-friendly padding */
  .static-page{padding:1.5rem 1rem}
  /* Footer secure-strip: allow the pill to wrap gracefully instead of clipping the last word */
  .footer-ribbon{padding-left:1rem;padding-right:1rem;line-height:1.55}
  .footer-ribbon .sep{margin:0 .4rem}
  /* Payment badges row */
  .footer-pay-badges{justify-content:flex-start}
  .footer{padding-left:1rem;padding-right:1rem}
  /* Announcement bar — smaller text so more fits before the marquee scrolls */
  .announcement-item{padding:0 1.4rem;font-size:.66rem}
  /* Checkout — grid items default to min-width:auto which resolves to min-content,
     so a long input placeholder / payment-option label was expanding the grid past
     the viewport by ~11px on iPhone. Force min-width:0 to allow proper shrinking. */
  .checkout-layout > *{min-width:0}
  /* Checkout summary card — was overflowing the viewport by ~58px because
     values (Rs. amounts, GST breakdown, support email) had no wrap allowance
     and the .checkout-summary-col padding ate too much horizontal room. */
  .checkout-summary-col{padding:1rem}
  .checkout-summary-col .summary-row{gap:.6rem}
  .checkout-summary-col .summary-row > span:last-child{text-align:right;word-break:break-word}
  .checkout-item{gap:6px}
  .checkout-item > div:nth-child(2){min-width:0;flex:1 1 auto;overflow:hidden}
  .checkout-item > div:nth-child(2) strong{overflow-wrap:break-word;word-break:break-word}
  .checkout-item > div:last-child{flex-shrink:0;white-space:nowrap}
  .checkout-summary-col #chkTaxNote{word-break:break-word;overflow-wrap:break-word}
  .trust-list a{word-break:break-all;overflow-wrap:break-word}
  .checkout-secure-note{font-size:.68rem;padding:.65rem;line-height:1.4;text-align:left}
  .pay-methods-row{justify-content:flex-start;gap:.35rem}
  .pay-badge{font-size:.64rem;padding:.25rem .55rem}
}
@media(max-width:480px){
  .order-success{padding:2rem 1rem}
  .order-success h1{font-size:1.4rem}
  .order-details-box{padding:.9rem}
  .order-detail-row{font-size:.75rem}
  /* Two full-width action buttons instead of side-by-side (cuts label otherwise) */
  .order-success div[style*="flex-wrap"]{flex-direction:column}
  .order-success div[style*="flex-wrap"] .btn{width:100%}
}
