/* ============================================================================
   GLITCHY — Premium Fashion design layer (Phase 7 rebrand)
   Loaded AFTER theme.css. Re-skins via tokens + refined component overrides.
   Palette: warm ivory / espresso / champagne gold / deep sage — editorial,
   architectural, mobile-first. Markup is unchanged; only styles are overridden.
   ============================================================================ */

/* ---- 1. Design tokens (override theme.css :root) ---- */
:root{
  --bg:#f5f1e9;            /* warm ivory / bone */
  --surface:#ffffff;
  --surface-2:#efe9dd;     /* sand */
  --text:#1c1a17;          /* espresso near-black */
  --muted:#7a7368;         /* warm taupe */
  --primary:#1c1a17;       /* CTAs are architectural near-black */
  --primary-2:#000000;
  --accent:#a6824c;        /* champagne / antique gold */
  --accent-2:#8c6a3a;
  --success:#3f6b4e;       /* deep sage */
  --danger:#a23b2d;        /* terracotta */
  --warning:#b8893a;

  --radius:10px;
  --radius-sm:6px;
  --radius-pill:999px;
  --border:1px solid rgba(28,26,23,.12);
  --border-strong:1px solid rgba(28,26,23,.22);
  --shadow:0 20px 50px rgba(28,26,23,.10);
  --shadow-soft:0 10px 28px rgba(28,26,23,.07);
  --nav-bg:rgba(245,241,233,.86);
  --footer-bg:#1c1a17;
  --focus-ring:0 0 0 .18rem rgba(166,130,76,.30);

  --font-display:"Plus Jakarta Sans","Inter",system-ui,-apple-system,sans-serif;
  --font-ui:"Inter",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --tr:.35s var(--ease);
}
:root[data-theme="dark"]{
  --bg:#15130f;
  --surface:#1f1c17;
  --surface-2:#272219;
  --text:#f3eee4;
  --muted:#b6ab99;
  --primary:#f3eee4;       /* on dark, CTAs invert to light */
  --primary-2:#ffffff;
  --accent:#caa56a;
  --accent-2:#b8945a;
  --border:1px solid rgba(243,238,228,.12);
  --border-strong:1px solid rgba(243,238,228,.22);
  --shadow:0 22px 56px rgba(0,0,0,.5);
  --shadow-soft:0 12px 30px rgba(0,0,0,.35);
  --nav-bg:rgba(21,19,15,.78);
  --footer-bg:#100e0b;
  --focus-ring:0 0 0 .18rem rgba(202,165,106,.34);
}

/* ---- 2. Base typography ---- */
body{
  font-family:var(--font-ui);
  background:var(--bg);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  letter-spacing:.005em;
}
h1,h2,h3,h4,.hero-title,.section-title,.pdp-title,.cart-title,.dash-title{
  font-family:var(--font-display)!important;
  font-weight:700;
  letter-spacing:-.02em;
  color:var(--text);
}
a{color:var(--text);}
a:hover{color:var(--accent-2);}
.text-muted{color:var(--muted)!important;}
::selection{background:var(--accent);color:#fff;}

/* refined focus visibility for accessibility */
a:focus-visible,button:focus-visible,.btn:focus-visible,
input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm);
}

/* ---- 3. Buttons (architectural, restrained) ---- */
.btn{font-family:var(--font-ui);font-weight:600;border-radius:var(--radius-sm);
  transition:transform var(--tr),background var(--tr),color var(--tr),box-shadow var(--tr);}
.btn-primary,.summary-cta,.btn.btn-primary{
  background:var(--primary)!important;border:1px solid var(--primary)!important;
  color:#fff!important;border-radius:var(--radius-sm)!important;
  letter-spacing:.06em;text-transform:uppercase;font-size:.82rem;font-weight:600;
  padding:.72rem 1.4rem;box-shadow:none!important;
}
.btn-primary:hover{background:var(--accent)!important;border-color:var(--accent)!important;
  color:#fff!important;transform:translateY(-1px);}
.btn-outline-primary,.btn-outline-dark{
  border:1px solid var(--primary)!important;color:var(--text)!important;background:transparent!important;
  letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;border-radius:var(--radius-sm)!important;}
.btn-outline-primary:hover,.btn-outline-dark:hover{background:var(--primary)!important;color:#fff!important;}
.btn-soft,.btn.btn-soft{
  background:var(--surface)!important;border:var(--border)!important;color:var(--text)!important;
  border-radius:var(--radius-sm)!important;box-shadow:none!important;}
.btn-soft:hover{border:var(--border-strong)!important;background:var(--surface-2)!important;}
.btn-dark{background:var(--primary)!important;border-color:var(--primary)!important;}
.btn-link{color:var(--accent-2)!important;}

/* ---- 4. Navbar ---- */
.section-header .navbar{background:var(--nav-bg);backdrop-filter:saturate(140%) blur(14px);
  border-bottom:var(--border);}
.navbar-brand span,.navbar-brand{font-family:var(--font-display)!important;font-weight:600;
  letter-spacing:.04em;color:var(--text)!important;}
.navbar .nav-link{font-family:var(--font-ui);font-weight:500;letter-spacing:.02em;
  color:var(--text)!important;font-size:.92rem;}
.navbar .nav-link:hover,.navbar .nav-link.active{color:var(--accent-2)!important;}
.searchbar .form-control{border-radius:var(--radius-pill);border:var(--border);background:var(--surface);}
.nav-icon{color:var(--text);}
.badge-danger,.badge.badge-danger{background:var(--accent)!important;color:#fff!important;}
.lang-switcher .lang-code{font-weight:600;letter-spacing:.04em;}

/* ---- 5. Hero (editorial) ---- */
.hero-banner{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);}
.hero-overlay{background:linear-gradient(90deg,rgba(28,26,23,.66) 0%,rgba(28,26,23,.20) 55%,rgba(28,26,23,0) 100%);}
.hero-kicker{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.28em;
  font-size:.72rem;font-weight:600;color:var(--accent);opacity:1;}
.hero-title{font-family:var(--font-display)!important;font-weight:800;line-height:1.05;
  letter-spacing:-.015em;font-size:clamp(2.1rem,5vw,3.6rem);color:#fff;}
.hero-sub{font-family:var(--font-ui);color:rgba(255,255,255,.85);font-size:1.02rem;max-width:34ch;}
.hero-copy .btn-primary{background:#fff!important;color:var(--text)!important;border-color:#fff!important;}
.hero-copy .btn-primary:hover{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;}

/* ---- 6. Section headings ---- */
.section-title{font-size:clamp(1.4rem,2.6vw,2rem);}
.section-sub{color:var(--muted);font-family:var(--font-ui);}
.section-head .btn-soft{text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;}
.home-section-muted{background:linear-gradient(180deg,var(--surface-2),var(--bg));}

/* ---- 7. Product cards ---- */
.p-card,.product-card,.card.product-card{
  background:var(--surface);border:var(--border);border-radius:var(--radius);overflow:hidden;
  box-shadow:none;transition:transform var(--tr),box-shadow var(--tr),border-color var(--tr);}
.p-card:hover,.product-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(166,130,76,.4);}
.p-media,.media-skeleton{background:var(--surface-2);overflow:hidden;}
.p-media img,.product-card img,.media-skeleton img{transition:transform .7s var(--ease);}
.p-card:hover .p-media img,.product-card:hover img{transform:scale(1.05);}
.p-title,.product-title{font-family:var(--font-ui);font-weight:600;color:var(--text);letter-spacing:0;}
.p-price,.price{font-family:var(--font-display)!important;font-weight:700;color:var(--text);font-size:1.05rem;}
.p-link{color:var(--accent-2)!important;text-transform:uppercase;letter-spacing:.06em;font-size:.72rem;font-weight:600;}

/* ---- 8. Badges / chips (no emoji feel) ---- */
.p-chip,.badge-corner{font-family:var(--font-ui)!important;text-transform:uppercase;
  letter-spacing:.08em;font-size:.62rem;font-weight:600;border-radius:var(--radius-sm);
  padding:.28rem .55rem;}
.p-chip{background:rgba(28,26,23,.06);color:var(--text);border:var(--border);}
.p-chip-top,.badge-new{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important;}
.badge-out{background:var(--danger)!important;color:#fff!important;}
.badge-low{background:var(--warning)!important;color:#fff!important;}
.badge-pill{border-radius:var(--radius-pill);}

/* ---- 9. Product detail ---- */
.pdp-card{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);}
.pdp-title{font-size:clamp(1.6rem,3vw,2.3rem);}
.pdp-price{font-family:var(--font-display)!important;font-weight:800;color:var(--text);font-size:1.7rem;}
.pdp-badges .badge{text-transform:uppercase;letter-spacing:.08em;font-size:.62rem;font-weight:600;}
.pdp-pill{background:var(--surface-2);border:var(--border);border-radius:var(--radius-pill);}
.pdp-pill--stock.is-in{color:var(--success);}
.pdp-pill--stock.is-out{color:var(--danger);}
.custom-select-btn,.pdp-thumb{border:var(--border)!important;border-radius:var(--radius-sm)!important;background:var(--surface)!important;}
.pdp-thumb.active{border-color:var(--accent)!important;}
.pdp-more-toggle{color:var(--accent-2)!important;text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;}
.pdp-more-list li strong{color:var(--text);}
.pdp-trust span{color:var(--muted);}

/* ---- 10. Cart / checkout / summary ---- */
.summary-card,.cart-card,.checkout-card,.dash-card{
  background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);}
.summary-title,.summary-head h5{font-family:var(--font-display)!important;}
.summary-chip{background:var(--surface-2);border:var(--border);border-radius:var(--radius-pill);color:var(--muted);}
.summary-lines .grand span{font-family:var(--font-display)!important;font-weight:600;}
.variant-pill{background:var(--surface-2);border:var(--border);border-radius:var(--radius-pill);}
.variant-pill .variant-k{color:var(--muted);}
.qty-control{border:var(--border);border-radius:var(--radius-pill);}
.qty-btn{color:var(--text);}
.form-control{border-radius:var(--radius-sm);border:var(--border);background:var(--surface);color:var(--text);}
.form-control:focus{border-color:var(--accent);box-shadow:var(--focus-ring);}
.checkout-grid label,.checkout-note label{font-weight:600;font-size:.82rem;color:var(--text);}
.trust-box,.trust-item,.trust-row,.trust-chip{color:var(--muted);}
.trust-chip{background:var(--surface);border:var(--border);border-radius:var(--radius-pill);}

/* ---- 11. Alerts / toasts ---- */
.alert{border-radius:var(--radius);border:var(--border);}
.alert-success{background:rgba(63,107,78,.10);color:var(--success);border-color:rgba(63,107,78,.25);}
.alert-danger,.alert-warning{border-radius:var(--radius);}
.toast{border-radius:var(--radius)!important;border:var(--border)!important;}

/* ---- 12. Footer (dark, editorial) ---- */
.footer-premium{background:var(--footer-bg);color:#cfc7b8;}
.footer-premium .footer-title{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.16em;
  font-size:.72rem;color:#fff;font-weight:600;}
.footer-premium .footer-link{color:#cfc7b8;}
.footer-premium .footer-link:hover{color:var(--accent);}
.footer-premium .footer-badge{font-family:var(--font-display);color:#fff;letter-spacing:.04em;}
.footer-premium .footer-desc{color:#a59c8c;}
.footer-premium .social-btn{border:1px solid rgba(255,255,255,.16);color:#cfc7b8;border-radius:var(--radius-pill);}
.footer-premium .social-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);}
.footer-premium .trust-chip{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);color:#cfc7b8;}
.footer-premium .newsletter-input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);color:#fff;border-radius:var(--radius-pill);}
.footer-premium .newsletter-btn{background:var(--accent);border-color:var(--accent);border-radius:var(--radius-pill);}
.footer-premium .country-switcher select{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);}
.footer-premium .footer-bottom{border-top:1px solid rgba(255,255,255,.10);color:#9a917f;}
.footer-premium .footer-bottom .footer-link{color:#9a917f;}

/* ---- 13. Account / admin readability (light touch) ---- */
.badge-soft-success{background:rgba(63,107,78,.12);color:var(--success);}
.badge-soft-danger{background:rgba(162,59,45,.12);color:var(--danger);}
.badge-soft-info{background:rgba(166,130,76,.14);color:var(--accent-2);}
.dash-table thead th{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;
  font-size:.7rem;color:var(--muted);}

/* ---- 14. Reveal-on-scroll (progressive enhancement) ----
   Gated behind .js-anim so content is ALWAYS visible without JS / for crawlers. */
.js-anim [data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.js-anim [data-reveal].is-visible{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  .js-anim [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
  *{scroll-behavior:auto!important;}
}

/* ---- 15. Premium home sections (new markup in home.html) ---- */
.lux-strip{background:var(--primary);color:#f5f1e9;}
.lux-strip .lux-item{font-family:var(--font-ui);letter-spacing:.04em;}
.lux-strip .lux-item i{color:var(--accent);}
.lux-feature{background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:none;
  transition:transform var(--tr),box-shadow var(--tr);}
.lux-feature:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);}
.lux-feature .lux-ic{width:46px;height:46px;display:grid;place-items:center;border-radius:var(--radius-pill);
  background:var(--surface-2);color:var(--accent-2);font-size:1.1rem;}
.lux-feature h4{font-family:var(--font-display);font-weight:500;font-size:1.05rem;}
.lux-quote{font-family:var(--font-display);font-weight:600;font-size:clamp(1.3rem,3vw,1.95rem);
  line-height:1.32;letter-spacing:-.02em;color:var(--text);}
.lux-eyebrow{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.28em;font-size:.7rem;
  font-weight:600;color:var(--accent);}

/* editorial split band (image + copy) */
.lux-split{display:grid;grid-template-columns:1.05fr .95fr;gap:0;border:var(--border);
  border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow-soft);}
.lux-split-media{min-height:340px;overflow:hidden;background:var(--surface-2);}
.lux-split-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.1s var(--ease);}
.lux-split:hover .lux-split-media img{transform:scale(1.04);}
.lux-split-body{padding:clamp(1.6rem,4vw,3rem);display:flex;flex-direction:column;justify-content:center;}
@media (max-width:768px){
  .lux-split{grid-template-columns:1fr;}
  .lux-split-media{min-height:240px;}
}

/* ---- 16. Small refinements ---- */
.breadcrumb-clean .breadcrumb-item,.breadcrumb-clean a{font-size:.82rem;color:var(--muted);}
.breadcrumb-clean a:hover{color:var(--accent-2);}
img{max-width:100%;}
.pagination .page-link{color:var(--text);border:var(--border);border-radius:var(--radius-sm);margin:0 3px;}
.pagination .page-item.active .page-link{background:var(--primary);border-color:var(--primary);color:#fff;}

/* ============================================================================
   DEEP PREMIUM UPGRADE (Phase 8) — icons, sidebar, drawers, cards, motion
   ============================================================================ */

/* ---- Icon system ---- */
.ic{display:inline-block;vertical-align:-.18em;flex:0 0 auto;}
.ic-accent{color:var(--accent-2);}
.lux-item .ic{color:var(--accent);margin-right:.5rem;}
.trust-chip .ic,.trust-row .ic,.trust-item .ic{margin-right:.4rem;color:var(--accent-2);}

/* ---- Shop sidebar (premium) ---- */
.filter-card{background:var(--surface);border:var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-soft);padding:0;overflow:hidden;}
.filter-section{padding:1.05rem 1.15rem;border-bottom:var(--border);}
.filter-section:last-child{border-bottom:0;}
.filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.85rem;cursor:pointer;}
.filter-head h6{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.12em;
  font-size:.72rem;font-weight:700;color:var(--text);margin:0;display:flex;align-items:center;gap:.5rem;}
.filter-head h6 .ic{color:var(--accent-2);}
.filter-chip{background:var(--surface-2);border:var(--border);border-radius:var(--radius-pill);
  font-size:.66rem;font-weight:600;color:var(--muted);padding:.12rem .5rem;}
.filter-head .ic-toggle{color:var(--muted);transition:transform .3s var(--ease);}
.filter-section.is-collapsed .ic-toggle{transform:rotate(-90deg);}
.filter-section.is-collapsed .filter-body{display:none;}
.cat-list{display:flex;flex-direction:column;gap:.1rem;}
.cat-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .65rem;
  border-radius:var(--radius-sm);color:var(--text);font-size:.9rem;transition:background var(--tr),color var(--tr);}
.cat-item:hover{background:var(--surface-2);color:var(--text);}
.cat-item.active{background:var(--primary);color:#fff;}
.cat-item.active .text-muted,.cat-item.active span{color:#fff!important;}
.range-slider{accent-color:var(--accent);}
.range-row .form-control{font-size:.85rem;}
.filter-actions .btn{flex:1;}

/* ---- Mobile filter drawer ---- */
.filter-bar{display:none;}
.filter-backdrop{position:fixed;inset:0;background:rgba(28,26,23,.45);opacity:0;visibility:hidden;
  transition:opacity .3s var(--ease);z-index:1190;}
.filter-backdrop.is-open{opacity:1;visibility:visible;}
@media (max-width:991px){
  .filter-bar{display:flex;gap:.6rem;margin-bottom:1rem;}
  .filter-bar .btn{flex:1;justify-content:center;}
  .shop-aside{position:fixed;top:0;left:0;height:100dvh;width:86%;max-width:340px;z-index:1200;
    background:var(--bg);transform:translateX(-104%);transition:transform .38s var(--ease);
    overflow-y:auto;padding:1rem;box-shadow:0 0 50px rgba(0,0,0,.25);}
  .shop-aside.is-open{transform:translateX(0);}
  .filter-drawer-head{display:flex;align-items:center;justify-content:space-between;
    margin-bottom:.8rem;padding-bottom:.8rem;border-bottom:var(--border);}
  .filter-drawer-head .h6{font-family:var(--font-display);font-size:1.1rem;margin:0;}
}
.filter-drawer-head{display:none;}
@media (max-width:991px){.filter-drawer-head{display:flex;}}

/* ---- Product cards: quick-add + second image hover ---- */
.p-media,.media-skeleton{position:relative;}
.p-media .p-img-2,.media-skeleton .p-img-2{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;opacity:0;transition:opacity .55s var(--ease);}
.p-card:hover .p-img-2,.product-card:hover .p-img-2{opacity:1;}
.quick-add{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;
  background:var(--primary);color:#fff;border:none;border-radius:var(--radius-sm);
  padding:.6rem;font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  display:flex;align-items:center;justify-content:center;gap:.45rem;cursor:pointer;
  opacity:0;transform:translateY(8px);transition:opacity .35s var(--ease),transform .35s var(--ease),background var(--tr);}
.p-card:hover .quick-add,.product-card:hover .quick-add{opacity:1;transform:none;}
.quick-add:hover{background:var(--accent);}
@media (hover:none){.quick-add{opacity:1;transform:none;}}

/* ---- PDP: mobile sticky add-to-cart + icon bullets + you-may-like ---- */
.pdp-more-list li{display:flex;align-items:flex-start;gap:.6rem;}
.pdp-more-list li .ic{color:var(--accent-2);margin-top:.1rem;}
.pdp-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:1080;background:var(--surface);
  border-top:var(--border);box-shadow:0 -8px 24px rgba(28,26,23,.10);
  padding:.6rem .9rem;display:none;align-items:center;justify-content:space-between;gap:.8rem;}
.pdp-sticky-cta .psc-price{font-family:var(--font-display);font-weight:500;font-size:1.15rem;}
.pdp-sticky-cta .btn{flex:1;max-width:62%;}
@media (max-width:768px){.pdp-sticky-cta{display:flex;}body.has-sticky-cta{padding-bottom:70px;}}
.ymal-card{background:var(--surface);border:var(--border);border-radius:var(--radius);overflow:hidden;
  transition:transform var(--tr),box-shadow var(--tr);
  display:flex;flex-direction:column;height:100%;}                 /* equal-height everywhere */
.ymal-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);}
.ymal-card > .p-3{display:flex;flex-direction:column;flex:1;}        /* body fills, price sinks */
.ymal-card .price{margin-top:auto;}
.ymal-card .product-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em;}
/* Recently-viewed grid: stretch the inner card to the row height */
.rv-grid{align-items:stretch;}

/* ---- Mobile nav drawer ---- */
@media (max-width:991px){
  #navbarMain{position:fixed;top:0;right:0;height:100dvh;width:84%;max-width:330px;z-index:1200;
    background:var(--bg);transform:translateX(104%);transition:transform .38s var(--ease);
    overflow-y:auto;padding:1.2rem 1.1rem;display:block!important;box-shadow:0 0 50px rgba(0,0,0,.25);}
  #navbarMain.drawer-open{transform:translateX(0);}
  #navbarMain .navbar-nav{margin:0 0 1rem;}
  #navbarMain .nav-link{font-family:var(--font-display);font-size:1.15rem;padding:.55rem 0;border-bottom:var(--border);}
  #navbarMain .searchbar{margin:1rem 0;}
  .nav-backdrop{position:fixed;inset:0;background:rgba(28,26,23,.45);opacity:0;visibility:hidden;
    transition:opacity .3s var(--ease);z-index:1190;}
  .nav-backdrop.is-open{opacity:1;visibility:visible;}
  .drawer-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text);}
}
.drawer-close{display:none;}
@media (max-width:991px){.drawer-close{display:block;}}

/* ---- Account / returns timeline ---- */
.status-timeline{display:flex;flex-direction:column;gap:0;}
.status-step{display:flex;gap:.8rem;position:relative;padding-bottom:1.1rem;}
.status-step:before{content:"";position:absolute;left:11px;top:24px;bottom:0;width:2px;background:var(--surface-2);}
.status-step:last-child:before{display:none;}
.status-step .st-dot{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;
  background:var(--surface-2);color:var(--muted);flex:0 0 auto;z-index:1;}
.status-step.done .st-dot{background:var(--success);color:#fff;}
.status-step.current .st-dot{background:var(--accent);color:#fff;}

/* ---- Newsletter (footer) premium ---- */
.footer-premium .newsletter-input{padding-left:1rem;}

/* struck sale price on cards */
.price-was{font-family:var(--font-ui)!important;font-size:.8rem;color:var(--muted);
  text-decoration:line-through;margin-left:.4rem;font-weight:400;}
.meta-chip .ic{margin-right:.35rem;color:var(--accent-2);vertical-align:-.16em;}

/* ============================================================================
   PHASE 9 — HUMAN FEEDBACK FIX: brand, navbar, footer, newsletter, drawer
   ============================================================================ */

/* ---- Brand wordmark (replaces clashing blue PNG) ---- */
.brand-word{font-family:var(--font-display)!important;font-weight:800;font-size:1.4rem;
  letter-spacing:-.02em;color:var(--text)!important;display:inline-flex;align-items:center;gap:.55rem;
  text-decoration:none;}
.brand-word:hover{color:var(--text)!important;}
.brand-mark{width:13px;height:13px;border-radius:3px;flex:0 0 auto;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));transform:rotate(45deg);box-shadow:0 2px 8px rgba(166,130,76,.45);}

/* ---- Navbar refinement ---- */
.section-header .navbar{padding-top:.55rem;padding-bottom:.55rem;
  box-shadow:0 1px 0 rgba(28,26,23,.06);transition:box-shadow var(--tr),background var(--tr);}
.section-header.is-stuck .navbar{box-shadow:0 6px 24px rgba(28,26,23,.10);}
.navbar .navbar-nav{align-items:center;}
.navbar .nav-link{position:relative;padding:.45rem .85rem!important;font-weight:600;font-size:.9rem;}
.navbar .nav-link:after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.05rem;height:2px;
  background:var(--accent);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.navbar .nav-link:hover:after,.navbar .nav-link.active:after{transform:scaleX(1);}
.navbar .searchbar .form-control{height:44px;background:var(--surface-2);border:1px solid transparent;}
.navbar .searchbar .form-control:focus{background:var(--surface);border-color:var(--accent);box-shadow:var(--focus-ring);}
.nav-icon{position:relative;width:42px;height:42px;border-radius:var(--radius-pill);
  display:inline-grid!important;place-items:center;color:var(--text);background:transparent;
  border:1px solid transparent;transition:background var(--tr),border-color var(--tr),color var(--tr);font-size:1.02rem;}
.nav-icon:hover{background:var(--surface-2);border-color:var(--border);color:var(--accent-2);}
.nav-icon .badge-pill,.nav-icon .badge-danger{position:absolute;top:-1px;right:-2px;min-width:18px;height:18px;
  padding:0 4px;display:grid;place-items:center;font-size:.62rem;font-weight:700;border-radius:var(--radius-pill);
  background:var(--accent)!important;color:#fff!important;border:2px solid var(--bg);}

/* Language pill (fixes globe/EN overlap + squish) */
.lang-switcher .lang-pill{display:inline-flex;align-items:center;gap:.45rem;height:42px;padding:0 .85rem;
  border:1px solid rgba(28,26,23,.16);border-radius:var(--radius-pill);background:var(--surface);
  color:var(--text);font-weight:700;font-size:.82rem;letter-spacing:.05em;line-height:1;cursor:pointer;
  transition:border-color var(--tr),background var(--tr);}
.lang-switcher .lang-pill:hover{border-color:var(--accent);background:var(--surface-2);}
.lang-switcher .lang-pill .fa-globe{color:var(--accent-2);font-size:.95rem;}
.lang-switcher .lang-pill.dropdown-toggle::after{margin-left:.15rem;color:var(--muted);vertical-align:.05em;}
.lang-switcher .dropdown-item.active{background:var(--surface-2);color:var(--text);font-weight:700;}
.theme-toggle.nav-icon{font-size:.95rem;}

/* ============================================================================
   FOOTER — high-contrast rebuild
   ============================================================================ */
.footer-premium{background:#17150f;color:rgba(245,241,233,.74);margin-top:4rem!important;}
.footer-premium .container{position:relative;z-index:1;}

/* Newsletter band */
.footer-news-band{background:#221d15;border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.07);padding:2.6rem 0;}
.footer-news-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:2.4rem;align-items:center;}
.footer-news-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;font-weight:700;color:var(--accent);}
.footer-news-title{color:#fff!important;font-family:var(--font-display)!important;font-weight:700;
  font-size:clamp(1.3rem,2.3vw,1.75rem);letter-spacing:-.02em;margin:.5rem 0 .35rem;}
.footer-news-sub{color:rgba(245,241,233,.66);font-size:.92rem;line-height:1.5;max-width:48ch;margin:0;}
.footer-news-form{width:100%;}
.news-field{display:flex;align-items:center;background:#fff;border-radius:var(--radius-pill);
  padding:6px 6px 6px 16px;box-shadow:0 14px 34px rgba(0,0,0,.28);}
.news-icon{display:inline-flex;color:var(--muted);flex:0 0 auto;}
.news-input{flex:1 1 auto;min-width:0;border:0;background:transparent;outline:none;
  color:var(--text);font-size:.95rem;padding:.7rem .75rem;font-family:var(--font-ui);}
.news-input::placeholder{color:#928b7d;opacity:1;}
.news-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:.4rem;border:0;cursor:pointer;
  border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-weight:700;font-size:.8rem;
  letter-spacing:.06em;text-transform:uppercase;padding:.75rem 1.25rem;white-space:nowrap;transition:background var(--tr);}
.news-btn:hover{background:var(--accent);}
.news-btn:focus-visible{box-shadow:0 0 0 .18rem rgba(202,165,106,.5);}
.footer-legal-hint{color:rgba(245,241,233,.52);font-size:.78rem;margin-top:.7rem;}
.footer-link-inline{color:var(--accent)!important;text-decoration:underline;}
.footer-link-inline:hover{color:#caa56a!important;}

/* Footer columns */
.footer-premium .footer-top{padding:3rem 0 1.6rem;}
.footer-premium .brand-word{color:#fff!important;font-size:1.5rem;margin-bottom:1rem;}
.footer-premium .footer-desc{color:rgba(245,241,233,.6);font-size:.9rem;line-height:1.6;max-width:34ch;margin-bottom:1.1rem;}
.footer-premium .footer-title{color:#fff!important;font-family:var(--font-ui)!important;text-transform:uppercase;
  letter-spacing:.14em;font-size:.72rem;font-weight:700;margin-bottom:1.05rem;}
.footer-premium .footer-list{list-style:none;padding:0;margin:0;}
.footer-premium .footer-list li{margin-bottom:.6rem;}
.footer-premium .footer-link{color:rgba(245,241,233,.74)!important;font-size:.9rem;text-decoration:none;
  display:inline-block;transition:color var(--tr),transform var(--tr);}
.footer-premium .footer-link:hover{color:var(--accent)!important;transform:translateX(3px);}
.footer-premium .footer-social{display:flex;gap:.55rem;margin-bottom:0;}
.footer-premium .social-btn{width:40px;height:40px;border-radius:var(--radius-pill);display:grid;place-items:center;
  border:1px solid rgba(255,255,255,.18);color:rgba(245,241,233,.82);font-size:.95rem;transition:all var(--tr);}
.footer-premium .social-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent);transform:translateY(-2px);}

/* Country select — GENERAL style (light surfaces: cart, etc.) matches soft buttons */
.country-switcher{margin:0;}
.country-select-wrap{position:relative;max-width:240px;}
.country-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:100%;
  background:var(--surface);border:1px solid rgba(28,26,23,.16);border-radius:var(--radius-sm);
  color:var(--text);padding:.62rem 2.4rem .62rem .9rem;font-size:.9rem;font-family:var(--font-ui);
  font-weight:600;cursor:pointer;line-height:1.2;
  transition:border-color var(--tr),background var(--tr),box-shadow var(--tr);}
.country-select:hover{border-color:var(--accent);background:var(--surface-2);}
.country-select:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring);}
.country-select option{color:#1c1a17;background:#fff;}
/* base chevron = dark (light backgrounds) */
.country-select-wrap::after{content:"";position:absolute;right:1rem;top:46%;width:7px;height:7px;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:translateY(-50%) rotate(45deg);pointer-events:none;}

/* Country select — DARK override (footer) */
.footer-premium .country-switcher{margin:0;}
.footer-premium .country-select{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.18);
  color:#fff;font-size:.88rem;}
.footer-premium .country-select:hover{border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.1);}
.footer-premium .country-select-wrap::after{border-right-color:rgba(255,255,255,.65);border-bottom-color:rgba(255,255,255,.65);}

/* Trust chips + bottom (brighter) */
.footer-premium .footer-trust{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1.6rem;
  border-top:1px solid rgba(255,255,255,.08);}
.footer-premium .trust-chip{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-pill);color:rgba(245,241,233,.85);
  font-size:.82rem;font-weight:500;padding:.5rem .9rem;}
.footer-premium .trust-chip .ic{color:var(--accent);}
.footer-premium .footer-bottom{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;justify-content:space-between;
  padding:1.4rem 0;margin-top:1.4rem;border-top:1px solid rgba(255,255,255,.1);
  color:rgba(245,241,233,.58);font-size:.84rem;}
.footer-premium .footer-bottom .footer-link{color:rgba(245,241,233,.62)!important;font-size:.84rem;}
.footer-premium .footer-bottom .footer-link:hover{color:var(--accent)!important;transform:none;}
.footer-premium .dot-sep{color:rgba(255,255,255,.28);margin:0 .5rem;}
.footer-premium .footer-bottom-right{display:flex;align-items:center;}

@media (max-width:768px){
  .footer-news-grid{grid-template-columns:1fr;gap:1.3rem;}
  .news-btn{padding:.75rem 1rem;}
  .footer-premium .footer-bottom{flex-direction:column;text-align:center;gap:.6rem;}
  .country-select-wrap{max-width:100%;}
}

/* ============================================================================
   MOBILE NAV DRAWER — de-squish actions into clean stacked blocks
   ============================================================================ */
@media (max-width:991px){
  #navbarMain .navbar-nav{align-items:stretch;}
  #navbarMain .ml-lg-3{display:flex!important;flex-wrap:wrap;align-items:center!important;
    gap:.6rem;width:100%;margin:1.2rem 0 0!important;padding-top:1.1rem;border-top:1px solid var(--border);}
  /* language: full-width pill on its own line */
  #navbarMain .lang-switcher{flex:1 1 100%;}
  #navbarMain .lang-switcher .lang-pill{width:100%;justify-content:center;height:48px;}
  #navbarMain .lang-switcher .dropdown-menu{position:static!important;float:none;width:100%;margin-top:.4rem;
    transform:none!important;box-shadow:none;border:1px solid var(--border);border-radius:var(--radius-sm);}
  /* theme + account + cart: equal squares in one tidy row */
  #navbarMain .theme-toggle,#navbarMain .dropdown.mr-2 > .nav-icon,#navbarMain a.nav-icon{
    flex:1 1 0;min-width:0;height:48px;width:auto!important;border:1px solid var(--border)!important;
    border-radius:var(--radius-sm)!important;margin:0!important;color:var(--text);}
  #navbarMain .dropdown.mr-2{flex:1 1 0;}
  #navbarMain .dropdown.mr-2 > .nav-icon{width:100%!important;display:flex!important;}
  #navbarMain .theme-toggle:hover,#navbarMain a.nav-icon:hover{background:var(--surface-2);}
  /* login / register: full-width stacked, prominent */
  #navbarMain .btn-outline-primary,#navbarMain .btn-primary{flex:1 1 100%;width:100%;height:48px;margin:0!important;
    display:flex;align-items:center;justify-content:center;}
  #navbarMain a.nav-icon[href*="cart"] .badge-pill{top:4px;right:8px;}
  #navbarMain .dropdown.mr-2 .dropdown-menu{position:static!important;float:none;width:100%;
    transform:none!important;box-shadow:none;border:1px solid var(--border);}
}

/* ============================================================================
   PHASE 10 — final review micro-fixes
   ============================================================================ */
/* Order-summary trust chips: wrap cleanly instead of horizontal-scroll cut-off */
.summary-trust{flex-wrap:wrap!important;overflow:visible!important;gap:.5rem!important;padding-bottom:0!important;}
@media (min-width:992px){.summary-trust{flex-wrap:wrap!important;}}
.summary-trust .trust-row{font-size:.78rem;padding:.45rem .7rem;}
.summary-trust .trust-row i,.summary-trust .trust-row .ic{color:var(--accent-2);}

/* PDP: soften the "no options" hint so it doesn't read as an error */
.pdp-options .text-muted small{font-style:italic;}

/* Consistent home product card bottom spacing (4-up grid) */
.home-section .p-card{margin-bottom:0;}

/* ============================================================================
   PHASE 11 — BLOCKING FIX: mobile menu clickability
   The .navbar has backdrop-filter -> own stacking context, trapping the drawer's
   z-index. The body-level .nav-backdrop (z-index 1190) then painted OVER the
   drawer links. Raise the header's stacking context above the backdrop at mobile
   so the drawer (and its links) sit above the dim layer and stay clickable.
   ============================================================================ */
@media (max-width:991px){
  .section-header{position:relative;z-index:1300;}
  #navbarMain{z-index:1301!important;}
  .nav-backdrop{z-index:1290!important;}
  .filter-backdrop{z-index:1290!important;}
  .shop-aside{z-index:1305!important;}
  /* guarantee drawer contents receive pointer events */
  #navbarMain,#navbarMain *{pointer-events:auto;}
}

/* Bootstrap 5 gutter classes (g-3 / g-md-4) don't exist in BS4 -> no vertical
   gap between stacked cards. Polyfill row gutters so 'Designed to be worn'
   features (and popular/latest/you-may-like grids) aren't glued together. */
.row.g-2{row-gap:.75rem;}
.row.g-3{row-gap:1.5rem;}
.row.g-md-4{row-gap:1.5rem;}
@media (min-width:768px){
  .row.g-md-4{row-gap:2rem;}
}

/* ============================================================================
   PHASE 11 — reported visual bugs (footer social, hero badge, card buttons)
   ============================================================================ */

/* --- Footer social buttons: base rule gave them a WHITE bg -> light icon was
   invisible. Force a dark translucent surface + bright icon + gold hover. --- */
.footer-premium .social-btn{
  width:44px;height:44px;border-radius:var(--radius-pill);
  background:rgba(255,255,255,.09)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  color:#f4efe6!important;box-shadow:none!important;font-size:1.02rem;}
.footer-premium .social-btn i{color:#f4efe6!important;}
.footer-premium .social-btn:hover{
  background:var(--accent)!important;border-color:var(--accent)!important;
  color:#fff!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.3)!important;}
.footer-premium .social-btn:hover i{color:#fff!important;}
.footer-premium .social-btn:focus-visible{outline:none;box-shadow:0 0 0 .18rem rgba(202,165,106,.55)!important;}

/* --- Hero kicker "New season": gold-on-taupe was too low-contrast. Make it a
   small elegant glass pill with a gold dot so it reads on the image. --- */
.hero-kicker{display:inline-flex;align-items:center;gap:.5rem;
  background:rgba(28,26,23,.42);border:1px solid rgba(255,255,255,.30);
  color:#fff;padding:.36rem .9rem;border-radius:var(--radius-pill);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  font-size:.66rem;letter-spacing:.2em;font-weight:700;}
.hero-kicker::before{content:"";width:6px;height:6px;border-radius:50%;
  background:var(--accent);box-shadow:0 0 0 3px rgba(166,130,76,.3);flex:0 0 auto;}

/* --- Store product-card buttons: uppercase + flex:1 squeezed the text in the
   narrow mobile card. Make them sentence-case, tidy, and stack on small. --- */
#productGrid .product-actions .btn,
.p-card .product-actions .btn,
.product-actions .btn{
  text-transform:none!important;letter-spacing:.01em!important;
  font-size:.8rem!important;font-weight:600!important;
  padding:.58rem .7rem!important;white-space:nowrap;line-height:1.1;}
#productGrid .product-card .info{padding:14px 16px 16px!important;}
@media (max-width:575.98px){
  #productGrid .product-actions{flex-direction:column;gap:8px;}
  #productGrid .product-actions .btn{width:100%;}
}

/* --- Footer responsive safety: keep newsletter form + columns tidy on tablet/
   small without overflow. --- */
@media (max-width:991.98px){
  .footer-premium .footer-top{padding:2.2rem 0 1.2rem;}
  .footer-news-band{padding:2rem 0;}
}
@media (max-width:575.98px){
  .footer-news-title{font-size:1.25rem;}
  /* Decompose the white pill: input is its own clean field, the SUBSCRIBE button
     is a separate full-width button BELOW it (not inside the input). */
  .news-field{flex-direction:column;align-items:stretch;gap:10px;
    background:transparent!important;box-shadow:none!important;padding:0!important;border-radius:0!important;}
  .news-field .news-icon{display:none;}
  .news-input{width:100%;background:#fff;border:1px solid rgba(0,0,0,.1);
    border-radius:var(--radius-sm);text-align:left;padding:.85rem 1rem;font-size:.95rem;}
  .news-btn{width:100%;justify-content:center;border-radius:var(--radius-sm);padding:.85rem;}
  .footer-premium .footer-social{justify-content:flex-start;}
}

/* ============================================================================
   PHASE 11 — customer order detail: softer surfaces, icons, product thumbs
   (was 'aggressive white bg, harsh text'). Warm it up, ease the weights.
   ============================================================================ */
.acc-layout .dash-card{background:var(--surface);border:var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-soft);}
.od-box-premium{background:#faf7f0!important;border:1px solid rgba(28,26,23,.10)!important;
  border-radius:var(--radius)!important;padding:18px!important;backdrop-filter:none!important;}
:root[data-theme="dark"] .od-box-premium{background:rgba(255,255,255,.04)!important;
  border-color:rgba(243,238,228,.12)!important;}
.od-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-ui)!important;
  font-size:.72rem!important;letter-spacing:.12em!important;text-transform:uppercase;
  color:var(--muted)!important;font-weight:700;margin-bottom:.85rem!important;}
.od-title .ic{color:var(--accent-2);}
.od-strong{font-weight:700!important;color:var(--text);font-size:1rem;}
.od-muted{color:var(--muted)!important;font-size:.9rem;line-height:1.6;}
.od-lines .line{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.92rem;color:var(--text);}
.od-lines .line.grand{font-family:var(--font-display);font-weight:800;font-size:1.05rem;
  border-top:var(--border);margin-top:.4rem;padding-top:.7rem;}
.dash-divider{height:1px;background:rgba(28,26,23,.08);margin:.9rem 0;border:0;}

/* product rows with thumbnail */
.od-item{display:flex;align-items:center;gap:14px;}
.od-thumb{flex:0 0 auto;width:64px;height:64px;border-radius:var(--radius-sm);overflow:hidden;
  border:var(--border);background:var(--surface-2);display:block;}
.od-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.od-item-body .ord-id{font-family:var(--font-ui)!important;font-weight:600!important;
  color:var(--text)!important;text-decoration:none;font-size:.95rem;}
.od-item-body .ord-id:hover{color:var(--accent-2)!important;}
.dash-table thead th{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.08em;
  font-size:.68rem;color:var(--muted);border-bottom:var(--border)!important;}
.dash-table tbody td{border-top:var(--border)!important;color:var(--text);}
.dash-table tbody td.text-right{font-family:var(--font-display)!important;font-weight:700!important;}
.dash-table tbody tr:hover{background:rgba(166,130,76,.04)!important;}
.variant-pill{background:var(--surface-2);border:var(--border);border-radius:var(--radius-pill);
  font-size:.72rem;color:var(--muted);padding:.2rem .6rem;}

@media (max-width:575.98px){
  .od-thumb{width:54px;height:54px;}
  .dash-actions{display:flex;flex-wrap:wrap;gap:.5rem;}
  .dash-actions .btn{flex:1 1 auto;}
}

/* ============================================================================
   PHASE 11 — visible, refined motion (gated behind .js-anim; reduced-motion safe)
   ============================================================================ */

/* Hero entrance: staggered fade-up on load (clearly visible) */
@keyframes lux-rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
.js-anim .hero-copy > *{opacity:0;animation:lux-rise .7s var(--ease) both;}
.js-anim .hero-copy > *:nth-child(1){animation-delay:.08s;}
.js-anim .hero-copy > *:nth-child(2){animation-delay:.20s;}
.js-anim .hero-copy > *:nth-child(3){animation-delay:.32s;}
.js-anim .hero-copy > *:nth-child(4){animation-delay:.44s;}

/* Stronger, more visible scroll reveal */
.js-anim [data-reveal]{opacity:0;transform:translateY(26px);
  transition:opacity .7s var(--ease),transform .7s var(--ease);}
.js-anim [data-reveal].is-visible{opacity:1;transform:none;}

/* Buttons: visible lift + arrow nudge */
.btn-primary,.btn-soft,.btn-outline-primary{transition:transform var(--tr),background var(--tr),
  color var(--tr),box-shadow var(--tr),border-color var(--tr);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(28,26,23,.18)!important;}
.btn-icontext .fa-arrow-right,.btn .fa-arrow-right,.news-btn .ic{transition:transform var(--tr);}
.btn-icontext:hover .fa-arrow-right,.news-btn:hover .ic{transform:translateX(4px);}

/* Card hover: a touch more lift + image zoom already present */
.p-card,.product-card,.lux-feature,.ymal-card,.dash-card{transition:transform var(--tr),
  box-shadow var(--tr),border-color var(--tr);}
.lux-feature:hover{transform:translateY(-5px);box-shadow:var(--shadow);}

/* Newsletter field: focus glow + lift */
.news-field{transition:box-shadow var(--tr),transform var(--tr);}
.news-field:focus-within{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 0 2px var(--accent);transform:translateY(-1px);}

/* Footer link + social: visible motion already added; nav underline grows */
.footer-premium .footer-link{transition:color var(--tr),transform var(--tr);}

/* Cart badge pop when present */
@keyframes badge-pop{0%{transform:scale(.6);}60%{transform:scale(1.15);}100%{transform:scale(1);}}
.js-anim .nav-icon .badge-pill{animation:badge-pop .4s var(--ease);}

/* Reveal helper for sections that aren't auto-tagged */
.lux-split,.summary-card,.reviews-card,.filter-card{transition:transform var(--tr),box-shadow var(--tr);}

@media (prefers-reduced-motion:reduce){
  .js-anim .hero-copy > *{animation:none!important;opacity:1!important;}
  .js-anim [data-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
  .js-anim .nav-icon .badge-pill{animation:none!important;}
  *{scroll-behavior:auto!important;}
}

/* Off-canvas drawers (position:fixed, translated off-screen) must not create a
   horizontal scrollbar on small screens. Clip page-level x-overflow at mobile. */
@media (max-width:991.98px){
  html,body{overflow-x:hidden;max-width:100%;}
}

/* ============================================================================
   CONTEXTUAL AI ASSISTANT WIDGET (Phase 15)
   ============================================================================ */
.ai-assistant{position:fixed;right:20px;bottom:20px;z-index:1150;font-family:var(--font-ui);}

/* Floating button */
.ai-fab{position:relative;display:inline-flex;align-items:center;gap:.5rem;height:56px;
  padding:0 18px 0 16px;border:none;border-radius:var(--radius-pill);cursor:pointer;
  background:var(--primary);color:#fff;box-shadow:0 14px 34px rgba(28,26,23,.30);
  transition:transform var(--tr),background var(--tr),box-shadow var(--tr);}
.ai-fab:hover{transform:translateY(-2px);background:var(--accent);box-shadow:0 18px 40px rgba(166,130,76,.35);}
.ai-fab:focus-visible{outline:none;box-shadow:0 0 0 .2rem rgba(202,165,106,.55);}
.ai-fab-icon{display:inline-flex;transition:opacity .2s var(--ease),transform .2s var(--ease);}
.ai-fab .ai-icon-close{position:absolute;left:16px;opacity:0;transform:scale(.6) rotate(-30deg);}
.ai-assistant.is-open .ai-icon-chat{opacity:0;transform:scale(.6);}
.ai-assistant.is-open .ai-icon-close{opacity:1;transform:none;}
.ai-fab-badge{font-weight:700;font-size:.82rem;letter-spacing:.05em;text-transform:uppercase;}
.ai-assistant.is-open .ai-fab-badge{opacity:0;width:0;overflow:hidden;}
@keyframes ai-fab-in{from{opacity:0;transform:translateY(16px) scale(.9);}to{opacity:1;transform:none;}}
.js-anim .ai-fab{animation:ai-fab-in .5s var(--ease) both;}

/* Panel */
.ai-panel{position:absolute;right:0;bottom:72px;width:380px;max-width:calc(100vw - 40px);
  height:560px;max-height:calc(100vh - 110px);display:flex;flex-direction:column;overflow:hidden;
  background:var(--surface);border:var(--border);border-radius:18px;box-shadow:0 30px 70px rgba(28,26,23,.28);
  transform-origin:bottom right;animation:ai-panel-in .26s var(--ease);}
@keyframes ai-panel-in{from{opacity:0;transform:translateY(14px) scale(.97);}to{opacity:1;transform:none;}}
.ai-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;
  background:var(--primary);color:#fff;}
.ai-head-brand{display:flex;align-items:center;gap:10px;}
.ai-head-dot{width:9px;height:9px;border-radius:50%;background:#5fd08a;box-shadow:0 0 0 3px rgba(95,208,138,.25);flex:0 0 auto;}
.ai-head-title{font-family:var(--font-display);font-weight:700;font-size:.98rem;letter-spacing:-.01em;}
.ai-head-sub{font-size:.72rem;color:rgba(255,255,255,.7);}
.ai-head-close{background:rgba(255,255,255,.12);border:none;color:#fff;width:30px;height:30px;
  border-radius:50%;display:grid;place-items:center;cursor:pointer;transition:background var(--tr);}
.ai-head-close:hover{background:rgba(255,255,255,.24);}

.ai-messages{flex:1 1 auto;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;
  background:linear-gradient(180deg,var(--surface-2),var(--surface));}
.ai-msg{display:flex;}
.ai-msg-user{justify-content:flex-end;}
.ai-msg-assistant{flex-direction:column;align-items:flex-start;}
.ai-bubble{max-width:84%;padding:.7rem .9rem;border-radius:14px;font-size:.9rem;line-height:1.5;
  white-space:pre-wrap;word-wrap:break-word;}
.ai-msg-assistant .ai-bubble{background:var(--surface);border:var(--border);color:var(--text);border-bottom-left-radius:4px;}
.ai-msg-user .ai-bubble{background:var(--primary);color:#fff;border-bottom-right-radius:4px;}
.ai-msg.is-thinking .ai-bubble{color:var(--muted);font-style:italic;}

.ai-quick{padding:0 16px 8px;display:flex;flex-wrap:wrap;gap:8px;}
.ai-chip{background:var(--surface);border:var(--border);border-radius:var(--radius-pill);
  padding:.45rem .8rem;font-size:.8rem;color:var(--text);cursor:pointer;transition:all var(--tr);}
.ai-chip:hover{border-color:var(--accent);color:var(--accent-2);transform:translateY(-1px);}

.ai-fb{display:flex;align-items:center;gap:8px;margin-top:8px;}
.ai-fb-label{font-size:.74rem;color:var(--muted);}
.ai-fb-btn{background:transparent;border:var(--border);border-radius:var(--radius-pill);
  font-size:.74rem;padding:.2rem .6rem;cursor:pointer;color:var(--text);}
.ai-fb-btn:hover{border-color:var(--accent);color:var(--accent-2);}
.ai-support{flex-direction:column;}
.ai-support-form{display:flex;gap:8px;margin-top:8px;width:100%;}
.ai-support-email{flex:1;border:var(--border);border-radius:var(--radius-sm);padding:.5rem .7rem;font-size:.85rem;}

.ai-input{display:flex;gap:8px;padding:12px;border-top:var(--border);background:var(--surface);}
.ai-input input{flex:1;border:var(--border);border-radius:var(--radius-pill);padding:.65rem 1rem;
  font-size:.9rem;background:var(--surface-2);transition:border-color var(--tr),background var(--tr);}
.ai-input input:focus{outline:none;border-color:var(--accent);background:var(--surface);box-shadow:var(--focus-ring);}
.ai-send{flex:0 0 auto;width:42px;height:42px;border:none;border-radius:50%;background:var(--primary);
  color:#fff;display:grid;place-items:center;cursor:pointer;transition:background var(--tr),transform var(--tr);}
.ai-send:hover{background:var(--accent);transform:translateY(-1px);}
.ai-foot{padding:8px 14px;font-size:.66rem;color:var(--muted);text-align:center;border-top:var(--border);background:var(--surface);}

/* Keep the FAB clear of the PDP mobile sticky add-to-cart bar */
body.has-sticky-cta .ai-assistant{bottom:78px;}

@media (max-width:575.98px){
  .ai-assistant{right:14px;bottom:14px;}
  body.has-sticky-cta .ai-assistant{bottom:74px;}
  .ai-panel{position:fixed;right:0;left:0;bottom:0;top:auto;width:100vw;max-width:100vw;
    height:80vh;max-height:84vh;border-radius:18px 18px 0 0;}
  .ai-fab{height:52px;}
}
@media (prefers-reduced-motion:reduce){
  .js-anim .ai-fab,.ai-panel{animation:none!important;}
  .ai-fab-icon{transition:none!important;}
}

/* ============================================================================
   STOREFRONT FEATURES (Phase 15): announcement bar, size guide, recently viewed
   ============================================================================ */

/* Announcement bar */
.announce-bar{position:relative;background:var(--primary);color:#f5f1e9;
  display:flex;align-items:center;justify-content:center;gap:12px;
  padding:.55rem 2.4rem;font-size:.84rem;text-align:center;}
.announce-inner{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;justify-content:center;}
.announce-text{letter-spacing:.01em;}
.announce-link{color:var(--accent)!important;font-weight:700;text-decoration:none;white-space:nowrap;}
.announce-link:hover{color:#caa56a!important;}
.announce-close{position:absolute;right:.7rem;top:50%;transform:translateY(-50%);
  background:none;border:none;color:rgba(245,241,233,.7);font-size:1.2rem;line-height:1;cursor:pointer;}
.announce-close:hover{color:#fff;}
@media (max-width:575.98px){.announce-bar{font-size:.76rem;padding:.5rem 2rem;}}

/* Size guide */
.size-guide-link{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;
  color:var(--accent-2);font-weight:600;font-size:.82rem;cursor:pointer;padding:0;text-transform:none;letter-spacing:0;}
.size-guide-link:hover{color:var(--accent);}
.sg-backdrop{position:fixed;inset:0;background:rgba(28,26,23,.5);opacity:0;visibility:hidden;
  transition:opacity .3s var(--ease);z-index:1210;}
.sg-backdrop.is-open{opacity:1;visibility:visible;}
.sg-modal{position:fixed;z-index:1220;left:50%;top:50%;transform:translate(-50%,-46%) scale(.97);
  width:min(560px,calc(100vw - 32px));max-height:86vh;overflow-y:auto;opacity:0;visibility:hidden;
  background:var(--surface);border:var(--border);border-radius:16px;box-shadow:var(--shadow);
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;}
.sg-modal.is-open{opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);}
.sg-head{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.3rem;border-bottom:var(--border);}
.sg-head h4{margin:0;font-size:1.1rem;}
.sg-close{background:var(--surface-2);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;color:var(--text);}
.sg-body{padding:1.3rem;}
.sg-table{width:100%;border-collapse:collapse;font-size:.88rem;}
.sg-table th,.sg-table td{padding:.6rem .7rem;text-align:center;border-bottom:var(--border);}
.sg-table thead th{font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.06em;
  font-size:.68rem;color:var(--muted);}
.sg-table tbody tr:hover{background:var(--surface-2);}
.sg-note{margin-top:1rem;font-size:.82rem;color:var(--muted);}

/* Recently viewed (reuses ymal-card styles where present) */
.recently-viewed{margin-top:2.5rem;}
.rv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;}
@media (max-width:768px){.rv-grid{grid-template-columns:repeat(2,1fr);}}

/* Premium empty / no-results state */
.store-empty{text-align:center;padding:3.5rem 1.5rem;background:var(--surface);border:var(--border);
  border-radius:var(--radius);box-shadow:var(--shadow-soft);}
.store-empty-ic{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 1rem;
  background:var(--surface-2);color:var(--accent-2);}
.store-empty h3{font-size:1.4rem;}

/* Store toolbar: keep Sort + Reset compact & horizontal on mobile (Reset was
   wrapping icon-over-text and rendering oversized). */
@media (max-width:575.98px){
  .store-actions{align-items:center;gap:.5rem;flex-wrap:wrap;}
  .store-actions .btn,.store-actions .sort-btn{height:44px;padding:0 .9rem!important;
    font-size:.78rem;white-space:nowrap;display:inline-flex!important;align-items:center;
    justify-content:center;line-height:1;}
  .store-actions .btn .fa,.store-actions .sort-btn .fa{margin-right:.4rem;}
}

/* ============================================================================
   PHASE 18 — wishlist, coupon, free-shipping, product FAQ, save-for-later
   ============================================================================ */

/* Wishlist heart on product cards (corner) */
.media-skeleton,.p-media{position:relative;}
.wish-btn{position:absolute;top:10px;right:10px;z-index:4;width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(28,26,23,.12);background:rgba(255,255,255,.92);color:var(--muted);
  display:grid;place-items:center;cursor:pointer;transition:all var(--tr);backdrop-filter:blur(4px);}
.wish-btn:hover{color:var(--danger);border-color:var(--danger);transform:scale(1.08);}
.wish-btn.is-active{color:#fff;background:var(--danger);border-color:var(--danger);}
.wish-btn.is-active i{animation:wish-pop .35s var(--ease);}
@keyframes wish-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}

/* Wishlist button on PDP (inline with add-to-cart) */
.wish-btn-pdp{position:static;width:auto;height:auto;border-radius:var(--radius-sm);
  display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;background:var(--surface);}
.wish-btn-pdp.is-active{background:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important;}
.wish-btn-pdp.is-active i{color:#fff;}

/* Saved items page */
.saved-card{position:relative;}
.saved-tag{position:absolute;top:10px;left:10px;background:var(--accent);color:#fff;font-size:.6rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.2rem .5rem;border-radius:var(--radius-sm);}
.acc-badge{margin-left:auto;background:var(--accent);color:#fff;font-size:.66rem;font-weight:700;
  border-radius:var(--radius-pill);padding:.05rem .45rem;}

/* Free-shipping progress */
.free-ship{background:var(--surface-2);border:var(--border);border-radius:var(--radius-sm);
  padding:.7rem .85rem;margin-bottom:1rem;}
.free-ship-text{font-size:.82rem;color:var(--text);display:flex;align-items:center;gap:.4rem;margin-bottom:.5rem;}
.free-ship-text .ic{color:var(--accent-2);}
.free-ship.is-reached .free-ship-text{color:var(--success);}
.free-ship.is-reached .free-ship-text .ic{color:var(--success);}
.free-ship-bar{height:6px;border-radius:999px;background:rgba(28,26,23,.1);overflow:hidden;}
.free-ship-bar span{display:block;height:100%;border-radius:999px;
  background:linear-gradient(90deg,var(--accent),var(--accent-2));transition:width .5s var(--ease);}
.free-ship.is-reached .free-ship-bar span{background:var(--success);}

/* Coupon box */
.coupon-box{margin-bottom:1rem;}
.coupon-form{display:flex;gap:.5rem;}
.coupon-input{flex:1;border:var(--border);border-radius:var(--radius-sm);padding:.55rem .8rem;
  font-size:.88rem;background:var(--surface);text-transform:uppercase;letter-spacing:.04em;}
.coupon-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring);}
.coupon-apply{flex:0 0 auto;font-size:.78rem;padding:.55rem 1rem!important;}
.coupon-applied{display:flex;align-items:center;justify-content:space-between;
  background:rgba(63,107,78,.08);border:1px solid rgba(63,107,78,.25);border-radius:var(--radius-sm);
  padding:.55rem .8rem;font-size:.85rem;color:var(--success);}
.coupon-applied .ic{color:var(--success);}
.coupon-remove{background:none;border:none;color:var(--muted);font-size:.78rem;text-decoration:underline;cursor:pointer;}
.coupon-remove:hover{color:var(--danger);}
.line-discount{color:var(--success);font-weight:600;}

/* Save for later (cart) */
.btn-save-later{background:none;border:none;color:var(--accent-2);font-size:.78rem;cursor:pointer;
  display:inline-flex;align-items:center;gap:.35rem;padding:0;white-space:nowrap;}
.btn-save-later:hover{color:var(--accent);}

/* Product FAQ accordion */
.pdp-faq-card{background:var(--surface);border:var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-soft);padding:clamp(1.2rem,3vw,2rem);}
.faq-item{border-bottom:var(--border);}
.faq-item:last-child{border-bottom:0;}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:none;border:none;padding:1rem 0;font-family:var(--font-ui);font-weight:600;font-size:.95rem;
  color:var(--text);text-align:left;cursor:pointer;}
.faq-q .ic{color:var(--accent-2);flex:0 0 auto;transition:transform .3s var(--ease);}
.faq-item.is-open .faq-q .ic{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s var(--ease);}
.faq-item.is-open .faq-a{max-height:320px;}
.faq-a p{color:var(--muted);font-size:.9rem;line-height:1.6;padding:0 0 1rem;margin:0;}

@media (max-width:575.98px){
  .wish-btn{width:34px;height:34px;top:8px;right:8px;}
  .coupon-form{flex-wrap:wrap;}
}

/* ============================================================================
   PHASE 19 — premium FAQ: 'Good to know' rebuild + dedicated FAQ page
   ============================================================================ */

/* Shared accordion refinement (used by PDP + FAQ page) */
.faq-item{border:var(--border);border-radius:var(--radius);background:var(--surface);
  margin-bottom:.7rem;overflow:hidden;transition:border-color var(--tr),box-shadow var(--tr);}
.faq-item:hover{border-color:rgba(166,130,76,.35);box-shadow:var(--shadow-soft);}
.faq-item.is-open{border-color:rgba(166,130,76,.45);box-shadow:var(--shadow-soft);}
.faq-q{width:100%;display:flex;align-items:center;gap:.8rem;background:none;border:none;
  padding:1.05rem 1.2rem;font-family:var(--font-ui);font-weight:600;font-size:.95rem;color:var(--text);
  text-align:left;cursor:pointer;}
.faq-q .gtk-q-text{flex:1;}
.faq-q .gtk-chev,.faq-q .ic:last-child{color:var(--accent-2);flex:0 0 auto;transition:transform .35s var(--ease);}
.faq-item.is-open .gtk-chev,.faq-item.is-open .faq-q > .ic:last-child{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s var(--ease);}
.faq-item.is-open .faq-a{max-height:420px;}
.faq-a p{color:var(--muted);font-size:.92rem;line-height:1.65;padding:0 1.2rem 1.15rem;margin:0;}
.gtk-q-ic{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;
  background:var(--surface-2);color:var(--accent-2);flex:0 0 auto;}

/* PDP 'Good to know' — two-column editorial layout */
.gtk-wrap{}
.gtk-grid{display:grid;grid-template-columns:300px 1fr;gap:2rem;
  background:linear-gradient(180deg,var(--surface-2),var(--surface));border:var(--border);
  border-radius:var(--radius);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow-soft);}
.gtk-eyebrow{display:inline-flex;align-items:center;gap:.4rem;text-transform:uppercase;letter-spacing:.2em;
  font-size:.68rem;font-weight:700;color:var(--accent);margin-bottom:.7rem;}
.gtk-eyebrow .ic{color:var(--accent);}
.gtk-title{font-family:var(--font-display);font-weight:700;font-size:1.35rem;letter-spacing:-.02em;
  line-height:1.2;margin-bottom:.7rem;}
.gtk-intro{color:var(--muted);font-size:.9rem;line-height:1.6;margin-bottom:1rem;}
.gtk-all{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-2);font-weight:600;
  font-size:.84rem;text-decoration:none;}
.gtk-all:hover{color:var(--accent);}
.gtk-list .faq-item{background:var(--surface);}
@media (max-width:768px){
  .gtk-grid{grid-template-columns:1fr;gap:1.2rem;}
}

/* Dedicated FAQ page */
.faq-page{padding:2.5rem 0 4rem;}
.faq-hero{text-align:center;padding:2.5rem 1rem 1.5rem;}
.faq-hero-eyebrow{display:inline-flex;align-items:center;gap:.45rem;background:var(--surface);
  border:var(--border);border-radius:var(--radius-pill);padding:.4rem 1rem;font-size:.72rem;
  font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent-2);margin-bottom:1rem;}
.faq-hero-eyebrow .ic{color:var(--accent);}
.faq-hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5vw,3rem);
  letter-spacing:-.025em;margin-bottom:.6rem;}
.faq-hero-sub{color:var(--muted);font-size:1.02rem;max-width:42ch;margin:0 auto 1.6rem;}
.faq-search{display:flex;align-items:center;gap:.6rem;max-width:520px;margin:0 auto;background:var(--surface);
  border:var(--border);border-radius:var(--radius-pill);padding:.2rem .4rem .2rem 1.1rem;box-shadow:var(--shadow-soft);}
.faq-search .ic{color:var(--muted);flex:0 0 auto;}
.faq-search input{flex:1;border:none;background:none;outline:none;padding:.75rem .4rem;font-size:.95rem;color:var(--text);}

.faq-group{margin-top:2.4rem;}
.faq-group-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1rem;}
.faq-group-ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:var(--radius-sm);
  background:linear-gradient(135deg,rgba(166,130,76,.16),rgba(140,106,58,.1));color:var(--accent-2);flex:0 0 auto;}
.faq-group-title{font-family:var(--font-display);font-weight:700;font-size:1.25rem;letter-spacing:-.01em;margin:0;}

.faq-cta{margin-top:3rem;text-align:center;background:var(--primary);color:#f5f1e9;border-radius:var(--radius);
  padding:clamp(1.8rem,4vw,2.8rem);}
.faq-cta h3{font-family:var(--font-display);font-weight:700;color:#fff;font-size:1.5rem;margin-bottom:.5rem;}
.faq-cta p{color:rgba(245,241,233,.7);margin-bottom:1.3rem;}
.faq-cta-btns{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;}
.faq-cta .btn-soft{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.2)!important;color:#fff!important;}
.faq-cta .btn-soft:hover{background:rgba(255,255,255,.18)!important;}

@media (max-width:575.98px){
  .faq-hero{padding:1.5rem .5rem 1rem;}
  .faq-q{padding:.95rem 1rem;font-size:.9rem;}
}

/* ============================================================================
   PHASE 19 — verified reviews, rating distribution, search autocomplete
   ============================================================================ */

/* Verified purchase badge */
.verified-badge{display:inline-flex;align-items:center;gap:.25rem;background:rgba(63,107,78,.1);
  color:var(--success);font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;
  padding:.12rem .45rem;border-radius:var(--radius-pill);margin-left:.4rem;vertical-align:middle;}
.verified-badge .ic{color:var(--success);}

/* Rating distribution */
.review-dist{margin-top:1rem;min-width:200px;}
.dist-row{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem;}
.dist-label{display:inline-flex;align-items:center;gap:.2rem;font-size:.78rem;color:var(--muted);width:32px;flex:0 0 auto;}
.dist-label i{color:var(--accent);font-size:.7rem;}
.dist-bar{flex:1;height:7px;border-radius:999px;background:rgba(28,26,23,.08);overflow:hidden;}
.dist-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent-2));}
.dist-count{font-size:.74rem;color:var(--muted);width:20px;text-align:right;flex:0 0 auto;}

/* Search autocomplete dropdown */
.ac-wrap{position:relative;}
.ac-panel{position:absolute;top:calc(100% + 8px);left:0;right:0;z-index:1400;background:var(--surface);
  border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden;
  max-height:70vh;overflow-y:auto;display:none;}
.ac-panel.is-open{display:block;animation:ac-in .18s var(--ease);}
@keyframes ac-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.ac-item{display:flex;align-items:center;gap:.8rem;padding:.7rem .9rem;text-decoration:none;color:var(--text);
  border-bottom:1px solid rgba(28,26,23,.05);transition:background var(--tr);}
.ac-item:last-of-type{border-bottom:0;}
.ac-item:hover,.ac-item.is-active{background:var(--surface-2);}
.ac-thumb{width:44px;height:44px;border-radius:var(--radius-sm);object-fit:cover;background:var(--surface-2);flex:0 0 auto;}
.ac-meta{flex:1;min-width:0;}
.ac-name{font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ac-cat{font-size:.72rem;color:var(--muted);}
.ac-price{font-weight:700;font-size:.85rem;color:var(--accent-2);flex:0 0 auto;}
.ac-all{display:block;text-align:center;padding:.75rem;font-weight:600;font-size:.82rem;color:var(--accent-2);
  text-decoration:none;background:var(--surface-2);}
.ac-all:hover{color:var(--accent);}
.ac-empty{padding:1.4rem;text-align:center;color:var(--muted);font-size:.85rem;}

/* ============================================================================
   PHASE 20 — mobile search overlay (top sheet) + clear buttons
   ============================================================================ */

/* Mobile search trigger in the top bar */
.mobile-search-trigger{margin-left:auto;margin-right:.4rem;width:42px;height:42px;border-radius:var(--radius-sm);
  border:1px solid rgba(28,26,23,.12);background:var(--surface);color:var(--text);display:grid;place-items:center;}
.mobile-search-trigger:hover{border-color:var(--accent);color:var(--accent-2);}

/* Desktop clear button inside the searchbar */
.searchbar{position:relative;}
.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);border:none;background:none;
  color:var(--muted);cursor:pointer;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;}
.search-clear:hover{background:var(--surface-2);color:var(--text);}

/* Mobile search overlay */
.msearch{position:fixed;inset:0;z-index:2000;}
.msearch[hidden]{display:none;}
.msearch-backdrop{position:absolute;inset:0;background:rgba(28,26,23,.5);opacity:0;transition:opacity .25s var(--ease);}
.msearch.is-open .msearch-backdrop{opacity:1;}
.msearch-sheet{position:absolute;top:0;left:0;right:0;background:var(--surface);
  box-shadow:var(--shadow-lg);transform:translateY(-100%);transition:transform .28s var(--ease);
  max-height:100vh;display:flex;flex-direction:column;}
.msearch.is-open .msearch-sheet{transform:none;}
.msearch-bar{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;
  padding-top:max(.8rem,env(safe-area-inset-top));border-bottom:var(--border);background:var(--surface);
  position:sticky;top:0;}
.msearch-ic{color:var(--muted);flex:0 0 auto;display:grid;place-items:center;}
.msearch-input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:1.05rem;color:var(--text);
  padding:.55rem 0;}
.msearch-input::placeholder{color:var(--muted);}
.msearch-clear{border:none;background:none;color:var(--muted);cursor:pointer;font-size:1.1rem;
  width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;}
.msearch-clear:hover{color:var(--text);}
.msearch-cancel{border:none;background:none;color:var(--accent-2);font-weight:600;font-size:.92rem;
  cursor:pointer;white-space:nowrap;flex:0 0 auto;padding:.3rem .2rem;}
.msearch-cancel:hover{color:var(--accent);}

/* The autocomplete panel flows naturally inside the sheet (overrides absolute
   positioning; visibility still driven by the .is-open class from search.js) */
.msearch-panel{position:static!important;border:none!important;border-radius:0!important;
  box-shadow:none!important;max-height:calc(100vh - 70px);overflow-y:auto;animation:none!important;}
.msearch-panel.is-open{display:block;}
.msearch-panel .ac-item{padding:.85rem 1rem;}
.msearch-panel .ac-all{padding:1rem;}

@media (min-width:992px){ .msearch{display:none!important;} }

/* ============================================================================
   PHASE 22 — growth suite: complete-the-look, collections, style quiz, notify-me
   ============================================================================ */

/* Complete the look (outfit builder) */
.ctl-wrap{background:linear-gradient(180deg,var(--surface-2),var(--surface));border:var(--border);
  border-radius:var(--radius);padding:clamp(1.3rem,3vw,2rem);box-shadow:var(--shadow-soft);}
.ctl-head{margin-bottom:1.2rem;}
.ctl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-bottom:1.2rem;
  align-items:stretch;}
.ctl-item{margin:0;cursor:pointer;display:flex;}            /* stretch the card to the row height */
.ctl-item input{position:absolute;opacity:0;pointer-events:none;}
.ctl-card{position:relative;display:flex;flex-direction:column;width:100%;height:100%;
  border:2px solid transparent;border-radius:var(--radius-sm);
  background:var(--surface);overflow:hidden;transition:border-color var(--tr),transform var(--tr);box-shadow:var(--shadow-soft);}
.ctl-item:hover .ctl-card{transform:translateY(-3px);}
.ctl-item input:checked + .ctl-card{border-color:var(--accent);}
.ctl-item input:disabled + .ctl-card{opacity:.95;}
.ctl-card img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
.ctl-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  padding:.6rem .7rem 0;font-size:.8rem;font-weight:600;line-height:1.25;min-height:2.5em;}
.ctl-price{display:block;margin-top:auto;padding:.15rem .7rem .7rem;font-size:.85rem;color:var(--accent-2);font-weight:700;}
.ctl-check{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:var(--accent);
  color:#fff;display:none;place-items:center;}
.ctl-item input:checked + .ctl-card .ctl-check{display:grid;}
.ctl-tag{position:absolute;top:8px;left:8px;background:var(--primary);color:#fff;font-size:.6rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;padding:.18rem .45rem;border-radius:var(--radius-pill);}
.ctl-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  border-top:var(--border);padding-top:1.1rem;}
.ctl-total{font-size:1.05rem;}
.ctl-total strong{color:var(--accent-2);}

/* Collections index */
.coll-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;}
.coll-card{display:block;text-decoration:none;color:inherit;border-radius:var(--radius);overflow:hidden;
  border:var(--border);background:var(--surface);box-shadow:var(--shadow-soft);transition:transform var(--tr),box-shadow var(--tr);}
.coll-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.coll-media{aspect-ratio:4/3;background:var(--surface-2);overflow:hidden;}
.coll-media img{width:100%;height:100%;object-fit:cover;}
.coll-media-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--accent-2);
  background:linear-gradient(135deg,rgba(166,130,76,.12),rgba(63,107,78,.08));}
.coll-body{padding:1.2rem;}
.coll-title{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin-bottom:.3rem;}
.coll-sub{color:var(--muted);font-size:.9rem;margin-bottom:.6rem;}
.coll-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-2);font-weight:600;font-size:.85rem;}

/* Collection hero */
.coll-hero{padding:clamp(2.5rem,7vw,5rem) 0;background:var(--surface-2);text-align:center;}
.coll-hero.has-img{background-size:cover;background-position:center;color:#f5f1e9;}
.coll-crumbs{font-size:.8rem;margin-bottom:1rem;opacity:.85;}
.coll-hero.has-img .coll-crumbs a,.coll-hero.has-img .coll-crumbs span{color:#f5f1e9;}
.coll-crumbs a{color:var(--muted);text-decoration:none;}
.coll-hero-title{font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.02em;}
.coll-hero-sub{font-size:1.05rem;opacity:.9;max-width:48ch;margin:.6rem auto 0;}

/* Style quiz */
.quiz-page{padding:2.5rem 0 4rem;}
.quiz-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,5vw,2.6rem);letter-spacing:-.02em;}
.quiz-form{background:var(--surface);border:var(--border);border-radius:var(--radius);
  padding:clamp(1.3rem,3vw,2rem);box-shadow:var(--shadow-soft);}
.quiz-q{margin-bottom:1.6rem;}
.quiz-q-label{font-family:var(--font-ui);font-weight:600;font-size:1rem;margin-bottom:.8rem;}
.quiz-opts{display:flex;flex-wrap:wrap;gap:.6rem;}
.quiz-opt{margin:0;cursor:pointer;}
.quiz-opt input{position:absolute;opacity:0;}
.quiz-opt span{display:inline-block;padding:.6rem 1.1rem;border:var(--border);border-radius:var(--radius-pill);
  font-size:.88rem;font-weight:500;background:var(--surface-2);transition:all var(--tr);}
.quiz-opt:hover span{border-color:var(--accent);}
.quiz-opt input:checked + span{background:var(--primary);color:#fff;border-color:var(--primary);}
.quiz-opt input:focus-visible + span{box-shadow:var(--focus-ring);}
.quiz-submit{margin-top:.5rem;}

/* Notify me */
.notify-box{background:var(--surface-2);border:var(--border);border-radius:var(--radius-sm);
  padding:1rem 1.1rem;margin-top:1rem;}
.notify-box h4{font-size:.95rem;font-weight:600;margin-bottom:.2rem;}
.notify-box p{font-size:.82rem;color:var(--muted);margin-bottom:.7rem;}
.notify-form{display:flex;gap:.5rem;flex-wrap:wrap;}
.notify-form input[type=email]{flex:1;min-width:160px;border:var(--border);border-radius:var(--radius-sm);
  padding:.6rem .8rem;font-size:.9rem;background:var(--surface);}
.notify-consent{display:flex;align-items:center;gap:.4rem;font-size:.76rem;color:var(--muted);margin-top:.6rem;}
.notify-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.notify-msg{margin-top:.6rem;font-size:.83rem;}
.notify-msg.is-ok{color:var(--success);}
.notify-msg.is-err{color:var(--danger);}

@media (max-width:575.98px){
  .ctl-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;}
  .ctl-bar{flex-direction:column;align-items:stretch;}
  .ctl-bar .btn{width:100%;justify-content:center;}
  .coll-grid{grid-template-columns:1fr;}
}

/* ============================================================================
   PHASE 23 — advanced shop filters: sidebar, chips, mobile drawer
   ============================================================================ */

/* Active filter chips bar */
.chips-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:0 0 1.2rem;}
.filter-chip-active{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);
  border:1px solid rgba(166,130,76,.4);color:var(--text);border-radius:var(--radius-pill);
  padding:.32rem .8rem;font-size:.8rem;font-weight:500;text-decoration:none;transition:all var(--tr);}
.filter-chip-active:hover{background:var(--surface-2);border-color:var(--accent);}
.filter-chip-active .chip-x{display:grid;place-items:center;color:var(--muted);}
.filter-chip-active:hover .chip-x{color:var(--danger);}
.filter-chip-clear{font-size:.8rem;font-weight:600;color:var(--accent-2);text-decoration:underline;
  text-underline-offset:2px;}
.filter-chip-clear:hover{color:var(--accent);}

/* Filter card / sections */
.filter-card-head{padding-bottom:.8rem;margin-bottom:.6rem;border-bottom:var(--border);}
.filter-form .filter-section{padding:.9rem 0;border-bottom:var(--border);}
.filter-form .filter-section:last-of-type{border-bottom:0;}
.filter-form .filter-head h6{display:flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;color:var(--text);margin:0 0 .7rem;}
.filter-form .filter-head .ic{color:var(--accent-2);}
.filter-form .cat-list{display:flex;flex-direction:column;gap:.1rem;}
.filter-form .cat-item{padding:.4rem .6rem;border-radius:var(--radius-sm);font-size:.88rem;color:var(--text);
  text-decoration:none;transition:background var(--tr);}
.filter-form .cat-item:hover{background:var(--surface-2);}
.filter-form .cat-item.active{background:var(--primary);color:#fff;font-weight:600;}
.filter-form .range-row{display:flex;align-items:center;gap:.5rem;}
.filter-form .range-row .form-control{padding:.5rem .6rem;font-size:.88rem;}
.filter-form .range-dash{color:var(--muted);}

/* Colour / size chip options */
.chip-opts{display:flex;flex-wrap:wrap;gap:.45rem;}
.chip-opt{margin:0;cursor:pointer;}
.chip-opt input{position:absolute;opacity:0;}
.chip-opt span{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .7rem;border:var(--border);
  border-radius:var(--radius-pill);font-size:.8rem;background:var(--surface-2);transition:all var(--tr);}
.chip-opt span em{font-style:normal;color:var(--muted);font-size:.72rem;}
.chip-opt:hover span{border-color:rgba(28,26,23,.30);}   /* neutral hover border, NOT gold */
:root[data-theme="dark"] .chip-opt:hover span{border-color:rgba(243,238,228,.34);}
.chip-opt input:checked + span{background:var(--primary);color:#fff;border-color:var(--primary);}
.chip-opt input:checked + span em{color:rgba(255,255,255,.7);}
.chip-opt input:focus-visible + span{box-shadow:var(--focus-ring);}
.chip-opt-sq span{min-width:42px;justify-content:center;border-radius:var(--radius-sm);}

/* Rating + toggles */
.rating-opts,.toggle-opts{display:flex;flex-direction:column;gap:.3rem;}
.rating-opt,.toggle-opt{display:flex;align-items:center;gap:.5rem;font-size:.86rem;cursor:pointer;
  padding:.3rem .2rem;color:var(--text);}
.rating-opt input,.toggle-opt input{accent-color:var(--accent);width:16px;height:16px;flex:0 0 auto;}
.toggle-opt em{font-style:normal;color:var(--muted);font-size:.74rem;margin-left:auto;}

.filter-form .filter-actions{display:flex;gap:.6rem;margin-top:1rem;}
.filter-form .filter-actions .btn{flex:1;justify-content:center;}
.filter-count{opacity:.7;font-weight:500;}

/* Mobile filter trigger row */
.filter-bar{display:none;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;}
.filter-result-count{font-size:.85rem;color:var(--muted);}

/* Mobile filter drawer */
.filter-drawer{position:fixed;inset:0;z-index:2000;}
.filter-drawer[hidden]{display:none;}
.filter-drawer-backdrop{position:absolute;inset:0;background:rgba(28,26,23,.5);opacity:0;transition:opacity .25s var(--ease);}
.filter-drawer.is-open .filter-drawer-backdrop{opacity:1;}
.filter-drawer-panel{position:absolute;top:0;bottom:0;left:0;width:min(88vw,360px);background:var(--surface);
  box-shadow:var(--shadow-lg);transform:translateX(-100%);transition:transform .28s var(--ease);
  display:flex;flex-direction:column;}
.filter-drawer.is-open .filter-drawer-panel{transform:none;}
.filter-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;
  border-bottom:var(--border);position:sticky;top:0;background:var(--surface);}
.filter-drawer-body{overflow-y:auto;padding:0 1.2rem 1.2rem;flex:1;}
.filter-drawer-body .filter-actions{position:sticky;bottom:0;background:var(--surface);padding:.9rem 0;
  border-top:var(--border);margin-top:0;}

@media (max-width:991.98px){
  .shop-aside{display:none;}
  .filter-bar{display:flex;}
}

/* Guest checkout banner — premium, on-brand (replaces hardcoded slate alert) */
.guest-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:var(--surface-2);border:var(--border);border-left:3px solid var(--accent);
  border-radius:var(--radius);padding:.85rem 1.1rem;margin-bottom:1.4rem;box-shadow:var(--shadow-soft);}
.guest-banner-text{display:inline-flex;align-items:center;gap:.55rem;font-size:.92rem;color:var(--text);}
.guest-banner-text i{color:var(--accent-2);}
.guest-banner-cta{flex:0 0 auto;white-space:nowrap;font-weight:600;}
@media (max-width:575.98px){
  .guest-banner{flex-direction:column;align-items:stretch;}
  .guest-banner-cta{width:100%;justify-content:center;}
}

/* ============================================================================
   PHASE 26 — legal pages + cookie consent
   ============================================================================ */
.legal-page{padding:2.5rem 0 4rem;}
.legal-crumbs{font-size:.8rem;color:var(--muted);margin-bottom:1rem;}
.legal-crumbs a{color:var(--accent-2);text-decoration:none;}
.legal-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.9rem,5vw,2.6rem);
  letter-spacing:-.02em;margin-bottom:.3rem;}
.legal-updated{font-size:.85rem;margin-bottom:1.8rem;}
.legal-body{font-size:.96rem;line-height:1.75;color:var(--text);}
.legal-body h2{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin:1.8rem 0 .6rem;}
.legal-body ul{padding-left:1.2rem;margin-bottom:1rem;}
.legal-body li{margin-bottom:.4rem;color:var(--muted);}
.legal-body a{color:var(--accent-2);}
.legal-note{margin-top:2.5rem;padding:1rem 1.1rem;background:var(--surface-2);border:var(--border);
  border-radius:var(--radius-sm);font-size:.82rem;color:var(--muted);}

/* Cookie consent */
.cookie-consent{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:2100;max-width:760px;margin:0 auto;
  background:var(--surface);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);
  transform:translateY(140%);transition:transform .3s var(--ease);}
.cookie-consent.is-shown{transform:none;}
.cookie-consent[hidden]{display:none;}
.cookie-consent-inner{display:flex;align-items:center;gap:1rem;padding:1rem 1.2rem;flex-wrap:wrap;}
.cookie-consent-text{margin:0;font-size:.85rem;color:var(--muted);flex:1;min-width:220px;}
.cookie-consent-text a{color:var(--accent-2);}
.cookie-consent-actions{display:flex;gap:.5rem;flex:0 0 auto;}
@media (max-width:575.98px){
  .cookie-consent{left:.5rem;right:.5rem;bottom:.5rem;}
  .cookie-consent-actions{width:100%;}
  .cookie-consent-actions .btn{flex:1;}
}

/* Order tracking card */
.tracking-card .tracking-ic{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;
  background:var(--surface-2);color:var(--accent-2);flex:0 0 auto;}

/* Made-on-demand production transparency (PDP) */
.pod-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);
  padding:1rem 1.1rem;}
.pod-head{display:flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;
  font-size:1rem;color:var(--primary);}
.pod-head .ic{color:var(--success);}
.pod-lead{margin:.4rem 0 .7rem;font-size:.9rem;color:var(--muted);}
.pod-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem;}
.pod-chip{display:inline-flex;align-items:center;gap:.35rem;background:var(--surface);
  border:1px solid var(--border);border-radius:999px;padding:.28rem .7rem;font-size:.78rem;
  font-weight:600;color:var(--primary);}
.pod-chip .ic{color:var(--accent-2);}
.pod-note{margin:0;font-size:.8rem;color:var(--muted);line-height:1.5;}
@media (max-width:576px){.pod-chips{gap:.35rem;}.pod-chip{font-size:.74rem;}}

/* PDP actions — premium, content-sized buttons that never clip translated labels
   (EN "Save" / IT "Salva" / FR "Enregistrer" / "Enregistré"). Root cause was a fixed
   54px width in theme.css; here premium.css owns the full responsive layout. */
.pdp-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:.6rem;}
.pdp-actions .btn{box-sizing:border-box;min-height:48px;display:inline-flex;align-items:center;
  justify-content:center;gap:.5rem;white-space:nowrap;line-height:1.1;padding:.66rem 1.15rem;}
.pdp-actions .btn-primary{flex:1 1 auto;min-width:0;}            /* primary absorbs the row, can shrink */
/* The Save chip: static, auto width (override theme.css 54px), icon+label always inside */
.pdp-actions .wish-btn-pdp{flex:0 0 auto;width:auto;height:auto;position:static;
  border-radius:var(--radius-sm);font-weight:600;letter-spacing:.02em;}
.pdp-actions .wish-btn-pdp i{flex:0 0 auto;font-size:1rem;line-height:1;}
.pdp-actions .wish-btn-pdp [data-wishlist-label]{flex:0 1 auto;}
.pdp-actions .wish-btn-pdp:hover{border-color:var(--accent)!important;color:var(--primary)!important;}
.pdp-actions .wish-btn-pdp.is-active{background:var(--accent-soft,rgba(202,165,106,.14))!important;
  border-color:var(--accent)!important;}
.pdp-actions .wish-btn-pdp.is-active i{color:var(--accent-2)!important;}
:root[data-theme="dark"] .pdp-actions .wish-btn-pdp{color:var(--text)!important;}
:root[data-theme="dark"] .pdp-actions .wish-btn-pdp.is-active i{color:#facc15!important;}
@media (max-width:480px){
  /* stack full-width on small phones so any label always fits comfortably */
  .pdp-actions{flex-direction:column;}
  .pdp-actions .btn{width:100%;}
}
/* PDP description: preserve sanitized line breaks/bullets cleanly */
.pdp-desc{white-space:normal;}

/* ============ Premium always-visible navbar search (Phase 34) ============ */
.premium-nav{flex-wrap:wrap;row-gap:.25rem;}
.nav-search{flex:1 1 auto;max-width:560px;margin:0 1.5rem;position:relative;order:0;}
.searchbar-xl{position:relative;display:block;}
.searchbar-xl .icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);
  color:var(--muted);pointer-events:none;font-size:.95rem;z-index:2;}
.searchbar-xl .form-control{height:50px;width:100%;padding:0 108px 0 46px;font-size:.95rem;
  border-radius:var(--radius-pill);border:1px solid var(--border);background:var(--surface-2);
  transition:background .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease);}
.searchbar-xl .form-control::placeholder{color:var(--muted);opacity:.85;}
.searchbar-xl .form-control:focus{background:var(--surface);border-color:var(--accent);
  box-shadow:var(--focus-ring);outline:none;}
.searchbar-xl .search-clear{position:absolute;right:84px;top:50%;transform:translateY(-50%);
  border:none;background:none;color:var(--muted);cursor:pointer;width:26px;height:26px;
  border-radius:50%;display:grid;place-items:center;z-index:3;}
.searchbar-xl .search-clear:hover{background:var(--surface);color:var(--text);}
.search-go{position:absolute;right:6px;top:50%;transform:translateY(-50%);height:38px;padding:0 1.15rem;
  border:none;border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-family:var(--font-ui);
  font-weight:600;font-size:.82rem;letter-spacing:.02em;cursor:pointer;z-index:3;transition:background .2s var(--ease);}
.search-go:hover{background:var(--accent-2);}
.search-go:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
/* mobile: full-width second row, always visible (replaces the removed trigger + overlay) */
@media (max-width:991px){
  .nav-search{order:3;flex:0 0 100%;max-width:none;margin:.7rem 0 .15rem;}
  .searchbar-xl .form-control{height:46px;}
  .search-go{padding:0 .9rem;}
}

/* Desktop: let the search fill the centre, keep menu+actions to their content width */
@media (min-width:992px){
  .premium-nav{flex-wrap:nowrap;}
  .premium-nav .nav-search{flex:1 1 auto;max-width:620px;min-width:320px;margin:0 1.25rem;}
  .premium-nav .navbar-collapse{flex:0 0 auto;}
  .premium-nav .navbar-nav.mr-3{margin-right:1rem!important;}
}

/* ==================== Collections landing (Phase 34) ==================== */
.collx{padding:2.5rem 0 4rem;}
.collx-hero{text-align:center;padding:2rem 1rem 2.5rem;}
.collx-hero-title{font-family:var(--font-display);font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;
  letter-spacing:-.02em;margin:.2rem 0 .6rem;color:var(--primary);}
.collx-hero-sub{max-width:620px;margin:0 auto;color:var(--muted);font-size:1.02rem;line-height:1.6;}
.collx-hero-meta{display:flex;gap:.6rem;justify-content:center;align-items:center;margin:1rem 0 1.4rem;
  font-size:.85rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;}
.collx-hero-meta .dot{opacity:.5;}
.collx-hero-cta{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;}

.collx-featured{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-bottom:3rem;}
.collx-feat{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft);
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);text-decoration:none;color:inherit;}
.collx-feat:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.collx-feat-media{position:relative;aspect-ratio:4/3;background:var(--surface-2);overflow:hidden;}
.collx-feat-media>img{width:100%;height:100%;object-fit:cover;}
.collx-feat-collage{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;}
.collx-feat-collage img{width:100%;height:100%;object-fit:cover;}
.collx-feat-badge{position:absolute;top:12px;left:12px;background:var(--accent);color:#fff;
  font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .6rem;border-radius:999px;}
.collx-feat-body{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;gap:.35rem;flex:1;}
.collx-feat-title{font-family:var(--font-display);font-size:1.3rem;font-weight:700;margin:0;color:var(--primary);}
.collx-feat-sub{color:var(--muted);font-size:.9rem;margin:0;line-height:1.5;flex:1;}
.collx-feat-foot{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;}
.collx-count{font-size:.8rem;color:var(--muted);font-weight:600;}
.collx-link{display:inline-flex;align-items:center;gap:.3rem;color:var(--accent-2);font-weight:600;font-size:.85rem;}

.collx-allhead{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 1.1rem;
  padding-bottom:.7rem;border-bottom:1px solid var(--border);}
.collx-allhead h2{font-family:var(--font-display);font-size:1.5rem;font-weight:700;margin:0;color:var(--primary);}
.collx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.1rem;margin-bottom:3.5rem;}
.collx-card{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--border);background:var(--surface);transition:transform .2s var(--ease),box-shadow .2s var(--ease);
  text-decoration:none;color:inherit;}
.collx-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:var(--accent);}
.collx-card-media{aspect-ratio:1/1;background:var(--surface-2);overflow:hidden;}
.collx-card-media>img{width:100%;height:100%;object-fit:cover;}
.collx-card-collage{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;}
.collx-card-collage img{width:100%;height:100%;object-fit:cover;}
.collx-card-fallback{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);}
.collx-card-body{padding:.9rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem;}
.collx-card-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;}
.collx-card-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700;margin:0;color:var(--primary);}
.collx-pill{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;
  font-size:.72rem;font-weight:700;color:var(--muted);padding:.1rem .5rem;flex:0 0 auto;}
.collx-card-sub{color:var(--muted);font-size:.84rem;margin:0;line-height:1.45;}

.collx-editorial{background:var(--surface-2);border-radius:var(--radius-lg);padding:2.2rem 1.5rem;margin-bottom:3rem;}
.collx-ed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;max-width:980px;margin:0 auto;}
.collx-ed-item{text-align:center;}
.collx-ed-item .ic{color:var(--accent-2);margin-bottom:.5rem;}
.collx-ed-item h4{font-family:var(--font-display);font-weight:700;font-size:1.05rem;margin:.3rem 0 .4rem;color:var(--primary);}
.collx-ed-item p{color:var(--muted);font-size:.88rem;line-height:1.55;margin:0;}

.collx-discover{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;
  border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem 1.6rem;margin-bottom:2.5rem;
  background:linear-gradient(135deg,var(--surface) 0%,var(--surface-2) 100%);}
.collx-discover h3{font-family:var(--font-display);font-weight:700;font-size:1.2rem;margin:0 0 .2rem;color:var(--primary);}
.collx-discover p{color:var(--muted);font-size:.9rem;margin:0;}

.collx-links{display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap;padding-top:.5rem;}
.collx-links a{color:var(--muted);font-size:.85rem;text-decoration:none;}
.collx-links a:hover{color:var(--accent-2);}

.collx-empty{text-align:center;padding:4rem 1rem;}
.collx-empty-ic{width:80px;height:80px;border-radius:50%;background:var(--surface-2);display:grid;
  place-items:center;margin:0 auto 1.2rem;color:var(--muted);}
.collx-empty h2{font-family:var(--font-display);font-weight:700;color:var(--primary);}

@media (max-width:900px){
  .collx-featured{grid-template-columns:1fr;gap:1rem;}
  .collx-ed-grid{grid-template-columns:1fr;gap:1.4rem;}
}
@media (max-width:575px){
  .collx{padding:1.5rem 0 3rem;}
  .collx-grid{grid-template-columns:repeat(2,1fr);gap:.7rem;}
  .collx-card-body{padding:.7rem .8rem .9rem;}
  .collx-discover{flex-direction:column;align-items:flex-start;}
}

/* ==================== Collection detail (Phase 35) ==================== */
.cdx-hero{padding:3rem 0 2.5rem;background:var(--surface-2);position:relative;}
.cdx-hero.has-img{background-size:cover;background-position:center;color:#fff;padding:4rem 0 3.5rem;}
.cdx-hero.has-img .cdx-hero-title,.cdx-hero.has-img .cdx-hero-sub,.cdx-hero.has-img .cdx-crumbs a,
.cdx-hero.has-img .cdx-crumbs span,.cdx-hero.has-img .cdx-hero-meta{color:#fff;}
.cdx-crumbs{display:flex;gap:.4rem;align-items:center;font-size:.82rem;color:var(--muted);margin-bottom:1rem;flex-wrap:wrap;}
.cdx-crumbs a{color:var(--muted);text-decoration:none;}
.cdx-crumbs a:hover{color:var(--accent-2);}
.cdx-hero-badges{display:flex;gap:.4rem;margin-bottom:.6rem;}
.cdx-badge{display:inline-flex;align-items:center;gap:.3rem;background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.25);color:inherit;font-size:.72rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;padding:.22rem .6rem;border-radius:999px;}
.cdx-hero:not(.has-img) .cdx-badge{background:var(--surface);border-color:var(--border);color:var(--primary);}
.cdx-hero-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.2rem);font-weight:700;
  letter-spacing:-.02em;margin:.2rem 0 .5rem;color:var(--primary);}
.cdx-hero-sub{max-width:640px;font-size:1.02rem;color:var(--muted);margin:0 0 .9rem;line-height:1.55;}
.cdx-hero-meta{display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--muted);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:1.2rem;}
.cdx-hero-meta .dot{opacity:.5;}
.cdx-hero-cta{margin-top:.3rem;}

.cdx-editorial{max-width:740px;margin:2rem auto 2.5rem;text-align:center;font-size:1.05rem;
  line-height:1.7;color:var(--text);font-family:var(--font-display);font-weight:400;}
.cdx-insights{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-bottom:2.5rem;}
.cdx-insight{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7rem 1.2rem;min-width:110px;}
.cdx-insight .l{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.cdx-insight .v{font-weight:700;color:var(--primary);}
.cdx-insight-pod{flex-direction:row;align-items:center;gap:.45rem;color:var(--success);font-weight:600;font-size:.85rem;}
.cdx-insight-pod .ic{color:var(--success);}
.cdx-swatches{display:flex;gap:.25rem;margin-top:.2rem;}
.cdx-sw{width:16px;height:16px;border-radius:50%;border:1px solid var(--border);background:var(--sw,#ccc);}

.cdx-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;
  padding-bottom:.7rem;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.cdx-grid-title{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin:0;color:var(--primary);}
.cdx-sort .form-control{height:40px;border-radius:var(--radius-pill);border:1px solid var(--border);
  background:var(--surface-2);font-size:.85rem;padding:0 1rem;min-width:180px;}

.cdx-trust{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin:2.5rem 0 1rem;
  padding:1.2rem;background:var(--surface-2);border-radius:var(--radius);}
.cdx-trust-item{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:600;color:var(--primary);}
.cdx-trust-item .ic{color:var(--accent-2);}

.cdx-empty{text-align:center;padding:3.5rem 1rem;}
.cdx-empty-ic{width:78px;height:78px;border-radius:50%;background:var(--surface-2);display:grid;
  place-items:center;margin:0 auto 1.2rem;color:var(--muted);}
.cdx-empty h3{font-family:var(--font-display);font-weight:700;color:var(--primary);}
.cdx-empty-cta{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem;}

.cdx-related{margin-top:3.5rem;}
.cdx-related h2{font-family:var(--font-display);font-size:1.4rem;font-weight:700;margin:0 0 1.2rem;color:var(--primary);}
.cdx-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.cdx-related-card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);
  text-decoration:none;color:inherit;transition:transform .2s var(--ease),box-shadow .2s var(--ease);}
.cdx-related-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:var(--accent);}
.cdx-related-media{aspect-ratio:16/9;background:var(--surface-2);overflow:hidden;}
.cdx-related-media img{width:100%;height:100%;object-fit:cover;}
.cdx-related-collage{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;}
.cdx-related-collage img{width:100%;height:100%;object-fit:cover;}
.cdx-related-body{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;}
.cdx-related-name{font-family:var(--font-display);font-weight:700;color:var(--primary);}
.cdx-related-cta{color:var(--accent-2);font-weight:600;font-size:.82rem;display:inline-flex;align-items:center;gap:.25rem;}

@media (max-width:900px){.cdx-related-grid{grid-template-columns:1fr;}}
@media (max-width:575px){
  .cdx-hero{padding:2rem 0 1.8rem;}.cdx-hero.has-img{padding:2.6rem 0 2.2rem;}
  .cdx-toolbar{flex-direction:column;align-items:stretch;}
  .cdx-sort .form-control{width:100%;}
  .cdx-trust{gap:.9rem 1.4rem;}
}

/* Shop by mood / season (collections index) */
.collx-shopby{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:0 0 3rem;
  padding:1.6rem;background:var(--surface-2);border-radius:var(--radius-lg);}
.collx-shopby-group h3{font-family:var(--font-display);font-size:1.05rem;font-weight:700;
  margin:0 0 .8rem;color:var(--primary);}
.collx-chips{display:flex;flex-wrap:wrap;gap:.5rem;}
.collx-chip{display:inline-flex;align-items:center;gap:.4rem;background:var(--surface);
  border:1px solid var(--border);border-radius:999px;padding:.4rem .85rem;font-size:.85rem;
  font-weight:600;color:var(--primary);text-decoration:none;transition:all .18s var(--ease);}
.collx-chip:hover{border-color:var(--accent);color:var(--accent-2);transform:translateY(-1px);}
.collx-chip em{font-style:normal;font-size:.72rem;color:var(--muted);background:var(--surface-2);
  border-radius:999px;padding:.05rem .4rem;}
@media (max-width:700px){.collx-shopby{grid-template-columns:1fr;gap:1.2rem;}}

/* Active filter chip + clear (collections index, Phase 36) */
.collx-chip.is-active{background:var(--primary);color:#fff;border-color:var(--primary);}
.collx-chip.is-active em{background:rgba(255,255,255,.2);color:#fff;}
.collx-clear{grid-column:1/-1;display:inline-flex;align-items:center;gap:.35rem;justify-self:start;
  margin-top:.3rem;font-size:.82rem;font-weight:600;color:var(--accent-2);text-decoration:none;}
.collx-clear:hover{color:var(--primary);}

/* ============ Real Glitchy logo — navbar + footer (Phase 40) ============ */
.brand-logo{display:inline-flex;align-items:center;padding:0;line-height:0;flex:0 0 auto;}
.brand-logo .brand-img{height:30px;width:auto;max-width:none;flex:0 0 auto;}
.brand-logo .brand-img-dark{display:block;}
.brand-logo .brand-img-light{display:none;}
:root[data-theme="dark"] .brand-logo .brand-img-dark{display:none;}
:root[data-theme="dark"] .brand-logo .brand-img-light{display:block;}
.brand-logo:hover{opacity:.9;transition:opacity .18s var(--ease);}
.brand-logo-footer{display:inline-block;line-height:0;}
.brand-logo-footer img{height:42px;width:auto;display:block;}
@media (max-width:575px){.brand-logo .brand-img{height:26px;}}

/* ============ Hover/motion hygiene (Phase 40) ============ */
/* On touch devices, transform-based hovers can "stick" after a tap — disable them. */
@media (hover:none){
  .p-card:hover,.product-card:hover,.collx-card:hover,.collx-feat:hover,.cdx-related-card:hover,
  .ymal-card:hover,.lux-feature:hover{transform:none;}
  .p-card:hover .p-media img,.product-card:hover img,.collx-feat-collage:hover img{transform:none;}
}

/* ============ Premium rating component (Phase 40) ============ */
.card-rating{display:flex;align-items:center;gap:.4rem;margin:.15rem 0 .4rem;}
.rating-stars{position:relative;display:inline-block;font-size:13px;line-height:1;letter-spacing:2px;
  color:var(--border);font-family:Arial,sans-serif;}
.rating-stars::before{content:"★★★★★";}
.rating-stars-fill{position:absolute;top:0;left:0;height:100%;overflow:hidden;white-space:nowrap;
  color:#e0a82e;}
.rating-stars-fill::before{content:"★★★★★";}
.rating-meta{font-size:.74rem;color:var(--muted);font-weight:600;}
.rating-meta em{font-style:normal;font-weight:500;opacity:.85;}

/* ============ Sort dropdown — premium, single clean chevron (Phase 40) ============ */
.store-actions .sort-btn.dropdown-toggle{display:inline-flex;align-items:center;gap:.5rem;
  padding:.5rem .95rem;border-radius:var(--radius-pill);font-weight:600;font-size:.86rem;}
.store-actions .sort-btn.dropdown-toggle::after{margin-left:.35rem;border:none;width:auto;height:auto;
  content:"\f078";font-family:"Font Awesome 5 Free";font-weight:900;font-size:.62rem;color:var(--muted);
  transition:transform .2s var(--ease);vertical-align:middle;}
.store-actions .sort-btn.dropdown-toggle[aria-expanded="true"]::after{transform:rotate(180deg);}
.store-actions .dropdown-menu{border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-lg);padding:.4rem;margin-top:.4rem;min-width:230px;}
.store-actions .dropdown-menu .dropdown-item{border-radius:var(--radius-sm);padding:.5rem .7rem;
  font-size:.86rem;color:var(--text);transition:background .15s var(--ease);}
.store-actions .dropdown-menu .dropdown-item:hover,
.store-actions .dropdown-menu .dropdown-item:focus{background:var(--surface-2);color:var(--primary);}
.store-actions .dropdown-menu .dropdown-item.active{background:var(--surface-2);color:var(--accent-2);font-weight:600;}
.store-actions .dropdown-menu .dropdown-item.active .fa-check{color:var(--accent-2);}

/* ============ Phase 41 — root-cause polish ============ */

/* Navbar/header width matches the 1280px content container */
.section-header .container{max-width:1280px;}

/* Search: wider field, placeholder never cut (compact Search button) */
@media (min-width:992px){
  .premium-nav .nav-search{max-width:680px;min-width:380px;}
}
.searchbar-xl .form-control{padding-left:42px;padding-right:82px;font-size:.9rem;}
.searchbar-xl .icon{left:15px;}
.searchbar-xl .search-clear{right:72px;}
.search-go{padding:0 .8rem;font-size:.78rem;}

/* Self-contained sort dropdown (premium, no Bootstrap) */
.sortx{position:relative;display:inline-block;}
.sortx-btn{display:inline-flex;align-items:center;gap:.55rem;height:42px;padding:0 1.05rem;
  border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);
  font-family:var(--font-ui);font-weight:600;font-size:.86rem;color:var(--primary);cursor:pointer;
  white-space:nowrap;transition:border-color .2s var(--ease),background .2s var(--ease);}
.sortx-btn:hover{border-color:var(--accent);background:var(--surface-2);}
.sortx-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.sortx-lead{color:var(--muted);font-size:.85rem;}
.sortx-caret{font-size:.6rem;color:var(--muted);margin-left:.15rem;transition:transform .2s var(--ease);}
.sortx.is-open .sortx-caret{transform:rotate(180deg);}
.sortx-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--surface);
  border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.4rem;
  z-index:1400;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;}
.sortx.is-open .sortx-menu{opacity:1;visibility:visible;transform:translateY(0);}
.sortx-item{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.55rem .7rem;
  border-radius:var(--radius-sm);font-size:.86rem;color:var(--text);text-decoration:none;
  transition:background .15s var(--ease),color .15s var(--ease);}
.sortx-item:hover,.sortx-item:focus{background:var(--surface-2);color:var(--primary);}
.sortx-item.is-active{background:var(--surface-2);color:var(--accent-2);font-weight:600;}
.sortx-item.is-active .fa-check{color:var(--accent-2);}
@media (max-width:575px){
  .store-actions{width:100%;}
  .sortx,.sortx-btn{width:100%;justify-content:space-between;}
  .sortx-menu{left:0;right:0;}
}

/* Filters: real breathing room between groups */
.filter-card{padding:1.25rem 1.15rem;}
.filter-card .filter-section{padding:1rem 0;border-bottom:1px solid var(--border);}
.filter-card .filter-section:first-of-type{padding-top:.25rem;}
.filter-card .filter-section:last-of-type{border-bottom:none;padding-bottom:.25rem;}
.filter-section .filter-head{margin-bottom:.7rem;}
.filter-section .chip-opts,.filter-section .toggle-opts,.filter-section .rating-opts{gap:.5rem;}
.filter-section .range-row{gap:.6rem;margin-top:.2rem;}
.filter-actions{margin-top:1.1rem;display:flex;gap:.6rem;}
.chips-bar{gap:.5rem;margin:.25rem 0 1.1rem;}

/* ==================== Phase 42 — Dark mode visibility & contrast ==================== */
/* In dark mode --primary is a LIGHT surface; any component using it as a background with
   white text becomes invisible. Force DARK text on those light surfaces. */
:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .summary-cta,
:root[data-theme="dark"] .btn.btn-primary,
:root[data-theme="dark"] .hero-copy .btn-primary,
:root[data-theme="dark"] .search-go,
:root[data-theme="dark"] .badge-new,
:root[data-theme="dark"] .p-chip-top,
:root[data-theme="dark"] .ctl-tag{ color:#15130f !important; }
:root[data-theme="dark"] .btn-primary:hover,
:root[data-theme="dark"] .btn.btn-primary:hover,
:root[data-theme="dark"] .summary-cta:hover{ color:#15130f !important; }   /* hover bg = gold */

/* Soft/outline buttons: readable light text on dark surface */
:root[data-theme="dark"] .btn-soft,
:root[data-theme="dark"] .btn.btn-soft{ color:var(--text) !important; }

/* Rating + reviews pills: dark surface, light text, accent-tinted icons */
:root[data-theme="dark"] .pdp-pill{ background:var(--surface-2) !important; color:var(--text) !important; }
:root[data-theme="dark"] .pdp-pill-text{ color:var(--text) !important; }
:root[data-theme="dark"] .pdp-pill--rating{ background:rgba(245,158,11,.12) !important; border:1px solid rgba(245,158,11,.32) !important; }
:root[data-theme="dark"] .pdp-pill--rating .stars i{ color:#facc15 !important; }
:root[data-theme="dark"] .pdp-pill--reviews{ background:rgba(96,165,250,.12) !important; border:1px solid rgba(96,165,250,.30) !important; }
:root[data-theme="dark"] .score-count{ color:var(--muted) !important; }

/* Premium star rating component: brighter gold + visible empty stars */
:root[data-theme="dark"] .rating-stars{ color:rgba(243,238,228,.22); }
:root[data-theme="dark"] .rating-stars-fill{ color:#facc15; }
:root[data-theme="dark"] .rating-meta{ color:var(--muted); }

/* Hardcoded slate text on the PDP delivery line */
:root[data-theme="dark"] .pdp-trust{ color:var(--muted) !important; }
:root[data-theme="dark"] .pdp-trust i{ color:var(--accent) !important; }

/* Inline mint 'returns' badge near the rating -> dark-friendly green */
:root[data-theme="dark"] .badge-pill[style*="ecfdf5"]{
  background:rgba(16,185,129,.14) !important; color:#34d399 !important; border-color:rgba(52,211,153,.35) !important; }

/* Newsletter inputs were hardcoded white */
:root[data-theme="dark"] .news-field,
:root[data-theme="dark"] .news-input{ background:var(--surface-2) !important; color:var(--text) !important;
  border:1px solid var(--border-strong) !important; }
:root[data-theme="dark"] .news-input::placeholder,
:root[data-theme="dark"] .news-field input::placeholder{ color:var(--muted) !important; }

/* Sort dropdown menu + items already token-based; ensure check/active readable */
:root[data-theme="dark"] .sortx-menu{ background:var(--surface) !important; }
:root[data-theme="dark"] .sortx-item.is-active{ color:var(--accent) !important; }

/* Collection featured/feat badges (gold bg) -> dark text for contrast */
:root[data-theme="dark"] .collx-feat-badge,
:root[data-theme="dark"] .cdx-badge{ color:#15130f !important; }
:root[data-theme="dark"] .cdx-hero:not(.has-img) .cdx-badge{ color:var(--text) !important; }

/* AI assistant FAB ("Ask"): light bg in dark mode → dark text + icon */
:root[data-theme="dark"] .ai-fab{ color:#15130f !important; }
:root[data-theme="dark"] .ai-fab i,
:root[data-theme="dark"] .ai-fab .ic,
:root[data-theme="dark"] .ai-fab-badge{ color:#15130f !important; }
:root[data-theme="dark"] .ai-fab svg{ fill:#15130f !important; stroke:#15130f !important; }
:root[data-theme="dark"] .ai-fab:hover,
:root[data-theme="dark"] .ai-fab:hover i,
:root[data-theme="dark"] .ai-fab:hover .ai-fab-badge{ color:#15130f !important; }

/* Active category in filters: light bg in dark mode → dark text */
:root[data-theme="dark"] .cat-item.active,
:root[data-theme="dark"] .cat-item.active span,
:root[data-theme="dark"] .cat-item.active .text-muted,
:root[data-theme="dark"] .filter-form .cat-item.active{ color:#15130f !important; }

/* Cart 'Remove' (danger link): brighter on dark */
:root[data-theme="dark"] .cart-remove a,
:root[data-theme="dark"] a[onclick*="cart"]{ color:#f87171 !important; }

/* ============ Phase 42 (consolidated) — dark mode: --primary inverts to LIGHT ============ */
/* Full-width brand BANDS: in dark mode use a dark surface (not inverted-light) so light
   text + gold accents stay readable and elegant. */
:root[data-theme="dark"] .announce-bar,
:root[data-theme="dark"] .lux-strip,
:root[data-theme="dark"] .faq-cta{
  background:var(--surface-2) !important; color:var(--text) !important;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
}
:root[data-theme="dark"] .announce-text,
:root[data-theme="dark"] .lux-strip .lux-item,
:root[data-theme="dark"] .faq-cta,
:root[data-theme="dark"] .faq-cta p,
:root[data-theme="dark"] .faq-cta h2,
:root[data-theme="dark"] .faq-cta h3{ color:var(--text) !important; }
:root[data-theme="dark"] .lux-strip .lux-item i,
:root[data-theme="dark"] .lux-strip .lux-item .ic{ color:var(--accent) !important; }

/* Small INVERTED controls keep the light --primary bg → text/icons must be DARK */
:root[data-theme="dark"] .btn-primary,
:root[data-theme="dark"] .summary-cta,
:root[data-theme="dark"] .btn.btn-primary,
:root[data-theme="dark"] .btn-dark,
:root[data-theme="dark"] .hero-copy .btn-primary,
:root[data-theme="dark"] .search-go,
:root[data-theme="dark"] .news-btn,
:root[data-theme="dark"] .quick-add,
:root[data-theme="dark"] .badge-new,
:root[data-theme="dark"] .p-chip-top,
:root[data-theme="dark"] .ctl-tag,
:root[data-theme="dark"] .cat-item.active,
:root[data-theme="dark"] .cat-item.active span,
:root[data-theme="dark"] .cat-item.active .text-muted,
:root[data-theme="dark"] .filter-form .cat-item.active,
:root[data-theme="dark"] .pagination .page-item.active .page-link,
:root[data-theme="dark"] .quiz-opt input:checked + span,
:root[data-theme="dark"] .chip-opt input:checked + span,
:root[data-theme="dark"] .collx-chip.is-active,
:root[data-theme="dark"] .ai-fab,
:root[data-theme="dark"] .ai-fab i,
:root[data-theme="dark"] .ai-fab .ic,
:root[data-theme="dark"] .ai-fab-badge,
:root[data-theme="dark"] .ai-msg-user .ai-bubble,
:root[data-theme="dark"] .ai-send,
:root[data-theme="dark"] .ai-send i,
:root[data-theme="dark"] .btn-primary:hover,
:root[data-theme="dark"] .btn.btn-primary:hover,
:root[data-theme="dark"] .summary-cta:hover,
:root[data-theme="dark"] .btn-outline-primary:hover,
:root[data-theme="dark"] .btn-outline-dark:hover{ color:#15130f !important; }
:root[data-theme="dark"] .ai-fab svg,
:root[data-theme="dark"] .ai-send svg{ fill:#15130f !important; stroke:#15130f !important; }

/* ============ Phase 43 — Draggable AI FAB ============ */
.ai-fab{cursor:grab;touch-action:none;}                 /* draggable hint + no page-scroll on touch-drag */
.ai-assistant.is-dragging .ai-fab{cursor:grabbing;}
.ai-assistant.has-custom-pos{right:auto!important;bottom:auto!important;}  /* inline left/top take over */
.ai-assistant.is-dragging{transition:none;}
.ai-assistant.is-dragging .ai-fab{transform:none!important;box-shadow:0 18px 40px rgba(0,0,0,.4);}
.ai-assistant.is-dragging .ai-fab:hover{transform:none!important;}
@media (max-width:575.98px){ .ai-fab{cursor:pointer;} }  /* drag disabled on the mobile bottom-sheet */

/* AI assistant chat panel header — was --primary (inverts to light) + white text (Phase 43) */
:root[data-theme="dark"] .ai-head{background:var(--surface-2)!important;color:var(--text)!important;
  border-bottom:1px solid var(--border);}
:root[data-theme="dark"] .ai-head-title{color:var(--text)!important;}
:root[data-theme="dark"] .ai-head-sub{color:var(--muted)!important;}
:root[data-theme="dark"] .ai-head-close{background:rgba(255,255,255,.12)!important;color:var(--text)!important;}
:root[data-theme="dark"] .ai-head-close:hover{background:rgba(255,255,255,.22)!important;}

/* Hamburger (mobile menu) icon — Bootstrap's dark stroke is invisible on the dark navbar (Phase 43) */
:root[data-theme="dark"] .navbar-toggler-icon{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(243,238,228,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
:root[data-theme="dark"] .navbar-toggler{border-color:rgba(243,238,228,.28);}

/* ============ Phase 44 — Variant guard modal + invalid selector state ============ */
.vg-backdrop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;
  padding:1.2rem;background:rgba(20,18,15,.55);backdrop-filter:blur(3px);
  opacity:0;transition:opacity .2s var(--ease);}
.vg-backdrop.is-open{opacity:1;}
.vg-backdrop[hidden]{display:none;}
.vg-modal{position:relative;width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-lg,18px);box-shadow:0 30px 70px rgba(0,0,0,.35);padding:1.8rem 1.5rem 1.5rem;
  text-align:center;transform:translateY(10px) scale(.98);transition:transform .22s var(--ease);}
.vg-backdrop.is-open .vg-modal{transform:none;}
.vg-icon{width:54px;height:54px;margin:0 auto .9rem;border-radius:50%;display:grid;place-items:center;
  background:var(--surface-2);color:var(--accent-2);}
.vg-title{font-family:var(--font-display);font-size:1.12rem;font-weight:700;margin:0 0 .5rem;color:var(--text);}
.vg-msg{font-size:.92rem;color:var(--muted);margin:0 0 1.25rem;line-height:1.5;}
.vg-cta{width:100%;}
.vg-close{position:absolute;top:.7rem;right:.7rem;width:32px;height:32px;border:none;border-radius:50%;
  background:var(--surface-2);color:var(--muted);display:grid;place-items:center;cursor:pointer;
  transition:background var(--tr),color var(--tr);}
.vg-close:hover{background:var(--border-soft,rgba(0,0,0,.06));color:var(--text);}
/* Highlighted (missing) selector */
.custom-select-dd.vg-invalid .custom-select-btn{border-color:#dc2626!important;
  box-shadow:0 0 0 3px rgba(220,38,38,.18)!important;animation:vg-shake .3s var(--ease);}
@keyframes vg-shake{0%,100%{transform:translateX(0);}25%{transform:translateX(-4px);}75%{transform:translateX(4px);}}
:root[data-theme="dark"] .custom-select-dd.vg-invalid .custom-select-btn{border-color:#f87171!important;
  box-shadow:0 0 0 3px rgba(248,113,113,.22)!important;}
:root[data-theme="dark"] .vg-close:hover{background:rgba(255,255,255,.10);}
@media (prefers-reduced-motion:reduce){.custom-select-dd.vg-invalid .custom-select-btn{animation:none;}}

/* ============ Phase 44 — Cart & checkout premium + dark-mode fixes ============ */
/* Free-shipping progress track: light-tinted track is invisible on dark surfaces */
:root[data-theme="dark"] .free-ship-bar{background:rgba(255,255,255,.12)!important;}
/* Coupon 'applied' chip: readable success on dark */
:root[data-theme="dark"] .coupon-applied{background:rgba(52,211,153,.12)!important;
  border-color:rgba(52,211,153,.30)!important;color:#34d399!important;}
:root[data-theme="dark"] .coupon-applied .coupon-code{color:#34d399!important;}
/* Remove button (cart trash) — brighter danger on dark, generic (not just <a>) */
:root[data-theme="dark"] .btn-remove,
:root[data-theme="dark"] .cart-remove a,
:root[data-theme="dark"] .wish-btn-pdp.text-danger{color:#f87171!important;border-color:rgba(248,113,113,.32)!important;}
/* Quantity stepper hover — brand gold, not legacy blue */
.qty-btn:hover,.qty-control .qty-btn:hover{border-color:var(--accent)!important;
  background:var(--surface-2)!important;color:var(--primary)!important;}
:root[data-theme="dark"] .qty-btn:hover{color:var(--text)!important;}
/* Native country select on checkout — dark-aware + premium chevron */
.checkout-grid select.form-control,select#countryInput{
  background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='%238a8174' d='M4 6l4 4 4-4'/%3e%3c/svg%3e");
  background-repeat:no-repeat;background-position:right .8rem center;background-size:14px;
  -webkit-appearance:none;appearance:none;padding-right:2.2rem;}
:root[data-theme="dark"] select#countryInput,
:root[data-theme="dark"] .checkout-grid select.form-control{
  background-color:var(--surface-2)!important;color:var(--text)!important;border-color:var(--border)!important;}
:root[data-theme="dark"] select#countryInput option{background:#272219;color:var(--text);}
/* Payment method tab — brand gold active state instead of hardcoded blue */
.pay-tab.active,.pay-tab.is-active{border-color:var(--accent)!important;background:var(--surface-2)!important;
  color:var(--primary)!important;}
:root[data-theme="dark"] .pay-tab.active,:root[data-theme="dark"] .pay-tab.is-active{color:var(--text)!important;}
/* Checkout summary: never trap the CTA on mobile (consolidate duplicate sticky rule) */
@media (max-width:991.98px){.summary-card,.checkout-summary{position:static!important;}}

/* ============ Phase 45 — Store filter hover: refined, no invasive gold ============ */
/* Root cause: native checkbox/radio accent-color was gold (--accent), so Chrome tinted
   their hover/active state yellow across the colour/size/rating sections. Use the brand
   espresso so checked controls read premium and the hover tint is neutral, not yellow. */
.filter-form .rating-opt input,
.filter-form .toggle-opt input,
.filter-form .chip-opt input{accent-color:var(--primary)!important;}
/* Dark mode: keep native controls neutral (espresso/cream), NOT gold — this is what
   produced the lingering yellow tint on the rating/size/colour controls in dark mode. */
:root[data-theme="dark"] .filter-form .rating-opt input,
:root[data-theme="dark"] .filter-form .toggle-opt input,
:root[data-theme="dark"] .filter-form .chip-opt input{accent-color:#e7e0d2!important;}
/* Whole rows never get a section-wide background; only a subtle, rounded row hover on the
   genuinely clickable label. */
.filter-form .rating-opt,
.filter-form .toggle-opt{border-radius:var(--radius-sm);transition:background var(--tr);}
.filter-form .rating-opt:hover,
.filter-form .toggle-opt:hover{background:var(--surface-2);}
/* The section containers themselves must never react to hover */
.filter-form .filter-section:hover,
.filter-form .filter-body:hover,
.filter-form .filter-head:hover{background:transparent;}

/* ============ Phase 45 — Cart surfaces: transparent card, no card-in-card ============ */
/* Outer cart container is transparent — only the .cart-item mini-cards carry surface/border,
   so there's no "card inside a card with too many borders". */
.cart-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.cart-card-head{margin:0 0 .6rem!important;padding:0 .4rem!important;border-bottom:0!important;
  background:transparent!important;}
/* Empty cart: airy, no bordered inner card */
.cart-empty-card{border:0!important;background:transparent!important;box-shadow:none!important;}
/* Quantity stepper: no heavy border/shadow — stays elegant and functional */
.qty-control{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important;}
.qty-input{border:0!important;background:transparent!important;box-shadow:none!important;font-weight:600;}
:root[data-theme="dark"] .qty-input{color:var(--text)!important;}

/* ============ Phase 45 — Colour/size variant dropdowns styled like .sortx ============ */
.custom-select-btn{
  height:46px!important;border:1px solid var(--border)!important;background:var(--surface)!important;
  color:var(--text)!important;border-radius:var(--radius-pill)!important;
  display:inline-flex!important;align-items:center;justify-content:space-between;gap:.5rem;width:100%;
  padding:0 1.05rem!important;font-family:var(--font-ui);font-weight:600;font-size:.9rem;
  transition:border-color .2s var(--ease),background .2s var(--ease)!important;}
.custom-select-btn:hover{border-color:var(--accent)!important;background:var(--surface-2)!important;}
.custom-select-btn:focus,.custom-select-btn:focus-visible{outline:2px solid var(--accent)!important;
  outline-offset:2px;box-shadow:none!important;border-color:var(--accent)!important;}
.csdd-caret{font-size:.6rem;color:var(--muted);transition:transform .2s var(--ease);flex:0 0 auto;}
.custom-select-dd.is-open .csdd-caret{transform:rotate(180deg);}
/* Menu: vanilla-controlled visibility (always display:block, shown via .is-open) */
.custom-select-dd .dropdown-menu{display:block!important;position:absolute;top:calc(100% + 8px);left:0;right:0;
  min-width:100%;border:1px solid var(--border)!important;border-radius:var(--radius)!important;
  background:var(--surface)!important;box-shadow:var(--shadow-lg)!important;padding:.4rem!important;margin:0!important;
  z-index:1400;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s var(--ease),transform .18s var(--ease),visibility .18s;}
.custom-select-dd.is-open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0);}
.custom-select-dd .dropdown-item{border-radius:var(--radius-sm)!important;padding:.55rem .7rem!important;
  font-size:.88rem;color:var(--text)!important;background:transparent!important;transition:background .15s var(--ease);}
.custom-select-dd .dropdown-item:hover,.custom-select-dd .dropdown-item:focus{
  background:var(--surface-2)!important;color:var(--primary)!important;}
.custom-select-dd .dropdown-item.is-active{background:var(--surface-2)!important;color:var(--accent-2)!important;font-weight:600;}
/* Dark mode: warm brand surface (override theme.css's cool blue-dark) */
:root[data-theme="dark"] .custom-select-btn{background:var(--surface)!important;color:var(--text)!important;
  border-color:var(--border)!important;}
:root[data-theme="dark"] .custom-select-dd .dropdown-menu{background:var(--surface)!important;
  border-color:var(--border)!important;box-shadow:var(--shadow-lg)!important;}
:root[data-theme="dark"] .custom-select-dd .dropdown-item{color:var(--text)!important;}
:root[data-theme="dark"] .custom-select-dd .dropdown-item:hover{background:var(--surface-2)!important;color:var(--text)!important;}
:root[data-theme="dark"] .custom-select-dd .dropdown-item.is-active{color:var(--accent)!important;}

/* ============ Phase 45 — Navbar fits at 1280 (no cut cart/wishlist/account) ============ */
@media (min-width:992px){
  /* ROOT CAUSE: Bootstrap's .navbar-collapse defaults to flex-grow:1, so the menu+actions
     cluster ate all the slack and squashed the search. Force it to content width so the
     search can claim the remaining space at a comfortable, readable size. */
  /* Kill Bootstrap's space-between gaps; search absorbs the slack so the actions sit
     immediately after the menu and never overflow. */
  .premium-nav > .container{justify-content:flex-start!important;}
  .premium-nav .navbar-collapse{flex:0 0 auto!important;width:auto!important;margin-left:0!important;}
  .premium-nav .nav-search{flex:1 1 auto!important;min-width:200px!important;max-width:none!important;margin:0 .85rem!important;}
  .premium-nav .navbar-nav.mr-3{margin-right:.5rem!important;}
  .premium-nav .navbar-nav .nav-link{padding-left:.55rem!important;padding-right:.55rem!important;white-space:nowrap;}
  .premium-nav .ml-lg-3{margin-left:.5rem!important;}
  .premium-nav .nav-icon{margin-left:.3rem!important;margin-right:.3rem!important;}
}
/* Mid-desktop (992–1199): a touch more compaction; search stays usable */
@media (min-width:992px) and (max-width:1199.98px){
  .premium-nav .nav-search{min-width:170px!important;max-width:340px!important;margin:0 .55rem!important;}
  .premium-nav .navbar-nav .nav-link{padding-left:.35rem!important;padding-right:.35rem!important;font-size:.9rem;}
  .premium-nav .nav-icon{margin-left:.18rem!important;margin-right:.18rem!important;}
  .premium-nav .searchbar-xl .form-control{padding-right:64px!important;}
  .premium-nav .search-go{padding:0 .55rem!important;font-size:.72rem!important;}
}

/* ============================================================ *
 * Pre-order shipping estimator (cart + checkout)               *
 * Tokens auto-invert in dark mode; no gold accent-color on     *
 * native controls (avoids the tinted-hover bug).               *
 * ============================================================ */
.ship-estimator{
  margin-top:1.1rem;margin-bottom:1.5rem;background:var(--surface);border:var(--border);
  border-radius:var(--radius);padding:1.05rem 1.1rem 1.15rem;
}
.ship-estimator--checkout{margin-top:0;background:var(--surface-2);}
/* Clear separation from the Checkout CTA that follows the estimator. */
.summary-card .ship-estimator + .summary-actions{margin-top:.5rem;}
.se-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;}
.se-title{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;color:var(--text);font-size:.98rem;}
.se-title .ic{color:var(--accent);}
.se-hint{font-size:.7rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);
  border:var(--border);border-radius:999px;padding:.16rem .5rem;}
.se-sub{margin:.5rem 0 .85rem;color:var(--muted);font-size:.84rem;line-height:1.45;}

.se-form{margin:0;}
.se-fields{display:grid;grid-template-columns:1.2fr .8fr;gap:.6rem;}
.se-field{display:flex;flex-direction:column;gap:.3rem;margin:0;}
.se-lab{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-weight:600;}
.se-select-wrap{position:relative;}
.se-select-wrap::after{content:"";position:absolute;right:.7rem;top:50%;width:.5rem;height:.5rem;
  border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);
  transform:translateY(-65%) rotate(45deg);pointer-events:none;}
.se-select,.se-input{
  width:100%;appearance:none;-webkit-appearance:none;background:var(--surface);color:var(--text);
  border:var(--border);border-radius:8px;padding:.6rem .75rem;font-size:.9rem;line-height:1.2;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.se-select{padding-right:1.8rem;cursor:pointer;}
.se-select:focus,.se-input:focus{
  outline:none;border:1px solid var(--accent);box-shadow:0 0 0 3px rgba(166,130,76,.22);
}
:root[data-theme="dark"] .se-select:focus,
:root[data-theme="dark"] .se-input:focus{box-shadow:0 0 0 3px rgba(202,165,106,.26);}
.se-btn{margin-top:.7rem;width:100%;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;}
.se-spinner{width:15px;height:15px;border-radius:50%;border:2px solid rgba(255,255,255,.45);
  border-top-color:#fff;animation:se-spin .7s linear infinite;display:inline-block;}
@keyframes se-spin{to{transform:rotate(360deg);}}

/* loading skeleton */
.se-skeleton{margin-top:.9rem;display:flex;flex-direction:column;gap:.5rem;}
.se-sk-row{height:14px;border-radius:6px;background:linear-gradient(90deg,
  rgba(28,26,23,.06) 25%,rgba(28,26,23,.12) 37%,rgba(28,26,23,.06) 63%);
  background-size:400% 100%;animation:se-shimmer 1.3s ease infinite;}
.se-sk-row.short{width:55%;}
:root[data-theme="dark"] .se-sk-row{background:linear-gradient(90deg,
  rgba(243,238,228,.06) 25%,rgba(243,238,228,.13) 37%,rgba(243,238,228,.06) 63%);background-size:400% 100%;}
@keyframes se-shimmer{0%{background-position:100% 0;}100%{background-position:0 0;}}

/* result */
.se-result{margin-top:1rem;animation:se-fade .25s ease;}
@keyframes se-fade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.se-source{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem;}
.se-badge{font-size:.68rem;font-weight:700;letter-spacing:.03em;padding:.22rem .55rem;border-radius:999px;
  background:var(--surface-2);color:var(--muted);border:var(--border);}
.se-badge--live_printify{background:rgba(34,139,87,.12);color:#1f7a4d;border:1px solid rgba(34,139,87,.30);}
:root[data-theme="dark"] .se-badge--live_printify{background:rgba(74,200,140,.14);color:#7fd6a6;border:1px solid rgba(74,200,140,.32);}
.se-deliv{font-size:.82rem;font-weight:600;color:var(--text);}

.se-options{display:flex;flex-direction:column;gap:.5rem;}
.se-option{display:flex;align-items:center;gap:.7rem;padding:.6rem .75rem;border:var(--border);
  border-radius:9px;cursor:pointer;background:var(--surface);transition:border-color .15s ease,background .15s ease;}
.se-option:hover{border:1px solid rgba(28,26,23,.28);}
:root[data-theme="dark"] .se-option:hover{border:1px solid rgba(243,238,228,.30);}
.se-option.is-selected{border:1px solid var(--accent);background:rgba(166,130,76,.08);}
:root[data-theme="dark"] .se-option.is-selected{background:rgba(202,165,106,.12);}
.se-option:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(166,130,76,.22);}
.se-option-radio{position:absolute;opacity:0;width:0;height:0;pointer-events:none;}
.se-option-main{display:flex;flex-direction:column;gap:.12rem;flex:1;min-width:0;}
.se-option-name{font-weight:600;color:var(--text);font-size:.9rem;}
.se-option-eta{font-size:.76rem;color:var(--muted);}
.se-option-price{font-weight:700;color:var(--text);font-size:.92rem;white-space:nowrap;}

.se-totals{margin-top:.9rem;border-top:var(--border);padding-top:.75rem;display:flex;flex-direction:column;gap:.4rem;}
.se-totals .se-line{display:flex;align-items:center;justify-content:space-between;font-size:.88rem;color:var(--muted);}
.se-totals .se-line span:last-child{color:var(--text);font-weight:600;}
.se-totals .se-grand{margin-top:.2rem;font-size:1rem;}
.se-totals .se-grand span{color:var(--text)!important;font-weight:800;}
.se-mixed{margin:.7rem 0 0;font-size:.76rem;color:#9a6b00;font-style:italic;}
:root[data-theme="dark"] .se-mixed{color:#e0b34d;}
.se-disclaimer{margin:.55rem 0 0;font-size:.74rem;color:var(--muted);line-height:1.4;}
.se-error{margin-top:.9rem;padding:.65rem .8rem;border-radius:8px;font-size:.84rem;
  background:rgba(220,38,38,.08);color:#b91c1c;border:1px solid rgba(220,38,38,.22);}
:root[data-theme="dark"] .se-error{background:rgba(248,113,113,.12);color:#fca5a5;border:1px solid rgba(248,113,113,.28);}

@media (max-width:575.98px){
  .se-fields{grid-template-columns:1fr;}
  .ship-estimator{padding:.95rem .95rem 1.05rem;}
}
