/* ============================================================
   Crystal Hair Extensions — Storefront styles
   Luxury editorial: Playfair Display + Montserrat, champagne gold
   ============================================================ */
:root{
  --brand:#1d1712; --brand-dark:#000;
  --gold:#b08d57; --gold-dark:#8f7043; --gold-light:#f6efe3;
  --rose:#c48a94;
  --bg:#ffffff; --bg-warm:#faf6f0; --bg-cream:#f3ece2; --bg-alt:#f7f2ec;
  --ink:#17130f; --text:#2a231d; --text-muted:#8a7f73;
  --border:#e7ddce; --line:#e9e0d3; --border-light:#f0e9df;
  --success:#2e7d32; --error:#c0392b;
  --container:1280px; --radius:3px;
  --shadow-sm:0 1px 2px rgba(29,23,18,.05);
  --shadow:0 4px 18px rgba(29,23,18,.07);
  --shadow-lg:0 18px 48px -18px rgba(29,23,18,.28);
  --font:'Montserrat',system-ui,-apple-system,sans-serif;
  --font-display:'Playfair Display',Georgia,serif;
  --tracking:.02em; --tracking-wide:.18em;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
*{min-width:0}
/* overflow-x:clip (not hidden) prevents horizontal scroll WITHOUT breaking position:sticky */
html,body{overflow-x:clip;max-width:100vw}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font);font-size:.875rem;line-height:1.65;color:var(--text);
  background:var(--bg-warm);letter-spacing:var(--tracking);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 clamp(1rem,3vw,1.75rem)}
main.site-main{min-height:40vh}

h1,h2,h3,h4{font-family:var(--font);font-weight:600;letter-spacing:var(--tracking-wide);
  text-transform:uppercase;margin:0 0 1rem;line-height:1.25;color:var(--ink)}
.section-title h2,.hero .slide-caption h1,.lifestyle-content h2,.newsletter h2,
.product-info h1,.cat-tile h3,.page-hero h1,.mini-hero h1{
  font-family:var(--font-display);text-transform:none;font-weight:500;letter-spacing:.01em}

/* ---------- Buttons ---------- */
.btn{display:inline-block;font-size:.7rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.2em;padding:1rem 2.1rem;border:1px solid var(--brand);background:var(--brand);
  color:#fff;border-radius:var(--radius);cursor:pointer;text-align:center;
  transition:background .35s var(--ease),color .35s var(--ease),transform .25s var(--ease),box-shadow .35s var(--ease)}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(29,23,18,.22);background:var(--brand-dark)}
.btn-outline{background:transparent;color:var(--brand)}
.btn-outline:hover{background:var(--brand);color:#fff}
.btn-gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn-gold:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.btn-lg{padding:1.15rem 2.6rem;font-size:.76rem;letter-spacing:.24em}
.btn-sm{padding:.7rem 1.1rem;font-size:.62rem;letter-spacing:.16em}
.btn-block{display:block;width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

/* ---------- Top utility bar ---------- */
.top-utility{background:#12100c;color:rgba(255,255,255,.7);font-size:.68rem;letter-spacing:.04em}
.top-utility-inner{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;gap:1rem}
.top-utility a{color:rgba(255,255,255,.72);transition:color .25s}
.top-utility a:hover{color:var(--gold)}
.tu-left{display:flex;align-items:center;gap:.6rem}
.tu-sep{opacity:.4}
.tu-right{display:flex;align-items:center;gap:.7rem}
.tu-social{display:flex;align-items:center;gap:.65rem}
.tu-social a{display:inline-flex;color:rgba(255,255,255,.72)}
.tu-social a:hover{color:var(--gold)}
.tu-divider{opacity:.35}
.tu-lang{letter-spacing:.1em;color:rgba(255,255,255,.85);font-weight:500}
@media(max-width:768px){.tu-email,.tu-left .tu-sep{display:none}.top-utility-inner{justify-content:center;gap:1rem}}
@media(max-width:480px){.tu-lang,.tu-divider{display:none}}

/* ---------- Announce bar ---------- */
.announce-bar{background:var(--brand);color:#f3e7d4;font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;text-align:center;padding:.55rem 0}
.announce-inner span{opacity:.92}

/* ---------- Header ---------- */
.site-header{background:rgba(250,246,240,.94);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),border-color .4s var(--ease)}
.site-header.scrolled{box-shadow:0 4px 20px rgba(29,23,18,.07)}
.brand{display:flex;align-items:center}
.brand .logo-light{display:none}
/* Single-row header: logo left, nav centered, actions right */
.header-main{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem;padding:.6rem 0}
.brand{grid-column:1;justify-self:start}
.brand img{max-height:56px;width:auto;display:block}
.primary-nav{grid-column:2;justify-self:center}
.header-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:.35rem}
.hamburger{display:none}
.primary-nav ul{list-style:none;display:flex;gap:.05rem;margin:0;padding:0;align-items:center;justify-content:center}
/* My Account text + cart with total */
.acct-link{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ink);
  padding:.5rem .55rem;white-space:nowrap;transition:color .25s}
.acct-link:hover{color:var(--gold-dark)}
.cart-link{display:flex;align-items:center;gap:.5rem;color:var(--ink);padding:.3rem .5rem;transition:color .25s}
.cart-link:hover{color:var(--gold-dark)}
.cart-ico{position:relative;display:inline-flex;align-items:center}
.cart-total{font-size:.72rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.primary-nav a{font-weight:500;letter-spacing:.15em;font-size:.7rem;text-transform:uppercase;
  padding:.6rem .85rem;position:relative;display:inline-block;color:var(--ink)}
.primary-nav a::after{content:"";position:absolute;left:50%;bottom:.35rem;width:0;height:1px;
  background:var(--gold);transition:width .3s var(--ease),left .3s var(--ease)}
.primary-nav a:hover::after,.primary-nav a.active::after{width:60%;left:20%}
.primary-nav a.active{color:var(--gold-dark)}
.has-mega{position:relative}
.mega{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-lg);min-width:230px;padding:.6rem 0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.28s var(--ease);z-index:70}
.has-mega:hover .mega{opacity:1;visibility:visible;transform:translateY(0)}
.mega a{display:block;padding:.6rem 1.3rem;font-size:.72rem;letter-spacing:.06em;text-transform:none;color:var(--text)}
.mega a::after{display:none}
.mega a:hover{background:var(--gold-light);color:var(--gold-dark)}
.header-actions{display:flex;align-items:center;gap:.35rem}
.icon-btn{position:relative;width:42px;height:42px;display:inline-flex;align-items:center;
  justify-content:center;background:none;border:none;cursor:pointer;color:var(--ink);border-radius:50%;
  transition:background .25s}
.icon-btn:hover{background:var(--gold-light)}
.badge{position:absolute;top:4px;right:2px;min-width:17px;height:17px;padding:0 4px;background:var(--gold);
  color:#fff;font-size:.58rem;font-weight:700;border-radius:9px;display:flex;align-items:center;justify-content:center;line-height:1}
.badge[hidden]{display:none}

/* ---------- Transparent overlay header (homepage) ---------- */
/* Header stays sticky; hero pulled up behind it via negative margin */
body.home-transparent .hero{margin-top:calc(-1 * var(--hdr-h,96px))}
body.home-transparent .hero,
body.home-transparent .hero-slide{height:calc(100svh - var(--topbars-h,64px));min-height:540px}
body.home-transparent .site-header{
  background:transparent;backdrop-filter:none;border-bottom:1px solid rgba(255,255,255,.16)}
body.home-transparent .site-header::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,15,10,.55),rgba(20,15,10,0))}
body.home-transparent .site-header .primary-nav a,
body.home-transparent .site-header .icon-btn,
body.home-transparent .site-header .acct-link,
body.home-transparent .site-header .cart-link{color:#fff}
body.home-transparent .site-header .primary-nav a.active{color:var(--gold)}
body.home-transparent .site-header .acct-link:hover,
body.home-transparent .site-header .cart-link:hover{color:var(--gold-light)}
body.home-transparent .site-header .primary-nav a::after{background:var(--gold-light)}
body.home-transparent .site-header .icon-btn:hover{background:rgba(255,255,255,.14)}
body.home-transparent .site-header .hamburger span{background:#fff}
/* Mega dropdown always has a white panel -> keep its links dark & readable */
body.home-transparent .site-header .mega a{color:var(--text)}
body.home-transparent .site-header .mega a:hover{color:var(--gold-dark)}
body.home-transparent .site-header .logo-dark{display:none}
body.home-transparent .site-header .logo-light{display:block}
/* Solid state once scrolled */
body.home-transparent .site-header.scrolled{
  background:rgba(250,246,240,.97);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--line);box-shadow:0 4px 20px rgba(29,23,18,.08)}
body.home-transparent .site-header.scrolled::before{display:none}
body.home-transparent .site-header.scrolled .primary-nav a{color:var(--ink)}
body.home-transparent .site-header.scrolled .primary-nav a.active{color:var(--gold-dark)}
body.home-transparent .site-header.scrolled .primary-nav a::after{background:var(--gold)}
body.home-transparent .site-header.scrolled .icon-btn,
body.home-transparent .site-header.scrolled .acct-link,
body.home-transparent .site-header.scrolled .cart-link{color:var(--ink)}
body.home-transparent .site-header.scrolled .icon-btn:hover{background:var(--gold-light)}
body.home-transparent .site-header.scrolled .hamburger span{background:var(--ink)}
body.home-transparent .site-header.scrolled .logo-dark{display:block}
body.home-transparent .site-header.scrolled .logo-light{display:none}

/* ---------- Flash ---------- */
.flash{padding:.7rem 0;font-size:.75rem;letter-spacing:.05em;text-align:center}
.flash-success{background:#e8f3e9;color:var(--success)}
.flash-error{background:#f8e7e5;color:var(--error)}
.flash-info{background:var(--gold-light);color:var(--gold-dark)}

/* ---------- Hero slider ---------- */
.hero{position:relative;overflow:hidden;background:var(--bg-cream)}
.hero-track{display:flex;transition:transform .8s var(--ease)}
.hero-slide{position:relative;flex:0 0 100%;height:clamp(440px,66vh,720px)}
.hero-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-slide::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(20,15,10,.62) 0%,rgba(20,15,10,.32) 42%,rgba(20,15,10,.05) 75%)}
.slide-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  z-index:2;max-width:var(--container);margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem)}
.slide-caption-inner{max-width:540px;color:#fff}
.slide-caption .eyebrow{color:var(--gold);margin-bottom:1rem;display:block}
.slide-caption h1{font-size:clamp(2.4rem,2rem+3vw,4.6rem);color:#fff;margin:0 0 1.1rem;line-height:1.05;font-weight:500}
.slide-caption p{font-size:1rem;color:rgba(255,255,255,.9);margin:0 0 1.9rem;max-width:440px;letter-spacing:.02em}
.hero-arrows{position:absolute;bottom:1.6rem;right:clamp(1.5rem,5vw,4rem);z-index:3;display:flex;gap:.5rem}
.hero-arrows button{width:46px;height:46px;border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.08);
  color:#fff;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);transition:.25s}
.hero-arrows button:hover{background:#fff;color:var(--ink)}
.hero-dots{position:absolute;bottom:2rem;left:clamp(1.5rem,5vw,4rem);z-index:3;display:flex;gap:.5rem}
.hero-dots span{width:26px;height:2px;background:rgba(255,255,255,.4);cursor:pointer;transition:.3s}
.hero-dots span.active{background:var(--gold);width:40px}

/* ---------- Sections ---------- */
.section{padding:clamp(3.5rem,7vw,6rem) 0}
.section-alt{background:var(--bg-alt)}
.section-cream{background:var(--bg-cream)}
.section-title{text-align:center;margin:0 auto 3.4rem;max-width:640px}
.section-title .eyebrow{display:block;margin-bottom:.7rem}
.section-title h2{font-size:clamp(1.9rem,1.4rem+1.6vw,2.9rem);position:relative;padding-bottom:1.15rem;margin:0}
.section-title h2::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);
  width:46px;height:1px;background:var(--gold)}
.section-title .section-sub{font-style:italic;color:var(--text-muted);margin-top:.9rem;font-size:.95rem}
.eyebrow{font-size:.62rem;letter-spacing:.3em;font-weight:600;color:var(--gold);text-transform:uppercase}
.section-foot{text-align:center;margin-top:3rem}

/* ---------- USP strip ---------- */
.usp-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-warm)}
.usp-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.usp{display:flex;align-items:center;gap:1rem;padding:1.9rem 1.5rem;justify-content:center;text-align:left;
  border-right:1px solid var(--line)}
.usp:last-child{border-right:none}
.usp-ico{font-size:1.5rem;color:var(--gold);line-height:1}
.usp b{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:600}
.usp small{color:var(--text-muted);font-size:.72rem}

/* ---------- Category showcase ---------- */
.cat-showcase{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.cat-tile{position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:4/5;display:block;background:var(--bg-cream)}
.cat-tile img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.cat-tile:hover img{transform:scale(1.06)}
.cat-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,15,10,.66),rgba(20,15,10,0) 55%)}
.cat-tile-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.6rem;color:#fff}
.cat-tile h3{color:#fff;font-size:1.5rem;margin:0 0 .3rem}
.cat-tile span.cat-cta{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-light);
  border-bottom:1px solid transparent;padding-bottom:2px;transition:.3s}
.cat-tile:hover span.cat-cta{border-color:var(--gold)}
.cat-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}
.cat-chip{text-align:center}
.cat-chip .chip-img{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--bg-cream);margin-bottom:.8rem;
  border:1px solid var(--line)}
.cat-chip img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.cat-chip:hover img{transform:scale(1.08)}
.cat-chip b{font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;color:var(--ink)}

/* ---------- Product grid + card ---------- */
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2.6rem 1.6rem}
.product-card{position:relative;display:flex;flex-direction:column}
.card-media{position:relative}
.product-card .img-wrap{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);
  background:var(--bg-cream);transition:box-shadow .4s var(--ease)}
.product-card:hover .img-wrap{box-shadow:var(--shadow-lg)}
.product-card .img-track{display:flex;height:100%;transition:transform .5s var(--ease)}
.product-card .img-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.card-dots{position:absolute;bottom:.7rem;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:3}
.card-dots span{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6)}
.card-dots span.active{background:#fff}
.new-tag,.sale-tag{position:absolute;top:.7rem;left:.7rem;z-index:3;font-size:.55rem;letter-spacing:.14em;
  text-transform:uppercase;font-weight:600;padding:.3rem .6rem;color:#fff;background:var(--gold)}
.sale-tag{background:var(--rose);top:.7rem;left:auto;right:.7rem}
.stock-badge{position:absolute;bottom:.65rem;left:.65rem;z-index:3;font-size:.53rem;letter-spacing:.16em;
  text-transform:uppercase;font-weight:600;padding:.3rem .65rem;color:#fff;background:var(--ink)}
.stock-badge.low{background:#c97a2a}
.stock-badge.sold-out{background:rgba(20,17,15,.85)}
.product-card.is-sold-out .img-wrap::before{content:"";position:absolute;inset:0;background:rgba(250,246,240,.45);z-index:2}
.product-card.is-sold-out h3,.product-card.is-sold-out .price{opacity:.55}
.wishlist-heart{position:absolute;top:.6rem;right:.6rem;z-index:4;width:36px;height:36px;display:inline-flex;
  align-items:center;justify-content:center;background:rgba(255,255,255,.86);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.6);color:var(--ink);border-radius:50%;cursor:pointer;transition:.2s var(--ease)}
.card-media:hover .wishlist-heart,.wishlist-heart.active{opacity:1}
.wishlist-heart:hover,.wishlist-heart.active{color:var(--rose);background:#fff;transform:scale(1.08)}
.wishlist-heart.pulse{animation:heartPulse .45s var(--ease)}
@keyframes heartPulse{0%{transform:scale(1)}40%{transform:scale(1.4)}100%{transform:scale(1.08)}}
.card-body{padding-top:1.05rem;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.35rem}
.card-cat{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark)}
.product-card h3{font-family:var(--font-display);text-transform:none;font-size:1.08rem;font-weight:500;
  letter-spacing:.01em;line-height:1.3;margin:0;color:var(--ink)}
.product-card .price{font-size:.82rem;letter-spacing:.05em;color:var(--ink);font-weight:500}
.product-card .price del{color:var(--text-muted);margin-right:.5rem;font-weight:400}
.product-card .price-now{color:var(--gold-dark)}
.card-atc-btn{margin-top:.55rem}

/* ---------- Lifestyle banner ---------- */
.lifestyle{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:var(--bg-cream)}
.lifestyle-img{min-height:440px;background-size:cover;background-position:center}
.lifestyle-content{padding:clamp(2.5rem,6vw,5rem);display:flex;flex-direction:column;justify-content:center;max-width:560px}
.lifestyle-content .eyebrow{margin-bottom:1rem}
.lifestyle-content h2{font-size:clamp(1.9rem,1.4rem+1.6vw,2.9rem);margin:0 0 1.3rem;line-height:1.15}
.lifestyle-content p{color:var(--text-muted);margin:0 0 2rem;font-size:.95rem;line-height:1.8}

/* ---------- Testimonials ---------- */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.testi{background:#fff;border:1px solid var(--line);padding:2.3rem 1.8rem;border-radius:var(--radius);text-align:center}
.testi .stars{color:var(--gold);letter-spacing:.2em;margin-bottom:1rem}
.testi blockquote{font-family:var(--font-display);font-size:1.14rem;font-style:italic;color:var(--ink);
  margin:0 0 1.3rem;line-height:1.55}
.testi cite{font-style:normal;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.testi cite small{display:block;color:var(--text-muted);letter-spacing:.06em;margin-top:.2rem}

/* ---------- Newsletter ---------- */
.newsletter{background:var(--brand);color:#fff;padding:clamp(3.5rem,7vw,5.5rem) 0;text-align:center}
.newsletter-inner{max-width:600px;margin:0 auto}
.newsletter .eyebrow{color:var(--gold)}
.newsletter h2{color:#fff;font-size:clamp(1.9rem,1.4rem+1.6vw,2.8rem);margin:.7rem 0 1rem}
.newsletter p{color:rgba(255,255,255,.72);margin:0 0 2rem}
.newsletter-form{display:flex;gap:.6rem;max-width:460px;margin:0 auto}
.newsletter-form input{flex:1;padding:1rem 1.2rem;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.06);
  color:#fff;font-family:inherit;font-size:.8rem;border-radius:var(--radius)}
.newsletter-form input::placeholder{color:rgba(255,255,255,.55)}
.newsletter-msg{margin-top:1rem;font-size:.78rem;min-height:1.2em;color:var(--gold-light)}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:rgba(255,255,255,.72);padding-top:clamp(3rem,6vw,4.5rem)}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2.5rem;padding-bottom:3rem}
.footer-logo{max-height:56px;margin-bottom:1.2rem}
.footer-brand p{font-size:.8rem;line-height:1.8;max-width:320px;color:rgba(255,255,255,.6)}
.footer-social{display:flex;gap:.6rem;margin-top:1.3rem}
.footer-social a{width:38px;height:38px;border:1px solid rgba(255,255,255,.18);border-radius:50%;display:flex;
  align-items:center;justify-content:center;color:rgba(255,255,255,.8);transition:.25s}
.footer-social a:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.footer-col h4{color:#fff;font-size:.72rem;letter-spacing:.16em;margin-bottom:1.2rem}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}
.footer-col a{font-size:.8rem;color:rgba(255,255,255,.6);transition:color .25s}
.footer-col a:hover{color:var(--gold)}
.footer-contact li{font-size:.8rem;color:rgba(255,255,255,.6);line-height:1.7}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}
.footer-bottom-inner{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 0;
  font-size:.68rem;letter-spacing:.06em;color:rgba(255,255,255,.5);gap:1rem;flex-wrap:wrap}

/* ---------- Mobile drawer ---------- */
.mobile-drawer{position:fixed;top:0;left:0;bottom:0;width:min(84vw,340px);background:var(--bg-warm);z-index:120;
  transform:translateX(-100%);transition:transform .35s var(--ease);display:flex;flex-direction:column;
  box-shadow:var(--shadow-lg)}
.mobile-drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.3rem;border-bottom:1px solid var(--line)}
.drawer-logo{max-height:46px}
.drawer-close{font-size:1.8rem;background:none;border:none;cursor:pointer;color:var(--ink);line-height:1}
.drawer-nav{flex:1;overflow-y:auto;padding:1rem 0;display:flex;flex-direction:column}
.drawer-nav a{padding:.85rem 1.4rem;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink);font-weight:500}
.drawer-nav a.drawer-sub{padding-left:2.2rem;text-transform:none;font-weight:400;color:var(--text);letter-spacing:.03em}
.drawer-group-label{padding:1rem 1.4rem .3rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark)}
.drawer-foot{padding:1.2rem 1.4rem;border-top:1px solid var(--line)}
.drawer-overlay{position:fixed;inset:0;background:rgba(20,15,10,.45);z-index:110;opacity:0;visibility:hidden;transition:.3s}
.drawer-overlay.open{opacity:1;visibility:visible}

/* ---------- Search overlay ---------- */
.search-overlay{position:fixed;inset:0;background:rgba(250,246,240,.98);z-index:130;opacity:0;visibility:hidden;
  transition:.3s;padding-top:12vh}
.search-overlay.open{opacity:1;visibility:visible}
.search-box{max-width:720px;margin:0 auto;padding:0 1.5rem}
.search-form{display:flex;align-items:center;border-bottom:2px solid var(--ink);padding-bottom:.8rem}
.search-form input{flex:1;border:none;background:none;font-family:var(--font-display);font-size:1.6rem;color:var(--ink);outline:none}
.search-close{font-size:1.8rem;background:none;border:none;cursor:pointer;color:var(--ink)}
.search-results{margin-top:1.8rem;max-height:64vh;overflow-y:auto}
.search-results .sr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.sr-item{display:flex;flex-direction:column;gap:.5rem}
.sr-item img{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);background:var(--bg-cream)}
.sr-item b{font-family:var(--font-display);font-weight:500;font-size:.92rem}
.sr-empty{text-align:center;color:var(--text-muted);padding:2rem 0}

/* ---------- Breadcrumb ---------- */
.breadcrumb{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:1.4rem 0}
.breadcrumb a:hover{color:var(--gold-dark)}
.breadcrumb span{margin:0 .5rem;color:var(--border)}

/* ---------- Page hero ---------- */
.mini-hero{background:var(--bg-cream);text-align:center;padding:clamp(2.5rem,5vw,4rem) 0}
.mini-hero .eyebrow{display:block;margin-bottom:.7rem}
.mini-hero h1{font-size:clamp(2rem,1.5rem+2vw,3.2rem);margin:0}
.mini-hero p{color:var(--text-muted);max-width:560px;margin:1rem auto 0}

/* ---------- Shop layout ---------- */
.shop-wrap{display:grid;grid-template-columns:250px 1fr;gap:2.5rem;padding:2.5rem 0 4rem}
.shop-filters h4{font-size:.7rem;letter-spacing:.14em;margin:0 0 1rem;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.filter-group{margin-bottom:2rem}
.filter-opt{display:flex;align-items:center;gap:.6rem;padding:.32rem 0;font-size:.78rem;cursor:pointer;color:var(--text)}
.filter-opt input{accent-color:var(--gold)}
.filter-swatch{width:16px;height:16px;border-radius:50%;border:1px solid var(--border)}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem;gap:1rem;flex-wrap:wrap}
.shop-count{font-size:.74rem;color:var(--text-muted);letter-spacing:.06em}
.shop-sort select,.zone-select select{padding:.6rem 1rem;border:1px solid var(--border);background:#fff;
  font-family:inherit;font-size:.74rem;border-radius:var(--radius);color:var(--ink)}
.filter-toggle-btn{display:none}

/* ---------- Product detail ---------- */
.pdp{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;padding:2.5rem 0 4rem}
.pdp-gallery{position:sticky;top:110px;align-self:start}
.pdp-main-img{aspect-ratio:3/4;overflow:hidden;border-radius:var(--radius);background:var(--bg-cream);margin-bottom:1rem}
.pdp-main-img img{width:100%;height:100%;object-fit:cover}
.pdp-thumbs{display:flex;gap:.7rem;flex-wrap:wrap}
.pdp-thumbs img{width:74px;aspect-ratio:3/4;object-fit:cover;border:1px solid var(--line);cursor:pointer;
  border-radius:2px;opacity:.65;transition:.25s}
.pdp-thumbs img.active,.pdp-thumbs img:hover{opacity:1;border-color:var(--gold)}
.product-info .eyebrow{display:block;margin-bottom:.8rem}
.product-info h1{font-size:clamp(1.9rem,1.4rem+1.6vw,2.7rem);margin:0 0 1rem;line-height:1.15}
.pdp-price{font-size:1.5rem;font-family:var(--font-display);color:var(--gold-dark);margin-bottom:1.3rem}
.pdp-price del{color:var(--text-muted);font-size:1.1rem;margin-right:.7rem}
.pdp-short{color:var(--text-muted);line-height:1.8;margin-bottom:1.6rem;font-size:.9rem}
.pdp-opt{margin-bottom:1.4rem}
.pdp-opt label{display:block;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.6rem;color:var(--ink)}
.opt-swatches{display:flex;gap:.55rem;flex-wrap:wrap}
.opt-swatch{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);cursor:pointer;position:relative;transition:.2s}
.opt-swatch.active{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--gold)}
.opt-pill{padding:.5rem 1rem;border:1px solid var(--border);font-size:.72rem;cursor:pointer;border-radius:2px;transition:.2s;background:#fff}
.opt-pill.active{border-color:var(--gold);background:var(--gold-light);color:var(--gold-dark)}
.pdp-buy{display:flex;gap:.8rem;align-items:stretch;margin-bottom:1.4rem}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius)}
.qty-stepper button{width:44px;height:100%;background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--ink)}
.qty-stepper input{width:44px;text-align:center;border:none;background:none;font-family:inherit;font-size:.9rem;color:var(--ink)}
.pdp-meta{border-top:1px solid var(--line);padding-top:1.4rem;font-size:.76rem;color:var(--text-muted);line-height:2}
.pdp-meta b{color:var(--ink)}
.pdp-tabs{border-top:1px solid var(--line);margin-top:1.6rem}
.pdp-desc{line-height:1.9;color:var(--text);font-size:.9rem}
.pdp-desc p{margin:0 0 1rem}

/* ---------- Cart ---------- */
.cart-layout{display:grid;grid-template-columns:1.6fr .9fr;gap:2.5rem;padding:2rem 0 4rem;align-items:start}
.cart-table{width:100%;border-collapse:collapse}
.cart-table th{text-align:left;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);
  padding:0 0 1rem;border-bottom:1px solid var(--line)}
.cart-table td{padding:1.1rem 0;border-bottom:1px solid var(--line);vertical-align:middle}
.cart-prod{display:flex;gap:1rem;align-items:center}
.cart-prod img{width:74px;height:96px;object-fit:cover;border-radius:2px;background:var(--bg-cream)}
.cart-prod b{font-family:var(--font-display);font-weight:500;font-size:1rem}
.cart-prod small{color:var(--text-muted);font-size:.72rem}
.cart-remove{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.7rem;letter-spacing:.06em;text-decoration:underline}
.cart-remove:hover{color:var(--error)}
.cart-summary{background:#fff;border:1px solid var(--line);padding:1.8rem;border-radius:var(--radius);position:sticky;top:110px}
.cart-summary h3{font-size:.78rem;letter-spacing:.14em;margin-bottom:1.3rem}
.sum-row{display:flex;justify-content:space-between;font-size:.82rem;padding:.5rem 0;color:var(--text)}
.sum-row.total{border-top:1px solid var(--line);margin-top:.6rem;padding-top:1rem;font-weight:600;font-size:1rem;color:var(--ink)}
.sum-row .disc{color:var(--success)}
.coupon-row{display:flex;gap:.5rem;margin:1.2rem 0}
.coupon-row input,.zone-select select{flex:1;padding:.75rem .9rem;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;font-size:.78rem}
.zone-select{margin:1rem 0}
.zone-select label{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:.4rem}
.zone-select select{width:100%}
.cart-empty{text-align:center;padding:4rem 0}
.cart-empty svg{color:var(--border);margin-bottom:1rem}

/* ---------- Forms / checkout ---------- */
.form-row{margin-bottom:1.1rem}
.form-row label{display:block;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.45rem;color:var(--ink)}
.form-row input,.form-row textarea,.form-row select{width:100%;padding:.85rem 1rem;border:1px solid var(--border);
  border-radius:var(--radius);font-family:inherit;font-size:.85rem;background:#fff;color:var(--ink)}
.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:none;border-color:var(--gold)}
.form-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.checkout-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:2.5rem;padding:2rem 0 4rem;align-items:start}
.checkout-box{background:#fff;border:1px solid var(--line);padding:1.8rem;border-radius:var(--radius);margin-bottom:1.5rem}
.checkout-box h3{font-size:.78rem;letter-spacing:.12em;margin-bottom:1.3rem}
.pay-opt{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:.8rem;cursor:pointer;transition:.2s}
.pay-opt.active{border-color:var(--gold);background:var(--gold-light)}
.pay-opt input{margin-top:.2rem;accent-color:var(--gold)}
.pay-opt b{font-size:.8rem;letter-spacing:.04em}
.pay-opt small{display:block;color:var(--text-muted);font-size:.72rem;margin-top:.2rem}
.order-review{background:#fff;border:1px solid var(--line);padding:1.8rem;border-radius:var(--radius);position:sticky;top:110px}
.oi-row{display:flex;gap:.8rem;padding:.7rem 0;border-bottom:1px solid var(--border-light);font-size:.8rem}
.oi-row img{width:52px;height:68px;object-fit:cover;border-radius:2px}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:3rem 0 4rem;align-items:start}
.contact-info .ci-item{display:flex;gap:1rem;margin-bottom:1.6rem}
.contact-info .ci-ico{color:var(--gold);flex-shrink:0}
.contact-info b{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem}
.contact-info span,.contact-info a{color:var(--text-muted);font-size:.85rem}

/* ---------- Wishlist / recently viewed ---------- */
.rv-strip{padding-top:1rem}

/* ---------- Cookie / whatsapp / toast ---------- */
.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:560px;margin:0 auto;background:var(--ink);
  color:rgba(255,255,255,.92);padding:1.1rem 1.4rem;border-radius:6px;box-shadow:var(--shadow-lg);z-index:300;
  display:flex;gap:1rem;flex-wrap:wrap;align-items:center;font-size:.78rem;animation:cookieIn .5s var(--ease)}
.cookie-banner[hidden]{display:none}
.cookie-banner a{color:var(--gold);text-decoration:underline}
.cookie-banner span{flex:1;min-width:200px}
@keyframes cookieIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.cookie-banner-actions{display:flex;gap:.5rem}
.cookie-banner .btn-accept{background:var(--gold);border-color:var(--gold);color:#fff}
.cookie-banner .btn-decline{background:transparent;border:1px solid rgba(255,255,255,.3);color:#fff}
.wa-float{position:fixed;right:1.1rem;bottom:1.1rem;z-index:90;width:56px;height:56px;border-radius:50%;
  background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,.4);
  transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}
@media(max-width:900px){.wa-float{bottom:75px}}
.toast-wrap{position:fixed;top:1.2rem;right:1.2rem;z-index:400;display:flex;flex-direction:column;gap:.6rem}
.toast{background:var(--ink);color:#fff;padding:.9rem 1.3rem;border-radius:var(--radius);font-size:.78rem;
  box-shadow:var(--shadow-lg);animation:toastIn .3s var(--ease);max-width:300px}
.toast.success{border-left:3px solid var(--gold)}
@keyframes toastIn{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}

/* ---------- Services page ---------- */
.svc-row{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center}
.svc-row.reverse .svc-media{order:2}
.svc-media{border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;background:var(--bg-cream)}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.svc-media:hover img{transform:scale(1.05)}
.svc-content .eyebrow{display:block;margin-bottom:.7rem}
.svc-content h2{font-family:var(--font-display);text-transform:none;font-weight:500;font-size:clamp(1.8rem,1.4rem+1.4vw,2.6rem);margin:0 0 1rem}
.svc-intro{color:var(--text-muted);line-height:1.85;margin:0 0 1.6rem;font-size:.92rem}
.svc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.svc-list li{padding:1.1rem 0;border-top:1px solid var(--line)}
.svc-list li:last-child{border-bottom:1px solid var(--line)}
.svc-item-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem}
.svc-item-head b{font-size:.95rem;color:var(--ink);letter-spacing:.02em}
.svc-price{font-size:.72rem;letter-spacing:.08em;color:var(--gold-dark);font-weight:600;white-space:nowrap;
  background:var(--gold-light);padding:.25rem .7rem;border-radius:20px}
.svc-list li span{color:var(--text-muted);font-size:.84rem;line-height:1.6}
@media(max-width:860px){.svc-row{grid-template-columns:1fr;gap:1.8rem}.svc-row.reverse .svc-media{order:0}.svc-media{aspect-ratio:16/10}}

/* ---------- Portfolio ---------- */
.pf-filters{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin:2rem 0 2.5rem}
.pf-filter{background:none;border:1px solid var(--border);color:var(--text);font-family:inherit;
  font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;padding:.6rem 1.3rem;border-radius:30px;cursor:pointer;transition:.25s}
.pf-filter:hover{border-color:var(--gold)}
.pf-filter.active{background:var(--brand);border-color:var(--brand);color:#fff}
.pf-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;padding-bottom:1rem}
.pf-item{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);aspect-ratio:3/4;cursor:pointer;background:var(--bg-cream)}
.pf-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.pf-item:hover img{transform:scale(1.07)}
.pf-item figcaption{position:absolute;inset:auto 0 0 0;padding:1.2rem 1rem .9rem;z-index:2;color:#fff;
  background:linear-gradient(0deg,rgba(20,15,10,.78),transparent);opacity:0;transform:translateY(10px);transition:.35s var(--ease)}
.pf-item:hover figcaption{opacity:1;transform:translateY(0)}
.pf-cap-tag{display:block;font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);margin-bottom:.2rem}
.pf-item figcaption b{font-family:var(--font-display);font-weight:500;font-size:1.05rem}
.pf-item.hide{display:none}
.pf-cta{text-align:center;padding:3rem 0 4rem;max-width:560px;margin:0 auto}
.pf-cta p{color:var(--text-muted)}
.pf-cta a{color:var(--gold-dark);border-bottom:1px solid var(--gold)}
.pf-lightbox{position:fixed;inset:0;background:rgba(15,11,8,.92);z-index:400;display:flex;align-items:center;
  justify-content:center;padding:2rem;opacity:0;visibility:hidden;transition:.3s}
.pf-lightbox.open{opacity:1;visibility:visible}
.pf-lightbox img{max-width:min(90vw,640px);max-height:88vh;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.pf-lb-close{position:absolute;top:1.2rem;right:1.4rem;background:none;border:none;color:#fff;font-size:2.2rem;cursor:pointer;line-height:1}
@media(max-width:1000px){.pf-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:680px){.pf-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}}

/* ---------- Blog / Updates ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.blog-card{display:flex;flex-direction:column}
.blog-media{aspect-ratio:3/2;overflow:hidden;border-radius:var(--radius);background:var(--bg-cream);display:block}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.blog-card:hover .blog-media img{transform:scale(1.05)}
.blog-body{padding-top:1.1rem}
.blog-date{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-dark)}
.blog-body h3{font-family:var(--font-display);text-transform:none;font-weight:500;font-size:1.3rem;line-height:1.3;margin:.5rem 0 .6rem}
.blog-body h3 a:hover{color:var(--gold-dark)}
.blog-body p{color:var(--text-muted);font-size:.85rem;line-height:1.7;margin:0 0 .8rem}
.blog-more{font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);font-weight:600}
.blog-single{max-width:800px;padding-bottom:4rem}
.blog-single-head{text-align:center;margin:1rem 0 2rem}
.blog-single-head .eyebrow{display:block;margin-bottom:.7rem}
.blog-single-head h1{font-family:var(--font-display);text-transform:none;font-weight:500;font-size:clamp(2rem,1.5rem+2vw,3rem);margin:0}
.blog-single-img{border-radius:var(--radius);overflow:hidden;margin-bottom:2rem;aspect-ratio:16/9;background:var(--bg-cream)}
.blog-single-img img{width:100%;height:100%;object-fit:cover}
.blog-content{font-size:.95rem;line-height:1.9}
.blog-content h3{font-family:var(--font-display);text-transform:none;font-weight:500;font-size:1.4rem;margin:1.8rem 0 .8rem}
.blog-single-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.6rem;border-top:1px solid var(--line)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.blog-grid{grid-template-columns:1fr}}

/* ---------- Account / Auth ---------- */
.auth-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;padding:1rem 0 4rem;max-width:900px;margin:0 auto;align-items:start}
.account-layout{display:grid;grid-template-columns:280px 1fr;gap:2.5rem;padding:1rem 0 4rem;align-items:start}
.account-side{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;position:sticky;top:110px}
.account-hello{display:flex;align-items:center;gap:.9rem;margin-bottom:1.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line)}
.acc-avatar{width:48px;height:48px;border-radius:50%;background:var(--gold);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.3rem}
.account-hello b{display:block;font-size:.9rem}
.account-hello small{color:var(--text-muted);font-size:.72rem}
.acc-h2{font-family:var(--font-display);text-transform:none;font-weight:500;font-size:1.6rem;margin:0 0 1.2rem}
.order-status{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;padding:.28rem .7rem;border-radius:20px;background:var(--bg-cream);color:var(--gold-dark)}
.order-status.s-completed,.order-status.s-paid{background:#e8f3e9;color:var(--success)}
.order-status.s-cancelled{background:#f8e7e5;color:var(--error)}
@media(max-width:860px){.auth-grid,.account-layout{grid-template-columns:1fr}.account-side{position:static}}
@media(max-width:600px){
  .acc-orders thead{display:none}
  .acc-orders,.acc-orders tbody,.acc-orders tr,.acc-orders td{display:block;width:100%}
  .acc-orders tr{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem;margin-bottom:.8rem;background:#fff}
  .acc-orders td{padding:.25rem 0;border:0;display:flex;justify-content:space-between}
  .acc-orders td::before{content:attr(data-label);color:var(--text-muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
}

/* ---------- Reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in-view{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- Mobile bottom nav ---------- */
.mobile-bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:#fff;
  border-top:1px solid var(--line);box-shadow:0 -2px 10px rgba(0,0,0,.06);padding:.35rem 0;
  padding-bottom:max(.35rem,env(safe-area-inset-bottom))}
.mbn-item{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.35rem .5rem;color:var(--text-muted);
  font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;background:none;border:none;cursor:pointer;min-width:56px}
.mbn-item:hover,.mbn-item.active{color:var(--gold-dark)}
.mbn-cart-wrap{position:relative}
.mbn-cart-wrap .badge{top:-8px;right:-16px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .product-grid{grid-template-columns:repeat(3,1fr)}
  .cat-strip{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:960px){
  .primary-nav{display:none}
  .header-main{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 0}
  .hamburger{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.4rem;order:0}
  .hamburger span{width:22px;height:2px;background:var(--ink);display:block}
  .brand{order:1;margin:0 auto}
  .header-actions{order:2}
  .acct-link,.cart-total{display:none}
  .pdp{grid-template-columns:1fr;gap:2rem}
  .pdp-gallery{position:static}
  .cart-layout,.checkout-layout,.contact-grid,.lifestyle{grid-template-columns:1fr}
  .cart-summary,.order-review,.pdp-gallery{position:static}
  .lifestyle-img{min-height:320px}
  .testi-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .mobile-bottom-nav{display:flex;justify-content:space-around}
  body{padding-bottom:60px}
  .usp-grid{grid-template-columns:repeat(2,1fr)}
  .usp:nth-child(2){border-right:none}
  .usp{border-bottom:1px solid var(--line)}
  .shop-wrap{grid-template-columns:1fr}
  .shop-filters{display:none}
  .filter-toggle-btn{display:inline-flex}
  .search-results .sr-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .cat-showcase{grid-template-columns:1fr;gap:1rem}
  .form-2{grid-template-columns:1fr}
  .footer-bottom-inner{flex-direction:column;text-align:center;gap:.5rem}
  input,select,textarea{font-size:16px !important}
  .slide-caption p{display:none}
}
@media(max-width:600px){
  .product-grid{grid-template-columns:repeat(2,1fr);gap:1.8rem 1rem}
  .brand img{max-height:52px}
  .announce-bar{font-size:.58rem}
  .footer-grid{grid-template-columns:1fr;gap:2rem}
  .cart-table thead{display:none}
  .cart-table,.cart-table tbody,.cart-table tr,.cart-table td{display:block;width:100%}
  .cart-table tr{border:1px solid var(--line);border-radius:var(--radius);padding:.85rem;margin-bottom:1rem;
    background:#fff;display:grid;grid-template-columns:74px 1fr;gap:.4rem .85rem}
  .cart-table td{padding:0;border:0;font-size:.82rem}
  .cart-table td:first-child{grid-row:span 4}
  .cart-prod img{width:74px;height:96px}
  .newsletter-form{flex-direction:column}
}
@media(max-width:400px){
  .container{padding:0 .9rem}
  .cat-strip{grid-template-columns:repeat(2,1fr)}
  .slide-caption h1{font-size:2rem}
}
