/* Onda theme — base + components (carried over from the Shopify theme) */
/* ============================================================
   Onda theme — base + components
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--c-text);
  background:#fff;
  line-height:1.6;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--c-text);line-height:1.12;margin:0 0 .5em;font-weight:800;letter-spacing:-.01em}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}
h2{font-size:clamp(1.8rem,3.6vw,2.7rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
ul{margin:0;padding:0;list-style:none}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:8px;top:8px;background:#fff;padding:8px 14px;z-index:999;border-radius:6px}
:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}

.wrap{max-width:var(--page-width);margin:0 auto;padding:0 24px}
.section{padding:72px 0}
.text-center{text-align:center}
.eyebrow{font-family:var(--font-heading);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;color:var(--c-primary)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-heading);font-weight:700;font-size:.95rem;
  padding:.85em 1.7em;border-radius:999px;border:2px solid transparent;
  transition:.18s ease;white-space:nowrap;line-height:1;
}
.btn-primary{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.btn-primary:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark)}
.btn-atc{background:var(--c-atc);color:#fff;border-color:var(--c-atc)}
.btn-atc:hover{background:var(--c-atc-dark);border-color:var(--c-atc-dark)}
.btn-atc[disabled]{background:#c4cbd6;border-color:#c4cbd6;cursor:not-allowed}
.btn-outline{background:transparent;color:var(--c-primary);border-color:var(--c-primary)}
.btn-outline:hover{background:var(--c-primary);color:#fff}
.btn-ghost-light{background:#fff;color:var(--c-primary);border-color:#fff}
.btn-ghost-light:hover{background:transparent;color:#fff}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn-outline-light:hover{background:#fff;color:var(--c-primary)}
.btn-sm{padding:.6em 1.2em;font-size:.85rem}
.btn-block{display:flex;width:100%}

/* ============================================================
   HEADER
   ============================================================ */
.announce{background:var(--c-primary-dark);color:#fff;text-align:center;font-size:.82rem;padding:8px 16px;font-weight:500}
.site-header{position:sticky;top:10px;z-index:50;background:transparent;padding:0 16px;pointer-events:none}
.header-inner{display:flex;align-items:center;gap:22px;padding:10px 22px;max-width:var(--page-width);margin:0 auto;background:#fff;border-radius:999px;box-shadow:0 14px 38px rgba(16,19,26,.16);pointer-events:auto}
.header-logo{display:flex;align-items:center;gap:10px;color:var(--c-primary)}
.header-logo .logo-word{font-family:var(--font-heading);font-weight:800;font-size:1.15rem;letter-spacing:.18em;color:var(--c-text)}
.lang-pill{display:flex;align-items:center;gap:7px;border:1px solid #9aa2b1;border-radius:6px;padding:6px 9px;font-size:.78rem;font-weight:600;color:#3a3f4a}
.lang-pill .flag{width:24px;height:14px;border-radius:2px;display:block;overflow:hidden;flex:none}
.main-nav{display:flex;gap:30px;margin:0 auto}
.main-nav a{font-family:var(--font-heading);font-weight:600;font-size:.95rem;color:var(--c-text);padding:6px 0;position:relative}
.main-nav a:hover,.main-nav a[aria-current]{color:var(--c-primary)}
.main-nav a[aria-current]::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--c-primary)}
.header-actions{display:flex;align-items:center;gap:18px;margin-left:auto}
.icon-btn{display:flex;align-items:center;justify-content:center;color:var(--c-text);background:none;border:none;padding:4px}
.icon-btn:hover{color:var(--c-primary)}
.cart-link{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.9rem}
.cart-count{background:var(--c-primary);color:#fff;font-size:.7rem;min-width:18px;height:18px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px;margin-left:-14px;margin-top:-12px}
.cart-total{color:var(--c-text)}
.nav-toggle{display:none}
.svg-icon{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.8}

/* mobile drawer */
.mobile-nav{display:none}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;color:#fff;text-align:center;overflow:hidden;border-bottom-left-radius:40px;border-bottom-right-radius:40px}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero-inner{position:relative;z-index:2;padding:84px 24px 110px;max-width:760px;margin:0 auto}
.hero-mark{margin:0 auto 6px;width:120px;color:#fff}
.hero-word{font-family:var(--font-heading);font-weight:800;letter-spacing:.28em;font-size:clamp(2rem,5vw,3rem);margin:0 0 .35em}
.hero-tagline{font-size:1.15rem;font-weight:600;margin-bottom:1.6em;font-family:var(--font-heading)}
.hero-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.hero-policy{margin-top:16px}
.hero-policy a{display:inline-block;border:1px solid rgba(255,255,255,.65);border-radius:999px;padding:.55em 1.3em;font-size:.82rem;font-weight:600}
.hero-policy a:hover{background:#fff;color:var(--c-primary)}
.review-badge{margin:30px auto 0;background:rgba(7,7,8,.82);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 26px;display:inline-flex;flex-direction:column;align-items:center;gap:2px;backdrop-filter:blur(4px)}
.review-badge .brand{font-size:.7rem;letter-spacing:.1em;color:#9fb3ff;font-weight:700}
.review-badge .brand b{color:#ff5b5b}
.review-badge .score{font-size:1.4rem;font-weight:800;font-family:var(--font-heading);display:flex;align-items:center;gap:8px}
.stars{color:#ffb301;letter-spacing:2px}
.review-badge small{color:#cfd6e6;font-size:.72rem}

/* ============================================================
   PRODUCT HIGHLIGHT (molecule)
   ============================================================ */
.highlight{position:relative;padding:80px 0;overflow:hidden}
.molecule{position:absolute;inset:0;z-index:0;opacity:.5}
.highlight-inner{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-height:420px}
.vial-illustration{width:min(280px,60vw);filter:drop-shadow(0 30px 40px rgba(31,63,214,.25))}
.float-card{position:absolute;background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 18px 40px rgba(16,19,26,.12);max-width:230px}
.float-card h4{margin:0 0 4px;font-size:1rem}
.float-card p{margin:0;font-size:.82rem;color:#566;line-height:1.45}
.float-card.tl{top:8%;left:6%}
.float-card.bl{bottom:12%;left:2%}

/* ============================================================
   WHY CHOOSE
   ============================================================ */
.why{padding:80px 0}
.why-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px;align-items:stretch}
.why-intro h2{margin-bottom:.3em}
.why-intro .sub{font-weight:700;font-family:var(--font-heading);margin-bottom:.3em}
.why-intro p{color:#566;font-size:.95rem}
.why-intro{display:flex;flex-direction:column;justify-content:center}
.why-card{border-radius:16px;padding:26px;color:#fff;position:relative;overflow:hidden;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;background:#1a1c22}
.why-card.feature{background:linear-gradient(160deg,#23262e,#0d0e12)}
.why-card.blue-edge{box-shadow:inset 0 -4px 0 var(--c-primary)}
.why-card .ic{width:42px;height:42px;margin-bottom:auto;color:#fff}
.why-card h3{color:#fff;margin:14px 0 8px}
.why-card p{font-size:.85rem;color:#c7cad3;margin:0}
.why-card.tall{grid-row:span 2;min-height:auto}

/* ============================================================
   ABOUT band
   ============================================================ */
.about{position:relative;color:#fff;text-align:center;overflow:hidden}
.about-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.about-inner{position:relative;z-index:2;padding:74px 24px;max-width:820px;margin:0 auto}
.about-inner h2{color:#fff}
.about-inner p{color:rgba(255,255,255,.92);font-size:1rem}
.about-inner .btn{margin-top:10px}

/* ============================================================
   FAQ
   ============================================================ */
.faq{padding:80px 0}
.faq-head{text-align:center;margin-bottom:40px}
.faq-head p{color:#566}
.faq-list{max-width:880px;margin:0 auto}
.faq-item{border-bottom:1px solid #e6e8ee}
.faq-item.open{background:#fff;border:1px solid #e6e8ee;border-radius:14px;box-shadow:0 14px 34px rgba(16,19,26,.06);margin-bottom:10px}
.faq-q{width:100%;background:none;border:none;display:flex;justify-content:space-between;align-items:center;gap:16px;text-align:left;padding:20px 22px;font-family:var(--font-heading);font-weight:600;font-size:1rem;color:var(--c-text)}
.faq-item.open .faq-q{color:var(--c-primary)}
.faq-sign{flex:none;width:24px;height:24px;border-radius:50%;border:1.5px solid currentColor;position:relative}
.faq-sign::before,.faq-sign::after{content:"";position:absolute;background:currentColor;left:50%;top:50%;transform:translate(-50%,-50%)}
.faq-sign::before{width:11px;height:1.6px}
.faq-sign::after{width:1.6px;height:11px;transition:.2s}
.faq-item.open .faq-sign::after{opacity:0}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;padding:0 22px}
.faq-item.open .faq-a{max-height:400px;padding-bottom:20px}
.faq-a p{color:#566;font-size:.92rem;margin:0}
.faq-two{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.faq-img{border-radius:16px;overflow:hidden;background:#0c0c10;aspect-ratio:1/.84;display:flex;align-items:center;justify-content:center}
.faq-img svg{width:55%;opacity:.9}

/* ============================================================
   FEATURE ICONS
   ============================================================ */
.features{padding:60px 0}
.feat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}
.feat .circle{width:120px;height:120px;border-radius:50%;background:#eaf0ff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;color:var(--c-primary)}
.feat .circle svg{width:46px;height:46px}
.feat h3{font-size:1.1rem;margin-bottom:6px}
.feat p{color:#566;font-size:.85rem;margin:0;max-width:240px;margin-inline:auto}

/* ============================================================
   CTA banner
   ============================================================ */
.cta{position:relative;color:#fff;text-align:center;overflow:hidden;border-radius:20px;margin:40px auto 70px;max-width:var(--page-width)}
.cta-wrap{padding:0 24px}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.cta-inner{position:relative;z-index:2;padding:60px 24px}
.cta-inner h2{color:#fff;margin-bottom:.2em}
.cta-inner p{color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 1.4em}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============================================================
   FOOTER
   ============================================================ */
.site-footer{background:var(--c-dark);color:#cfd3dc;position:relative}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:40px;padding:60px 24px 40px;max-width:var(--page-width);margin:0 auto}
.footer-mark{width:64px;color:#9fb0ff;margin-bottom:16px}
.footer-about{font-size:.86rem;color:#aeb4c0;max-width:320px}
.footer-col h4{color:#fff;font-size:1.05rem;margin-bottom:14px}
.footer-col li{margin-bottom:9px;font-size:.88rem}
.footer-col a:hover{color:#fff}
.footer-contact .row{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:.88rem}
.footer-contact .row svg{width:20px;height:20px;flex:none;color:#fff}
.footer-legal{border-top:1px solid rgba(255,255,255,.12);max-width:var(--page-width);margin:0 auto;padding:18px 24px 40px;text-align:center}
.footer-legal .copy{font-size:.78rem;color:#aeb4c0;margin-bottom:8px}
.footer-legal .disclaimer p{font-size:.66rem;line-height:1.55;color:#7f8696;max-width:1000px;margin:0 auto}
.footer-legal .disclaimer a{color:#9fb0ff}

/* ============================================================
   COLLECTION / SHOP
   ============================================================ */
.page-hero{position:relative;color:#fff;overflow:hidden;text-align:center;padding:56px 24px 64px}
.page-hero .page-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.page-hero-inner{position:relative;z-index:2}
.page-hero h1{color:#fff;margin-bottom:6px}
.crumbs{font-size:.82rem;color:rgba(255,255,255,.85)}
.crumbs a:hover{text-decoration:underline}

.shop-layout{display:grid;grid-template-columns:250px 1fr;gap:36px;padding:40px 0 70px}
.shop-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}
.shop-count{color:#566;font-size:.9rem}
.filter-toggle{display:inline-flex;align-items:center;gap:8px;border:1px solid #e1e4ea;border-radius:999px;padding:8px 16px;font-weight:600;font-size:.85rem;background:#fbfbfd}
.sortby{border:1px solid #e1e4ea;border-radius:8px;padding:8px 12px;font-size:.85rem;color:#444;background:#f4f5f7}
.facets h3{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:#222;margin:22px 0 12px}
.facet-search{display:flex;gap:8px;margin-bottom:6px}
.facet-search input{flex:1;border:1px solid #dfe2e8;border-radius:8px;padding:9px 12px;font-size:.88rem;min-width:0}
.facet-list li{margin-bottom:9px}
.facet-list label{display:flex;align-items:center;gap:9px;font-size:.9rem;color:#3a3f4a;cursor:pointer}
.facet-list input{accent-color:var(--c-primary);width:15px;height:15px}
.facet-list .count{margin-left:auto;color:#9aa0ac;font-size:.82rem}
.cat-list li{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid #eef0f4;font-size:.92rem}
.cat-list .badge{background:#eef1f6;color:#7a8090;border-radius:999px;font-size:.72rem;padding:2px 9px}

.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.card{position:relative;background:#fff;border-radius:var(--radius);text-align:center;padding:0 0 22px;transition:.18s;border:1px solid #eef0f4}
.card:hover{box-shadow:0 18px 40px rgba(16,19,26,.10);transform:translateY(-2px)}
.card-media{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;padding:18px;background:#fff;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}
.card-media img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .25s ease}

/* hover price reveal */
.card-hover{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;opacity:0;transition:opacity .25s ease;pointer-events:none;text-align:center;padding:14px}
.hover-was{text-decoration:line-through;color:var(--c-text);font-weight:700;font-size:1.05rem}
.hover-price{color:var(--c-text);font-weight:700;font-size:1.15rem}
.hover-cat{font-family:var(--font-heading);font-weight:600;font-size:.82rem;color:var(--c-text)}
@media(hover:hover){
  .card:hover .card-media img{opacity:.16}
  .card:hover .card-hover{opacity:1}
}
.sale-badge{position:absolute;top:14px;left:14px;background:var(--c-sale);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:.7rem;letter-spacing:.06em;padding:4px 10px;border-radius:5px;z-index:3}
.soldout-badge{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:5px;background:#3a3f4a;color:#fff;font-family:var(--font-heading);font-weight:700;font-size:.7rem;letter-spacing:.06em;padding:4px 10px;border-radius:5px;z-index:3}
.card.is-soldout .card-media img,.card.is-soldout .card-media svg{opacity:.55;filter:grayscale(.6)}
.card.is-soldout .card-cta{opacity:.75}
.card-title{font-family:var(--font-heading);font-weight:700;font-size:.98rem;margin:6px 14px 8px;color:var(--c-text)}
.card-price{font-weight:600;color:var(--c-text);font-size:.92rem;margin-bottom:10px}
.card-price .was{color:#9aa0ac;text-decoration:line-through;margin-right:8px;font-weight:400}
.card-cta{color:var(--c-primary);font-family:var(--font-heading);font-weight:700;font-size:.82rem;letter-spacing:.02em}
.card-cta:hover{text-decoration:underline}

.pagination{display:flex;justify-content:center;gap:10px;margin-top:44px}
.pagination a,.pagination span{min-width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;color:#3a3f4a}
.pagination .current{background:var(--c-primary);color:#fff}
.pagination a:hover{background:#eef1f6}
.pagination .next{width:auto;padding:0 18px;border-radius:999px}

/* ============================================================
   PRODUCT PAGE
   ============================================================ */
.onda-product{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:40px 0 30px}
.product-gallery{position:relative}
.gallery-main{position:relative;display:flex;align-items:center;justify-content:center;background:transparent;z-index:3}
.gallery-main img{width:100%;height:auto;object-fit:contain;mix-blend-mode:multiply}
.gallery-thumbs{display:flex;gap:10px;margin-top:14px}
.gallery-thumbs button{width:70px;height:70px;border-radius:10px;border:1px solid #e3e6ec;background:#fafbfc;padding:6px;overflow:hidden}
.gallery-thumbs button.active{border-color:var(--c-primary)}
.product-info h1{margin-bottom:10px}
.ruo-blurb{color:#566;font-size:.9rem;margin-bottom:14px}
.stock{color:var(--c-primary);font-weight:600;font-size:.9rem;margin-bottom:20px}
.opt-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#8a8f99;font-weight:700;margin:18px 0 10px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill{border:1.5px solid #dfe2e8;border-radius:999px;padding:10px 18px;font-weight:600;font-size:.9rem;background:#fff;color:#3a3f4a;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;min-width:60px}
.pill.qty-pill{min-width:78px}
.pill .save{color:var(--c-save);font-size:.68rem;font-weight:700;margin-top:2px}
.pill.selected{border-color:var(--c-primary);background:var(--c-primary);color:#fff}
.pill.selected .save{color:#bfe8cc}
.pill:hover{border-color:var(--c-primary)}
.pill.unavailable{opacity:.45;text-decoration:line-through}
.pill.unavailable .save{display:none}
.mix-note{font-size:.82rem;color:#5a6070;margin:12px 0 0;display:flex;align-items:center;gap:6px}
.mix-note::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--c-save);flex:none}
.product-info .price{font-size:1.7rem;font-weight:800;font-family:var(--font-heading);color:var(--c-primary);margin:18px 0}
.product-info .price .was{color:#9aa0ac;text-decoration:line-through;font-size:1.1rem;font-weight:500;margin-right:10px}
/* back-in-stock email capture */
.notify-box{margin:26px 0 6px;padding:22px 24px;border:1px solid #e3e7f0;border-radius:14px;background:#f8f9fc;max-width:520px}
.notify-heading{font-family:var(--font-heading);font-weight:700;font-size:1.1rem;margin:0 0 6px}
.notify-text{color:#4a4f5a;font-size:.9rem;margin:0 0 14px}
.notify-row{display:flex;gap:10px}
.notify-row input[type=email]{flex:1;min-width:0;border:1px solid #ccd2de;border-radius:999px;padding:12px 18px;font:inherit;font-size:.92rem;background:#fff}
.notify-row input[type=email]:focus{outline:2px solid var(--c-primary);outline-offset:1px;border-color:var(--c-primary)}
.notify-consent{font-size:.75rem;color:#7a8090;margin:10px 0 0}
.notify-success{color:var(--c-save);font-weight:600;font-size:.92rem;margin:0}
.notify-error{color:#c0392b;font-size:.85rem;margin:0 0 10px}
@media(max-width:560px){.notify-row{flex-direction:column}.notify-row .btn{width:100%}}

/* additional-information stacked table */
.info-table{max-width:1000px}
.info-row{border:1px solid #eef0f4;border-bottom:none;background:#fbfbfd;padding:16px 22px}
.info-row:last-child{border-bottom:1px solid #eef0f4}
.info-row:nth-child(even){background:#fff}
.info-label{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:var(--c-text);margin-bottom:6px}
.info-value{color:#4a4f5a;font-size:.95rem}

/* decorative confetti */
.has-confetti{position:relative}
.confetti{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}
.cf{position:absolute;display:block;background:var(--c-primary);opacity:.28;border-radius:2px;animation:cf-float 9s ease-in-out infinite}
.cf.s1{width:10px;height:10px;transform:rotate(20deg)}
.cf.s2{width:7px;height:14px;opacity:.2;transform:rotate(-30deg);animation-duration:11s;background:var(--c-accent)}
.cf.s3{width:9px;height:9px;border-radius:50%;opacity:.16;animation-duration:13s}
.cf.s4{width:13px;height:6px;opacity:.22;transform:rotate(45deg);animation-duration:10s;background:var(--c-accent)}
@keyframes cf-float{
  0%,100%{translate:0 0;rotate:0deg}
  50%{translate:6px -18px;rotate:25deg}
}
.qty-add{display:flex;align-items:center;gap:18px;margin-bottom:18px;flex-wrap:wrap}
.qty-stepper{display:flex;align-items:center;gap:14px}
.qty-stepper button{width:34px;height:34px;border-radius:50%;border:1px solid #dfe2e8;background:#fff;font-size:1.1rem;line-height:1;color:#3a3f4a}
.qty-stepper input{width:40px;text-align:center;border:none;font-size:1.05rem;font-weight:600;background:none}
.product-meta{font-size:.85rem;color:#7a8090;margin-top:8px}
.product-meta a{color:var(--c-primary)}

.product-tabs{border-top:1px solid #eef0f4;margin-top:30px;padding-top:40px}
.tab-nav{display:flex;gap:30px;justify-content:center;margin-bottom:30px}
.tab-nav button{background:none;border:none;font-family:var(--font-heading);font-weight:600;font-size:1rem;color:#8a8f99;padding-bottom:8px;border-bottom:2px solid transparent}
.tab-nav button.active{color:var(--c-text);border-color:var(--c-text)}
.tab-panel{max-width:1000px;margin:0 auto;display:none}
.tab-panel.active{display:block}
.tab-panel h4{font-size:.95rem;margin:22px 0 8px}
.tab-panel p{color:#566;font-size:.9rem}

.related h2{margin:60px 0 26px}

/* ============================================================
   GENERIC PAGE / RUO / RICH TEXT
   ============================================================ */
.page-body{max-width:820px;margin:0 auto;padding:56px 24px 80px}
.page-body h2{margin-top:1.6em}
.page-body h3{margin-top:1.4em}
.page-body p,.page-body li{color:#3a3f4a}
.page-body ul{list-style:disc;padding-left:1.2em;margin-bottom:1em}
.page-body li{margin-bottom:.4em}
.policy-note{background:var(--c-section);border-left:4px solid var(--c-primary);padding:18px 22px;border-radius:0 10px 10px 0;margin:24px 0}

/* ============================================================
   CART / SEARCH / 404 / ACCOUNT
   ============================================================ */
.simple-page{max-width:980px;margin:0 auto;padding:56px 24px 90px}
.cart-table{width:100%;border-collapse:collapse;margin:24px 0}
.cart-table th{text-align:left;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:#8a8f99;padding-bottom:14px;border-bottom:1px solid #eef0f4}
.cart-table td{padding:18px 0;border-bottom:1px solid #eef0f4;vertical-align:middle}
.cart-item{display:flex;gap:16px;align-items:center}
.cart-item img{width:72px;height:72px;object-fit:contain;border:1px solid #eef0f4;border-radius:10px;background:#fafbfc}
.cart-foot{display:flex;justify-content:flex-end;align-items:center;gap:24px;margin-top:24px;flex-wrap:wrap}
.cart-subtotal{font-size:1.3rem;font-weight:800;font-family:var(--font-heading)}

/* terms acceptance box (cart page + drawer) */
.cart-terms{margin:22px 0 0}
.cart-terms-box{display:flex;align-items:flex-start;gap:12px;border:1.5px solid #cdd5ea;border-radius:12px;
  padding:14px 16px;background:#f6f8ff;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}
.cart-terms-box:hover{border-color:var(--c-primary);box-shadow:0 4px 14px rgba(31,63,214,.08)}
.cart-terms-check{width:20px;height:20px;flex:none;margin-top:1px;cursor:pointer;accent-color:var(--c-primary)}
.cart-terms-text{font-size:.93rem;line-height:1.45;color:var(--c-text)}
.cart-terms-text a{color:var(--c-primary);font-weight:600;text-decoration:underline}
.cart-terms-msg{color:#d92020;font-size:.86rem;font-weight:600;margin:9px 2px 0;display:flex;align-items:center;gap:7px}
.cart-terms-msg::before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;
  border-radius:50%;background:#d92020;color:#fff;font-size:.72rem;font-weight:800;flex:none}
.cart-terms.has-error .cart-terms-box{border-color:#d92020;background:#fff5f5;box-shadow:0 0 0 3px rgba(217,32,32,.12)}
.cart-terms.has-error .cart-terms-check{accent-color:#d92020}
.cart-terms.shake .cart-terms-box{animation:ct-shake .38s ease}
.cart-terms--drawer{margin:14px 0}
.cart-terms--drawer .cart-terms-box{padding:12px 13px}
.cart-terms--drawer .cart-terms-text{font-size:.85rem}
@keyframes ct-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.cart-terms.shake .cart-terms-box{animation:none}}

.empty-state{text-align:center;padding:60px 0}
.empty-state svg{width:64px;height:64px;color:#cfd3dc;margin:0 auto 18px}
.search-form{display:flex;gap:10px;max-width:560px;margin:20px auto 40px}
.search-form input{flex:1;border:1px solid #dfe2e8;border-radius:999px;padding:13px 22px;font-size:1rem}
.account-box{max-width:440px;margin:0 auto}
.field{margin-bottom:16px}
.field label{display:block;font-size:.82rem;font-weight:600;margin-bottom:6px}
.field input{width:100%;border:1px solid #dfe2e8;border-radius:10px;padding:12px 14px;font-size:.95rem}

/* password page */
.password-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--c-dark);padding:24px}
.password-card{background:#fff;border-radius:18px;padding:42px;text-align:center;max-width:420px;width:100%}
.password-card .logo-mark{color:var(--c-primary);margin:0 auto 14px}
.pw-row{display:flex;gap:10px;margin-top:18px}
.pw-row input{flex:1;border:1px solid #dfe2e8;border-radius:999px;padding:12px 18px}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  .footer-top{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:960px){
  .main-nav,.header-cta-text{display:none}
  .nav-toggle{display:flex}
  .header-inner{gap:12px;padding:9px 16px}
  .header-actions{gap:12px;margin-left:auto}
  .cart-total{font-size:.85rem}
  .onda-product{grid-template-columns:1fr;gap:30px}
  .shop-layout{grid-template-columns:1fr}
  .facets{display:none}
  .facets.show{display:block;margin-bottom:24px}
  .faq-two{grid-template-columns:1fr;gap:30px}
  .float-card{position:static;margin:10px auto;max-width:100%}
  .highlight-inner{flex-direction:column}
  .feat-grid{grid-template-columns:1fr 1fr;gap:36px 20px}
  .product-grid,.product-grid.cols-4{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .why-card.tall{grid-row:auto}
  /* mobile nav drawer */
  .mobile-nav{display:block;position:fixed;inset:0;background:rgba(7,7,8,.5);z-index:100;opacity:0;visibility:hidden;transition:.2s}
  .mobile-nav.open{opacity:1;visibility:visible}
  .mobile-nav-panel{position:absolute;right:0;top:0;bottom:0;width:min(320px,82vw);background:#fff;padding:26px;transform:translateX(100%);transition:.25s;display:flex;flex-direction:column;gap:6px}
  .mobile-nav.open .mobile-nav-panel{transform:none}
  .mobile-nav-panel a{padding:13px 4px;font-family:var(--font-heading);font-weight:600;border-bottom:1px solid #eef0f4}
  .mobile-close{align-self:flex-end;background:none;border:none;font-size:1.6rem;line-height:1;color:#444;margin-bottom:8px}
}
@media(max-width:560px){
  .section,.why,.faq,.highlight{padding:50px 0}
  .footer-top{grid-template-columns:1fr;gap:30px}
  .feat-grid{grid-template-columns:1fr}
  .product-grid,.product-grid.cols-4{grid-template-columns:1fr 1fr;gap:16px}
  .card-title{font-size:.88rem}
  .tab-nav{gap:18px}
  .hero-inner{padding:60px 20px 84px}
  .shop-count{flex-basis:100%;order:3;font-size:.82rem}
  .shop-bar{justify-content:flex-start;gap:10px}
  .shop-sort{margin-left:auto}
  .header-inner{gap:9px;padding:8px 12px}
  .cart-link{gap:5px}
  .lang-pill{padding:5px 7px}
}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
}

/* ============================================================
   CUSTOMER / AUTH / GIFT CARD PAGES
   ============================================================ */
.customer-page{max-width:var(--page-width,1280px);margin:0 auto;padding:56px 24px 80px}
.customer-wide{max-width:1080px}
.customer-card{max-width:460px;margin:0 auto;background:#fff;border:1px solid #ecedf1;border-radius:16px;padding:38px 34px;box-shadow:0 18px 50px -28px rgba(15,19,26,.25)}
.customer-card h1,.customer-page>h1{font-family:var(--font-heading);font-weight:800;letter-spacing:-.02em;margin:0 0 20px}
.customer-card h2{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;margin:0 0 14px}
.customer-page label{display:block;font-size:.82rem;font-weight:600;margin:14px 0 6px;color:var(--c-text)}
.customer-page input[type=text],
.customer-page input[type=email],
.customer-page input[type=password],
.customer-page input[type=tel],
.customer-page select{width:100%;border:1px solid #dfe2e8;border-radius:10px;padding:12px 14px;font-size:.95rem;background:#fff;color:var(--c-text)}
.customer-page input:focus,.customer-page select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(31,63,214,.12)}
.customer-page .btn-primary,.customer-page .btn-outline{margin-top:20px}
.customer-aside{font-size:.9rem;color:#5b6170;margin-top:16px}
.customer-aside a{color:var(--c-primary);font-weight:600;text-decoration:none}
.customer-aside a:hover{text-decoration:underline}
.customer-errors{background:#fdecec;border:1px solid #f5c2c2;color:#9b1c1c;border-radius:10px;padding:12px 14px;font-size:.88rem;margin-bottom:14px}
.customer-errors ul{margin:0;padding-left:18px}
.customer-success{background:#eaf7ee;border:1px solid #b6e3c3;color:#1a7a36;border-radius:10px;padding:12px 14px;font-size:.9rem;margin-bottom:14px}
.customer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.customer-head h1{margin:0}
.account-grid{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.account-orders h2,.account-details h2{font-family:var(--font-heading);font-weight:700;font-size:1.2rem;margin:0 0 16px}
.account-table{width:100%;border-collapse:collapse;font-size:.92rem}
.account-table th{text-align:left;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase;color:#7a8090;border-bottom:2px solid #eceef2;padding:10px 12px}
.account-table td{padding:12px;border-bottom:1px solid #f0f1f4}
.account-table tfoot td{border-bottom:none;color:#4a505e}
.account-table a{color:var(--c-primary);font-weight:600;text-decoration:none}
.account-details{background:var(--c-section);border-radius:14px;padding:24px}
.account-details p{margin:0 0 8px}
.address-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:28px}
.address-item{position:relative;border:1px solid #ecedf1;border-radius:14px;padding:22px}
.address-default{display:inline-block;background:var(--c-primary);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;margin-bottom:10px}
.address-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.address-new{margin-bottom:8px}
.password-tagline{color:#5b6170;margin:6px 0 18px}
.password-message{font-size:.92rem;color:#4a505e;margin-bottom:18px}
.password-row{display:flex;gap:10px;margin-top:18px}
.password-row input{flex:1;border:1px solid #dfe2e8;border-radius:999px;padding:12px 18px}
.password-error{color:#9b1c1c;font-size:.88rem;margin-bottom:10px}
.password-admin{font-size:.85rem;color:#7a8090;margin-top:22px}
.password-admin a{color:var(--c-primary);font-weight:600;text-decoration:none}
.giftcard-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--c-section);padding:40px 24px}
.giftcard-card{background:#fff;border-radius:18px;padding:42px;text-align:center;max-width:440px;width:100%;box-shadow:0 22px 60px -30px rgba(15,19,26,.3)}
.giftcard-card .logo-mark{color:var(--c-primary);margin:0 auto 16px}
.giftcard-card h1{font-family:var(--font-heading);font-weight:800;font-size:2rem;margin:8px 0}
.giftcard-sub{color:#5b6170;margin-bottom:18px}
.giftcard-amount{font-family:var(--font-heading);font-weight:800;font-size:2.6rem;color:var(--c-primary);margin:10px 0 20px}
.giftcard-expired{color:#9b1c1c;text-decoration:line-through}
.giftcard-code{background:var(--c-section);border:2px dashed var(--c-primary);border-radius:12px;padding:16px;font-size:1.3rem;font-weight:700;letter-spacing:.08em;margin:18px 0}
.giftcard-note{color:#9b1c1c;font-size:.9rem;margin-bottom:18px}
.giftcard-print{margin-top:18px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media(max-width:760px){.account-grid{grid-template-columns:1fr}}

/* ============================================================
   TERMS ACCEPTANCE MODAL
   ============================================================ */
.terms-modal[hidden]{display:none}
.terms-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px}
.terms-overlay{position:absolute;inset:0;background:rgba(7,7,8,.62);backdrop-filter:blur(2px)}
.terms-dialog{position:relative;background:#fff;border-radius:16px;max-width:460px;width:100%;padding:32px 30px;box-shadow:0 30px 80px -24px rgba(7,7,8,.5);animation:terms-in .18s ease-out}
@keyframes terms-in{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
.terms-dialog h2{font-family:var(--font-heading);font-weight:800;font-size:1.35rem;letter-spacing:-.02em;margin:0 0 12px;color:var(--c-text)}
.terms-body{font-size:.92rem;line-height:1.55;color:#4a505e;margin-bottom:18px}
.terms-body p{margin:0 0 8px}
.terms-check{display:flex;gap:11px;align-items:flex-start;background:var(--c-section);border:1px solid #e6e8ee;border-radius:12px;padding:14px 16px;cursor:pointer;font-size:.9rem;line-height:1.45;color:var(--c-text)}
.terms-check input{margin-top:3px;width:18px;height:18px;flex:0 0 auto;accent-color:var(--c-primary);cursor:pointer}
.terms-check a{color:var(--c-primary);font-weight:600;text-decoration:underline}
.terms-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:22px}
.terms-actions .btn[disabled]{opacity:.45;cursor:not-allowed}
@media(max-width:480px){
  .terms-dialog{padding:26px 22px}
  .terms-actions{flex-direction:column-reverse}
  .terms-actions .btn{width:100%}
}

/* angled showcase vial */
.vial-illustration .vial-angled{display:block;width:100%;height:auto}
.highlight .vial-illustration{width:min(330px,66vw)}

/* COA policy page */
.coa{padding:70px 0}
.coa-head{max-width:760px;margin:0 0 34px}
.coa-eyebrow{display:inline-block;font-family:var(--font-heading);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;color:var(--c-primary);margin-bottom:10px}
.coa-head h2{margin:0 0 .4em}
.coa-intro p{color:#566;font-size:1rem;line-height:1.6;margin:0 0 .6em}
.coa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0 0 40px}
.coa-card{border-radius:16px;padding:26px;position:relative;overflow:hidden;background:linear-gradient(160deg,#23262e,#0d0e12);color:#fff;box-shadow:inset 0 -4px 0 var(--c-primary);display:flex;flex-direction:column;min-height:190px}
.coa-card .ic{width:40px;height:40px;color:#fff;margin-bottom:14px}
.coa-card h3{color:#fff;margin:0 0 8px;font-size:1.05rem}
.coa-card p{font-size:.85rem;color:#c7cad3;margin:0;line-height:1.5}
.coa-request{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;background:var(--c-section);border:1px solid #e3e5ea;border-radius:18px;padding:30px 32px;margin:0 0 40px}
.coa-request-text{flex:1 1 320px}
.coa-request-text h3{margin:0 0 .4em}
.coa-request-text p{margin:0;color:#566;font-size:.95rem;line-height:1.55;max-width:560px}
.coa-request-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;min-width:200px}
.coa-request-actions .btn{align-self:stretch;text-align:center}
.coa-email-hint{font-size:.8rem;color:#788;font-family:var(--font-heading)}
.coa-steps{margin:0 0 36px}
.coa-steps-title{margin:0 0 18px}
.coa-steps-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.coa-steps-list li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #e3e5ea;border-radius:14px;padding:18px 20px}
.coa-step-n{flex:none;width:30px;height:30px;border-radius:50%;background:var(--c-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:.9rem}
.coa-steps-list p{margin:0;font-size:.9rem;color:#445;line-height:1.5}
.coa-disclaimer{border-top:1px solid #e3e5ea;padding-top:20px;color:#8a909b;font-size:.8rem;line-height:1.55}
.coa-disclaimer p{margin:0}
@media(max-width:860px){.coa-grid{grid-template-columns:1fr 1fr}.coa-steps-list{grid-template-columns:1fr}}
.coa-lib{margin:0 0 44px}
.coa-lib-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 20px;margin:0 0 16px}
.coa-lib-head h3{margin:0}
.coa-lib-head p{margin:0;color:#566;font-size:.9rem}
.coa-lib-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.coa-lib-item{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e3e5ea;border-radius:14px;padding:12px 14px;min-width:0}
.coa-lib-thumb{flex:none;width:56px;height:56px;border-radius:10px;background:#f4f6fb;display:flex;align-items:center;justify-content:center;overflow:hidden}
.coa-lib-thumb img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.coa-lib-info{flex:1;min-width:0}
.coa-lib-name{display:block;font-family:var(--font-heading);font-weight:700;font-size:.98rem;color:var(--c-text);line-height:1.25;overflow-wrap:anywhere}
.coa-lib-status{display:block;font-size:.78rem;color:#788;margin-top:3px}
.coa-lib-status.is-on{color:#077f38}
.coa-lib-btn{flex:none;white-space:nowrap;padding:9px 16px;font-size:.82rem}
@media(max-width:860px){.coa-lib-list{grid-template-columns:1fr}}
@media(max-width:600px){.coa{padding:44px 0}.coa-head{margin-bottom:26px}.coa-grid{grid-template-columns:1fr;gap:14px;margin-bottom:30px}.coa-card{min-height:0;padding:22px}.coa-request{padding:22px;gap:18px}.coa-request-text{flex-basis:100%}.coa-request-actions{width:100%;min-width:0}.coa-lib-item{padding:10px 12px;gap:12px}.coa-lib-thumb{width:48px;height:48px}.coa-lib-btn{padding:8px 13px}}

/* ============================================================
   AGE GATE
   ============================================================ */
html.age-gate-lock{overflow:hidden}
.age-gate{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(20,28,60,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.age-gate-card{background:#fff;border-radius:var(--radius);max-width:640px;width:100%;max-height:90vh;overflow-y:auto;padding:48px 40px 40px;text-align:center;color:var(--c-text);box-shadow:0 30px 80px rgba(0,0,0,.35)}
.age-gate-logo{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:24px;color:var(--c-primary)}
.age-gate-logo .logo-word{font-family:var(--font-heading);font-weight:800;font-size:1.6rem;letter-spacing:.18em;color:var(--c-dark)}
.age-gate-heading{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--c-dark);margin:0 0 18px}
.age-gate-subtext{font-size:1rem;line-height:1.6;color:var(--c-text);margin:0 auto 26px;max-width:460px}
.age-gate-actions{display:flex;gap:14px;justify-content:center;margin-bottom:16px}
.age-gate-actions .btn{min-width:140px}
.age-gate-remember{display:inline-flex;align-items:center;gap:8px;font-size:.92rem;color:var(--c-primary);cursor:pointer;margin-bottom:24px}
.age-gate-remember input{accent-color:var(--c-primary);width:16px;height:16px;cursor:pointer}
.age-gate-disclaimer p{font-size:.78rem;line-height:1.7;color:#6b7280;margin:0}
@media (max-width:520px){.age-gate-card{padding:36px 22px 30px}.age-gate-actions{flex-direction:column}.age-gate-actions .btn{width:100%}}

/* ---------- cart drawer ---------- */
.cart-drawer{position:fixed;inset:0;z-index:220}
.cart-drawer[hidden]{display:none}
.drawer-overlay{position:absolute;inset:0;background:rgba(15,18,28,.45);opacity:0;transition:opacity .25s}
.cart-drawer.open .drawer-overlay{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;height:100%;width:min(410px,100vw);background:#fff;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);box-shadow:-14px 0 44px rgba(10,14,30,.16)}
.cart-drawer.open .drawer-panel{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px}
.drawer-head h3{font-family:var(--font-heading);font-size:1.05rem;margin:0}
.drawer-x{background:none;border:0;font-size:1.5rem;line-height:1;color:#3a3f4a;cursor:pointer;padding:2px 6px}
.drawer-items{flex:1;overflow-y:auto;padding:4px 20px}
.drawer-item{position:relative;display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:start;padding:14px 0 14px 14px}
.drawer-item + .drawer-item{border-top:1px solid #f1f3f7}
.drawer-remove{position:absolute;left:-4px;top:12px;width:18px;height:18px;border-radius:50%;border:1px solid #dfe2e8;background:#fff;color:#8a8f99;font-size:.8rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.drawer-remove:hover{color:#d33;border-color:#d33}
.drawer-item-media img{width:56px;height:68px;object-fit:contain;border:1px solid #eef0f4;border-radius:8px;background:#fff}
.drawer-item-title{font-weight:600;font-size:.88rem;color:var(--c-text);display:block;margin-bottom:8px;line-height:1.3}
.drawer-qty{display:inline-flex;align-items:center;border:1px solid #e3e6ec;border-radius:8px;overflow:hidden}
.drawer-qty button{width:26px;height:26px;border:0;background:#fff;color:#3a3f4a;font-size:.95rem;cursor:pointer;padding:0}
.drawer-qty button:hover{background:#f4f6fa}
.drawer-qty span{min-width:28px;text-align:center;font-size:.85rem;font-weight:600}
.drawer-item-price{font-weight:700;font-size:.9rem;color:var(--c-text)}
.drawer-foot{border-top:1px solid #eef0f4;padding:14px 20px 18px}
.drawer-discount-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:none;border:0;padding:6px 0;font-weight:700;font-size:.92rem;color:var(--c-text);cursor:pointer}
.drawer-discount-toggle.collapsed svg{transform:rotate(180deg)}
.drawer-discount-toggle svg{transition:transform .2s}
.drawer-discount-body{padding:6px 0 10px}
.drawer-discount-body.collapsed{display:none}
.drawer-discount-row{display:flex;gap:8px}
.drawer-discount-row input{flex:1;border:1px solid #e3e6ec;border-radius:8px;padding:10px 12px;font-size:.88rem}
.drawer-discount-row input:focus{outline:none;border-color:var(--c-primary)}
.drawer-discount-msg{color:var(--c-save);font-size:.8rem;margin:8px 0 0}
.drawer-subtotal{padding:8px 0 12px;border-top:1px solid #f1f3f7}
.drawer-subtotal-row{display:flex;justify-content:space-between;font-size:.95rem}
.drawer-subtotal-row strong{font-weight:700}
.drawer-discount-line{color:var(--c-save);font-weight:600;margin-top:5px}
.drawer-discount-line strong{color:var(--c-save);font-weight:700}
.drawer-discount-line[hidden]{display:none}
.drawer-subtotal-note{color:#8a8f99;font-size:.78rem;margin:4px 0 0}
.drawer-sp{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;border:1px solid #eef0f4;border-radius:12px;padding:14px;margin-bottom:14px;box-shadow:0 4px 14px rgba(10,14,30,.05)}
.drawer-sp .sp-copy strong{font-size:.85rem;display:block;margin-bottom:3px}
.drawer-sp .sp-copy p{font-size:.72rem;color:#8a8f99;margin:0;line-height:1.45}
.sp-price{font-weight:700;font-size:.85rem}
.sp-switch{position:relative;display:inline-block;width:40px;height:22px;flex:none;margin-top:2px}
.sp-switch input{opacity:0;width:0;height:0}
.sp-slider{position:absolute;inset:0;background:#d9dde5;border-radius:999px;transition:.2s;cursor:pointer}
.sp-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.25)}
.sp-switch input:checked + .sp-slider{background:var(--c-primary)}
.sp-switch input:checked + .sp-slider:before{transform:translateX(18px)}
.drawer-checkout{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--c-primary);color:#fff;border:0;border-radius:10px;padding:14px;font-family:var(--font-heading);font-weight:700;font-size:.95rem;cursor:pointer}
.drawer-checkout:hover{background:var(--c-primary-dark)}
.drawer-checkout svg{width:18px;height:18px}
.drawer-continue{display:block;width:100%;background:none;border:0;color:#5a6070;font-size:.85rem;margin-top:10px;cursor:pointer;text-decoration:none;text-align:center}
.drawer-continue:hover{color:var(--c-primary)}
.drawer-empty{padding:40px 20px;text-align:center}
.drawer-empty p{color:#8a8f99;margin-bottom:14px}

/* ---------- COA / test results modal ---------- */
.btn-coa{display:inline-flex;align-items:center;justify-content:center;background:var(--c-primary);color:#fff;border:0;border-radius:999px;padding:12px 26px;font-family:var(--font-heading);font-weight:700;font-size:.9rem;cursor:pointer;margin:4px 0 14px}
.btn-coa:hover{background:var(--c-primary-dark)}
.coa-modal{position:fixed;inset:0;z-index:240}
.coa-modal[hidden]{display:none}
.coa-overlay{position:absolute;inset:0;background:rgba(15,18,28,.55)}
.coa-dialog{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(880px,94vw);height:min(84vh,900px);background:#fff;border-radius:14px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 70px rgba(10,14,30,.35)}
.coa-dialog .coa-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid #eef0f4}
.coa-dialog .coa-head h3{font-family:var(--font-heading);font-size:1rem;margin:0}
.coa-actions{display:flex;align-items:center;gap:10px}
.coa-download{display:inline-flex;align-items:center;gap:7px}
.coa-x{background:none;border:0;font-size:1.6rem;line-height:1;color:#3a3f4a;cursor:pointer;padding:2px 6px}
.coa-body{flex:1;background:#525659}
.coa-body iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:640px){.coa-dialog{width:100vw;height:100vh;border-radius:0}}
.coa-body{overflow:auto;-webkit-overflow-scrolling:touch}
.coa-body img{display:block;max-width:100%;margin:18px auto;background:#fff;border-radius:6px;box-shadow:0 6px 24px rgba(0,0,0,.3)}
.coa-body iframe[hidden],.coa-body img[hidden]{display:none}

/* COA page heading: always a normal stacked block (was picking up the pop-up header styles) */
.coa .coa-head{display:block;padding:0;border:0;max-width:760px;margin:0 0 34px}
@media(max-width:600px){.coa .coa-head{margin-bottom:26px}}
.coa-head-btn{margin-top:18px}
@media(max-width:600px){.coa-head-btn{display:flex;width:100%;justify-content:center}}

/* ============================================================
   Mobile fit (all phones, 320–430px): keep the header inside the
   screen and stop any sideways scroll on iPhone, Android and Samsung.
   ============================================================ */
html,body{max-width:100%;overflow-x:clip}
@media(max-width:560px){
  .site-header{padding:0 10px}
  .header-inner{gap:8px;padding:8px 10px 8px 14px;min-width:0}
  .header-logo{min-width:0;flex:0 1 auto;gap:7px}
  .header-logo .logo-word{font-size:1rem;letter-spacing:.14em}
  .header-actions{gap:2px;min-width:0;flex:none}
  .header-actions .icon-btn{padding:7px}
  .cart-link{padding:7px;gap:0}
  .cart-total{display:none}
  .cart-count{margin-left:-8px}
}
@media(max-width:400px){
  .lang-pill{display:none}
  .header-logo .logo-word{letter-spacing:.1em}
}
/* Phone-width windows: no reserved scrollbar strip (phones overlay theirs), so desktop previews look centred like a real phone */
@media(max-width:600px){html{scrollbar-width:none}html::-webkit-scrollbar{display:none}}
