/* Moonlity · Bioxcin shampoo — "hair-care lab": forest-green lab, cream paper, specimen cards; the page takes the colour of the chosen formula */
@font-face{font-family:Vazirmatn;src:url('assets/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}
@property --a{syntax:'<color>';inherits:true;initial-value:#3a49b8}
:root{
  --bg:#f5f2ea;--paper:#fffdf8;--ink:#10241b;--ink2:#3f5249;--muted:#77847d;--line:#e2ddcf;
  --forest:#0f2a20;--forest2:#163a2c;--cream:#efe9da;
  --r:20px;--ease:cubic-bezier(.2,.7,.2,1);--p:0;--mono:ui-monospace,'SFMono-Regular',Menlo,Consolas,monospace;
  --ml-accent:#2e7d4a;--ml-ink:#10241b;--ml-muted:#5d6b64;--ml-card:#fffdf8;--ml-line:#e2ddcf;--ml-radius:20px;--ml-section-bg:#ece7da;
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.95 Vazirmatn,Tahoma,sans-serif;overflow-x:clip;-webkit-font-smoothing:antialiased}
main{transition:--a .7s var(--ease)}
h1,h2,h3,p,ol,ul,dl,dd,fieldset,legend{margin:0;padding:0}ul,ol{list-style:none}fieldset{border:0;min-width:0}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button:disabled{opacity:.35;cursor:not-allowed}
img{max-width:100%;display:block}[hidden]{display:none!important}
em{font-style:normal;color:var(--a);transition:color .7s}
.nb{white-space:nowrap;unicode-bidi:isolate;direction:ltr;display:inline-block}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2.5px solid var(--a);outline-offset:3px;border-radius:8px}
.wrap{width:min(1180px,100% - 48px);margin-inline:auto}
.skip{position:fixed;top:-60px;right:16px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px}.skip:focus{top:12px}
.progress{position:fixed;top:0;right:0;height:3px;width:calc(var(--p)*100%);background:var(--a);z-index:60;transition:background .7s}
.fine{font-size:13px;color:var(--muted);line-height:2;margin-top:22px}.center{text-align:center}
.eyebrow{font:600 11px/1.6 var(--mono);letter-spacing:.22em;color:#9fb5a9}
.tag{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:800;color:var(--a);border:1px dashed color-mix(in srgb,var(--a) 55%,transparent);border-radius:6px;padding:3px 12px;margin-bottom:16px;transition:color .7s,border-color .7s}
.tag:before{content:'';width:7px;height:7px;border-radius:50%;background:currentColor}
.tag-l{color:#cfe3d6;border-color:#ffffff40}
h2{font-size:clamp(28px,4vw,46px);line-height:1.45;font-weight:900;letter-spacing:-.02em}
.sub{color:var(--ink2);font-size:17px;margin-top:10px;max-width:640px}.sub.l{color:#bcd0c4}
.section{padding:clamp(64px,8.5vw,110px) 0}
.head{max-width:780px;margin-bottom:clamp(26px,4vw,44px)}
.cite{font-size:.78em;font-weight:800;color:var(--a);vertical-align:super;margin-inline-start:2px;transition:color .7s}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:54px;padding:0 28px;border-radius:12px;font-weight:800;font-size:16px;white-space:nowrap;transition:transform .25s var(--ease),box-shadow .25s,background .7s}
.btn .arr{display:inline-block;transition:transform .25s var(--ease)}.btn:hover .arr{transform:translateX(-4px)}
.btn-a{background:var(--a);color:#fff;box-shadow:0 14px 30px -14px color-mix(in srgb,var(--a) 85%,transparent)}
.btn-a:hover{transform:translateY(-2px)}
.btn-light{background:var(--cream);color:var(--forest)}.btn-block{width:100%}
.ml-loading{opacity:.75;pointer-events:none}.ml-loading .arr{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.is-off{opacity:.5;pointer-events:none}

/* bar */
.bar{position:sticky;top:0;z-index:50;background:#0f2a20e6;color:var(--cream);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid #ffffff14}
.bar-in{display:flex;align-items:center;gap:24px;min-height:64px}
.logo{font-weight:900;font-size:20px;letter-spacing:-.02em;display:inline-flex;align-items:center;gap:8px}
.logo-dot{width:12px;height:12px;border-radius:50%;background:var(--a);box-shadow:0 0 0 4px color-mix(in srgb,var(--a) 30%,transparent);transition:background .7s,box-shadow .7s}
.nav{display:flex;gap:4px;margin-inline-start:auto}
.nav a{padding:6px 12px;border-radius:8px;font-size:14px;color:#c4d4ca;transition:background .2s,color .2s}
.nav a:hover,.nav a.on{background:#ffffff14;color:#fff}
.bar-cta{background:var(--a);color:#fff;font-weight:800;font-size:14px;padding:9px 16px;border-radius:10px;white-space:nowrap;transition:background .7s}
.bar-price{opacity:.85;font-weight:600}

/* hero */
.hero{position:relative;background:radial-gradient(1000px 520px at 15% 30%,color-mix(in srgb,var(--a) 28%,transparent),transparent 70%),linear-gradient(180deg,var(--forest),var(--forest2));color:var(--cream);overflow:hidden;padding:clamp(28px,4vw,44px) 0 0}
.strands{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:color-mix(in srgb,var(--a) 50%,#cfe3d6);stroke-width:1.2;opacity:.28;pointer-events:none}
.strands path{stroke-dasharray:1800;stroke-dashoffset:1800;animation:draw 3.2s var(--ease) forwards}
.strands path:nth-child(2){animation-delay:.25s}.strands path:nth-child(3){animation-delay:.5s}.strands path:nth-child(4){animation-delay:.75s;opacity:.6}
@keyframes draw{to{stroke-dashoffset:0}}
.hero-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.hero-grid>*,.quick-grid>*,.finder-grid>*,.buy-grid>*,.faq-grid>*,.article-grid>*{min-width:0}
.crumbs{font-size:13px;color:#9fb5a9;display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.crumbs a:hover{color:#fff}
h1{font-size:clamp(30px,4.4vw,52px);line-height:1.35;font-weight:900;letter-spacing:-.025em;margin-top:12px}
.h1-sub{display:block;font-size:.6em;font-weight:700;color:#d9e6dd;margin-top:6px}
.h1-sub em{color:color-mix(in srgb,var(--a) 55%,#fff)}
.lead{font-size:17.5px;color:#c7d6cd;margin-top:16px;max-width:560px}.lead strong{color:#fff}
.picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:26px}
.picker button{display:flex;align-items:center;gap:10px;text-align:start;padding:12px;border-radius:14px;border:1px solid #ffffff22;background:#ffffff0a;transition:background .25s,border-color .25s,transform .25s var(--ease)}
.picker button:hover{background:#ffffff14}
.picker button[aria-checked=true]{background:color-mix(in srgb,var(--c) 30%,#0f2a20);border-color:var(--c);transform:translateY(-2px)}
.pk-n{font:700 12px var(--mono);color:var(--c);background:#fff;border-radius:7px;padding:3px 6px;flex:none}
.pk-t{font-weight:800;font-size:15px;line-height:1.4;min-width:0}.pk-t small{display:block;font-weight:500;font-size:12px;color:#aac0b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hero-buy{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:24px}
.hp{display:grid;line-height:1.5}
.hp span{font-size:13px;color:#9fb5a9}.hp strong{font-size:28px;font-weight:900;color:#fff}.hp strong small{font-size:14px;font-weight:600}
.hero-visual{position:relative;display:grid;place-items:center;min-height:420px}
.dish{position:relative;width:min(420px,100%);aspect-ratio:1;display:grid;place-items:center;transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .4s var(--ease)}
.dish:before{content:'';position:absolute;inset:6%;border-radius:50%;background:radial-gradient(circle at 50% 40%,#fffdf8,#e9e2cf 70%);box-shadow:0 40px 80px -30px #000a,inset 0 0 0 10px #ffffff70}
.dish-ring{position:absolute;inset:0;border-radius:50%;border:1px dashed color-mix(in srgb,var(--a) 60%,#cfe3d6);opacity:.55;animation:rot 40s linear infinite}
.dish-ring.r2{inset:-7%;opacity:.25;animation-duration:70s;animation-direction:reverse}
@keyframes rot{to{transform:rotate(360deg)}}
.hero-img{position:relative;width:64%;height:auto;aspect-ratio:1;object-fit:contain;filter:drop-shadow(0 26px 30px #0004);-webkit-mask-image:radial-gradient(circle,#000 62%,transparent 71%);mask-image:radial-gradient(circle,#000 62%,transparent 71%);transition:opacity .22s,transform .22s}
.hero-img.swap{opacity:0;transform:scale(.94) translateY(8px)}
.hero-img.is-can,.spec img.is-can{-webkit-mask-image:none;mask-image:none}
.lab{position:absolute;display:grid;background:var(--paper);color:var(--ink);font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:10px;box-shadow:0 14px 30px -14px #0008;line-height:1.5;border-inline-start:4px solid var(--a);transition:border-color .7s}
.lab b{font:800 13px var(--mono);color:var(--a);transition:color .7s}
.l1{top:12%;inset-inline-start:-2%}.l2{bottom:14%;inset-inline-end:-2%}
.facts{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin-top:clamp(28px,4vw,44px);border-top:1px solid #ffffff1c}
.facts li{padding:18px 12px;font-size:13.5px;color:#b5c7bc;display:grid;line-height:1.6;border-inline-start:1px solid #ffffff1c}
.facts li:first-child{border-inline-start:0;padding-inline-start:0}
.facts b{font-size:24px;font-weight:900;color:#fff}

/* quick */
.quick-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.answer{font-size:18px;line-height:2.1;margin-top:18px;color:var(--ink2)}.answer b{color:var(--ink)}
.meta{font-size:13px;color:var(--muted);margin-top:16px}.meta a{color:var(--a);font-weight:700}
.kf{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:8px 22px;box-shadow:0 20px 40px -32px #10241b55}
.kf div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed var(--line);font-size:14.5px}
.kf div:last-child{border:0}.kf dt{color:var(--muted)}.kf dd{font-weight:700;text-align:end}

/* models (specimen cards) */
.models{background:var(--paper);border-block:1px solid var(--line)}
.models .grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.spec{position:relative;background:var(--bg);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.spec:hover{transform:translateY(-4px);box-shadow:0 30px 50px -36px #10241b88}
.spec.on{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 22%,transparent),0 30px 50px -36px #10241b88}
.sp-h{display:flex;justify-content:space-between;gap:10px;padding:12px 18px;background:var(--c);color:#fff;font:700 11.5px/1.5 var(--mono);letter-spacing:.06em}
.sp-code{opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-media{height:250px;display:grid;place-items:center;background:radial-gradient(circle at 50% 55%,color-mix(in srgb,var(--c) 16%,#fff),transparent 70%);border-bottom:1px dashed var(--line)}
.sp-media img{height:220px;max-height:88%;width:auto;max-width:90%;object-fit:contain;-webkit-mask-image:radial-gradient(circle,#000 60%,transparent 72%);mask-image:radial-gradient(circle,#000 60%,transparent 72%)}
.sp-body{padding:20px 20px 18px;display:flex;flex-direction:column;gap:10px;flex:1}
.sp-body h3{font-size:22px;font-weight:900}
.sp-for{font-size:14.5px;color:var(--c);font-weight:600}.sp-for b{font-weight:800}
.sp-body>p:not(.sp-for){font-size:15px;color:var(--ink2);line-height:1.95}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips li{font-size:12.5px;font-weight:700;padding:3px 10px;border-radius:6px;background:color-mix(in srgb,var(--c) 10%,#fff);color:color-mix(in srgb,var(--c) 80%,#000)}
.sp-foot{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
.sp-price{font-size:13px;color:var(--muted)}.sp-price b{font-size:19px;color:var(--ink);font-weight:900}.sp-price small{display:block;font-size:12px}
.sp-add{background:var(--c);color:#fff;font-weight:800;font-size:14px;padding:9px 16px;border-radius:10px;white-space:nowrap;transition:transform .2s}
.sp-add:hover{transform:translateY(-2px)}

/* finder */
.finder{background:linear-gradient(180deg,var(--forest),var(--forest2));color:var(--cream)}
.finder-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.finder h2 em{color:color-mix(in srgb,var(--a) 55%,#fff)}
.quiz{background:#ffffff0a;border:1px solid #ffffff1c;border-radius:var(--r);padding:clamp(18px,3vw,30px);display:grid;gap:22px}
legend{font-weight:800;font-size:16px;margin-bottom:12px;color:#fff}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.opts button{padding:9px 16px;border-radius:10px;border:1px solid #ffffff2a;font-size:14.5px;color:#d3e0d8;transition:background .2s,border-color .2s,color .2s}
.opts button:hover{background:#ffffff12}
.opts button[aria-pressed=true]{background:var(--cream);color:var(--forest);border-color:var(--cream);font-weight:800}
.result{display:flex;gap:14px;align-items:flex-start;background:var(--paper);color:var(--ink);border-radius:14px;padding:18px 20px}
.r-dot{flex:none;width:14px;height:14px;border-radius:50%;margin-top:8px;background:var(--rc,#c9c3b2);box-shadow:0 0 0 5px color-mix(in srgb,var(--rc,#c9c3b2) 22%,transparent)}
.result strong{font-size:17px;font-weight:900}.result p{font-size:14.5px;color:var(--ink2);margin-top:4px}
.r-warn{background:#fff3e0;color:#7a4100!important;border-radius:10px;padding:10px 12px;margin-top:10px!important}
.r-go{margin-top:12px;background:var(--rc,var(--a));color:#fff;font-weight:800;font-size:14px;padding:9px 16px;border-radius:10px}

/* cycle */
.ratio{display:flex;gap:4px;height:38px;margin-bottom:12px}
.ratio i{display:flex;align-items:center;padding-inline:14px;border-radius:10px;background:var(--a);color:#fff;font-style:normal;font-size:13.5px;min-width:10px;transition:background .7s}
.ratio i:nth-child(2){opacity:.55}.ratio i:nth-child(3){opacity:.3}
.ratio b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.phases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.phases li{min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;position:relative;overflow:hidden}
.phases li:before{content:'';position:absolute;inset-inline:0;top:0;height:5px;background:var(--a);opacity:1;transition:background .7s}
.phases li:nth-child(2):before{opacity:.55}.phases li:nth-child(3):before{opacity:.3}
.ph-k{font:700 11px var(--mono);letter-spacing:.14em;color:var(--muted);display:block}
.phases b{font-size:18px;font-weight:900;display:block;margin-top:4px}
.phases p{font-size:13.5px;color:var(--ink2);line-height:1.85;margin-top:6px}

/* compare */
.compare{background:var(--paper);border-block:1px solid var(--line)}
.tbl{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:680px;font-size:14.5px}
th,td{padding:14px 16px;text-align:start;border-bottom:1px dashed var(--line);vertical-align:top}
thead th{background:var(--forest);color:var(--cream);font-weight:800;font-size:15px;border:0}
thead th a{display:inline-flex;align-items:center;gap:8px}
thead th i{width:11px;height:11px;border-radius:50%;background:var(--c)}
tbody th{font-weight:800;color:var(--ink);white-space:nowrap;background:var(--paper)}
td{color:var(--ink2)}
tfoot td{font-size:13px;color:var(--muted);border:0}

/* buy */
.buy{background:linear-gradient(160deg,var(--forest),color-mix(in srgb,var(--a) 35%,var(--forest)));color:var(--cream);transition:background .7s}
.buy-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.buy h2 em{color:color-mix(in srgb,var(--a) 45%,#fff)}
.ticks{display:grid;gap:8px;margin-top:22px}
.ticks li{display:flex;gap:10px;align-items:center;color:#d3e0d8}.ticks li:before{content:'✓';font-weight:900;color:#9fe0b4}
.mix{background:var(--paper);color:var(--ink);border-radius:var(--r);padding:clamp(18px,3vw,28px);box-shadow:0 40px 70px -40px #000a}
.mix-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;border-bottom:1px dashed var(--line)}
.mix-list li.has .mx-n{color:var(--c)}
.mx-n{display:flex;align-items:center;gap:10px;font-weight:800;min-width:0;transition:color .2s}
.mx-n i{flex:none;width:12px;height:12px;border-radius:50%;background:var(--c)}
.mx-n small{display:block;font-weight:500;font-size:12.5px;color:var(--muted)}
.mx-q{display:flex;align-items:center;gap:6px;flex:none}
.mx-q button{width:36px;height:36px;border-radius:10px;background:var(--bg);border:1px solid var(--line);font-size:18px;font-weight:800}
.mx-q output{min-width:24px;text-align:center;font-weight:900}
.mix-sum{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;padding:16px 0}
.mix-sum strong{font-size:24px;font-weight:900}.mx-inst{width:100%;font-size:13px;color:var(--muted)}

/* guide */
.article-grid{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:start}
.toc{position:sticky;top:90px;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.toc p{font-weight:900;margin-bottom:8px}
.toc ol{counter-reset:t;display:grid;gap:2px}
.toc a{display:flex;gap:8px;font-size:14px;padding:6px 8px;border-radius:8px;color:var(--ink2);counter-increment:t;line-height:1.7}
.toc a:before{content:counter(t,persian);font-weight:800;color:var(--muted)}
.toc a:hover,.toc a.on{background:color-mix(in srgb,var(--a) 10%,#fff);color:var(--ink)}
.article{max-width:760px}
.article h2{font-size:clamp(26px,3.4vw,38px)}
.article h3{font-size:22px;font-weight:900;margin:40px 0 12px;line-height:1.6}
.article p{font-size:17px;color:var(--ink2);line-height:2.15;margin-top:12px}.article p b{color:var(--ink)}
.callout{margin-top:18px;padding:16px 20px;border-radius:14px;background:color-mix(in srgb,var(--a) 8%,var(--paper));border-inline-start:4px solid var(--a);font-size:16px;line-height:2;transition:background .7s,border-color .7s}
.gloss{display:grid;gap:10px;margin-top:14px}
.gloss div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 18px}
.gloss dt{font-weight:900;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.gloss dt small{font-size:12px;font-weight:700;color:var(--a);transition:color .7s}
.gloss dd{font-size:15.5px;color:var(--ink2);margin-top:4px;line-height:2}
.steps{counter-reset:s;display:grid;gap:12px;margin-top:14px}
.steps li{counter-increment:s;display:flex;gap:14px;font-size:16.5px;color:var(--ink2);line-height:2}
.steps li:before{content:counter(s,persian);flex:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--a);color:#fff;font-weight:900;margin-top:4px;transition:background .7s}
.dots{display:grid;gap:8px;margin-top:12px}
.dots li{position:relative;padding-inline-start:22px;font-size:16.5px;color:var(--ink2);line-height:2}
.dots li:before{content:'';position:absolute;inset-inline-start:2px;top:.85em;width:8px;height:8px;border-radius:2px;background:var(--a)}
.sources{margin-top:48px;padding-top:24px;border-top:2px solid var(--ink)}
.sources h3{margin-top:0}
.sources ol{counter-reset:r;display:grid;gap:8px}
.sources li{counter-increment:r;display:flex;gap:10px;font-size:14px;line-height:1.8;direction:rtl}
.sources li:before{content:'[' counter(r,persian) ']';font-weight:800;color:var(--a);flex:none}
.sources a{direction:ltr;unicode-bidi:isolate;color:var(--ink2);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;overflow-wrap:anywhere}
.sources li:target{background:color-mix(in srgb,var(--a) 10%,transparent);border-radius:8px}

/* faq */
.faq{background:var(--paper);border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.faq-list{display:grid;gap:10px}
details{background:var(--bg);border:1px solid var(--line);border-radius:14px;transition:border-color .2s}
details[open]{border-color:color-mix(in srgb,var(--a) 50%,var(--line))}
summary{list-style:none;cursor:pointer;padding:16px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center}
summary::-webkit-details-marker{display:none}
summary h3{font-size:16.5px;font-weight:800;line-height:1.7}
summary:after{content:'+';flex:none;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--line);font-weight:900;transition:transform .25s}
details[open] summary:after{transform:rotate(45deg)}
details p{padding:0 20px 18px;color:var(--ink2);font-size:15.5px;line-height:2.05}

/* finale + foot */
.finale{background:var(--forest);color:var(--cream);text-align:center;padding:clamp(70px,9vw,120px) 0}
.finale h2{font-size:clamp(30px,4.6vw,56px);margin-bottom:28px}
.finale h2 em{color:color-mix(in srgb,var(--a) 50%,#fff)}
.foot{background:#0b1f17;color:#9fb5a9;font-size:14px;padding:26px 0 calc(26px + env(safe-area-inset-bottom))}
.foot-in{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;justify-content:space-between}
.foot .logo{color:var(--cream)}

/* buy bar */
.buybar{position:fixed;inset-inline:12px;bottom:12px;z-index:55;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#0f2a20f2;color:var(--cream);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 10px 10px 10px;padding-inline-start:18px;border-radius:16px;box-shadow:0 20px 40px -16px #000a;transform:translateY(140%);transition:transform .4s var(--ease);margin-bottom:env(safe-area-inset-bottom);max-width:560px;margin-inline:auto}
.buybar.show{transform:none}
.bb-p{display:grid;line-height:1.4;min-width:0}.bb-p small{font-size:12px;color:#9fb5a9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bb-p b{font-size:18px;font-weight:900}
.buybar .btn{min-height:46px;padding:0 20px}

/* reveal */
.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js .reveal.vis{opacity:1;transform:none}

/* responsive */
@media (max-width:1000px){
  .nav{display:none}.bar-cta{margin-inline-start:auto}
  .hero-grid,.quick-grid,.finder-grid,.buy-grid,.faq-grid{grid-template-columns:1fr;gap:32px}
  .hero-visual{min-height:0;order:-1}.dish{width:min(320px,80%)}
  .models .grid{grid-template-columns:1fr;max-width:560px;margin-inline:auto}
  .article-grid{grid-template-columns:1fr;gap:28px}.toc{position:static}
}
@media (max-width:640px){
  .wrap{width:calc(100% - 32px)}
  .picker{grid-template-columns:1fr}
  .picker button{padding:10px 12px}
  .facts{grid-template-columns:repeat(2,1fr)}
  .facts li:nth-child(3){border-inline-start:0;padding-inline-start:0}
  .facts li:nth-child(n+3){border-top:1px solid #ffffff1c}
  .hero-buy .btn{width:100%}
  .lab{font-size:11.5px;padding:6px 10px}.l1{inset-inline-start:0}.l2{inset-inline-end:0}
  .dish{width:min(250px,66%)}.hero-visual{margin-top:4px}
  .phases{grid-template-columns:1fr}.sp-media{height:220px}.sp-media img{height:190px}
  .answer{font-size:16.5px}.article p{font-size:16px}
  .bar-price{display:none}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.strands path{stroke-dashoffset:0}}

/* product-page links on cards */
a.sp-media{color:inherit}
.spec h3 a{background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s var(--ease)}
.spec h3 a:hover{background-size:100% 2px}
.pd-more{align-self:flex-start;display:inline-flex;gap:6px;font-size:13.5px;font-weight:800;color:var(--c);border-bottom:1px dashed currentColor;line-height:1.8}
.pd-more:hover{border-bottom-style:solid}

/* plugin 1.4: real sale countdown + notify buttons */
.sale-ends{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:700;color:#e8590c}.sale-ends b{font-weight:900}
.ml-notify-btn{opacity:1!important;pointer-events:auto!important}
