/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --ivory:#FAF6EE; --sand:#F2E8D5; --cream:#F6EFE0; --frame:#F4EAD5;
  --espresso:#1A1410; --charcoal:#2D2520; --muted:#6B5D52;
  --gold:#B89060; --gold-d:#8C6D46; --gold-l:#D9BC8A;
  --terra:#C48B82; --blush:#F6DAD0; --sage:#A8B5A0;
  --white:#fff; --border:rgba(26,20,16,.08);
  --ease:cubic-bezier(.65,0,.35,1);
  --bounce:cubic-bezier(.34,1.56,.64,1);
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-full:999px;
  --header-h:65px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Manrope',system-ui,sans-serif;
  background:var(--ivory); color:var(--espresso);
  font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body::before{
  content:''; position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:1;
}
a{color:inherit; text-decoration:none}
img{max-width:100%; display:block}
button,input,select{font-family:inherit; cursor:pointer; background:none; border:none; color:inherit}
input{cursor:text}
.container{max-width:1440px; margin:0 auto; padding:0 3rem; position:relative; z-index:2}
@media (max-width:900px){.container{padding:0 1.25rem}}

/* ============================================================
   SCROLL PROGRESS + ANIMATIONS
   ============================================================ */
.scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg, var(--gold), var(--terra));
  z-index:100; transition:width .1s linear;
}

[data-anim]{opacity:0; transition:opacity .9s var(--ease), transform .9s var(--ease)}
[data-anim="fade-up"]{transform:translateY(40px)}
[data-anim="fade-down"]{transform:translateY(-30px)}
[data-anim="fade-left"]{transform:translateX(-40px)}
[data-anim="fade-right"]{transform:translateX(40px)}
[data-anim="fade-in"]{transform:none}
[data-anim="scale-in"]{transform:scale(.92)}
[data-anim="mask-up"]{transform:translateY(60px); clip-path:inset(100% 0 0 0)}
[data-anim].in{opacity:1; transform:none; clip-path:inset(0 0 0 0)}
[style*="--d:1"]{transition-delay:.08s}
[style*="--d:2"]{transition-delay:.16s}
[style*="--d:3"]{transition-delay:.24s}
[style*="--d:4"]{transition-delay:.32s}
[style*="--d:5"]{transition-delay:.4s}

@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important}
  [data-anim]{opacity:1 !important; transform:none !important; clip-path:none !important}
}

/* ============================================================
   MARQUEE + HEADER
   ============================================================ */
.marquee{
  background:var(--espresso); color:var(--ivory);
  padding:.55rem 0; overflow:hidden;
  font-size:.78rem; letter-spacing:.06em;
  position:relative; z-index:10;
}
.marquee-track{
  display:inline-flex; gap:2.5rem; white-space:nowrap;
  animation:mar 38s linear infinite; padding-left:2.5rem;
}
.marquee .dot{color:var(--gold)}
@keyframes mar{from{transform:translateX(0)}to{transform:translateX(-50%)}}

.header{
  position:sticky; top:0; z-index:50;
  background:rgba(250,246,238,.85);
  backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  transition:padding .3s var(--ease), background .3s;
}
.header.scrolled{background:rgba(250,246,238,.96)}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:1.1rem 0; transition:padding .3s var(--ease);
}
.header.scrolled .nav{padding:.75rem 0}
.logo{
  font-family:'Italiana',serif; font-size:1.75rem;
  display:flex; align-items:center; gap:.35rem;
}
.logo-mark{
  width:6px; height:6px; border-radius:50%; background:var(--gold);
  margin-top:.5rem; transition:transform .4s var(--bounce);
}
.logo:hover .logo-mark{transform:scale(1.4)}
.nav-links{display:flex; gap:2rem; list-style:none; align-items:center}
.nav-links a{
  font-size:.82rem; letter-spacing:.08em; text-transform:uppercase;
  font-weight:500; position:relative; padding:.25rem 0;
  transition:color .3s;
}
.nav-links a::after{
  content:''; position:absolute; left:0; bottom:0; height:1px; width:0;
  background:var(--gold); transition:width .3s var(--ease);
}
.nav-links a:hover{color:var(--gold)}
.nav-links a:hover::after, .nav-links a.active::after{width:100%}
.nav-links a.active{color:var(--gold)}
.nav-actions{display:flex; align-items:center; gap:.25rem}
.icon-btn{
  width:42px; height:42px; border-radius:var(--r-full);
  display:flex; align-items:center; justify-content:center;
  position:relative; transition:background .3s;
}
.icon-btn:hover{background:rgba(26,20,16,.06)}
.icon-btn svg{width:20px; height:20px}
.cart-count{
  position:absolute; top:4px; right:4px;
  min-width:18px; height:18px; padding:0 4px;
  border-radius:var(--r-full); background:var(--gold); color:var(--ivory);
  font-size:.62rem; display:flex; align-items:center; justify-content:center;
  font-weight:700;
}
.menu-btn{display:none}
@media (max-width:900px){
  .nav-links{display:none}
  .menu-btn{display:flex}
}

/* ============================================================
   IMAGE HARMONIZATION FRAME — applies to all product cards
   ============================================================ */
.frame{
  position:relative;
  background:var(--frame);
  background-image:linear-gradient(135deg, var(--cream) 0%, var(--frame) 50%, var(--sand) 100%);
  border-radius:var(--r-md);
  overflow:hidden;
  isolation:isolate;
}
.frame::before{
  content:''; position:absolute; inset:0;
  background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.5), transparent 60%);
  pointer-events:none; z-index:1;
}
.frame > img{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:contain;
  padding:8%;
  mix-blend-mode:multiply;
  transition:transform .8s var(--ease), opacity .5s;
  z-index:2;
}
.frame > img.alt{opacity:0; transform:scale(1.04)}
.frame:hover > img.primary{opacity:0; transform:scale(1.04)}
.frame:hover > img.alt{opacity:1; transform:scale(1)}
.frame::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 65%, rgba(26,20,16,.08));
  pointer-events:none; z-index:3;
}

/* ============================================================
   BUTTONS — global system
   ============================================================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.95rem 1.75rem; border-radius:var(--r-sm);
  font-size:.82rem; letter-spacing:.1em; text-transform:uppercase;
  font-weight:600; transition:all .3s var(--ease);
  position:relative; overflow:hidden;
}
.btn svg{width:16px; height:16px}
.btn-primary{background:var(--espresso); color:var(--ivory)}
.btn-primary:hover{background:var(--gold-d); transform:translateY(-2px); box-shadow:0 8px 20px rgba(184,144,96,.25)}
.btn-outline{background:transparent; color:var(--espresso); border:1.5px solid var(--espresso)}
.btn-outline:hover{background:var(--espresso); color:var(--ivory)}
.btn-gold{background:var(--gold); color:var(--ivory)}
.btn-gold:hover{background:var(--gold-d); transform:translateY(-2px)}
.btn-link{
  display:inline-flex; align-items:center; gap:.4rem;
  color:var(--espresso); font-size:.82rem; letter-spacing:.1em;
  text-transform:uppercase; font-weight:600; padding:.6rem 0;
  border-bottom:1px solid var(--espresso);
  transition:gap .3s var(--ease);
}
.btn-link:hover{gap:.7rem}
.btn-link svg{width:14px; height:14px; transition:transform .3s}
.btn-link:hover svg{transform:translateX(3px)}

/* ============================================================
   VIEWS — SPA routing
   ============================================================ */
.view{display:none}
.view.active{display:block; animation:viewIn .5s var(--ease)}
@keyframes viewIn{from{opacity:0; transform:translateY(8px)}to{opacity:1; transform:none}}

/* ============================================================
   HOME — HERO
   ============================================================ */
.hero{
  position:relative; padding:4rem 0 5rem;
  overflow:hidden;
}
.hero-bg-text{
  position:absolute; top:50%; left:-2%; right:-2%;
  font-family:'Italiana',serif;
  font-size:clamp(15rem, 26vw, 28rem);
  line-height:.85; color:var(--sand);
  opacity:.55; pointer-events:none; z-index:0;
  transform:translateY(-50%); white-space:nowrap;
  letter-spacing:-.02em;
}
.hero-grid{
  display:grid; grid-template-columns:1.1fr 1fr; gap:4rem;
  align-items:center; position:relative; z-index:2;
}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr; gap:2.5rem}
  .hero-bg-text{font-size:9rem; opacity:.35}
}
.eyebrow{
  display:inline-block; font-size:.7rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold-d); font-weight:600;
  padding:.45rem 0; margin-bottom:1.25rem;
  position:relative;
}
.eyebrow::before{
  content:''; display:inline-block; width:30px; height:1px;
  background:var(--gold); vertical-align:middle; margin-right:.75rem;
}
.hero h1{
  font-family:'Fraunces',serif;
  font-size:clamp(2.75rem, 6vw, 5.5rem);
  font-weight:300; line-height:.95; letter-spacing:-.02em;
  margin-bottom:1.5rem;
}
.hero h1 .italic{font-style:italic; font-weight:400; color:var(--gold)}
.hero-lead{
  font-size:1.05rem; color:var(--muted); max-width:480px;
  margin-bottom:2rem; line-height:1.7;
}
.hero-ctas{display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:3rem}
.hero-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem;
  padding-top:2rem; border-top:1px solid var(--border);
  max-width:480px;
}
.hero-stat strong{
  display:block; font-family:'Fraunces',serif; font-size:1.65rem;
  font-weight:400; color:var(--espresso); line-height:1;
  margin-bottom:.25rem;
}
.hero-stat span{font-size:.75rem; color:var(--muted); letter-spacing:.04em}

.hero-visual{position:relative; aspect-ratio:4/5}
.hero-visual .frame{height:100%}
.hero-deco{
  position:absolute; top:1.25rem; left:1.25rem; z-index:5;
  font-family:'Italiana',serif; font-size:1rem; color:var(--espresso);
  background:var(--ivory); padding:.5rem .85rem; border-radius:var(--r-full);
  letter-spacing:.05em;
}
.hero-tag{
  position:absolute; bottom:1.5rem; left:1.5rem; right:1.5rem; z-index:5;
  display:flex; align-items:center; gap:.6rem;
  background:rgba(26,20,16,.85); color:var(--ivory);
  padding:.7rem 1rem; border-radius:var(--r-full);
  backdrop-filter:blur(10px);
  font-size:.78rem;
}
.hero-tag-dot{
  width:8px; height:8px; border-radius:50%; background:var(--gold);
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.hero-tag-text{flex:1}
.hero-tag a{color:var(--gold-l); font-weight:600; letter-spacing:.05em}

/* ============================================================
   TRUST STRIP
   ============================================================ */
.trust-strip{
  background:var(--cream); padding:2rem 0;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
.trust-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;
}
@media (max-width:768px){.trust-grid{grid-template-columns:repeat(2,1fr); gap:1.5rem}}
.trust-item{display:flex; flex-direction:column; align-items:center; text-align:center; gap:.4rem}
.trust-item svg{width:30px; height:30px; color:var(--gold-d); fill:none; stroke:currentColor; stroke-width:1.3}
.trust-item strong{font-size:.85rem; font-weight:600; color:var(--espresso)}
.trust-item small{font-size:.75rem; color:var(--muted)}

/* ============================================================
   SECTION HEADER
   ============================================================ */
.sec{padding:6rem 0; position:relative}
@media (max-width:768px){.sec{padding:4rem 0}}
.sec-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  margin-bottom:3rem; gap:2rem; flex-wrap:wrap;
}
.sec-head .left{max-width:600px}
.sec-head h2{
  font-family:'Fraunces',serif;
  font-size:clamp(2rem, 4vw, 3.5rem);
  font-weight:300; line-height:1; letter-spacing:-.01em;
}
.sec-head h2 .italic{font-style:italic; color:var(--gold)}
.sec-head p{color:var(--muted); margin-top:1rem; font-size:1rem}

/* ============================================================
   CATEGORIES
   ============================================================ */
.cats{display:grid; grid-template-columns:repeat(6,1fr); gap:1rem}
@media (max-width:1100px){.cats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:520px){.cats{grid-template-columns:repeat(2,1fr)}}
.cats > .cat{
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:2rem 1rem; border-radius:var(--r-md);
  background:var(--cream); transition:all .4s var(--ease);
  border:1px solid transparent;
}
.cats > .cat:hover{
  background:var(--white); border-color:var(--gold);
  transform:translateY(-4px);
  box-shadow:0 12px 30px rgba(26,20,16,.06);
}
.cat-icon{width:60px; height:80px; margin-bottom:1rem; transition:transform .4s var(--bounce)}
.cats > .cat:hover .cat-icon{transform:scale(1.1) rotate(-3deg)}
.cat-label{font-family:'Fraunces',serif; font-size:1.1rem; font-weight:500}
.cat-count{font-size:.75rem; color:var(--muted); margin-top:.2rem; letter-spacing:.05em}

/* ============================================================
   PRODUCT CARDS (shared everywhere)
   ============================================================ */
.products-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.75rem;
}
@media (max-width:1100px){.products-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.products-grid{grid-template-columns:repeat(2,1fr); gap:1.25rem}}
@media (max-width:480px){.products-grid{grid-template-columns:1fr}}

.product-tabs{
  display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:2.5rem;
  padding-bottom:1.25rem; border-bottom:1px solid var(--border);
}
.product-tab{
  padding:.55rem 1.1rem; border-radius:var(--r-full);
  font-size:.78rem; letter-spacing:.05em;
  color:var(--muted); transition:all .25s;
  border:1px solid transparent;
}
.product-tab:hover{color:var(--espresso); border-color:var(--border)}
.product-tab.active{background:var(--espresso); color:var(--ivory); border-color:var(--espresso)}

.product{
  display:flex; flex-direction:column; cursor:pointer;
  position:relative;
}
.product-media{
  aspect-ratio:4/5; margin-bottom:1rem;
}
.product-media .product-actions{
  position:absolute; top:.85rem; right:.85rem;
  display:flex; flex-direction:column; gap:.4rem; z-index:4;
  opacity:0; transform:translateX(8px); transition:all .35s var(--ease);
}
.product:hover .product-actions{opacity:1; transform:none}
.action-btn{
  width:36px; height:36px; border-radius:50%;
  background:rgba(255,255,255,.95);
  display:flex; align-items:center; justify-content:center;
  transition:all .25s; backdrop-filter:blur(8px);
}
.action-btn:hover{background:var(--espresso); color:var(--ivory)}
.action-btn svg{width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:1.5}
.action-btn.active{background:var(--gold); color:var(--ivory)}
.action-btn.active svg{fill:currentColor}

.product-badges{
  position:absolute; top:.85rem; left:.85rem; z-index:4;
  display:flex; flex-direction:column; gap:.35rem;
}
.badge{
  padding:.22rem .6rem; border-radius:var(--r-full);
  font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; font-weight:700;
}
.badge-new{background:var(--espresso); color:var(--ivory)}
.badge-sale{background:var(--terra); color:var(--ivory)}
.badge-best{background:var(--gold); color:var(--ivory)}

.quick-add{
  position:absolute; bottom:.85rem; left:.85rem; right:.85rem;
  padding:.7rem; background:var(--espresso); color:var(--ivory);
  border-radius:var(--r-sm); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; font-weight:600; z-index:4;
  display:flex; align-items:center; justify-content:center; gap:.4rem;
  opacity:0; transform:translateY(10px); transition:all .35s var(--ease);
}
.quick-add svg{width:14px; height:14px}
.product:hover .quick-add{opacity:1; transform:none}
.quick-add:hover{background:var(--gold-d)}

.product-info{padding:0 .25rem}
.product-cat{
  font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); margin-bottom:.35rem;
}
.product-name{
  font-family:'Fraunces',serif; font-size:1.05rem;
  font-weight:400; margin-bottom:.55rem; line-height:1.3;
  transition:color .25s;
}
.product:hover .product-name{color:var(--gold-d)}
.product-price{display:flex; align-items:baseline; gap:.5rem; flex-wrap:wrap}
.price-now{font-weight:700; font-size:1rem; color:var(--espresso)}
.price-was{color:var(--muted); text-decoration:line-through; font-size:.85rem}
.price-off{font-size:.7rem; color:var(--terra); font-weight:600}
.product-rating{display:flex; align-items:center; gap:.4rem; margin-top:.4rem; font-size:.75rem; color:var(--muted)}
.stars{color:var(--gold); font-size:.78rem; letter-spacing:.05em}

/* ============================================================
   COLLECTIONS
   ============================================================ */
.moods{display:grid; grid-template-columns:repeat(4,1fr); gap:1rem}
@media (max-width:900px){.moods{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.moods{grid-template-columns:1fr}}
.mood{
  position:relative; aspect-ratio:3/4;
  border-radius:var(--r-md); overflow:hidden;
  background:linear-gradient(160deg, var(--frame), var(--sand));
  display:flex; flex-direction:column; justify-content:flex-end;
  padding:1.5rem;
  transition:transform .5s var(--ease);
  cursor:pointer;
}
.mood:hover{transform:translateY(-4px)}
.mood::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, transparent 30%, rgba(26,20,16,.75));
}
.mood::after{
  content:''; position:absolute; inset:0; z-index:0;
  background-size:cover; background-position:center;
  transition:transform .8s var(--ease);
}
.mood:hover::after{transform:scale(1.06)}
.mood-1::after{background-image:url('https://jivaah.com/wp-content/uploads/2026/04/a10.jpeg')}
.mood-2::after{background-image:url('https://jivaah.com/wp-content/uploads/2026/03/j1-e1774348422884.jpeg')}
.mood-3::after{background-image:url('https://jivaah.com/wp-content/uploads/2026/04/j43.png'); background-color:var(--frame)}
.mood-4::after{background-image:url('https://jivaah.com/wp-content/uploads/2026/03/j8-e1774348512525.jpeg')}
.mood-content{position:relative; z-index:2; color:var(--ivory)}
.mood-num{font-size:.7rem; letter-spacing:.15em; text-transform:uppercase; opacity:.8; display:block; margin-bottom:.5rem}
.mood-title{font-family:'Fraunces',serif; font-size:1.6rem; font-weight:300; line-height:1.1; margin-bottom:.35rem}
.mood-title .italic{font-style:italic; color:var(--gold-l)}
.mood-count{font-size:.78rem; opacity:.75}

/* ============================================================
   EDITORIAL
   ============================================================ */
.editorial{
  display:grid; grid-template-columns:1fr 1.1fr; gap:4rem;
  align-items:center;
}
@media (max-width:900px){.editorial{grid-template-columns:1fr; gap:2rem}}
.editorial-text h2{
  font-family:'Fraunces',serif;
  font-size:clamp(2rem, 4vw, 3.25rem);
  font-weight:300; line-height:1.05; letter-spacing:-.01em;
  margin-bottom:1.5rem;
}
.editorial-text h2 .italic{font-style:italic; color:var(--gold)}
.editorial-text p{color:var(--muted); margin-bottom:1.25rem; font-size:1rem; line-height:1.8}
.editorial-visual{aspect-ratio:4/5; position:relative}
.editorial-visual img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border-radius:var(--r-md)}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testis{
  background:var(--cream); padding:5rem 0;
  position:relative; overflow:hidden;
}
.testi-track{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2rem;
}
@media (max-width:900px){.testi-track{grid-template-columns:1fr}}
.testi{
  background:var(--white); padding:2rem;
  border-radius:var(--r-md); position:relative;
}
.testi-quote{
  position:absolute; top:-15px; left:1.5rem;
  font-family:'Fraunces',serif; font-size:5rem; line-height:1;
  color:var(--gold); opacity:.4;
}
.testi-stars{color:var(--gold); margin-bottom:.85rem; letter-spacing:.1em}
.testi-text{color:var(--charcoal); font-size:.95rem; line-height:1.7; margin-bottom:1.5rem; font-style:italic}
.testi-author{display:flex; align-items:center; gap:.85rem}
.testi-avatar{
  width:42px; height:42px; border-radius:50%;
  background:linear-gradient(135deg, var(--gold), var(--gold-d));
  color:var(--ivory); display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces',serif; font-weight:600; font-size:1rem;
}
.testi-name{font-weight:600; font-size:.9rem}
.testi-loc{font-size:.75rem; color:var(--muted)}

/* ============================================================
   UGC INSTAGRAM
   ============================================================ */
.ugc{display:grid; grid-template-columns:repeat(6,1fr); gap:.75rem}
@media (max-width:900px){.ugc{grid-template-columns:repeat(3,1fr)}}
@media (max-width:480px){.ugc{grid-template-columns:repeat(2,1fr)}}
.ugc-item{
  position:relative; aspect-ratio:1;
  border-radius:var(--r-md); overflow:hidden; cursor:pointer;
  background-size:cover; background-position:center;
  transition:transform .5s var(--ease);
}
.ugc-item:hover{transform:scale(1.04); z-index:5}
.ugc-item::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, transparent 40%, rgba(26,20,16,.5));
  opacity:0; transition:opacity .3s;
}
.ugc-item:hover::after{opacity:1}
.ugc-icon{
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%) scale(.7);
  color:var(--ivory); opacity:0;
  transition:all .35s var(--ease); z-index:2;
}
.ugc-item:hover .ugc-icon{opacity:1; transform:translate(-50%,-50%) scale(1)}

/* ============================================================
   SHOP VIEW
   ============================================================ */
.page-head{padding:2.5rem 0 1.5rem}
.breadcrumb{
  display:flex; gap:.5rem; font-size:.78rem;
  color:var(--muted); letter-spacing:.05em; margin-bottom:1.25rem;
  flex-wrap:wrap;
}
.breadcrumb a:hover{color:var(--gold)}
.breadcrumb .sep{opacity:.5}
.breadcrumb .curr{color:var(--espresso); font-weight:500}

.page-title{display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; margin-bottom:.75rem}
.page-title h1{
  font-family:'Fraunces',serif;
  font-size:clamp(2.25rem, 4.5vw, 3.75rem);
  font-weight:300; line-height:1; letter-spacing:-.01em;
}
.page-title h1 .italic{font-style:italic; font-weight:400; color:var(--gold)}
.page-title .count{
  font-size:.85rem; color:var(--muted);
  border-left:1px solid var(--border); padding-left:1rem;
}
.page-lead{max-width:560px; color:var(--muted); font-size:.95rem}

.shop-wrap{
  display:grid; grid-template-columns:240px 1fr; gap:3rem;
  padding:2rem 0 5rem;
}
@media (max-width:1024px){
  .shop-wrap{grid-template-columns:1fr; gap:1.5rem}
  .sidebar{display:none}
  .sidebar.open{
    display:block; position:fixed; top:0; left:0; bottom:0; width:300px;
    background:var(--ivory); z-index:60; padding:1.5rem; overflow-y:auto;
    box-shadow:4px 0 20px rgba(0,0,0,.1); animation:slideR .3s var(--ease);
  }
}
@keyframes slideR{from{transform:translateX(-100%)}to{transform:translateX(0)}}

.sidebar{position:sticky; top:calc(var(--header-h) + 1.5rem); align-self:start; max-height:calc(100vh - var(--header-h) - 3rem); overflow-y:auto; padding-right:.5rem}
.sidebar::-webkit-scrollbar{width:4px}
.sidebar::-webkit-scrollbar-thumb{background:var(--border); border-radius:4px}

.filter-group{margin-bottom:2rem; padding-bottom:2rem; border-bottom:1px solid var(--border)}
.filter-group:last-child{border-bottom:none}
.filter-title{
  font-family:'Fraunces',serif; font-size:1.05rem;
  margin-bottom:1rem; font-weight:500;
}
.cat-list{list-style:none}
.cat-list li{margin-bottom:.5rem}
.cat-list a{
  display:flex; justify-content:space-between; align-items:center;
  padding:.4rem 0; font-size:.88rem; color:var(--muted);
  transition:color .2s;
}
.cat-list a:hover, .cat-list a.active{color:var(--espresso)}
.cat-list a.active{font-weight:600}
.cat-list a .num{color:var(--muted); font-size:.75rem; font-variant-numeric:tabular-nums}
.cat-sub{padding-left:1rem; margin-top:.25rem; border-left:1px solid var(--border)}
.cat-sub a{font-size:.8rem; padding:.3rem 0 .3rem .75rem}

.price-range{display:flex; gap:.5rem; margin-bottom:.75rem}
.price-range input{
  width:100%; padding:.5rem .65rem; border:1px solid var(--border);
  border-radius:var(--r-sm); font-size:.82rem; background:var(--white);
}
.price-range input:focus{outline:1px solid var(--gold); border-color:var(--gold)}
.price-track{position:relative; height:3px; background:var(--border); border-radius:999px; margin:1.25rem 0 .5rem}
.price-fill{position:absolute; top:0; left:10%; right:20%; height:100%; background:var(--gold); border-radius:999px}
.price-dot{position:absolute; top:50%; width:14px; height:14px; background:var(--white); border:2px solid var(--gold); border-radius:50%; transform:translate(-50%,-50%); cursor:grab}
.price-dot.lo{left:10%}
.price-dot.hi{left:80%}
.price-info{display:flex; justify-content:space-between; font-size:.78rem; color:var(--muted); margin-top:.25rem}

.colors{display:flex; flex-wrap:wrap; gap:.5rem}
.color-sw{
  display:flex; align-items:center; gap:.4rem;
  padding:.3rem .6rem .3rem .3rem;
  border:1px solid var(--border); border-radius:var(--r-full);
  font-size:.72rem; color:var(--muted); transition:all .2s;
}
.color-sw:hover, .color-sw.active{border-color:var(--espresso); color:var(--espresso)}
.color-dot{width:14px; height:14px; border-radius:50%; border:1px solid rgba(0,0,0,.08)}
.color-sw .num{font-size:.68rem; color:var(--muted)}

.feat-list{display:flex; flex-direction:column; gap:.85rem}
.feat-item{
  display:flex; gap:.75rem; align-items:center;
  padding:.4rem; border-radius:var(--r-sm);
  cursor:pointer; transition:background .2s;
}
.feat-item:hover{background:rgba(184,144,96,.06)}
.feat-item .frame{width:56px; height:56px; flex-shrink:0; border-radius:var(--r-sm)}
.feat-name{font-size:.82rem; font-weight:500; line-height:1.3}
.feat-tag{font-size:.72rem; color:var(--muted); margin-top:.15rem}

.shop-toolbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:0 0 1.25rem; margin-bottom:1.5rem; border-bottom:1px solid var(--border);
  flex-wrap:wrap; gap:1rem;
}
.toolbar-left{font-size:.85rem; color:var(--muted)}
.toolbar-left strong{color:var(--espresso)}
.sort-sel{
  padding:.55rem 2rem .55rem .85rem;
  border:1px solid var(--border); border-radius:var(--r-sm);
  font-size:.82rem; background:var(--white); appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B5D52' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .65rem center;
}
.filter-toggle{
  display:none; align-items:center; gap:.5rem;
  padding:.5rem .85rem; border:1px solid var(--border); border-radius:var(--r-sm);
  font-size:.82rem; background:var(--white);
}
@media (max-width:1024px){.filter-toggle{display:flex}}

.pagination{
  display:flex; justify-content:center; align-items:center; gap:.4rem;
  margin-top:3rem; padding:2rem 0 1rem; border-top:1px solid var(--border);
}
.pg{
  min-width:38px; height:38px; padding:0 .6rem; border-radius:var(--r-sm);
  display:flex; align-items:center; justify-content:center;
  font-size:.85rem; color:var(--muted);
  border:1px solid transparent; transition:all .2s;
}
.pg:hover:not(:disabled){border-color:var(--border); color:var(--espresso)}
.pg.active{background:var(--espresso); color:var(--ivory); border-color:var(--espresso)}
.pg svg{width:14px; height:14px}
.pg:disabled{opacity:.4; cursor:not-allowed}

/* ============================================================
   PDP — PRODUCT DETAIL PAGE
   ============================================================ */
.pdp{
  display:grid; grid-template-columns:1.15fr 1fr; gap:4rem;
  padding:2rem 0 4rem;
}
@media (max-width:1024px){.pdp{grid-template-columns:1fr; gap:2.5rem}}

.pdp-gallery{
  display:grid; grid-template-columns:80px 1fr; gap:1rem;
  position:sticky; top:calc(var(--header-h) + 1.5rem);
  align-self:start;
  max-height:calc(100vh - var(--header-h) - 3rem);
}
@media (max-width:1024px){
  .pdp-gallery{position:static; max-height:none}
}
@media (max-width:640px){.pdp-gallery{grid-template-columns:1fr}}
.thumbs{
  display:flex; flex-direction:column; gap:.75rem;
  max-height:620px; overflow-y:auto;
}
.thumbs::-webkit-scrollbar{width:3px}
.thumbs::-webkit-scrollbar-thumb{background:var(--border); border-radius:3px}
@media (max-width:640px){.thumbs{flex-direction:row; overflow-x:auto}}
.thumb{
  width:80px; height:100px; flex-shrink:0;
  border-radius:var(--r-sm); overflow:hidden;
  border:1.5px solid transparent;
  transition:all .25s;
  background:var(--frame);
}
.thumb img{width:100%; height:100%; object-fit:contain; padding:6%; mix-blend-mode:multiply}
.thumb:hover{border-color:var(--gold)}
.thumb.active{border-color:var(--espresso)}

.main-img{
  position:relative; aspect-ratio:4/5;
  background:var(--frame);
  background-image:linear-gradient(135deg, var(--cream) 0%, var(--frame) 50%, var(--sand) 100%);
  border-radius:var(--r-md); overflow:hidden;
}
.main-img > img{
  width:100%; height:100%; object-fit:contain; padding:8%;
  mix-blend-mode:multiply; transition:transform .4s var(--ease), opacity .3s;
}
.main-img.zooming > img{transform:scale(1.6); cursor:zoom-out}
.sale-badge{
  position:absolute; top:1.25rem; left:1.25rem; z-index:2;
  background:var(--terra); color:var(--ivory);
  padding:.45rem .9rem; border-radius:var(--r-full);
  font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700;
}
.zoom-btn{
  position:absolute; bottom:1.25rem; right:1.25rem; z-index:2;
  width:42px; height:42px; border-radius:50%;
  background:var(--white); display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  transition:transform .25s;
}
.zoom-btn:hover{transform:scale(1.08)}
.zoom-btn svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5}

.pdp-info{padding-top:.5rem}
.pdp-eyebrow{
  font-size:.72rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold-d);
  font-weight:600; margin-bottom:1rem;
}
.pdp-title{
  font-family:'Fraunces',serif;
  font-size:clamp(2rem, 3.5vw, 3rem);
  font-weight:300; line-height:1; letter-spacing:-.01em;
  margin-bottom:1.25rem;
}
.pdp-title .italic{font-style:italic; color:var(--gold)}

.pdp-rating{
  display:flex; align-items:center; gap:.75rem;
  margin-bottom:1.25rem; font-size:.82rem; color:var(--muted);
}
.pdp-rating .stars{color:var(--gold); font-size:1rem; letter-spacing:.1em}
.pdp-rating .divider{width:1px; height:14px; background:var(--border)}
.pdp-rating a:hover{color:var(--gold); text-decoration:underline}

.pdp-price{
  display:flex; align-items:baseline; gap:.85rem; flex-wrap:wrap;
  padding:1.25rem 1.25rem 1.25rem 1.5rem;
  margin-bottom:1.5rem; background:var(--cream);
  border-radius:var(--r-md); border-left:3px solid var(--gold);
}
.pdp-price .now{
  font-family:'Fraunces',serif; font-size:2rem;
  font-weight:400; color:var(--espresso);
}
.pdp-price .was{color:var(--muted); text-decoration:line-through; font-size:1.1rem}
.pdp-price .save{
  background:var(--blush); color:var(--espresso);
  padding:.25rem .7rem; border-radius:var(--r-sm);
  font-size:.75rem; font-weight:700;
}
.pdp-price .gst{width:100%; font-size:.72rem; color:var(--muted); margin-top:.25rem}

.pdp-desc{
  color:var(--charcoal); font-size:.95rem; line-height:1.75;
  margin-bottom:1.75rem;
}
.pdp-desc p + p{margin-top:.85rem}

.pdp-options{margin-bottom:1.5rem}
.opt-label{
  display:flex; gap:.5rem; align-items:center;
  font-size:.78rem; letter-spacing:.06em; text-transform:uppercase;
  font-weight:600; color:var(--espresso); margin-bottom:.65rem;
}
.opt-val{color:var(--muted); font-weight:500; text-transform:none; letter-spacing:0}
.opt-pills{display:flex; gap:.5rem; flex-wrap:wrap}
.opt-pill{
  padding:.55rem 1rem; border:1.5px solid var(--border);
  border-radius:var(--r-sm); font-size:.82rem; font-weight:500;
  transition:all .2s;
}
.opt-pill:hover{border-color:var(--gold)}
.opt-pill.active{background:var(--espresso); color:var(--ivory); border-color:var(--espresso)}

.pdp-buy{display:flex; flex-direction:column; gap:.85rem; margin-bottom:1.5rem}
.qty-row{display:flex; gap:.85rem}
.qty{
  display:flex; align-items:center;
  border:1.5px solid var(--border); border-radius:var(--r-sm);
  padding:0 .25rem;
}
.qty button{
  width:38px; height:52px; font-size:1.25rem; color:var(--muted);
  transition:color .2s;
}
.qty button:hover{color:var(--espresso)}
.qty span{width:36px; text-align:center; font-weight:700; font-size:.95rem}
.btn-add, .btn-buy{
  flex:1; height:52px; border-radius:var(--r-sm);
  font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  transition:all .3s var(--ease);
}
.btn-add svg, .btn-buy svg{width:16px; height:16px}
.btn-add{background:transparent; color:var(--espresso); border:1.5px solid var(--espresso)}
.btn-add:hover{background:var(--espresso); color:var(--ivory)}
.btn-buy{
  background:linear-gradient(135deg, var(--espresso), #3a2e26);
  color:var(--ivory); width:100%;
}
.btn-buy:hover{background:linear-gradient(135deg, var(--gold-d), var(--gold)); transform:translateY(-2px); box-shadow:0 10px 25px rgba(184,144,96,.3)}

.pdp-meta{display:flex; gap:1.5rem; flex-wrap:wrap; margin-bottom:1.5rem}
.pdp-meta-btn{
  display:flex; align-items:center; gap:.4rem;
  font-size:.8rem; color:var(--muted); transition:color .2s;
}
.pdp-meta-btn:hover{color:var(--espresso)}
.pdp-meta-btn svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.5}

.pincode{
  background:var(--cream); border-radius:var(--r-md);
  padding:1rem; margin-bottom:1.5rem;
}
.pincode-head{
  font-size:.78rem; letter-spacing:.05em; text-transform:uppercase;
  font-weight:700; color:var(--espresso);
  margin-bottom:.65rem; display:flex; align-items:center; gap:.4rem;
}
.pincode-head svg{width:16px; height:16px; color:var(--gold); fill:none; stroke:currentColor; stroke-width:1.5}
.pincode-form{display:flex; gap:.5rem}
.pincode-form input{
  flex:1; padding:.7rem .85rem; border:1px solid var(--border);
  border-radius:var(--r-sm); font-size:.88rem; background:var(--white);
}
.pincode-form input:focus{outline:1px solid var(--gold); border-color:var(--gold)}
.pincode-form button{
  padding:.7rem 1.25rem; background:var(--espresso); color:var(--ivory);
  border-radius:var(--r-sm); font-size:.75rem; letter-spacing:.05em;
  text-transform:uppercase; font-weight:700;
}
.pincode-result{
  display:none; margin-top:.75rem; padding:.65rem .85rem;
  background:var(--white); border-radius:var(--r-sm);
  font-size:.82rem; color:var(--sage); border:1px solid rgba(168,181,160,.3);
}
.pincode-result.show{display:block}

.trust-row{
  display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem;
  margin-bottom:1.5rem;
}
@media (max-width:520px){.trust-row{grid-template-columns:repeat(2,1fr)}}
.trust-cell{
  padding:.85rem .5rem; text-align:center;
  border:1px solid var(--border); border-radius:var(--r-sm);
  background:var(--white);
}
.trust-cell svg{width:20px; height:20px; color:var(--gold-d); margin-bottom:.3rem; fill:none; stroke:currentColor; stroke-width:1.3}
.trust-cell strong{display:block; font-size:.72rem; font-weight:700}
.trust-cell small{font-size:.65rem; color:var(--muted)}

.sku-row{
  padding:1.25rem 0; font-size:.82rem; color:var(--muted);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  display:flex; flex-direction:column; gap:.35rem;
}
.sku-row strong{color:var(--espresso); font-weight:600; margin-right:.35rem}
.sku-row a{color:var(--gold-d)}
.sku-row a:hover{text-decoration:underline}

.accordion{margin-top:1.5rem}
.acc-item{border-bottom:1px solid var(--border)}
.acc-head{
  width:100%; padding:1.1rem 0;
  display:flex; justify-content:space-between; align-items:center;
  font-family:'Fraunces',serif; font-size:1.05rem; font-weight:500;
  text-align:left;
}
.acc-head svg{width:16px; height:16px; transition:transform .3s; fill:none; stroke:currentColor; stroke-width:1.5}
.acc-item.open .acc-head svg{transform:rotate(180deg)}
.acc-body{
  max-height:0; overflow:hidden;
  font-size:.88rem; color:var(--muted); line-height:1.75;
  transition:max-height .4s var(--ease), padding .4s var(--ease);
}
.acc-item.open .acc-body{max-height:500px; padding:0 0 1.25rem}
.acc-body ul{list-style:none; margin:.5rem 0}
.acc-body li{position:relative; padding-left:1.1rem; margin-bottom:.35rem}
.acc-body li::before{
  content:''; position:absolute; left:0; top:.65rem;
  width:5px; height:5px; border-radius:50%; background:var(--gold);
}

.pair-it{
  margin-top:2rem; padding:1.5rem;
  background:linear-gradient(135deg, var(--cream), var(--sand));
  border-radius:var(--r-md);
}
.pair-head{
  font-family:'Fraunces',serif; font-size:1.05rem;
  margin-bottom:1rem; display:flex; align-items:center; justify-content:space-between;
}
.pair-head .save{font-size:.7rem; color:var(--terra); font-weight:700; letter-spacing:.1em}
.pair-items{display:flex; gap:.85rem}
.pair-item{
  flex:1; display:flex; flex-direction:column; gap:.5rem;
  padding:.6rem; background:var(--white); border-radius:var(--r-sm);
  cursor:pointer; transition:transform .2s;
}
.pair-item:hover{transform:translateY(-2px)}
.pair-item .frame{aspect-ratio:1; border-radius:var(--r-sm)}
.pair-name{font-size:.78rem; font-weight:500; line-height:1.3}
.pair-price{font-size:.82rem; font-weight:700}

/* PDP TABS */
.pdp-tabs{
  margin:5rem 0 3rem; border-top:1px solid var(--border);
  padding-top:3rem;
}
.tab-heads{
  display:flex; gap:2.5rem; border-bottom:1px solid var(--border);
  margin-bottom:2rem; overflow-x:auto;
}
.tab-heads button{
  padding:0 0 1rem;
  font-family:'Fraunces',serif; font-size:1.2rem;
  font-weight:400; color:var(--muted);
  border-bottom:2px solid transparent;
  transition:all .3s; white-space:nowrap;
}
.tab-heads button.active{color:var(--espresso); border-bottom-color:var(--gold)}
.tab-heads button:hover{color:var(--espresso)}
.tab-panel{display:none}
.tab-panel.active{display:block; animation:viewIn .4s var(--ease)}
.desc-body{max-width:760px; font-size:.98rem; line-height:1.85; color:var(--charcoal)}
.desc-body h3{font-family:'Fraunces',serif; font-weight:400; font-size:1.35rem; margin:1.75rem 0 1rem}
.desc-body p + p{margin-top:.85rem}
.desc-features{display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; margin-top:1.25rem}
@media (max-width:640px){.desc-features{grid-template-columns:1fr}}
.desc-feat{padding:1rem; background:var(--cream); border-radius:var(--r-sm)}
.desc-feat strong{display:block; font-family:'Fraunces',serif; font-size:1rem; margin-bottom:.35rem}
.desc-feat span{font-size:.85rem; color:var(--muted)}

.reviews-head{
  display:grid; grid-template-columns:1fr 2fr; gap:3rem;
  padding:1.5rem; background:var(--cream); border-radius:var(--r-md);
  margin-bottom:2rem;
}
@media (max-width:768px){.reviews-head{grid-template-columns:1fr; gap:1.5rem}}
.rev-avg{text-align:center}
.rev-avg-num{font-family:'Fraunces',serif; font-size:3rem; font-weight:300; line-height:1}
.rev-avg .stars{color:var(--gold); font-size:1.2rem; letter-spacing:.1em; margin:.5rem 0; display:block}
.rev-avg small{color:var(--muted); font-size:.78rem}
.rev-bars{display:flex; flex-direction:column; gap:.5rem}
.rev-bar{display:flex; align-items:center; gap:.75rem; font-size:.78rem; color:var(--muted)}
.rev-bar-num{width:14px; text-align:right}
.rev-bar-track{flex:1; height:6px; background:var(--border); border-radius:999px; overflow:hidden}
.rev-bar-fill{height:100%; background:var(--gold); border-radius:999px}
.rev-bar-count{width:30px; text-align:right; font-variant-numeric:tabular-nums}

/* RELATED */
.related-head{
  display:flex; align-items:baseline; justify-content:space-between;
  margin-bottom:2rem; flex-wrap:wrap; gap:1rem;
}
.related-head h2{
  font-family:'Fraunces',serif; font-size:clamp(1.75rem, 3vw, 2.25rem);
  font-weight:300; letter-spacing:-.01em;
}
.related-head h2 .italic{font-style:italic; color:var(--gold)}

/* STICKY MOBILE BUY */
.sticky-buy{
  position:fixed; bottom:0; left:0; right:0;
  padding:.75rem 1rem; background:var(--white);
  box-shadow:0 -4px 20px rgba(0,0,0,.08);
  z-index:40; display:none; align-items:center; gap:.75rem;
  transform:translateY(100%); transition:transform .35s var(--ease);
}
.sticky-buy.show{transform:translateY(0); display:flex}
.sticky-price{flex:0 0 auto; line-height:1.1}
.sticky-price .n{font-family:'Fraunces',serif; font-weight:700; font-size:1.1rem}
.sticky-price .w{color:var(--muted); text-decoration:line-through; font-size:.7rem; display:block}
.sticky-buy .btn-buy{flex:1; height:48px; font-size:.75rem}
@media (max-width:768px){
  .sticky-buy.show{display:flex}
  body.has-sticky{padding-bottom:80px}
}

/* ============================================================
   CART DRAWER
   ============================================================ */
.drawer-overlay{
  position:fixed; inset:0; background:rgba(26,20,16,.5);
  opacity:0; pointer-events:none; transition:opacity .3s;
  z-index:80; backdrop-filter:blur(4px);
}
.drawer-overlay.open{opacity:1; pointer-events:auto}

.cart-drawer{
  position:fixed; top:0; right:0; bottom:0;
  width:440px; max-width:100vw; background:var(--ivory);
  z-index:90; display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .4s var(--ease);
  box-shadow:-8px 0 40px rgba(0,0,0,.1);
}
.cart-drawer.open{transform:translateX(0)}
.drawer-head{
  display:flex; justify-content:space-between; align-items:center;
  padding:1.5rem; border-bottom:1px solid var(--border);
}
.drawer-head h3{font-family:'Fraunces',serif; font-size:1.4rem; font-weight:500}
.drawer-head .count{font-size:.85rem; color:var(--muted); margin-left:.5rem}
.drawer-close{
  width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.drawer-close:hover{background:rgba(26,20,16,.06)}
.drawer-close svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5}

.free-ship-bar{padding:1rem 1.5rem; background:var(--cream); border-bottom:1px solid var(--border)}
.free-ship-text{font-size:.82rem; margin-bottom:.5rem}
.free-ship-text strong{color:var(--gold-d)}
.free-ship-bar .ship-progress{height:5px; background:var(--white); border-radius:999px; overflow:hidden}
.ship-progress-fill{height:100%; width:78%; background:linear-gradient(90deg, var(--gold), var(--gold-d)); border-radius:999px}

.drawer-body{flex:1; overflow-y:auto; padding:1.25rem 1.5rem}
.cart-item{
  display:grid; grid-template-columns:80px 1fr auto; gap:1rem;
  padding:1rem 0; border-bottom:1px solid var(--border);
  align-items:flex-start;
}
.cart-item .frame{width:80px; aspect-ratio:1; border-radius:var(--r-sm)}
.cart-info .cat{font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:.2rem}
.cart-info h4{font-family:'Fraunces',serif; font-size:.95rem; font-weight:500; margin-bottom:.4rem}
.cart-price{font-weight:700; font-size:.9rem; margin-bottom:.5rem}
.qty-ctl{display:flex; align-items:center; gap:.4rem; border:1px solid var(--border); border-radius:var(--r-sm); padding:.15rem; width:fit-content}
.qty-ctl button{width:24px; height:24px; font-size:.85rem; color:var(--muted); border-radius:3px}
.qty-ctl button:hover{background:var(--cream); color:var(--espresso)}
.qty-ctl span{min-width:24px; text-align:center; font-size:.82rem; font-weight:600}
.cart-rm{font-size:.7rem; color:var(--muted); text-transform:uppercase; letter-spacing:.05em}
.cart-rm:hover{color:var(--terra)}

.cart-upsell{margin-top:1.5rem; padding:1rem; background:var(--cream); border-radius:var(--r-md)}
.cart-upsell-head{display:flex; justify-content:space-between; align-items:center; margin-bottom:.85rem}
.cart-upsell-head h5{font-family:'Fraunces',serif; font-size:.95rem; font-weight:500}
.cart-upsell-head small{font-size:.7rem; color:var(--terra); font-weight:700; letter-spacing:.05em}
.upsell-items{display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem}
.upsell-item{background:var(--white); padding:.5rem; border-radius:var(--r-sm); cursor:pointer; transition:transform .2s}
.upsell-item:hover{transform:translateY(-2px)}
.upsell-item .frame{aspect-ratio:1; border-radius:4px; margin-bottom:.4rem}
.upsell-item-name{font-size:.7rem; font-weight:500; line-height:1.3; margin-bottom:.2rem}
.upsell-item-price{font-size:.75rem; font-weight:700}

.drawer-foot{padding:1.5rem; border-top:1px solid var(--border); background:var(--white)}
.drawer-total{display:flex; justify-content:space-between; margin-bottom:.5rem; font-size:.88rem; color:var(--muted)}
.drawer-total .amt{font-weight:600; color:var(--espresso)}
.drawer-total .saving{color:var(--terra)}
.drawer-total.grand{font-family:'Fraunces',serif; font-size:1.2rem; color:var(--espresso); font-weight:500; padding-top:.75rem; border-top:1px solid var(--border); margin-top:.5rem}
.drawer-total.grand span{font-weight:700}
.drawer-btn{
  width:100%; padding:1rem; background:var(--espresso); color:var(--ivory);
  border-radius:var(--r-sm); font-size:.82rem; letter-spacing:.12em;
  text-transform:uppercase; font-weight:700;
  display:flex; align-items:center; justify-content:center; gap:.5rem;
  margin-top:1rem; transition:all .3s;
}
.drawer-btn:hover{background:var(--gold-d)}
.drawer-btn svg{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5}
.drawer-secure{
  display:flex; align-items:center; justify-content:center; gap:.4rem;
  font-size:.72rem; color:var(--muted); margin-top:.85rem;
}
.drawer-secure svg{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5}

/* ============================================================
   NEWSLETTER + FOOTER
   ============================================================ */
.newsletter-strip{
  background:var(--espresso); color:var(--ivory);
  padding:4rem 0;
}
.newsletter-wrap{
  display:grid; grid-template-columns:1fr 1fr; gap:3rem;
  align-items:center;
}
@media (max-width:768px){.newsletter-wrap{grid-template-columns:1fr}}
.newsletter-wrap h2{
  font-family:'Fraunces',serif; font-size:clamp(1.75rem, 3vw, 2.5rem);
  font-weight:300; line-height:1.1;
}
.newsletter-wrap h2 .italic{font-style:italic; color:var(--gold-l)}
.newsletter-wrap p{color:rgba(250,246,238,.7); margin-top:1rem}
.newsletter-form{
  display:flex; gap:.5rem;
  background:rgba(255,255,255,.08); border-radius:var(--r-full);
  padding:.35rem; max-width:480px;
}
.newsletter-form input{
  flex:1; background:none; border:none; color:var(--ivory);
  padding:.85rem 1.25rem; font-size:.95rem; outline:none;
}
.newsletter-form input::placeholder{color:rgba(250,246,238,.5)}
.newsletter-form button{
  padding:.85rem 1.75rem; border-radius:var(--r-full);
  background:var(--gold); color:var(--espresso);
  font-weight:700; font-size:.78rem;
  letter-spacing:.05em; text-transform:uppercase;
  transition:background .3s;
}
.newsletter-form button:hover{background:var(--gold-l)}

.footer{background:var(--cream); padding:5rem 0 2rem}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3rem; margin-bottom:3rem}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr; gap:2rem}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
.footer-brand .logo{margin-bottom:1.25rem}
.footer-brand p{color:var(--muted); font-size:.88rem; margin-bottom:1rem; max-width:340px}
.socials{display:flex; gap:.5rem; margin-top:1rem}
.social-btn{
  width:38px; height:38px; border-radius:50%; background:var(--white);
  display:flex; align-items:center; justify-content:center;
  transition:all .3s;
}
.social-btn:hover{background:var(--gold); color:var(--ivory); transform:translateY(-2px)}
.social-btn svg{width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.5}
.footer-col h4{font-family:'Fraunces',serif; font-size:1.05rem; margin-bottom:1.25rem; font-weight:500}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:.65rem}
.footer-col a{color:var(--muted); font-size:.85rem; transition:color .2s}
.footer-col a:hover{color:var(--espresso)}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:2rem; border-top:1px solid var(--border);
  font-size:.78rem; color:var(--muted); flex-wrap:wrap; gap:1rem;
}
.pays{display:flex; gap:.5rem; align-items:center}
.pay-icon{padding:.3rem .6rem; background:var(--white); border-radius:4px; font-size:.65rem; font-weight:700; color:var(--muted)}

/* ============================================================
   WHATSAPP FLOAT + TOAST
   ============================================================ */
.whatsapp-float{
  position:fixed; bottom:1.5rem; left:1.5rem;
  width:56px; height:56px; border-radius:var(--r-full);
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.35);
  z-index:30; transition:transform .3s var(--ease);
}
.whatsapp-float:hover{transform:scale(1.08)}
.whatsapp-float svg{width:28px; height:28px}
.whatsapp-float::before{
  content:''; position:absolute; inset:-4px; border-radius:var(--r-full);
  background:#25D366; opacity:.3; animation:wa-pulse 2.5s infinite; z-index:-1;
}
@keyframes wa-pulse{0%,100%{transform:scale(1); opacity:.3}50%{transform:scale(1.2); opacity:0}}
@media (max-width:640px){.whatsapp-float{bottom:5.5rem}}
body.has-sticky .whatsapp-float{bottom:5.5rem}

.toast{
  position:fixed; bottom:2rem; right:2rem; z-index:200;
  background:var(--espresso); color:var(--ivory);
  padding:1rem 1.5rem; border-radius:var(--r-md);
  display:flex; align-items:center; gap:.75rem;
  box-shadow:0 12px 30px rgba(0,0,0,.2);
  transform:translateY(120%); opacity:0;
  transition:all .4s var(--ease);
  font-size:.88rem; max-width:320px;
}
.toast.show{transform:translateY(0); opacity:1}
.toast svg{width:20px; height:20px; color:var(--gold)}
@media (max-width:640px){
  .toast{bottom:1rem; right:1rem; left:1rem; max-width:none}
}

/* ============================================================
   Additions for PHP pages (not in original SPA reference)
   ============================================================ */
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.06em}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--espresso)}
.breadcrumb .curr{color:var(--espresso)}

.shop-head{margin:1rem 0 2rem;max-width:720px}
.shop-head h1{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:1.1}
.shop-head .lead{color:var(--muted);margin-top:.4rem}

.shop-layout{display:grid;grid-template-columns:240px 1fr;gap:2rem;margin-top:1rem}
@media (max-width:900px){.shop-layout{grid-template-columns:1fr}.sidebar{display:none}.sidebar.open{display:block}}
.sidebar{position:sticky;top:calc(var(--header-h) + 1rem);align-self:start}
.filter-group{margin-bottom:1.5rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border)}
.filter-group h4{font-family:'Fraunces',serif;font-weight:400;font-size:1rem;margin-bottom:.7rem;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem}
.filter-list{list-style:none}
.filter-list li a{display:flex;justify-content:space-between;padding:.42rem 0;color:var(--charcoal);font-size:.9rem;transition:color .2s ease}
.filter-list li a small{color:var(--muted)}
.filter-list li a:hover,.filter-list li a.active{color:var(--gold-d)}
.price-filter{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}
.price-filter input{flex:1;min-width:60px;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background:#fff;font-size:.85rem;font-family:inherit}
.price-filter span{color:var(--muted)}
.quick-prices{display:flex;flex-direction:column;gap:.3rem;margin-top:.8rem;font-size:.85rem}
.quick-prices a{color:var(--charcoal)}
.quick-prices a:hover{color:var(--gold-d)}

.shop-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;gap:1rem;flex-wrap:wrap}
.sort-form{display:flex;align-items:center;gap:.5rem;font-size:.88rem}
.sort-form select{padding:.5rem .9rem;border:1px solid var(--border);border-radius:999px;background:#fff;font-family:inherit}

.empty-state{text-align:center;padding:4rem 2rem;color:var(--muted)}
.empty-state h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.6rem;color:var(--espresso);margin-bottom:.4rem}

/* Product page extras */
.pdp-offers{display:flex;gap:.6rem;flex-wrap:wrap;margin:1rem 0}
.offer{background:var(--cream);padding:.6rem 1rem;border-radius:10px;display:flex;gap:.6rem;align-items:baseline;font-size:.82rem}
.offer strong{font-family:'SF Mono',monospace;color:var(--gold-d);letter-spacing:.04em}
.pdp-pincode{margin:1.5rem 0;padding:1rem;background:var(--sand);border-radius:12px}
.pdp-pincode label{display:block;font-weight:600;font-size:.85rem;margin-bottom:.5rem}
.pin-row{display:flex;gap:.5rem}
.pin-row input{flex:1;padding:.6rem 1rem;border:1px solid var(--border);border-radius:999px;background:#fff;font-family:inherit}
.pincode-result{margin-top:.6rem;font-size:.82rem;color:var(--gold-d);display:none}
.pincode-result.show{display:block}
.pair-it{margin:3rem 0;padding:2rem 0;border-top:1px solid var(--border)}
.rating-row{display:flex;gap:.7rem;align-items:center;margin:.3rem 0 .7rem;font-size:.86rem;color:var(--muted)}
.rating-row .stars{color:var(--gold)}

/* Cart page */
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem}
@media (max-width:900px){.cart-layout{grid-template-columns:1fr}}
.cart-list{display:flex;flex-direction:column;gap:.8rem}
.cart-row{display:grid;grid-template-columns:90px 1fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid var(--border);border-radius:12px;padding:1rem}
.cart-row .frame{width:90px;height:90px;border-radius:10px;overflow:hidden}
.cart-row .frame img{width:100%;height:100%;object-fit:cover}
.cart-row-info .cat{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:.2rem}
.cart-row-info h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.1rem}
.cart-row-info .cart-row-price{margin-top:.2rem;color:var(--gold-d);font-weight:600}
.cart-row-right{text-align:right}
.cart-line-total{font-family:'Fraunces',serif;font-size:1.2rem;margin-bottom:.3rem}
.cart-rm{color:var(--muted);font-size:.82rem;text-decoration:underline}
.cart-rm:hover{color:var(--terra)}

.cart-summary,.checkout-summary{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.4rem;align-self:start;position:sticky;top:calc(var(--header-h) + 1rem)}
.cart-summary h3,.checkout-summary h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.3rem;margin-bottom:1rem}
.sum-row{display:flex;justify-content:space-between;padding:.4rem 0;font-size:.92rem}
.sum-row.grand{font-family:'Fraunces',serif;font-size:1.3rem;padding-top:.8rem}
.coupon-form{display:flex;gap:.4rem;margin:1rem 0}
.coupon-form input{flex:1;padding:.6rem 1rem;border:1px solid var(--border);border-radius:999px;background:#fff;font-family:inherit;font-size:.85rem}

/* Checkout */
.checkout-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:2.5rem}
@media (max-width:900px){.checkout-layout{grid-template-columns:1fr}}
.checkout-fields h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.3rem;margin-bottom:1rem;margin-top:.4rem}
.checkout-fields label{display:block;margin-bottom:.8rem;font-size:.88rem;color:var(--charcoal)}
.checkout-fields input,.checkout-fields textarea,.checkout-fields select{
  width:100%;margin-top:.3rem;padding:.7rem 1rem;border:1px solid var(--border);border-radius:10px;background:#fff;font-family:inherit;font-size:.95rem
}
.checkout-fields textarea{resize:vertical}
.pay-methods{display:flex;flex-direction:column;gap:.6rem}
.pay-option{display:flex;gap:.7rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);border-radius:12px;cursor:pointer;background:#fff}
.pay-option:hover{border-color:var(--gold)}
.pay-option input{margin-top:.2rem}
.pay-option small{display:block;color:var(--muted);font-size:.82rem;margin-top:.2rem}
.pay-option.disabled{opacity:.5}

.co-items{display:flex;flex-direction:column;gap:.8rem;margin-bottom:1rem}
.co-item{display:grid;grid-template-columns:54px 1fr auto;gap:.8rem;align-items:center}
.co-item .frame{width:54px;height:54px;border-radius:8px;position:relative;overflow:hidden}
.co-item .frame img{width:100%;height:100%;object-fit:cover}
.co-item .frame .qty{position:absolute;top:-6px;right:-6px;background:var(--espresso);color:var(--ivory);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.72rem;font-weight:600}
.co-item-info .cat{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.co-item-info strong{display:block;font-family:'Fraunces',serif;font-weight:400;font-size:.92rem;margin-top:.15rem}
.co-item-price{font-weight:600;font-size:.9rem}
.secure-note{display:flex;align-items:center;gap:.4rem;justify-content:center;margin-top:.8rem;color:var(--muted);font-size:.78rem}
.secure-note svg{width:14px;height:14px}

.flash{background:var(--sand);padding:.8rem 1rem;border-radius:10px;margin-bottom:1.2rem;font-size:.9rem}
.flash.err{background:var(--blush);color:#8C2E2E}

/* Auth */
.auth-wrap{max-width:420px;margin:2rem auto;background:#fff;border:1px solid var(--border);border-radius:16px;padding:2.4rem}
.auth-tabs{display:flex;gap:.4rem;margin-bottom:1.4rem;padding:.3rem;background:var(--sand);border-radius:999px}
.auth-tabs a{flex:1;text-align:center;padding:.5rem 1rem;border-radius:999px;font-weight:500;font-size:.88rem;color:var(--muted)}
.auth-tabs a.active{background:#fff;color:var(--espresso);box-shadow:0 2px 6px rgba(0,0,0,.04)}
.auth-form label{display:block;margin-bottom:.9rem;font-size:.88rem}
.auth-form input{width:100%;margin-top:.3rem;padding:.7rem 1rem;border:1px solid var(--border);border-radius:10px;background:var(--ivory);font-family:inherit;font-size:.95rem}

/* Account */
.account-layout{display:grid;grid-template-columns:240px 1fr;gap:2rem}
@media (max-width:720px){.account-layout{grid-template-columns:1fr}}
.account-nav{display:flex;flex-direction:column;gap:.3rem;align-self:start;position:sticky;top:calc(var(--header-h) + 1rem)}
.account-nav h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.6rem;margin-bottom:.8rem}
.account-nav a{padding:.6rem .9rem;border-radius:8px;color:var(--charcoal);font-size:.92rem;font-weight:500}
.account-nav a:hover,.account-nav a.active{background:var(--sand)}
.account-main h2{font-family:'Fraunces',serif;font-weight:400;font-size:1.8rem;margin-bottom:1rem}
.order-row{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;padding:1rem;background:#fff;border:1px solid var(--border);border-radius:12px;margin-bottom:.7rem;align-items:center}
.order-row small{display:block;color:var(--muted);font-size:.78rem;margin-top:.2rem}
.order-row .stage{color:var(--gold-d);font-weight:500;font-size:.9rem}

/* Order success */
.os-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.8rem;margin-top:2rem}
.os-card h3{font-family:'Fraunces',serif;font-weight:400;font-size:1.2rem;margin-bottom:1rem}
.os-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px dashed var(--border);font-size:.92rem}
.os-row.grand{font-family:'Fraunces',serif;font-size:1.2rem;border-bottom:none;padding-top:1rem}

/* Nav search */
.nav-search{display:flex;align-items:center;gap:.2rem;position:relative}
.nav-search input{width:0;padding:0;border:none;background:transparent;font-family:inherit;transition:width .2s ease,padding .2s ease,border-color .2s ease}
.nav-search:focus-within input,.nav-search input:not(:placeholder-shown){width:160px;padding:.5rem 1rem;border:1px solid var(--border);border-radius:999px;background:#fff}
.search-big{display:flex;gap:.6rem;max-width:620px}
.search-big input{flex:1;padding:1rem 1.4rem;border:1px solid var(--border);border-radius:999px;background:#fff;font-family:inherit;font-size:1.1rem}

/* Home extras */
.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem;margin-top:2rem}
.why-item{padding:1.4rem;background:#fff;border-radius:14px;border:1px solid var(--border)}
.why-item strong{font-family:'Fraunces',serif;font-weight:400;font-size:1.6rem;color:var(--gold-d);display:block;margin-bottom:.5rem}
.why-item h4{font-family:'Fraunces',serif;font-weight:400;font-size:1.15rem;margin-bottom:.3rem}
.why-item p{color:var(--muted);font-size:.9rem}

/* ============================================================
   Style Quiz
   ============================================================ */
.quiz-hero{padding:5rem 0 2.5rem;text-align:center;background:linear-gradient(180deg,var(--cream),var(--ivory))}
.quiz-hero h1{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(2.4rem,5vw,4rem);line-height:1.05;margin:.6rem 0 1rem}
.quiz-hero .lead{color:var(--muted);max-width:520px;margin:0 auto;font-size:1.05rem}
.quiz-wrap{max-width:820px;padding:1rem 1.5rem 5rem;margin:0 auto}
.quiz-progress{margin-bottom:2.5rem}
.qp-bar{height:3px;background:var(--sand);border-radius:999px;overflow:hidden;margin-bottom:.7rem}
.qp-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--terra));transition:width .5s var(--ease)}
.qp-steps{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-weight:600}
.qp-steps span.active{color:var(--gold-d)}
.quiz-step{display:none;animation:fadeUp .5s var(--ease)}
.quiz-step.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.quiz-step h2{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:1.6rem;line-height:1.1}
.quiz-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:2rem}
.quiz-option{position:relative;display:flex;flex-direction:column;padding:1.4rem;background:#fff;border:1px solid var(--border);border-radius:14px;cursor:pointer;transition:all .25s var(--ease)}
.quiz-option:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 8px 24px rgba(184,144,96,.12)}
.quiz-option input{position:absolute;opacity:0}
.quiz-option:has(input:checked){background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}
.quiz-option:has(input:checked) .qo-sub{color:rgba(250,246,238,.7)}
.qo-title{font-family:'Fraunces',serif;font-weight:400;font-size:1.15rem}
.qo-sub{font-size:.82rem;color:var(--muted);margin-top:.3rem}
.quiz-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.quiz-nav span:empty{flex:1}
.quiz-loading{display:none;text-align:center;padding:4rem 0}
.quiz-loading.show{display:block;animation:fadeUp .4s var(--ease)}
.ql-spinner{width:48px;height:48px;border:3px solid var(--sand);border-top-color:var(--gold);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.4rem}
@keyframes spin{to{transform:rotate(360deg)}}
.quiz-results{display:none}
.quiz-results.show{display:block;animation:fadeUp .5s var(--ease)}
.qr-head{text-align:center;margin-bottom:2.5rem}
.qr-head h2{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(2rem,4vw,3rem);margin:.4rem 0 .8rem;line-height:1.05}
.qr-summary{color:var(--muted);max-width:560px;margin:0 auto 1.4rem}
.qr-actions{display:flex;justify-content:center;gap:.6rem;flex-wrap:wrap}

/* Quiz pill in nav */
.nav-link-quiz{padding:0!important}
.quiz-pill{display:inline-block;background:linear-gradient(90deg,var(--gold),var(--terra));color:#fff;padding:.4rem .9rem;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;transition:transform .2s ease}
.quiz-pill:hover{transform:translateY(-1px)}

/* Quiz CTA on home */
.quiz-cta{padding:3rem 0!important}
.quiz-cta-card{background:var(--espresso);color:var(--ivory);border-radius:24px;padding:3rem;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center;background-image:radial-gradient(circle at top right,rgba(184,144,96,.18),transparent 60%)}
@media (max-width:720px){.quiz-cta-card{grid-template-columns:1fr;text-align:center}}
.quiz-cta-card .eyebrow{color:var(--gold-l)}
.quiz-cta-card h2{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(1.8rem,3.5vw,2.6rem);margin:.4rem 0 .6rem;line-height:1.05}
.quiz-cta-card p{color:rgba(250,246,238,.78);max-width:520px}
.quiz-cta-card .btn-primary{background:var(--gold);color:var(--espresso)}
.quiz-cta-card .btn-primary:hover{background:var(--gold-l)}

/* ============================================================
   Frequently bought together
   ============================================================ */
.fbt{margin:3rem 0;padding:2rem 0;border-top:1px solid var(--border)}
.fbt-row{display:grid;grid-template-columns:1fr 280px;gap:2rem;align-items:center}
@media (max-width:760px){.fbt-row{grid-template-columns:1fr}}
.fbt-stack{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}
.fbt-item{display:flex;flex-direction:column;align-items:center;text-align:center;width:140px}
.fbt-item .frame{width:140px;height:140px;border-radius:14px;overflow:hidden;background:var(--cream)}
.fbt-item .frame img{width:100%;height:100%;object-fit:cover}
.fbt-meta{margin-top:.7rem}
.fbt-meta strong{display:block;font-family:'Fraunces',serif;font-weight:400;font-size:.92rem;line-height:1.2}
.fbt-meta span{display:block;color:var(--muted);font-size:.85rem;margin-top:.2rem}
.fbt-plus{font-size:1.6rem;color:var(--gold-d);font-weight:300;font-family:'Fraunces',serif}
.fbt-buy{background:var(--cream);padding:1.6rem;border-radius:16px;text-align:center}
.fbt-buy small{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;margin-bottom:.3rem}
.fbt-buy strong{font-family:'Fraunces',serif;font-weight:400;font-size:1.8rem;display:block;margin-bottom:.5rem}
.fbt-buy .btn{margin-top:.8rem}

/* ============================================================
   Free shipping progress (cart drawer)
   ============================================================ */
.ship-progress{padding:.9rem 1rem;background:var(--sand);font-size:.82rem;color:var(--charcoal);text-align:center;margin:0 0 .4rem}
.ship-progress strong{color:var(--gold-d)}
.ship-bar{height:4px;background:rgba(0,0,0,.06);border-radius:999px;margin-top:.5rem;overflow:hidden}
.ship-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--terra));transition:width .5s var(--ease)}

/* ============================================================
   Floating WhatsApp
   ============================================================ */
.fab-whatsapp{position:fixed;bottom:1.4rem;right:1.4rem;width:54px;height:54px;background:#25D366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(37,211,102,.4);z-index:90;transition:transform .25s ease}
.fab-whatsapp:hover{transform:scale(1.08)}
.fab-whatsapp svg{width:28px;height:28px}
.has-sticky .fab-whatsapp{bottom:5.6rem}
@media (max-width:600px){.fab-whatsapp{bottom:1rem;right:1rem;width:48px;height:48px}.fab-whatsapp svg{width:24px;height:24px}}

/* ============================================================
   Exit-intent modal
   ============================================================ */
.exit-modal{position:fixed;inset:0;background:rgba(26,20,16,.6);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:200;padding:1rem}
.exit-modal.show{display:flex;animation:fadeUp .35s var(--ease)}
.exit-card{background:var(--ivory);max-width:440px;width:100%;border-radius:20px;padding:2.4rem;text-align:center;position:relative;border:1px solid var(--border)}
.exit-close{position:absolute;top:.7rem;right:.9rem;background:none;border:none;font-size:1.6rem;color:var(--muted);cursor:pointer}
.exit-close:hover{color:var(--espresso)}
.exit-eyebrow{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.74rem;font-weight:700;color:var(--gold-d);margin-bottom:.6rem}
.exit-card h3{font-family:'Fraunces',serif;font-weight:300;font-size:2rem;line-height:1.05;margin-bottom:.6rem}
.exit-card p{color:var(--muted);margin-bottom:1.4rem}
.exit-code{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .6rem .6rem 1.2rem;background:#fff;border:1.5px dashed var(--gold);border-radius:12px;margin-bottom:1.2rem}
.exit-code code{font-family:'SF Mono',monospace;font-size:1.1rem;font-weight:600;color:var(--gold-d);letter-spacing:.08em}
.exit-code button{background:var(--espresso);color:var(--ivory);padding:.45rem 1rem;border-radius:8px;font-size:.85rem;cursor:pointer}
.exit-card small{display:block;color:var(--muted);font-size:.78rem;margin-top:.7rem}

/* ============================================================
   v5 — Homepage conversion features
   ============================================================ */

/* Hero trust line + live viewers */
.hero-trust{display:flex;align-items:center;gap:.8rem;margin-bottom:1rem;font-size:.85rem;color:var(--muted);flex-wrap:wrap}
.hero-trust strong{color:var(--espresso)}
.hero-trust .stars{color:var(--gold)}
.trust-divider{color:var(--border)}
.live-dot{width:8px;height:8px;border-radius:50%;background:#22a06b;display:inline-block;box-shadow:0 0 0 0 rgba(34,160,107,.7);animation:livePulse 1.6s ease-out infinite;margin-right:.2rem;vertical-align:middle}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(34,160,107,.55)}70%{box-shadow:0 0 0 10px rgba(34,160,107,0)}100%{box-shadow:0 0 0 0 rgba(34,160,107,0)}}

.btn-lg{padding:1rem 1.8rem;font-size:.95rem}
.hero-bullets{display:flex;flex-wrap:wrap;gap:1.2rem;margin-top:1.5rem;color:var(--muted);font-size:.85rem}
.hero-bullets span{display:inline-flex;align-items:center;gap:.4rem}
.hero-bullets svg{width:14px;height:14px;color:#22a06b}

/* Hero stock strip */
.hero-stock-strip{position:absolute;bottom:1.2rem;left:1.2rem;right:1.2rem;background:rgba(26,20,16,.85);backdrop-filter:blur(8px);color:var(--ivory);padding:.7rem 1rem;border-radius:12px;font-size:.82rem;text-align:center}
.hero-stock-strip strong{color:#FFB66E}

/* Flash strip with countdown */
.flash-strip{background:linear-gradient(90deg,#1A1410,#2D2520);color:var(--ivory);padding:.9rem 0;position:relative;z-index:3}
.flash-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}
.flash-tag{display:inline-block;background:var(--terra);color:#fff;padding:.22rem .65rem;border-radius:999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-right:.6rem}
.flash-row code{background:rgba(255,255,255,.12);padding:.18rem .55rem;border-radius:6px;font-family:'SF Mono',monospace;font-size:.85rem;color:var(--gold-l);letter-spacing:.04em;margin:0 .2rem}
.countdown{display:flex;gap:.5rem;align-items:center}
.countdown span{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.08);padding:.4rem .7rem;border-radius:8px;min-width:46px}
.countdown strong{font-family:'Fraunces',serif;font-size:1.15rem;line-height:1;font-weight:400}
.countdown small{font-size:.62rem;color:rgba(250,246,238,.65);text-transform:uppercase;letter-spacing:.06em;margin-top:.15rem}

/* Occasion grid (shop by moment) */
.occasion-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1.5rem}
.occasion-card{position:relative;height:280px;border-radius:18px;overflow:hidden;display:flex;align-items:flex-end;padding:1.6rem;color:var(--ivory);transition:transform .35s var(--ease)}
.occasion-card:hover{transform:translateY(-4px)}
.oc-bg{position:absolute;inset:0;z-index:1;transition:transform .8s var(--ease)}
.occasion-card:hover .oc-bg{transform:scale(1.05)}
.oc-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.55) 100%)}
.oc-content{position:relative;z-index:2}
.oc-eyebrow{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:600;color:rgba(250,246,238,.85);margin-bottom:.5rem}
.occasion-card h3{font-family:'Fraunces',serif;font-weight:300;font-size:1.6rem;line-height:1.1;margin-bottom:.6rem}
.oc-cta{font-size:.88rem;font-weight:500;border-bottom:1px solid rgba(250,246,238,.6);padding-bottom:.15rem}

.cat-strip{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.cat-pill{padding:.5rem 1rem;background:var(--sand);border-radius:999px;font-size:.85rem;font-weight:500;color:var(--charcoal);transition:all .2s ease}
.cat-pill:hover{background:var(--espresso);color:var(--ivory)}
.cat-pill-hot{background:linear-gradient(90deg,var(--terra),#A14C42);color:#fff}
.cat-pill-hot:hover{background:linear-gradient(90deg,#A14C42,var(--terra));color:#fff}

/* Sale eyebrow */
.eyebrow-hot{color:var(--terra)!important}

/* Featured edit bullets */
.featured-bullets{display:flex;flex-direction:column;gap:.4rem;margin:1rem 0 1.5rem;color:var(--muted);font-size:.9rem}

/* Press strip */
.press-strip{padding:2.5rem 0;background:#fff;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center}
.press-strip .eyebrow{display:block;margin-bottom:1rem}
.press-logos{display:flex;justify-content:center;align-items:center;gap:2.5rem;flex-wrap:wrap;font-family:'Italiana',serif;font-size:1.2rem;letter-spacing:.2em;color:var(--muted);opacity:.55}
.press-logos span{transition:opacity .25s ease;cursor:default}
.press-logos span:hover{opacity:1;color:var(--espresso)}
@media (max-width:600px){.press-logos{gap:1.4rem;font-size:.95rem}}

/* Testimonials with photos / product attribution */
.testi footer em{font-style:italic;color:var(--gold-d)}

/* Instagram UGC strip */
.ugc-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem;margin-top:1.5rem}
@media (max-width:900px){.ugc-grid{grid-template-columns:repeat(3,1fr)}}
.ugc-tile{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:10px;background:var(--cream);display:block}
.ugc-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.ugc-tile:hover img{transform:scale(1.06)}
.ugc-tile .ugc-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(26,20,16,.45);opacity:0;transition:opacity .25s ease}
.ugc-tile:hover .ugc-icon{opacity:1}
.ugc-tile svg{width:30px;height:30px}

/* FAQ */
.faq-container{max-width:760px}
.faq-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.faq-item{background:#fff;border:1px solid var(--border);border-radius:14px;padding:0;overflow:hidden;transition:border-color .25s ease}
.faq-item[open]{border-color:var(--gold)}
.faq-item summary{cursor:pointer;list-style:none;padding:1.2rem 1.5rem;font-family:'Fraunces',serif;font-weight:400;font-size:1.1rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item .faq-icon{font-family:'Manrope',sans-serif;font-size:1.4rem;font-weight:300;color:var(--gold-d);transition:transform .25s ease;flex-shrink:0}
.faq-item[open] .faq-icon{transform:rotate(45deg)}
.faq-body{padding:0 1.5rem 1.3rem;color:var(--muted);line-height:1.6;font-size:.95rem}

/* Recent purchases ticker (bottom-left popup) */
.rp-ticker{position:fixed;bottom:1.4rem;left:1.4rem;z-index:80;max-width:340px;transform:translateY(calc(100% + 30px));opacity:0;transition:transform .45s var(--ease),opacity .35s ease;pointer-events:none}
.rp-ticker.show{transform:none;opacity:1;pointer-events:auto}
.rp-card{display:flex;align-items:center;gap:.8rem;background:#fff;border:1px solid var(--border);border-radius:14px;padding:.7rem 2.4rem .7rem .7rem;box-shadow:0 12px 32px rgba(26,20,16,.12);position:relative}
.rp-card img{width:48px;height:48px;border-radius:10px;object-fit:cover;flex-shrink:0}
.rp-card div{display:flex;flex-direction:column;gap:.1rem;font-size:.82rem}
.rp-card strong{font-weight:600}
.rp-card span{color:var(--charcoal)}
.rp-card small{color:var(--muted);font-size:.7rem;margin-top:.15rem}
.rp-card button{position:absolute;top:.4rem;right:.4rem;width:22px;height:22px;border-radius:50%;background:transparent;color:var(--muted);font-size:1rem;line-height:1;cursor:pointer;border:none}
.rp-card button:hover{background:var(--sand);color:var(--espresso)}
@media (max-width:600px){.rp-ticker{left:.6rem;right:.6rem;bottom:.6rem;max-width:none}}

/* Make hero visual position relative for stock strip */
.hero-visual{position:relative}

/* ============== UI ALIGNMENT FIXES ============== */

/* Featured edit — text + visual side by side */
.featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.featured-visual{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:1rem;min-height:520px}
.featured-tile{position:relative;display:block;border-radius:14px;overflow:hidden;background:#f4ece1}
.featured-tile.tile-1{grid-row:span 2}
.featured-tile .frame{width:100%;height:100%;overflow:hidden}
.featured-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.featured-tile:hover img{transform:scale(1.05)}
.featured-tile .tile-label{position:absolute;left:1rem;bottom:1rem;color:#fff;font-weight:600;font-size:.95rem;
  text-shadow:0 2px 8px rgba(0,0,0,.5);letter-spacing:.02em}
@media (max-width:900px){
  .featured-grid{grid-template-columns:1fr;gap:2rem}
  .featured-visual{min-height:auto;grid-template-columns:1fr 1fr}
  .featured-tile.tile-1{grid-row:auto;aspect-ratio:1/1}
  .featured-tile{aspect-ratio:1/1}
}

/* Testimonials — 3 across */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:2.5rem;align-items:stretch}
.testi-grid > *{height:100%}
@media (max-width:900px){.testi-grid{grid-template-columns:1fr}}

/* Newsletter footer */
.news-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;align-items:center}
@media (max-width:768px){.news-grid{grid-template-columns:1fr;gap:1.5rem}}

/* Hero stats inline */
.hero-stats{display:flex;gap:2.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid rgba(0,0,0,.08);flex-wrap:wrap}
.hero-stat{display:flex;flex-direction:column;gap:.25rem}
.hero-stat strong{font-size:1.75rem;font-family:var(--serif,'Cormorant Garamond',serif);font-weight:500;line-height:1}
.hero-stat span{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}

/* Why-grid — keep auto-fit but cap to 4 cols max */
.why-grid{grid-template-columns:repeat(4,1fr)}
@media (max-width:1100px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.why-grid{grid-template-columns:1fr}}

/* Product card uniform height — keep grid items in straight rows */
.products-grid{align-items:stretch}
.products-grid > *{height:100%;display:flex;flex-direction:column}
.product-card{display:flex;flex-direction:column;height:100%}
.product-card .product-info,.product-card .pc-info{flex:1;display:flex;flex-direction:column}

/* Section spacing fallback */
section.sec{padding:4rem 0}
@media (max-width:768px){section.sec{padding:2.5rem 0}}

/* ============== PAGE-SPECIFIC FIXES ============== */

/* Shop page — 3 per row with comfortable card size (slightly bigger than baseline) */
.shop-main .products-grid{
  grid-template-columns:repeat(3, 1fr);
  gap:1.75rem;
}
@media (max-width:1100px){.shop-main .products-grid{grid-template-columns:repeat(2, 1fr); gap:1.5rem}}
@media (max-width:600px){.shop-main .products-grid{grid-template-columns:1fr; gap:1.25rem}}

.shop-main .product .product-img,
.shop-main .product .pcard-img,
.shop-main .product .frame,
.shop-main .product-card .product-img,
.shop-main .product-card .frame{aspect-ratio:1; height:auto; width:100%; border-radius:0; background:transparent; background-image:none}
.shop-main .product .frame::before,
.shop-main .product .frame::after{display:none !important}
.shop-main .product .frame > img{padding:0; mix-blend-mode:normal; object-fit:cover}
.shop-main .product h3,
.shop-main .product .product-name,
.shop-main .product-card h3{font-size:1.05rem; line-height:1.25}
.shop-main .product .price,
.shop-main .product .price-now,
.shop-main .product-card .price-now{font-size:1rem}

/* ============== SHOP PAGE — PREMIUM FILTERS ============== */
.shop-page .shop-container{padding:1.5rem 1rem 4rem;max-width:1500px;margin:0 auto}
@media (min-width:1100px){.shop-page .shop-container{padding:2rem 1.5rem 5rem}}

.shop-page .breadcrumb{font-size:.78rem;color:var(--muted);letter-spacing:.04em;margin-bottom:1.5rem;text-transform:uppercase}
.shop-page .breadcrumb a{color:var(--muted);text-decoration:none;transition:color .2s}
.shop-page .breadcrumb a:hover{color:var(--charcoal)}
.shop-page .breadcrumb .bc-sep{margin:0 .5rem;opacity:.5}

.shop-page .shop-head{margin-bottom:2rem;text-align:left}
.shop-page .shop-head h1{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(2rem,4vw,3rem);line-height:1.1;margin:0 0 .5rem}
.shop-page .shop-head h1 .italic{font-style:italic;color:var(--gold-d);font-weight:400}
.shop-page .shop-head .lead{color:var(--muted);font-size:.95rem;margin:0}

.shop-page .shop-layout{display:grid;grid-template-columns:280px 1fr;gap:1.75rem;align-items:start}
@media (max-width:1180px){.shop-page .shop-layout{grid-template-columns:260px 1fr;gap:1.5rem}}
@media (max-width:980px){.shop-page .shop-layout{grid-template-columns:1fr;gap:0}}

/* Sidebar — generous breathing room, no inner scroll */
.shop-page .sidebar{
  background:#fff;border:1px solid var(--border);border-radius:14px;padding:1.75rem 1.5rem;
  align-self:start;max-height:none!important;overflow-y:visible!important;padding-right:1.5rem!important;
}
@media (min-width:980px){
  .shop-page .sidebar{
    position:sticky;top:calc(var(--header-h,72px) + 1rem);
  }
}

.shop-page .sidebar-head{display:none;justify-content:space-between;align-items:center;margin:-1.25rem -1.25rem 1.25rem;padding:1rem 1.25rem;background:var(--cream);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:2}
.shop-page .sidebar-head h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.2rem;margin:0;color:var(--charcoal)}
.shop-page .sidebar-close{background:transparent;border:0;cursor:pointer;color:var(--charcoal);width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}
.shop-page .sidebar-close:hover{background:var(--cream)}
.shop-page .sidebar-close svg{width:18px;height:18px}

.shop-page .filter-group{margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--border)}
.shop-page .filter-group:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.shop-page .filter-group h4{
  font-family:'Fraunces',serif;font-weight:500;font-size:.78rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);margin:0 0 .8rem;
}

/* Category list — pill items with hover, active state */
.shop-page .filter-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}
.shop-page .filter-item{
  display:flex;align-items:center;justify-content:space-between;gap:.5rem;
  padding:.5rem .75rem;border-radius:8px;text-decoration:none;color:var(--charcoal);
  font-size:.9rem;transition:background .15s ease, color .15s ease;
  position:relative;
}
.shop-page .filter-item span:first-child{display:flex;align-items:center;gap:.55rem}
.shop-page .filter-item svg{width:14px;height:14px;color:var(--muted);flex-shrink:0}
.shop-page .filter-item .count{
  font-size:.72rem;color:var(--muted);background:var(--cream);
  padding:.15rem .5rem;border-radius:999px;font-weight:500;min-width:22px;text-align:center;
}
.shop-page .filter-item:hover{background:var(--cream);color:var(--espresso)}
.shop-page .filter-item.active{
  background:var(--espresso);color:var(--ivory);font-weight:500;
}
.shop-page .filter-item.active svg{color:var(--ivory)}
.shop-page .filter-item.active .count{background:rgba(255,255,255,.18);color:var(--ivory)}

/* Price filter */
.shop-page .price-filter{display:flex;flex-direction:column;gap:.7rem}
.shop-page .price-inputs{display:flex;align-items:center;gap:.4rem}
.shop-page .price-field{
  flex:1;display:flex;align-items:center;background:var(--cream);border:1px solid transparent;
  border-radius:8px;padding:0 .6rem;transition:border-color .15s;
}
.shop-page .price-field:focus-within{border-color:var(--gold)}
.shop-page .price-field .cur{color:var(--muted);font-size:.85rem;margin-right:.2rem}
.shop-page .price-field input{
  flex:1;width:100%;background:transparent;border:0;padding:.55rem 0;font-size:.85rem;
  color:var(--charcoal);font-family:inherit;outline:none;
}
.shop-page .price-field input::-webkit-outer-spin-button,.shop-page .price-field input::-webkit-inner-spin-button{display:none}
.shop-page .price-field input{appearance:textfield;-moz-appearance:textfield}
.shop-page .price-inputs .dash{color:var(--muted);font-size:.85rem}
.shop-page .filter-apply{
  background:var(--charcoal);color:#fff;border:0;border-radius:8px;
  padding:.55rem 1rem;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  font-weight:600;cursor:pointer;transition:background .2s;font-family:inherit;
}
.shop-page .filter-apply:hover{background:var(--gold-d)}

/* Quick price chips */
.shop-page .quick-prices{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem}
.shop-page .qp-chip{
  font-size:.75rem;padding:.35rem .7rem;border:1px solid var(--border);
  border-radius:999px;color:var(--charcoal);text-decoration:none;background:#fff;
  transition:all .15s;
}
.shop-page .qp-chip:hover{border-color:var(--gold);background:var(--cream)}
.shop-page .qp-chip.active{background:var(--charcoal);color:#fff;border-color:var(--charcoal)}

/* Highlight chips */
.shop-page .chip-row{display:flex;flex-direction:column;gap:.35rem}
.shop-page .hl-chip{
  display:inline-flex;align-items:center;gap:.55rem;padding:.5rem .8rem;
  border:1px solid var(--border);border-radius:8px;color:var(--charcoal);
  text-decoration:none;font-size:.85rem;background:#fff;transition:all .15s;
}
.shop-page .hl-chip svg{width:15px;height:15px;color:var(--gold-d);flex-shrink:0}
.shop-page .hl-chip:hover{border-color:var(--gold);background:var(--cream)}
.shop-page .hl-chip.active{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}
.shop-page .hl-chip.active svg{color:var(--ivory)}

.shop-page .clear-all-link{
  display:block;text-align:center;font-size:.78rem;color:var(--terra,#b85c5c);
  text-decoration:none;padding:.6rem;border:1px dashed var(--border);border-radius:8px;
  letter-spacing:.04em;transition:all .15s;
}
.shop-page .clear-all-link:hover{background:rgba(184,92,92,.06);border-color:var(--terra,#b85c5c)}

/* Shop main content */
.shop-page .shop-bar{
  display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  background:#fff;border:1px solid var(--border);border-radius:10px;
  padding:.7rem 1rem;margin-bottom:1rem;
}
.shop-page .filter-toggle{
  display:none;align-items:center;gap:.5rem;background:transparent;border:1px solid var(--border);
  padding:.5rem .85rem;border-radius:8px;font-size:.82rem;font-weight:500;color:var(--charcoal);
  cursor:pointer;font-family:inherit;position:relative;
}
.shop-page .filter-toggle svg{width:16px;height:16px}
.shop-page .filter-toggle .filter-count{
  background:var(--terra,#b85c5c);color:#fff;font-size:.65rem;font-weight:700;
  width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  margin-left:.2rem;
}
@media (max-width:980px){.shop-page .filter-toggle{display:inline-flex}}

.shop-page .result-count{font-size:.85rem;color:var(--charcoal);flex:1}
.shop-page .result-count strong{font-weight:600;color:var(--espresso)}

.shop-page .sort-form{display:flex;align-items:center;gap:.5rem}
.shop-page .sort-form label{font-size:.78rem;color:var(--muted);letter-spacing:.04em}
.shop-page .select-wrap{position:relative}
.shop-page .select-wrap select{
  appearance:none;-webkit-appearance:none;background:#fff;border:1px solid var(--border);
  border-radius:8px;padding:.5rem 2rem .5rem .85rem;font-size:.82rem;font-family:inherit;
  color:var(--charcoal);cursor:pointer;outline:none;font-weight:500;transition:border-color .15s;
}
.shop-page .select-wrap select:hover,.shop-page .select-wrap select:focus{border-color:var(--gold)}
.shop-page .select-caret{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);width:14px;height:14px;color:var(--charcoal);pointer-events:none}

/* Active filter chips bar */
.shop-page .active-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;align-items:center}
.shop-page .active-chip{
  display:inline-flex;align-items:center;gap:.4rem;background:var(--charcoal);color:#fff;
  padding:.4rem .8rem;border-radius:999px;font-size:.78rem;text-decoration:none;
  transition:background .15s;
}
.shop-page .active-chip svg{width:12px;height:12px}
.shop-page .active-chip:hover{background:var(--terra,#b85c5c)}
.shop-page .clear-chips{
  font-size:.78rem;color:var(--terra,#b85c5c);text-decoration:underline;
  margin-left:.5rem;
}

/* Empty state */
.shop-page .empty-state{
  background:#fff;border:1px dashed var(--border);border-radius:14px;
  padding:4rem 2rem;text-align:center;
}
.shop-page .empty-state h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.4rem;margin:0 0 .5rem}
.shop-page .empty-state p{color:var(--muted);margin:0}

/* Mobile drawer */
.shop-page .sidebar-overlay{
  position:fixed;inset:0;background:rgba(26,20,16,.55);
  z-index:99;opacity:0;visibility:hidden;transition:opacity .25s ease;
}
.shop-page .sidebar-overlay.show{opacity:1;visibility:visible}

@media (max-width:980px){
  .shop-page .sidebar{
    position:fixed;top:0;left:0;height:100vh;width:88%;max-width:380px;
    transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
    z-index:300;border-radius:0;border:0;border-right:1px solid var(--border);
    max-height:none;padding:1.25rem;overflow-y:auto;
  }
  .shop-page .sidebar.open{transform:translateX(0);box-shadow:0 0 40px rgba(0,0,0,.15)}
  .shop-page .sidebar-overlay{z-index:299}
  .shop-page .sidebar-head{display:flex}
}

/* Product detail page (PDP) — gallery + info side by side */
.pdp-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;margin-top:1.5rem;align-items:start}
@media (max-width:980px){.pdp-grid{grid-template-columns:1fr;gap:2rem}}

.pdp-gallery{display:grid;grid-template-columns:80px 1fr;gap:1rem;align-items:start}
@media (max-width:640px){.pdp-gallery{grid-template-columns:1fr}}
.pdp-thumbs{display:flex;flex-direction:column;gap:.6rem}
.pdp-thumb{width:80px;height:96px;border-radius:10px;overflow:hidden;border:2px solid transparent;cursor:pointer;background:var(--cream)}
.pdp-thumb.active{border-color:var(--gold)}
.pdp-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-main-img{position:relative;background:var(--cream);border-radius:14px;overflow:hidden;aspect-ratio:4/5}
.pdp-main-img img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-badge{position:absolute;top:1rem;left:1rem;background:var(--terra,#b85c5c);color:#fff;padding:.4rem .9rem;border-radius:999px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}

.pdp-info > * + *{margin-top:1.1rem}
.pdp-eyebrow{font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-d,#9a7c3a)}
.pdp-title{font-family:var(--serif,'Cormorant Garamond',serif);font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:500;line-height:1.15;margin:.4rem 0}
.pdp-price{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.pdp-price .price-now{font-size:1.6rem;font-weight:600}
.pdp-price .price-was{color:var(--muted);text-decoration:line-through}
.pdp-price .price-off{color:var(--terra,#b85c5c);font-weight:600;font-size:.9rem}
.pdp-desc{color:var(--muted);line-height:1.7}
.pdp-offers{background:var(--cream);border:1px dashed var(--border);border-radius:10px;padding:1rem 1.2rem;font-size:.9rem}
.pdp-buy{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:1.5rem}
.pdp-buy .qty-stepper{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:10px;overflow:hidden}
.pdp-buy .qty-stepper button{width:42px;height:48px;background:transparent;border:0;font-size:1.2rem;cursor:pointer}
.pdp-buy .qty-stepper span{width:42px;text-align:center;font-weight:600}
.pdp-buy .btn{flex:1;min-height:48px}
.pdp-pincode{display:flex;gap:.6rem;align-items:center;margin-top:1rem;font-size:.9rem}
.pdp-pincode input{flex:1;padding:.65rem .9rem;border:1px solid var(--border);border-radius:10px}
.pdp-meta{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:1rem;font-size:.8rem;color:var(--muted)}
.pdp-desc-full{padding:3rem 0;border-top:1px solid var(--border);margin-top:3rem}

/* Cart line item layout */
.cart-line{display:grid;grid-template-columns:90px 1fr auto auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--border)}
.cart-line .frame{width:90px;height:90px;border-radius:10px;overflow:hidden;background:var(--cream)}
.cart-line .frame img{width:100%;height:100%;object-fit:cover}
.cart-line-info strong{display:block;font-size:1rem;margin-bottom:.25rem}
.cart-line-info .cat{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.cart-line-total{font-weight:600;min-width:80px;text-align:right}

/* Sum-rows shared */
.sum-row{display:flex;justify-content:space-between;padding:.55rem 0;font-size:.95rem}
.sum-row.grand{font-size:1.15rem;font-weight:600;border-top:1px solid var(--border);padding-top:1rem;margin-top:.5rem}

/* ============== CART UI — REFINED ============== */
.cart-page .cart-layout{grid-template-columns:1fr 360px;gap:2rem;margin-top:1rem}
@media (max-width:900px){.cart-page .cart-layout{grid-template-columns:1fr;gap:1.5rem}}

.cart-page .cart-list{gap:.6rem}
.cart-page .cart-row{
  grid-template-columns:88px 1fr auto;
  gap:1.1rem;
  padding:.9rem 1.1rem;
  border-radius:10px;
  border:1px solid var(--border);
  background:#fff;
  transition:border-color .2s ease;
}
.cart-page .cart-row:hover{border-color:rgba(0,0,0,.16)}
.cart-page .cart-row .frame{width:88px;height:88px;border-radius:8px;flex-shrink:0;background:var(--cream)}
.cart-page .cart-row-info{display:flex;flex-direction:column;gap:.2rem;min-width:0;justify-content:center}
.cart-page .cart-row-info .cat{font-size:.65rem;letter-spacing:.12em;color:var(--muted);font-weight:500;text-transform:uppercase;margin:0;background:none!important;padding:0!important;border-radius:0!important;border:0!important;display:block;text-align:left;line-height:1.4}
.cart-page .cart-row-info a{color:inherit;text-decoration:none}
.cart-page .cart-row-info h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.05rem;line-height:1.3;margin:0;letter-spacing:0}
.cart-page .cart-row-info h3:hover{color:var(--gold-d)}
.cart-page .cart-row-price{display:flex;align-items:baseline;gap:.45rem;color:var(--charcoal);font-weight:600;font-size:.88rem;margin:.15rem 0 0}
.cart-page .cart-row-price small{color:var(--muted);font-weight:400;font-size:.78rem}
.cart-page .cart-row .qty-ctl{
  margin-top:.5rem;border:1px solid var(--border);border-radius:6px;padding:0;background:#fff;width:fit-content;display:inline-flex;align-items:center;
}
.cart-page .cart-row .qty-ctl button{width:26px;height:26px;border-radius:0;font-size:.9rem;color:var(--charcoal);background:transparent;border:0;cursor:pointer;transition:background .2s;line-height:1}
.cart-page .cart-row .qty-ctl button:hover{background:var(--cream)}
.cart-page .cart-row .qty-ctl span{min-width:26px;font-weight:500;font-size:.82rem;text-align:center;border-left:1px solid var(--border);border-right:1px solid var(--border);height:26px;line-height:26px}

.cart-page .cart-row-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:.5rem;height:100%;min-width:80px;text-align:right}
.cart-page .cart-line-total{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:600;color:var(--espresso);margin:0;letter-spacing:0}
.cart-page .cart-rm{
  display:inline-flex;align-items:center;gap:.2rem;background:transparent;border:0;cursor:pointer;
  color:var(--muted);font-size:.72rem;padding:.2rem;border-radius:4px;text-decoration:none;
  transition:color .2s;letter-spacing:.05em;text-transform:uppercase;
}
.cart-page .cart-rm:hover{color:var(--terra,#b85c5c);background:transparent;text-decoration:none}
.cart-page .cart-rm::before{content:"×";font-size:.95rem;line-height:1;font-weight:400}

/* Order summary — tighter */
.cart-page .cart-summary{padding:1.25rem 1.4rem;border-radius:12px;border:1px solid var(--border);background:#fff;box-shadow:none}
.cart-page .cart-summary h3{font-size:1.15rem;margin-bottom:.9rem;padding-bottom:.8rem;border-bottom:1px solid var(--border);font-family:'Fraunces',serif;font-weight:500}
.cart-page .cart-summary .sum-row{padding:.35rem 0;font-size:.85rem;color:var(--charcoal)}
.cart-page .cart-summary .sum-row.grand{font-size:1.15rem;font-weight:600;border-top:1px solid var(--border);margin-top:.6rem;padding-top:.85rem;font-family:'Fraunces',serif}
.cart-page .cart-summary hr{display:none}

.cart-page .coupon-form{display:flex;gap:.4rem;margin:1rem 0 .8rem}
.cart-page .coupon-form input{flex:1;padding:.55rem .85rem;border:1px solid var(--border);border-radius:6px;font-size:.8rem;background:#fff;font-family:inherit}
.cart-page .coupon-form input:focus{outline:none;border-color:var(--gold)}
.cart-page .coupon-form .btn{padding:.55rem 1rem;border-radius:6px;font-size:.7rem;letter-spacing:.06em}

.cart-page .cart-summary .btn-block{width:100%;padding:.85rem;font-size:.78rem;letter-spacing:.08em;border-radius:6px;margin-top:.3rem}
.cart-page .cart-summary .btn-link{text-align:center;display:block;margin-top:.7rem;color:var(--muted);font-size:.78rem;text-decoration:none;letter-spacing:.04em}
.cart-page .cart-summary .btn-link:hover{color:var(--charcoal);text-decoration:underline}

/* Free shipping progress nudge */
.cart-page .ship-progress{background:var(--cream);border-radius:6px;padding:.6rem .8rem;margin-bottom:.9rem;font-size:.78rem;color:var(--charcoal)}
.cart-page .ship-progress .bar{height:3px;background:rgba(0,0,0,.08);border-radius:999px;margin-top:.4rem;overflow:hidden}
.cart-page .ship-progress .bar > span{display:block;height:100%;background:var(--gold,#c9a96a);transition:width .4s}

.cart-page .empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;border:1px dashed var(--border)}
.cart-page .empty-state h3{font-family:'Fraunces',serif;font-size:1.4rem;font-weight:500;margin-bottom:.6rem}

@media (max-width:600px){
  .cart-page .cart-row{grid-template-columns:80px 1fr;gap:.8rem;padding:.8rem}
  .cart-page .cart-row .frame{width:80px;height:80px}
  .cart-page .cart-row-right{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;height:auto;border-top:1px solid var(--border);padding-top:.6rem;margin-top:.3rem}
}

/* ============== PRODUCT (PDP) — REFINED ============== */
.product-page .pdp-info{padding-top:0}
.product-page .pdp-info .pdp-eyebrow{font-size:.7rem;letter-spacing:.14em;color:var(--gold-d,#9a7c3a);text-transform:uppercase;margin-bottom:.3rem}
.product-page .pdp-info .pdp-title{font-family:'Fraunces',serif;font-weight:500;font-size:clamp(1.5rem,2.6vw,2.1rem);line-height:1.2;margin:0 0 .5rem}
.product-page .pdp-info .reviews-mini{font-size:.78rem;color:var(--muted);margin-bottom:.9rem}

.product-page .pdp-price{
  background:var(--cream);border-radius:8px;padding:.85rem 1.05rem;margin:0 0 1rem;
  display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap;
}
.product-page .pdp-price .price-now{font-size:1.3rem;font-weight:600;font-family:'Fraunces',serif;color:var(--espresso)}
.product-page .pdp-price .price-was{font-size:.95rem;color:var(--muted);text-decoration:line-through;font-weight:400}
.product-page .pdp-price .price-off,.product-page .pdp-price .price-save{
  background:rgba(184,92,92,.1);color:var(--terra,#b85c5c);font-size:.72rem;font-weight:600;padding:.25rem .55rem;border-radius:4px;letter-spacing:.05em;
}

.product-page .pdp-desc{color:var(--charcoal);line-height:1.65;font-size:.92rem;margin-bottom:1rem}
.product-page .pdp-desc p{margin-bottom:.7rem}

.product-page .pdp-offers{
  background:transparent;border:1px dashed var(--border);border-radius:8px;padding:.75rem 1rem;margin:.8rem 0 1.2rem;font-size:.8rem;line-height:1.5;
}
.product-page .pdp-offers strong{color:var(--gold-d);font-weight:600;letter-spacing:.05em;margin-right:.4rem;font-size:.78rem}

/* Quantity stepper on PDP — inline with buttons */
.product-page .pdp-buy{display:flex;flex-direction:row;gap:.6rem;align-items:stretch;flex-wrap:nowrap;margin-top:.8rem;margin-bottom:0}
.product-page .pdp-buy .qty-stepper,
.product-page .pdp-buy > .qty-sel,
.product-page .pdp-buy > div:first-child:not(.btn){
  display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:6px;background:#fff;height:44px;width:fit-content!important;flex:0 0 auto!important;
}
.product-page .pdp-buy .qty-stepper button,
.product-page .pdp-buy > .qty-sel button,
.product-page .pdp-buy > div:first-child:not(.btn) button{
  width:34px;height:44px;background:transparent;border:0;font-size:1rem;cursor:pointer;color:var(--charcoal);padding:0;line-height:1;
}
.product-page .pdp-buy .qty-stepper button:hover,
.product-page .pdp-buy > .qty-sel button:hover,
.product-page .pdp-buy > div:first-child:not(.btn) button:hover{background:var(--cream)}
.product-page .pdp-buy .qty-stepper span,
.product-page .pdp-buy > .qty-sel span,
.product-page .pdp-buy #qty{
  min-width:32px;text-align:center;font-weight:500;font-size:.85rem;
}
.product-page .pdp-buy .btn{
  flex:1 1 0;padding:0 1rem;height:44px;font-size:.74rem;letter-spacing:.08em;border-radius:6px;min-width:0;
}
@media (max-width:540px){
  .product-page .pdp-buy{flex-wrap:wrap}
  .product-page .pdp-buy .btn{flex:1 1 100%}
}

.product-page .pdp-pincode{
  display:flex;gap:.4rem;align-items:center;margin-top:.9rem;background:transparent;padding:0;
}
.product-page .pdp-pincode > span{font-size:.78rem;color:var(--muted)}
.product-page .pdp-pincode input{
  flex:1;padding:.5rem .8rem;border:1px solid var(--border);border-radius:6px;font-size:.82rem;height:36px;
}
.product-page .pdp-pincode button{
  padding:0 .9rem;height:36px;font-size:.7rem;letter-spacing:.06em;border-radius:6px;
}

.product-page .pdp-meta{
  margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border);
  display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;font-size:.74rem;color:var(--muted);letter-spacing:.03em;
}
.product-page .pdp-meta strong{color:var(--charcoal);font-weight:600}

.product-page .pdp-badge{font-size:.65rem;padding:.3rem .7rem;letter-spacing:.1em}

/* Wishlist heart button next to buttons */
.product-page .pdp-wish{
  width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--border);
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;
  flex:0 0 auto;color:var(--charcoal);
}
.product-page .pdp-wish:hover{border-color:var(--terra,#b85c5c);color:var(--terra,#b85c5c);background:rgba(184,92,92,.05)}
.product-page .pdp-wish svg{width:18px;height:18px}
.product-page .pdp-wish.active{background:var(--terra,#b85c5c);color:#fff;border-color:var(--terra,#b85c5c)}
.product-page .pdp-wish.active svg{fill:currentColor}

/* Stock urgency banner */
.product-page .pdp-stock-urgency{
  background:rgba(184,92,92,.08);color:var(--terra,#b85c5c);
  padding:.55rem .8rem;border-radius:6px;font-size:.78rem;font-weight:600;
  display:inline-block;margin-bottom:.6rem;letter-spacing:.02em;
}

/* Trust badges row */
.product-page .pdp-trust{
  display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1.2rem 0;
  padding:1rem;background:var(--cream);border-radius:8px;
}
@media (max-width:540px){.product-page .pdp-trust{grid-template-columns:repeat(2,1fr)}}
.product-page .pdp-trust-item{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:.35rem;
  font-size:.72rem;color:var(--charcoal);font-weight:600;line-height:1.2;
}
.product-page .pdp-trust-item svg{width:18px;height:18px;color:var(--gold-d)}
.product-page .pdp-trust-item small{display:block;color:var(--muted);font-weight:400;font-size:.68rem;margin-top:.1rem}

/* ============== AUTHENTIC REVIEWS SECTION ============== */
.reviews-section{display:flex;flex-direction:column;gap:2rem;padding:1rem 0}
.reviews-empty{
  text-align:center;padding:3rem 2rem;border-radius:14px;
  background:linear-gradient(135deg,#fbf3ea 0%, #f5e3d0 100%);
  border:1px solid rgba(107,46,77,.12);
}
.reviews-empty-tag{
  display:inline-block;background:#3a1d2c;color:#ffd9aa;
  padding:.35rem .8rem;border-radius:999px;font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:700;margin-bottom:1rem;
}
.reviews-empty h3{
  font-family:'Fraunces',serif;font-weight:400;font-size:clamp(1.1rem,2.4vw,1.5rem);
  color:var(--charcoal);margin:0 0 .5rem;line-height:1.3;
}
.reviews-empty p{font-size:.9rem;color:var(--muted);margin:0;max-width:460px;margin:0 auto;line-height:1.55}
.reviews-summary{
  display:grid;grid-template-columns:200px 1fr;gap:2.5rem;align-items:center;
  background:var(--cream);border-radius:14px;padding:1.6rem 2rem;
}
@media (max-width:680px){.reviews-summary{grid-template-columns:1fr;gap:1.5rem;text-align:center}}
.reviews-score{text-align:center;border-right:1px solid rgba(0,0,0,.08);padding-right:2rem}
@media (max-width:680px){.reviews-score{border-right:0;border-bottom:1px solid rgba(0,0,0,.08);padding:0 0 1.5rem}}
.big-score{font-family:'Fraunces',serif;font-size:3rem;font-weight:500;line-height:1;color:var(--espresso)}
.score-stars{color:var(--gold);font-size:1.1rem;letter-spacing:.15em;margin:.4rem 0}
.score-count{font-size:.8rem;color:var(--muted)}
.reviews-bars{display:flex;flex-direction:column;gap:.5rem}
.bar-row{display:grid;grid-template-columns:32px 1fr 36px;gap:.75rem;align-items:center;font-size:.78rem;color:var(--charcoal)}
.bar-row .star-label{font-weight:500}
.bar-row .bar{height:6px;background:rgba(0,0,0,.06);border-radius:999px;overflow:hidden}
.bar-row .bar > span{display:block;height:100%;background:var(--gold,#c9a96a);transition:width .4s}
.bar-row .bar-pct{color:var(--muted);text-align:right}

.review-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media (max-width:760px){.review-list{grid-template-columns:1fr}}
.review-card{
  background:#fff;border:1px solid var(--border);border-radius:12px;padding:1.2rem;
  display:flex;flex-direction:column;gap:.75rem;
}
.review-head{display:grid;grid-template-columns:38px 1fr auto;gap:.8rem;align-items:center}
.review-avatar{
  width:38px;height:38px;border-radius:50%;background:var(--gold);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:1rem;font-weight:600;
}
.review-name{font-size:.92rem;font-weight:600;color:var(--charcoal);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.review-name .verified{
  font-size:.65rem;font-weight:600;color:#2e8b57;background:rgba(46,139,87,.08);
  padding:.15rem .45rem;border-radius:4px;letter-spacing:.04em;
}
.review-meta{font-size:.74rem;color:var(--muted);margin-top:.15rem}
.review-stars{color:var(--gold);font-size:.85rem;letter-spacing:.05em;align-self:start}
.review-text{font-size:.88rem;line-height:1.6;color:var(--charcoal);margin:0;font-style:italic}

/* ============== FOOTER SOCIAL ICONS — fix giant SVGs ============== */
.footer .social{display:flex;gap:.7rem;margin-top:1.2rem}
.footer .social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;border:1px solid var(--border);
  color:var(--charcoal);background:transparent;transition:all .2s ease;
}
.footer .social a:hover{background:var(--espresso);color:var(--ivory);border-color:var(--espresso)}
.footer .social a svg{width:16px;height:16px;display:block}

/* ============== FBT — bigger cards, single-line names ============== */
.product-page .fbt{margin:3rem 0;padding:2.5rem 0;border-top:1px solid var(--border)}
.product-page .fbt-row{
  display:grid;grid-template-columns:1fr 320px;gap:2.5rem;align-items:stretch;
}
@media (max-width:980px){.product-page .fbt-row{grid-template-columns:1fr;gap:1.75rem}}

.product-page .fbt-stack{
  display:flex;align-items:stretch;justify-content:flex-start;gap:1.25rem;flex-wrap:nowrap;
}
@media (max-width:560px){.product-page .fbt-stack{flex-wrap:wrap;justify-content:center}}

.product-page .fbt-item{
  flex:1 1 0;min-width:0;max-width:none;text-align:center;display:flex;flex-direction:column;
  background:#fff;border-radius:14px;overflow:hidden;border:1px solid rgba(0,0,0,.04);
  transition:transform .25s ease, box-shadow .25s ease;
}
.product-page .fbt-item:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,0,0,.06)}
.product-page .fbt-item .frame{
  width:100%;aspect-ratio:1;height:auto;border-radius:0;overflow:hidden;background:var(--cream);
}
.product-page .fbt-item .frame img{width:100%;height:100%;object-fit:cover;display:block}
.product-page .fbt-meta{margin-top:0;padding:.95rem .9rem 1.05rem;text-align:center;display:flex;flex-direction:column;gap:.3rem;flex:1 1 auto}
.product-page .fbt-meta strong{
  display:block;font-family:'Fraunces',serif;font-weight:500;font-size:1rem;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--charcoal);
  text-align:center;
}
.product-page .fbt-meta .fbt-desc{
  margin:0;font-size:.78rem;line-height:1.4;color:var(--muted);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:2.2em;text-align:center;
}
.product-page .fbt-meta .fbt-price{
  display:block;color:var(--gold-d);font-size:.95rem;margin-top:auto;font-weight:600;text-align:center;
}

.product-page .fbt-plus{
  font-size:1.5rem;color:var(--gold-d);font-weight:300;align-self:center;
  flex:0 0 auto;padding-top:0;margin-top:0;line-height:1;
}

.product-page .fbt-buy{
  background:var(--cream);padding:1.5rem;border-radius:14px;text-align:center;align-self:start;
}
.product-page .fbt-buy small{
  display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;
  letter-spacing:.12em;font-weight:600;margin-bottom:.5rem;
}
.product-page .fbt-buy strong{
  font-family:'Fraunces',serif;font-weight:500;font-size:1.6rem;display:block;margin-bottom:.4rem;
}
.product-page .fbt-buy .btn{
  margin-top:.8rem;width:100%;padding:.7rem;font-size:.74rem;letter-spacing:.08em;
}

/* AI badge */
.fbt-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}
.fbt-head > div{display:flex;flex-direction:column;gap:.4rem}
.fbt-head .eyebrow{font-size:.7rem;letter-spacing:.16em;color:var(--gold-d);text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:.6rem}
.fbt-head .eyebrow::before{content:"";width:30px;height:1px;background:var(--gold-d);display:inline-block}
.fbt-head h2{font-family:'Fraunces',serif;font-size:clamp(1.4rem,2.6vw,2rem);font-weight:500;margin:0;line-height:1.15}
.ai-badge{
  display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold-d);font-weight:600;
  background:rgba(184,144,96,.08);padding:.45rem .85rem;border-radius:999px;border:1px solid rgba(184,144,96,.2);
}

/* ============== PAIR-IT — premium side products ============== */
.product-page .pair-it{margin:3.5rem 0 1rem;padding:3rem 2.5rem;border-radius:18px;background:var(--cream)}
.product-page .pair-it .sec-head{
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important;
  justify-content:flex-start!important;margin-bottom:2rem!important;
}
.product-page .pair-it .sec-head .eyebrow{font-size:.7rem;letter-spacing:.16em;color:var(--gold-d);text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:.6rem;margin:0}
.product-page .pair-it .sec-head .eyebrow::before{content:"";width:30px;height:1px;background:var(--gold-d);display:inline-block}
.product-page .pair-it .sec-head h2{font-family:'Fraunces',serif;font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:500;margin:0;line-height:1.15}
.product-page .pair-it .sec-head p.lead{color:var(--muted);font-size:.9rem;margin:.4rem 0 0;max-width:520px}

.product-page .pair-items{
  display:grid!important;grid-template-columns:repeat(3,1fr);gap:1.5rem;
}
@media (max-width:900px){.product-page .pair-items{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.product-page .pair-items{grid-template-columns:1fr}}
.product-page .pair-item{
  display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;
  text-decoration:none;color:inherit;transition:transform .25s ease, box-shadow .25s ease;
  border:1px solid rgba(0,0,0,.04);
}
.product-page .pair-item:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.08)}
.product-page .pair-item .frame{width:100%;aspect-ratio:1;border-radius:0;background:var(--cream);overflow:hidden}
.product-page .pair-item .frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.product-page .pair-item:hover .frame img{transform:scale(1.04)}
.product-page .pair-item h4{
  font-family:'Fraunces',serif;font-weight:500;font-size:1.05rem;line-height:1.2;
  margin:0;padding:1rem 1.1rem .25rem;
}
.product-page .pair-item .pair-price{
  padding:0 1.1rem 1.1rem;color:var(--gold-d);font-weight:600;font-size:.95rem;
}

/* ============== FOOTER COLUMNS — top-align, vertical link list ============== */
.footer{padding:3rem 0 1.5rem}
.footer-grid{align-items:start;gap:2.5rem}
.footer-brand{max-width:340px}
.footer-brand p{font-size:.85rem;line-height:1.6;color:var(--muted)}
.footer-col{display:flex;flex-direction:column}
.footer-col h4{font-family:'Fraunces',serif;font-weight:500;font-size:1rem;margin:0 0 1.1rem;color:var(--charcoal);letter-spacing:0}
.footer-col a, .footer-col span{
  display:block;color:var(--muted);font-size:.85rem;line-height:1.5;
  padding:.3rem 0;text-decoration:none;transition:color .2s;
}
.footer-col a:hover{color:var(--espresso)}
.footer-bottom{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  padding-top:1.5rem;border-top:1px solid var(--border);
  font-size:.78rem;color:var(--muted);
}

/* Wishlist / search — keep 3-per-row premium feel too */
.wishlist-page .products-grid,
.search-page .products-grid{grid-template-columns:repeat(3,1fr);gap:2rem}
@media (max-width:1100px){
  .wishlist-page .products-grid,
  .search-page .products-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:600px){
  .wishlist-page .products-grid,
  .search-page .products-grid{grid-template-columns:1fr}
}

/* ============== LOGO IMAGE (header + footer) ============== */
.logo.logo-img{
  display:inline-flex;align-items:center;height:48px;padding:0;
  font-size:0;
}
.logo.logo-img img{
  height:100%;width:auto;display:block;object-fit:contain;
  transition:transform .35s var(--ease);
}
.logo.logo-img:hover img{transform:scale(1.04)}
.header.scrolled .logo.logo-img{height:38px}
@media (max-width:760px){.logo.logo-img{height:38px}}

.footer-logo{display:inline-flex;align-items:center;height:54px;margin-bottom:1rem}
.footer-logo img{height:100%;width:auto;display:block}

/* ============== HOVER SWAP — only when alt image exists ============== */
.frame:not(.has-alt):hover > img.primary{opacity:1;transform:none}
.frame:not(.has-alt) > img.alt{display:none}

/* ============== CART / CHECKOUT — tighter item rows ============== */
.co-item{grid-template-columns:48px 1fr auto;gap:.7rem}
.co-item .frame{width:48px;height:48px;border-radius:6px;background:var(--cream);flex-shrink:0}
.co-item .frame img{padding:0;mix-blend-mode:normal;object-fit:cover}
.co-item .frame::before,.co-item .frame::after{display:none}
.co-item-info .cat{font-size:.66rem}
.co-item-info strong{font-size:.88rem;line-height:1.2}
.co-item-price{font-size:.92rem;color:var(--gold-d);font-weight:600}

/* Cart drawer + cart page rows: keep image visible but drop the cream frame */
.cart-line .frame,.drawer-cart-item .frame{
  background:transparent !important;background-image:none !important;
  border-radius:8px;
}
.cart-line .frame img,.drawer-cart-item .frame img{
  padding:0 !important;mix-blend-mode:normal !important;object-fit:cover !important;
}
.cart-line .frame::before,.cart-line .frame::after,
.drawer-cart-item .frame::before,.drawer-cart-item .frame::after{display:none !important}

/* ============== FOOTER — premium, properly aligned ============== */
.footer{
  background:linear-gradient(180deg, var(--ivory) 0%, var(--cream) 100%);
  padding:4.5rem 0 1.75rem;border-top:1px solid var(--border);margin-top:4rem;
}
.footer-grid{
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:3.5rem;
  align-items:start;
}
@media (max-width:1000px){.footer-grid{grid-template-columns:1fr 1fr;gap:2.5rem}}
@media (max-width:600px){.footer-grid{grid-template-columns:1fr;gap:2rem}}
.footer-brand{max-width:340px}
.footer-brand p{font-size:.88rem;line-height:1.65;color:var(--muted);margin:0 0 1.25rem}
.footer .social{display:flex;gap:.5rem}
.footer .social a{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:50%;
  background:rgba(184,144,96,.08);color:var(--charcoal);
  transition:all .25s ease;text-decoration:none;
}
.footer .social a:hover{background:var(--gold-d);color:var(--ivory);transform:translateY(-2px)}
.footer .social a svg{width:16px;height:16px}
.footer-col h4{
  font-family:'Fraunces',serif;font-weight:500;font-size:1rem;
  margin:0 0 1.1rem;color:var(--charcoal);letter-spacing:.01em;
}
.footer-col a,.footer-col span{
  display:block;color:var(--muted);font-size:.86rem;line-height:1.55;
  padding:.32rem 0;text-decoration:none;transition:color .2s, padding-left .2s;
}
.footer-col a:hover{color:var(--espresso);padding-left:.25rem}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
  padding:1.75rem 0 0;margin-top:3rem;border-top:1px solid var(--border);
  font-size:.78rem;color:var(--muted);letter-spacing:.02em;
}
.footer-bottom span:last-child{font-style:italic}

/* ============================================================
   MOTHER'S DAY CAMPAIGN
   ============================================================ */
.md-strip{
  display:block;text-decoration:none;color:#fff;
  background:linear-gradient(95deg,#3a1d2c 0%, #6b2e4d 45%, #b89060 100%);
  padding:.65rem 0;font-size:.84rem;letter-spacing:.01em;
  border-bottom:1px solid rgba(255,255,255,.12);
  position:relative;overflow:hidden;
}
.md-strip::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(ellipse at 80% 50%, rgba(255,255,255,.18), transparent 60%);
  pointer-events:none;
}
.md-strip-row{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.6rem 1.2rem;
  position:relative;z-index:1;
}
.md-strip-eyebrow{
  font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  background:rgba(255,255,255,.14);padding:.35rem .75rem;border-radius:999px;
  border:1px solid rgba(255,255,255,.2);white-space:nowrap;
}
.md-strip-text{flex:1;min-width:240px;text-align:center;color:rgba(255,255,255,.94)}
.md-strip-text strong{color:#ffd9aa}
.md-strip-text em{font-style:normal;font-weight:700;color:#3a1d2c;background:#ffd9aa;padding:.18rem .65rem;border-radius:6px;letter-spacing:.08em;font-size:.82rem;display:inline-block;margin:0 .15rem;box-shadow:0 1px 0 rgba(0,0,0,.08)}
.md-strip-cta{
  display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.82rem;white-space:nowrap;
}
.md-strip-days{
  font-size:.7rem;background:rgba(0,0,0,.25);padding:.25rem .55rem;border-radius:6px;font-weight:600;
}
@media (max-width:780px){.md-strip-text{flex-basis:100%;text-align:left}.md-strip-cta{margin-left:auto}}

/* ---------- Mother's Day landing page hero ---------- */
.md-hero{
  background:linear-gradient(160deg, #f6e3d6 0%, #efd4c0 40%, #e8c5a8 100%);
  padding:5rem 0 4.5rem;position:relative;overflow:hidden;
}
.md-hero::before{
  content:"";position:absolute;top:-15%;right:-10%;width:55%;height:130%;
  background:radial-gradient(ellipse, rgba(255,255,255,.55), transparent 65%);
  pointer-events:none;
}
.md-hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:center;position:relative;z-index:1}
@media (max-width:880px){.md-hero-grid{grid-template-columns:1fr;gap:2.5rem}}
.md-hero-text .eyebrow{
  display:inline-block;background:#3a1d2c;color:#ffd9aa;
  padding:.45rem 1rem;border-radius:999px;font-size:.7rem;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;margin-bottom:1.25rem;
}
.md-hero-text h1{
  font-family:'Fraunces',serif;font-weight:300;font-size:clamp(2.4rem,5.4vw,4.4rem);
  line-height:1.04;color:var(--charcoal);margin:0 0 1.25rem;
}
.md-hero-text h1 .italic{font-style:italic;color:#6b2e4d}
.md-hero-text .lead{font-size:1.05rem;color:var(--muted);max-width:520px;line-height:1.6;margin:0 0 1.75rem}
.md-hero-cta{display:flex;gap:.85rem;flex-wrap:wrap;margin-bottom:2rem}
.md-perks{display:flex;flex-direction:column;gap:.7rem;font-size:.92rem;color:var(--charcoal);line-height:1.7}
.md-perks > span{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.md-perks strong{color:#6b2e4d;font-weight:700}
.md-perks em{
  font-style:normal;background:#fff;color:#3a1d2c;
  padding:.32rem .85rem .32rem;border-radius:8px;font-weight:700;
  letter-spacing:.12em;font-size:.78rem;display:inline-block;
  border:1.5px dashed #6b2e4d;
  box-shadow:0 1px 0 rgba(0,0,0,.05);
  margin:0 .15rem;
}

.md-hero-card{
  background:#fff;border-radius:18px;padding:2rem;
  box-shadow:0 24px 50px rgba(58,29,44,.12);
  display:flex;flex-direction:column;gap:1.5rem;align-items:stretch;
  position:relative;overflow:hidden;
  max-width:100%;
}
.md-hero-card::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 0 0, rgba(184,144,96,.08), transparent 60%);
}
.md-countdown{position:relative;z-index:1;text-align:center}
.mdc-num{
  font-family:'Fraunces',serif;font-size:4.5rem;font-weight:300;line-height:1;
  color:#6b2e4d;margin-bottom:.4rem;
}
.mdc-lbl{font-size:.78rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
.md-coupon{
  position:relative;z-index:1;text-align:center;padding:1.4rem 1.5rem;
  background:linear-gradient(135deg,#3a1d2c,#6b2e4d);border-radius:14px;color:#fff;
  min-width:0;overflow:visible;
}
.md-coupon small{
  font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
  opacity:.7;display:block;margin-bottom:.4rem;
}
.md-coupon strong{
  font-family:'Fraunces',serif;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:600;
  display:block;letter-spacing:.12em;color:#ffd9aa;line-height:1.1;
  word-break:keep-all;white-space:nowrap;
  text-shadow:0 1px 2px rgba(0,0,0,.25);
  padding:.15rem 0;
}
.md-coupon span{
  font-size:.78rem;opacity:.88;display:block;margin-top:.45rem;
  white-space:nowrap;
}

/* ---------- Tier sections ---------- */
.md-tiers{padding:5rem 0;background:var(--ivory)}
.md-tier{margin-bottom:4rem}
.md-tier-head{margin-bottom:1.5rem;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.md-tier-tag{
  display:inline-block;background:#3a1d2c;color:#ffd9aa;padding:.3rem .8rem;border-radius:999px;
  font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:.65rem;
}
.md-tier h3{font-family:'Fraunces',serif;font-weight:400;font-size:clamp(1.5rem,3vw,2.1rem);line-height:1.15;margin:0 0 .35rem;color:var(--charcoal)}
.md-tier p{color:var(--muted);font-size:.92rem;max-width:560px;margin:0}
.md-tier .products-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem}
@media (max-width:1100px){.md-tier .products-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.md-tier .products-grid{grid-template-columns:1fr}}

/* ---------- Perks strip ---------- */
.md-perks-strip{background:#fbf3ea;padding:3rem 0}
.md-perks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
@media (max-width:880px){.md-perks-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}
.md-perk{text-align:center}
.md-perk-icon{
  width:54px;height:54px;border-radius:50%;background:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:1rem;color:#6b2e4d;
  box-shadow:0 6px 18px rgba(58,29,44,.07);
}
.md-perk-icon svg{width:24px;height:24px}
.md-perk h4{font-family:'Fraunces',serif;font-weight:500;font-size:1.05rem;margin:0 0 .35rem;color:var(--charcoal)}
.md-perk p{font-size:.84rem;color:var(--muted);line-height:1.5;margin:0}

/* ---------- Editorial quote ---------- */
.md-quote{padding:5rem 0;background:linear-gradient(180deg, var(--ivory), #f5e9dc);text-align:center}
.md-quote-text{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(1.5rem,3.4vw,2.4rem);line-height:1.3;color:var(--charcoal);max-width:780px;margin:0 auto .8rem}
.md-quote-text .italic{font-style:italic;color:#6b2e4d}
.md-quote-by{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600}

/* ============================================================
   STYLE QUIZ — visual upgrade
   ============================================================ */
.quiz-page .quiz-options-visual{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:.85rem;
}
.quiz-page .quiz-option{
  position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.95rem;
  padding:1.1rem 1.15rem;background:#fff;border:1px solid var(--border);border-radius:14px;
  cursor:pointer;transition:transform .25s var(--ease), border-color .25s, box-shadow .25s, background .25s;
  text-align:left;
}
.quiz-page .quiz-option input{position:absolute;opacity:0;pointer-events:none}
.quiz-page .quiz-option:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:0 10px 28px rgba(184,144,96,.14)}
.quiz-page .qo-icon{
  width:46px;height:46px;border-radius:12px;
  display:inline-flex;align-items:center;justify-content:center;font-size:1.4rem;
  background:var(--cream);transition:all .25s var(--ease);
}
.quiz-page .qo-text{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.quiz-page .qo-title{font-family:'Fraunces',serif;font-size:1.05rem;font-weight:500;color:var(--charcoal);line-height:1.2}
.quiz-page .qo-sub{font-size:.78rem;color:var(--muted);line-height:1.35}
.quiz-page .qo-check{
  width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);
  display:inline-flex;align-items:center;justify-content:center;color:transparent;transition:all .25s ease;
  flex-shrink:0;
}
.quiz-page .qo-check svg{width:14px;height:14px}

/* Selected state — fill with hue */
.quiz-page .quiz-option:has(input:checked){
  border-color:var(--charcoal);background:var(--charcoal);color:var(--ivory);
  transform:translateY(-2px);box-shadow:0 14px 32px rgba(58,29,44,.18);
}
.quiz-page .quiz-option:has(input:checked) .qo-icon{background:var(--gold-d);color:#fff}
.quiz-page .quiz-option:has(input:checked) .qo-title{color:var(--ivory)}
.quiz-page .quiz-option:has(input:checked) .qo-sub{color:rgba(250,246,238,.7)}
.quiz-page .quiz-option:has(input:checked) .qo-check{background:#ffd9aa;border-color:#ffd9aa;color:#3a1d2c}

/* Hue-tinted backgrounds for the icon chip */
.qopt-hue-gold .qo-icon{background:#f4e4c5;color:#8c6d46}
.qopt-hue-rose .qo-icon{background:#f5d8d4;color:#8c4555}
.qopt-hue-plum .qo-icon{background:#e3cad8;color:#5a2a3d}
.qopt-hue-sage .qo-icon{background:#d8e3d2;color:#4a6049}
.qopt-hue-sand .qo-icon{background:#ece1cd;color:#7a6442}
.qopt-hue-terra .qo-icon{background:#f1ccb6;color:#9a4f2e}

.quiz-page .quiz-nav{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem;
}
.quiz-hint{flex:1;text-align:center;font-size:.8rem;color:var(--muted);letter-spacing:.04em}
@media (max-width:560px){.quiz-hint{display:none}.quiz-page .quiz-nav{flex-wrap:wrap}}

/* Loading */
.quiz-loading{display:none;text-align:center;padding:5rem 0;animation:fadeUp .35s var(--ease)}
.quiz-loading.show{display:block}
.ql-spinner{
  width:48px;height:48px;border-radius:50%;
  border:3px solid var(--cream);border-top-color:var(--gold-d);
  margin:0 auto 1.25rem;animation:qspin 1s linear infinite;
}
@keyframes qspin{to{transform:rotate(360deg)}}
.ql-message{font-family:'Fraunces',serif;font-size:1.15rem;color:var(--charcoal);font-style:italic;transition:opacity .3s}

/* Progress bar */
.quiz-progress{margin-bottom:2.5rem}
.qp-bar{height:5px;background:var(--cream);border-radius:999px;overflow:hidden;margin-bottom:.6rem}
#qpFill{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-d));border-radius:999px;transition:width .45s var(--ease)}
.qp-steps{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.qp-steps span{transition:color .25s}
.qp-steps span.active{color:var(--gold-d)}

/* ============================================================
   MOTHER'S DAY HOMEPAGE — extra sections
   ============================================================ */

/* Hero with parallax brand watermark */
.md-hero-home{padding:6rem 0 5rem;position:relative;overflow:hidden}
.md-hero-bg-marquee{
  position:absolute;left:-3%;bottom:8%;font-family:'Fraunces',serif;font-style:italic;
  font-size:clamp(8rem,20vw,18rem);font-weight:300;line-height:1;letter-spacing:-.04em;
  color:rgba(107,46,77,.06);pointer-events:none;white-space:nowrap;user-select:none;
}

/* Live countdown card */
.md-countdown-live{position:relative;z-index:1;padding:.5rem .25rem 1rem}
.mdc-row{display:flex;justify-content:center;gap:.85rem;margin-bottom:.85rem}
.mdc-cell{
  display:flex;flex-direction:column;align-items:center;
  background:linear-gradient(135deg,#fff,#fff5ea);
  padding:.85rem 1rem;border-radius:12px;min-width:64px;
  box-shadow:inset 0 0 0 1px rgba(184,144,96,.15);
}
.mdc-cell .mdc-num{
  font-family:'Fraunces',serif;font-size:2.2rem;font-weight:300;line-height:1;color:#6b2e4d;
  font-variant-numeric:tabular-nums;margin-bottom:.25rem;
}
.mdc-cell .mdc-lbl{font-size:.65rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.mdc-caption{display:block;text-align:center;font-size:.72rem;color:var(--muted);font-style:italic;margin-top:.4rem}

/* "Which kind of mum is she?" personality picker */
.md-personas{padding:5rem 0;background:linear-gradient(180deg,var(--ivory) 0%, #f8eeda 100%)}
.persona-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem;margin-top:2.5rem}
@media (max-width:1000px){.persona-grid{grid-template-columns:1fr;gap:1.5rem}}
.persona-card{
  background:#fff;border-radius:18px;padding:2rem 1.75rem;
  box-shadow:0 12px 32px rgba(58,29,44,.06);
  transition:transform .35s var(--ease), box-shadow .35s;
  display:flex;flex-direction:column;gap:1.25rem;border:1px solid transparent;
}
.persona-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(58,29,44,.12)}
.persona-card.persona-hue-rose{border-color:#f5d8d4}
.persona-card.persona-hue-sage{border-color:#d8e3d2}
.persona-card.persona-hue-plum{border-color:#e3cad8}
.persona-head{text-align:center;padding-bottom:.5rem}
.persona-emoji{display:block;font-size:2.4rem;margin-bottom:.5rem}
.persona-head h3{font-family:'Fraunces',serif;font-weight:500;font-size:1.5rem;margin:0 0 .5rem;color:var(--charcoal)}
.persona-head p{font-size:.88rem;color:var(--muted);line-height:1.55;margin:0}
.persona-items{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.persona-item{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border-radius:12px;overflow:hidden;background:#fff;
  transition:transform .25s ease, box-shadow .25s ease;
  border:1px solid rgba(0,0,0,.04);
}
.persona-item:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.08)}
.persona-item .frame{aspect-ratio:1 !important;width:100% !important;border-radius:0 !important;background:transparent !important;background-image:none !important;overflow:hidden !important;padding:0 !important}
.persona-item .frame::before,.persona-item .frame::after{display:none !important;content:none !important}
.persona-item .frame > img{padding:0 !important;mix-blend-mode:normal !important;object-fit:cover !important;width:100% !important;height:100% !important;display:block !important;position:relative !important;inset:auto !important}
.persona-item-name{font-size:.85rem;font-weight:500;color:var(--charcoal);padding:.6rem .7rem .2rem;line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'Fraunces',serif}
.persona-item-price{font-size:.82rem;color:var(--gold-d);font-weight:600;padding:0 .7rem .7rem}
.persona-cta{
  text-align:center;padding:.7rem 1rem;border:1px solid var(--charcoal);
  border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--charcoal);text-decoration:none;transition:all .25s;
  background:transparent;
}
.persona-cta:hover{background:var(--charcoal);color:var(--ivory)}

/* Tier "see more" CTA on the right — vertically centered with the heading + paragraph */
.md-tier .md-tier-head{align-items:center}
.md-tier .md-tier-head .btn{flex-shrink:0;align-self:center}

/* "From her daughter" letter cards */
.md-letters{padding:5rem 0;background:#fbf3ea;text-align:center}
.md-letter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
@media (max-width:880px){.md-letter-grid{grid-template-columns:1fr}}
.md-letter{
  background:#fff;padding:2rem 1.75rem;border-radius:14px;
  box-shadow:0 8px 22px rgba(58,29,44,.06);text-align:left;
  position:relative;border-left:3px solid #b89060;
}
.md-letter::before{
  content:"\201C";position:absolute;top:-.5rem;left:1rem;
  font-family:'Fraunces',serif;font-size:4rem;color:#b89060;line-height:1;font-style:italic;opacity:.4;
}
.md-letter p{
  font-family:'Fraunces',serif;font-style:italic;font-size:1.02rem;line-height:1.55;
  color:var(--charcoal);margin:.5rem 0 1rem;font-weight:400;
}
.md-letter-by{font-size:.78rem;color:var(--muted);letter-spacing:.04em;font-weight:600}
.md-letters-note{
  margin-top:2rem;font-size:.92rem;color:var(--muted);font-style:italic;
  max-width:560px;margin-left:auto;margin-right:auto;line-height:1.55;
}

/* Bundle strip */
.md-bundle-strip{
  background:linear-gradient(95deg, #6b2e4d 0%, #b89060 100%);
  color:#fff;padding:3rem 0;
}
.md-bundle-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.md-bundle-text{flex:1;min-width:280px}
.md-bundle-eyebrow{
  display:inline-block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  background:rgba(255,255,255,.15);padding:.35rem .8rem;border-radius:999px;font-weight:600;margin-bottom:.85rem;
}
.md-bundle-text h3{
  font-family:'Fraunces',serif;font-weight:400;font-size:clamp(1.5rem,3vw,2.2rem);
  margin:0 0 .5rem;line-height:1.15;
}
.md-bundle-text h3 .italic{font-style:italic;color:#ffd9aa}
.md-bundle-text p{margin:0;font-size:.92rem;color:rgba(255,255,255,.88)}
.md-bundle-text em{font-style:normal;background:rgba(255,255,255,.18);padding:.1rem .5rem;border-radius:5px;font-weight:600;letter-spacing:.04em;font-size:.86rem}
.md-bundle-strip .btn-primary{background:#fff;color:#3a1d2c}
.md-bundle-strip .btn-primary:hover{background:#ffd9aa}

/* ============================================================
   MOTHER'S DAY — SHOP PAGE BANNER
   ============================================================ */
.md-shop-banner{
  display:block;text-decoration:none;color:inherit;
  margin:0 0 2rem;border-radius:18px;overflow:hidden;
  background:linear-gradient(135deg,#fbf3ea 0%, #f3dcc4 50%, #e8c5a8 100%);
  border:1px solid rgba(107,46,77,.12);
  transition:transform .25s var(--ease), box-shadow .25s;
  position:relative;
}
.md-shop-banner::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(circle at 90% 50%, rgba(107,46,77,.08), transparent 55%);
  pointer-events:none;
}
.md-shop-banner:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(58,29,44,.10)}
.md-shop-banner-inner{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;
  gap:1.5rem 2.5rem;padding:1.5rem 2rem;position:relative;z-index:1;
}
.md-shop-banner-left{flex:1;min-width:280px}
.md-shop-eyebrow{
  display:inline-block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;color:#6b2e4d;background:rgba(107,46,77,.1);padding:.3rem .7rem;border-radius:999px;
  margin-bottom:.6rem;
}
.md-shop-banner-left h3{
  font-family:'Fraunces',serif;font-weight:500;font-size:clamp(1.2rem,2.4vw,1.6rem);
  margin:0 0 .35rem;color:var(--charcoal);line-height:1.2;
}
.md-shop-banner-left p{margin:0;color:var(--charcoal);font-size:.9rem;line-height:1.5;opacity:.85}
.md-shop-banner-left em{
  font-style:normal;background:#3a1d2c;color:#ffd9aa;
  padding:.15rem .55rem;border-radius:6px;font-weight:700;letter-spacing:.08em;font-size:.78rem;
  margin:0 .15rem;
}
.md-shop-banner-right{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}
.md-shop-coupon{
  display:flex;flex-direction:column;align-items:center;
  background:#fff;border:2px dashed #6b2e4d;border-radius:10px;padding:.55rem 1.1rem;
}
.md-shop-coupon small{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(58,29,44,.55);font-weight:600}
.md-shop-coupon strong{font-family:'Fraunces',serif;font-size:1.2rem;color:#3a1d2c;font-weight:600;letter-spacing:.08em;line-height:1.1}
.md-shop-cta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;font-weight:600}
.md-shop-cta > span:first-child{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#6b2e4d;background:rgba(107,46,77,.1);padding:.2rem .55rem;border-radius:999px}
.md-shop-arrow{font-size:.86rem;color:var(--charcoal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}

@media (max-width:760px){
  .md-shop-banner-inner{padding:1.25rem 1.25rem;gap:1rem}
  .md-shop-banner-right{width:100%;justify-content:space-between}
}

/* ============================================================
   MOTHER'S DAY — PRODUCT PAGE GIFT-WRAP CARD
   ============================================================ */
.pdp-md-card{
  margin:1.5rem 0;padding:1.25rem 1.25rem 1.1rem;
  background:linear-gradient(135deg,#fbf3ea 0%, #f5e3d0 100%);
  border:1px solid rgba(107,46,77,.16);border-radius:14px;
  position:relative;overflow:hidden;
}
.pdp-md-card::before{
  content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,217,170,.4),transparent 70%);
  pointer-events:none;
}
.pdp-md-row{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;
  margin-bottom:.85rem;position:relative;z-index:1;
}
.pdp-md-tag{
  font-family:'Fraunces',serif;font-weight:500;font-size:.95rem;color:#6b2e4d;letter-spacing:.01em;
}
.pdp-md-days{font-size:.72rem;color:var(--muted);font-style:italic}
.pdp-md-perks{display:flex;flex-direction:column;gap:.5rem;position:relative;z-index:1}
.pdp-md-perk{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;
  padding:.55rem .7rem;background:rgba(255,255,255,.7);border-radius:10px;cursor:pointer;
  transition:background .2s, border-color .2s;border:1px solid transparent;
}
.pdp-md-perk:hover{background:#fff;border-color:rgba(107,46,77,.15)}
.pdp-md-perk input[type=checkbox]{
  width:18px;height:18px;accent-color:#6b2e4d;cursor:pointer;flex-shrink:0;margin:0;
}
.pdp-md-perk-icon{
  width:32px;height:32px;border-radius:8px;background:rgba(107,46,77,.08);color:#6b2e4d;
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pdp-md-perk-icon svg{width:16px;height:16px}
.pdp-md-perk-text{display:flex;flex-direction:column;gap:.05rem;min-width:0}
.pdp-md-perk-text strong{font-size:.88rem;color:var(--charcoal);font-weight:600;line-height:1.25}
.pdp-md-perk-text small{font-size:.74rem;color:var(--muted);line-height:1.35}
.pdp-md-pill{
  font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  background:#3a1d2c;color:#ffd9aa;padding:.22rem .5rem;border-radius:6px;flex-shrink:0;
}
.pdp-md-msg{
  width:100%;margin-top:.5rem;padding:.65rem .8rem;border:1px solid rgba(107,46,77,.2);
  border-radius:8px;background:#fff;font-family:inherit;font-size:.86rem;color:var(--charcoal);
  resize:vertical;min-height:64px;
}
.pdp-md-bottom{
  margin-top:.85rem;padding-top:.85rem;border-top:1px dashed rgba(107,46,77,.25);
  font-size:.82rem;color:var(--charcoal);text-align:center;position:relative;z-index:1;
}
.pdp-md-bottom em{
  font-style:normal;background:#3a1d2c;color:#ffd9aa;padding:.15rem .5rem;border-radius:6px;
  font-weight:700;letter-spacing:.08em;font-size:.74rem;margin:0 .25rem;
}
.pdp-md-bottom strong{color:#6b2e4d;font-weight:700;font-family:'Fraunces',serif;font-size:.95rem}

/* ---------- GLOBAL product card: full-bleed image, no cream frame ---------- */
.product .product-media.frame{
  background:transparent !important;background-image:none !important;
  border-radius:14px;overflow:hidden;
}
.product .product-media.frame::before,
.product .product-media.frame::after{display:none !important;content:none !important}
.product .product-media.frame > img{
  padding:0 !important;mix-blend-mode:normal !important;object-fit:cover !important;
  width:100% !important;height:100% !important;
}

/* ---------- Highlighted spotlight quote (between personas and tiers) — dark mode ---------- */
.md-quote-spotlight{
  padding:5.5rem 0;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,217,170,.10), transparent 55%),
    radial-gradient(circle at 82% 78%, rgba(184,144,96,.14), transparent 55%),
    linear-gradient(135deg, #1a0f17 0%, #2c1622 40%, #3a1d2c 100%);
  position:relative;overflow:hidden;color:#f6e8d6;
}
.md-quote-spotlight::before{
  content:"";position:absolute;inset:0;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 400 400'><text x='-20' y='340' font-family='Fraunces, Georgia, serif' font-style='italic' font-size='340' fill='%23ffd9aa' opacity='0.04'>j</text></svg>");
  background-position:right center;background-repeat:no-repeat;background-size:contain;
  pointer-events:none;
}
.md-quote-card{
  position:relative;z-index:1;text-align:center;max-width:840px;margin:0 auto;
  padding:3rem 2rem 2.5rem;
}
.md-quote-mark{
  font-family:'Fraunces',serif;font-size:8rem;font-style:italic;
  color:#ffd9aa;line-height:.6;display:block;margin-bottom:.5rem;opacity:.85;
}
.md-quote-line{
  font-family:'Fraunces',serif;font-weight:300;
  font-size:clamp(1.7rem,3.8vw,3rem);line-height:1.2;
  color:#f6e8d6;margin:0 0 1.25rem;letter-spacing:-.005em;
}
.md-quote-line .italic{font-style:italic;color:#ffd9aa}
.md-quote-card .md-quote-by{
  display:block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(246,232,214,.55);font-weight:600;margin-bottom:1.75rem;
}
.md-quote-card .btn{
  background:#ffd9aa;color:#3a1d2c;border-color:#ffd9aa;
  box-shadow:0 18px 38px rgba(0,0,0,.4);
}
.md-quote-card .btn:hover{background:#fff;border-color:#fff}
