/* =========================================================================
   ump.css — Импульс, оптовые поставки замороженных продуктов
   Один файл вместо layout.css + style.css. Старые файлы не подключаются.
   ========================================================================= */
:root{color-scheme:light dark}
[hidden]{display:none !important}

/* ============ TOKENS ============ */
:root{
  --bg:#F0F5F4;
  --surface:#FFFFFF;
  --surface-2:#E7EFEE;
  --surface-3:#DCE8E7;
  --border:#D4E1E0;
  --border-2:#BDD0CF;
  --text:#0C1D22;
  --muted:#4E6C71;
  --muted-2:#71898D;
  --invert-bg:#0C1D22;
  --invert-bg-2:#16323A;
  --invert-text:#E8F2F1;
  --invert-muted:#9AB6B8;
  --invert-border:#24454D;
  --accent:#A81238;
  --accent-hover:#8B0E2E;
  --accent-soft:#FAEAEE;
  --accent-text:#FFFFFF;
  --moss:#3E6B48;
  --moss-soft:#E8F1E9;
  --ice:#2E7C8C;
  --ice-soft:#E1EFF1;
  --amber:#96650C;
  --amber-soft:#FAF1DF;
  --shadow-1:0 1px 2px rgba(12,29,34,.06);
  --shadow-2:0 2px 4px rgba(12,29,34,.05), 0 12px 28px -16px rgba(12,29,34,.28);
  --shadow-3:0 8px 16px -6px rgba(12,29,34,.12), 0 32px 64px -32px rgba(12,29,34,.34);
  --r-s:4px; --r-m:8px; --r-l:14px;
  --wrap:1400px;
  --display:"Unbounded","Golos Text",system-ui,sans-serif;
  --sans:"Golos Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#081418;
    --surface:#0F2329;
    --surface-2:#143037;
    --surface-3:#1A3C44;
    --border:#22434B;
    --border-2:#2E535C;
    --text:#E6F0EF;
    --muted:#9BB5B7;
    --muted-2:#7F9B9E;
    --invert-bg:#0F2329;
    --invert-bg-2:#173A43;
    --invert-text:#E6F0EF;
    --invert-muted:#9BB5B7;
    --invert-border:#2A4F58;
    --accent:#E8577B;
    --accent-hover:#F2708F;
    --accent-soft:#2A1620;
    --accent-text:#1A0910;
    --moss:#7FB98C;
    --moss-soft:#14261A;
    --ice:#6FC2D3;
    --ice-soft:#0F2A30;
    --amber:#DCA94B;
    --amber-soft:#2A2113;
    --shadow-1:0 1px 2px rgba(0,0,0,.4);
    --shadow-2:0 2px 4px rgba(0,0,0,.3), 0 12px 28px -16px rgba(0,0,0,.7);
    --shadow-3:0 8px 16px -6px rgba(0,0,0,.5), 0 32px 64px -32px rgba(0,0,0,.9);
  }
}
:root[data-theme="dark"]{
  --bg:#081418; --surface:#0F2329; --surface-2:#143037; --surface-3:#1A3C44;
  --border:#22434B; --border-2:#2E535C; --text:#E6F0EF; --muted:#9BB5B7; --muted-2:#7F9B9E;
  --invert-bg:#0F2329; --invert-bg-2:#173A43; --invert-text:#E6F0EF; --invert-muted:#9BB5B7; --invert-border:#2A4F58;
  --accent:#E8577B; --accent-hover:#F2708F; --accent-soft:#2A1620; --accent-text:#1A0910;
  --moss:#7FB98C; --moss-soft:#14261A; --ice:#6FC2D3; --ice-soft:#0F2A30; --amber:#DCA94B; --amber-soft:#2A2113;
  --shadow-1:0 1px 2px rgba(0,0,0,.4);
  --shadow-2:0 2px 4px rgba(0,0,0,.3), 0 12px 28px -16px rgba(0,0,0,.7);
  --shadow-3:0 8px 16px -6px rgba(0,0,0,.5), 0 32px 64px -32px rgba(0,0,0,.9);
}

/* ============ BASE ============ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--bg); color:var(--text);
  font-family:var(--sans); font-size:16px; line-height:1.55;
  font-weight:400; -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block}
a{color:inherit; text-decoration:none}
button,input,select,textarea{font:inherit; color:inherit}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:2px}
h1,h2,h3,h4{margin:0; text-wrap:balance; line-height:1.12; letter-spacing:-.015em}
p{margin:0}
ul{margin:0; padding:0; list-style:none}
table{border-collapse:collapse; width:100%}

.wrap{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px}
.h1{font-family:var(--display); font-weight:700; font-size:clamp(30px,4.4vw,58px); line-height:1.04; letter-spacing:-.03em}
.h2{font-family:var(--display); font-weight:600; font-size:clamp(24px,3vw,38px); line-height:1.08; letter-spacing:-.025em}
.h3{font-size:clamp(19px,1.6vw,24px); font-weight:700; letter-spacing:-.015em}
.h4{font-size:17px; font-weight:700; letter-spacing:-.01em}
.lead{font-size:clamp(16px,1.35vw,19px); line-height:1.55; color:var(--muted); max-width:62ch}
.mono{font-family:var(--mono); font-variant-numeric:tabular-nums}
.eyebrow{font-family:var(--mono); font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--muted-2)}
.sec{padding-block:clamp(40px,5vw,76px)}
.sec--tight{padding-block:clamp(28px,3.4vw,48px)}
.rule{border:0; border-top:1px solid var(--border); margin:0}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; gap:24px; flex-wrap:wrap; margin-bottom:clamp(20px,2.6vw,34px)}
.sec-head p{color:var(--muted); max-width:56ch; margin-top:10px}
.arrowlink{display:inline-flex; align-items:center; gap:8px; font-weight:600; color:var(--accent); border-bottom:1px solid transparent; padding-bottom:2px}
.arrowlink:hover{border-bottom-color:var(--accent)}
.arrowlink svg{transition:transform .18s}
.arrowlink:hover svg{transform:translateX(3px)}

/* ============ BUTTONS / CHIPS ============ */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:12px 20px;
  border-radius:var(--r-m); border:1px solid transparent; font-weight:600; font-size:15px;
  cursor:pointer; transition:background .16s,color .16s,border-color .16s,transform .06s; white-space:nowrap; text-align:center}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--accent); color:var(--accent-text)}
.btn--primary:hover{background:var(--accent-hover)}
.btn--ghost{background:transparent; color:var(--text); border-color:var(--border-2)}
.btn--ghost:hover{background:var(--surface-2); border-color:var(--text)}
.btn--solid{background:var(--text); color:var(--bg)}
.btn--solid:hover{opacity:.87}
.btn--onink{background:transparent; color:var(--invert-text); border-color:var(--invert-border)}
.btn--onink:hover{background:var(--invert-bg-2); border-color:var(--invert-muted)}
.btn--sm{padding:8px 14px; font-size:13.5px; border-radius:var(--r-s)}
.btn--wide{width:100%}
.btn[disabled]{opacity:.45; cursor:not-allowed}

.badge{display:inline-flex; align-items:center; gap:5px; padding:3px 8px; border-radius:var(--r-s);
  font-family:var(--mono); font-size:11px; font-weight:500; letter-spacing:.03em; white-space:nowrap}
.badge--stock{background:var(--moss-soft); color:var(--moss)}
.badge--order{background:var(--amber-soft); color:var(--amber)}
.badge--geo{background:var(--surface-2); color:var(--muted)}
.badge--hit{background:var(--accent-soft); color:var(--accent)}
.badge--iqf{background:var(--ice-soft); color:var(--ice)}
.dot{width:6px; height:6px; border-radius:50%; background:currentColor; flex:none}

/* ============ HEADER ============ */
.topbar{background:var(--invert-bg); color:var(--invert-muted); font-size:13px; border-bottom:1px solid var(--invert-border)}
.topbar__in{display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:8px; flex-wrap:wrap}
.topbar__facts{display:flex; gap:18px; flex-wrap:wrap; align-items:center}
.topbar__facts span{display:inline-flex; align-items:center; gap:7px}
.topbar__links{display:flex; gap:14px; align-items:center}
.topbar a:hover{color:var(--invert-text)}

.hdr{position:sticky; top:0; z-index:60; background:var(--surface); border-bottom:1px solid var(--border)}
.hdr__in{display:grid; grid-template-columns:max-content 1fr auto; align-items:center; gap:clamp(14px,2vw,32px); padding-block:14px}
.brand{display:flex; align-items:center; gap:12px}
.brand__mark{width:40px; height:40px; flex:none}
.brand__mark img{width:100%; height:100%; object-fit:contain}
:root[data-theme="dark"] .brand__mark img{filter:invert(1)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .brand__mark img{filter:invert(1)}}
.brand__name{font-family:var(--display); font-weight:700; font-size:17px; letter-spacing:-.02em; line-height:1; white-space:nowrap}
.brand__sub{font-size:11.5px; color:var(--muted-2); line-height:1.25; margin-top:4px; max-width:230px; display:block}
.nav{display:flex; align-items:center; justify-content:flex-end; gap:clamp(4px,0.8vw,14px)}
.nav__item{position:relative}
.nav__link{display:inline-flex; align-items:center; gap:6px; padding:9px 10px; border-radius:var(--r-s);
  font-weight:500; font-size:15px; line-height:1.15; cursor:pointer; background:none; border:0}
.nav__link:hover{background:var(--surface-2)}
.nav__link[aria-expanded="true"]{background:var(--surface-2)}
.nav__link svg{transition:transform .18s}
.nav__link[aria-expanded="true"] svg{transform:rotate(180deg)}
.hdr__actions{display:flex; align-items:center; gap:10px}
.iconbtn{width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--border); background:var(--surface); border-radius:var(--r-m); cursor:pointer; position:relative}
.iconbtn:hover{border-color:var(--text)}
.iconbtn__count{position:absolute; top:-6px; right:-6px; min-width:19px; height:19px; padding:0 5px; border-radius:999px;
  background:var(--accent); color:var(--accent-text); font-family:var(--mono); font-size:11px; font-weight:700;
  display:flex; align-items:center; justify-content:center}
.burger{display:none}

/* mega menu */
.mega{position:absolute; top:calc(100% + 13px); left:50%; transform:translateX(-50%); width:min(1000px,92vw);
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-l); box-shadow:var(--shadow-3);
  padding:22px; display:grid; grid-template-columns:repeat(3,1fr); gap:6px 26px; z-index:70}
.mega[hidden]{display:none}
.mega__col h5{margin:0 0 10px; font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted-2); font-weight:500}
.mega__link{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 9px; border-radius:var(--r-s); font-size:14.5px}
.mega__link:hover{background:var(--surface-2)}
.mega__link .mono{font-size:11.5px; color:var(--muted-2)}
.mega__promo{grid-column:1/-1; margin-top:10px; border-top:1px solid var(--border); padding-top:14px;
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:14px; color:var(--muted)}

/* ============ HERO ============ */
.hero{background:var(--surface); border-bottom:1px solid var(--border)}
.hero__in{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(28px,4vw,64px);
  align-items:center; padding-block:clamp(36px,5vw,72px)}
.hero h1{margin:14px 0 0}
.hero h1 em{font-style:normal; color:var(--accent)}
.hero__lead{margin-top:20px}
.hero__cta{display:flex; gap:12px; margin-top:28px; flex-wrap:wrap}
.hero__facts{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:36px;
  background:var(--border); border:1px solid var(--border); border-radius:var(--r-m); overflow:hidden}
.hero__fact{background:var(--surface); padding:14px 16px}
.hero__fact b{display:block; font-family:var(--display); font-weight:700; font-size:clamp(18px,1.7vw,23px); letter-spacing:-.02em}
.hero__fact span{display:block; font-size:12.5px; color:var(--muted-2); margin-top:4px; line-height:1.3}
.hero__media{position:relative}
.hero__photo{aspect-ratio:4/3.4; border-radius:var(--r-l); overflow:hidden; background:var(--surface-2); border:1px solid var(--border)}
.hero__photo img{width:100%; height:100%; object-fit:cover}
.hero__price{position:absolute; left:-14px; bottom:-18px; background:var(--invert-bg); color:var(--invert-text);
  border-radius:var(--r-m); padding:14px 18px; box-shadow:var(--shadow-3); display:flex; align-items:center; gap:14px; max-width:92%}
.hero__price b{font-size:14.5px; display:block}
.hero__price span{font-family:var(--mono); font-size:11.5px; color:var(--invert-muted)}
.hero__temp{position:absolute; right:-10px; top:22px; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-m); padding:10px 14px; box-shadow:var(--shadow-2); text-align:center}
.hero__temp b{font-family:var(--mono); font-size:20px; font-weight:700; color:var(--ice); display:block; letter-spacing:-.02em}
.hero__temp span{font-size:11px; color:var(--muted-2)}

/* ============ CATEGORY TILES ============ */
.cats{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.cat{position:relative; display:block; border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden;
  background:var(--surface); transition:border-color .18s, transform .18s, box-shadow .18s}
.cat:hover{border-color:var(--text); transform:translateY(-2px); box-shadow:var(--shadow-2)}
.cat__img{aspect-ratio:16/9; overflow:hidden; background:var(--surface-2)}
.cat__img img{width:100%; height:100%; object-fit:cover; transition:transform .5s}
.cat:hover .cat__img img{transform:scale(1.04)}
.cat__body{padding:16px 18px 18px}
.cat__top{display:flex; align-items:baseline; justify-content:space-between; gap:12px}
.cat__top h3{font-size:20px; font-weight:700}
.cat__n{font-family:var(--mono); font-size:12px; color:var(--muted-2)}
.cat__list{margin-top:8px; font-size:13.5px; color:var(--muted); line-height:1.5}

/* ============ PRODUCT CARD ============ */
.grid-prod{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.pcard{display:flex; flex-direction:column; background:var(--surface); border:1px solid var(--border);
  border-radius:var(--r-l); overflow:hidden; transition:border-color .18s, box-shadow .18s}
.pcard:hover{border-color:var(--border-2); box-shadow:var(--shadow-2)}
.pcard__img{position:relative; aspect-ratio:4/3; background:var(--surface-2); overflow:hidden; display:block}
.pcard__img img{width:100%; height:100%; object-fit:cover}
.pcard__img img.pcard__img-stub{object-fit:contain; padding:30px; opacity:.55}
.pcard__flags{position:absolute; top:10px; left:10px; display:flex; gap:6px; flex-wrap:wrap; max-width:calc(100% - 20px)}
.pcard__body{padding:14px 15px 0; display:flex; flex-direction:column; gap:8px; flex:1}
.pcard__title{font-size:15.5px; font-weight:700; line-height:1.28; letter-spacing:-.01em}
.pcard__title:hover{color:var(--accent)}
.pcard__specs{display:flex; flex-wrap:wrap; gap:4px 10px; font-family:var(--mono); font-size:11.5px; color:var(--muted-2)}
.pcard__specs span{display:inline-flex; align-items:center; gap:5px}
.pcard__specs span + span::before{content:""; width:3px; height:3px; border-radius:50%; background:var(--border-2); margin-right:5px}
.pcard__desc{font-size:13px; color:var(--muted); line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden}
.pcard__price{margin-top:auto; padding-top:10px; display:flex; align-items:baseline; gap:8px; min-height:34px}
.pcard__price b{font-family:var(--display); font-weight:700; font-size:18px; letter-spacing:-.02em}
.pcard__price i{font-style:normal; font-size:12.5px; color:var(--muted-2)}
.pcard__price .ask{font-size:14px; font-weight:600; color:var(--muted)}
.pcard__foot{display:grid; grid-template-columns:repeat(auto-fit,minmax(100px,1fr)); gap:8px; padding:12px 15px 15px}
.pcard__foot .btn{width:100%; min-width:0; white-space:nowrap; padding-inline:4px; font-size:12px; letter-spacing:-.01em}

/* ============ INK BAND / STATS ============ */
.band{background:var(--invert-bg); color:var(--invert-text)}
.band .lead,.band .eyebrow{color:var(--invert-muted)}
.stats{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; background:var(--invert-border);
  border:1px solid var(--invert-border); border-radius:var(--r-l); overflow:hidden}
.stat{background:var(--invert-bg); padding:22px 20px}
.stat b{font-family:var(--display); font-weight:700; font-size:clamp(26px,3vw,40px); letter-spacing:-.03em; display:block; line-height:1}
.stat span{display:block; margin-top:10px; font-size:13.5px; color:var(--invert-muted); line-height:1.4}

/* ============ STEPS (real sequence) ============ */
.steps{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0}
.step{padding:22px 22px 24px; border-top:2px solid var(--border); position:relative}
.step:first-child{border-top-color:var(--accent)}
.step__n{font-family:var(--mono); font-size:12px; color:var(--muted-2); font-weight:500}
.step h4{margin:12px 0 8px; font-size:17px}
.step p{font-size:14px; color:var(--muted); line-height:1.5}
.step__meta{margin-top:12px; font-family:var(--mono); font-size:11.5px; color:var(--ice)}

/* ============ COLD CHAIN ============ */
.chain{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1px; background:var(--invert-border);
  border:1px solid var(--invert-border); border-radius:var(--r-l); overflow:hidden; margin-top:28px}
.chain__node{background:var(--invert-bg); padding:20px 18px 22px}
.chain__t{font-family:var(--mono); font-size:15px; color:var(--ice); font-weight:700; letter-spacing:-.02em}
.chain__node h4{margin:10px 0 6px; font-size:15px}
.chain__node p{font-size:13px; color:var(--invert-muted); line-height:1.45}

/* ============ SEGMENTS ============ */
.segs{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.seg{border:1px solid var(--border); border-radius:var(--r-l); padding:20px; background:var(--surface);
  display:flex; flex-direction:column; gap:10px; transition:border-color .18s,transform .18s}
.seg:hover{border-color:var(--text); transform:translateY(-2px)}
.seg h4{font-size:17px}
.seg p{font-size:13.5px; color:var(--muted); line-height:1.5}
.seg ul{display:flex; flex-wrap:wrap; gap:6px; margin-top:2px}
.seg li{font-family:var(--mono); font-size:11px; padding:3px 7px; border-radius:var(--r-s); background:var(--surface-2); color:var(--muted)}
.seg__go{margin-top:auto; padding-top:8px; font-weight:600; font-size:14px; color:var(--accent)}

/* ============ CALCULATOR ============ */
.calc{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.85fr); gap:clamp(20px,3vw,44px);
  border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); overflow:hidden}
.calc__form{padding:clamp(20px,2.6vw,32px)}
.calc__row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:16px}
.field{display:flex; flex-direction:column; gap:6px}
.field label{font-size:12.5px; font-weight:600; color:var(--muted)}
.field input,.field select,.field textarea{padding:11px 12px; border:1px solid var(--border); border-radius:var(--r-m);
  background:var(--bg); font-size:15px; width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--text); outline:none}
.field .hint{font-size:11.5px; color:var(--muted-2)}
.calc__out{background:var(--invert-bg); color:var(--invert-text); padding:clamp(20px,2.6vw,32px); display:flex; flex-direction:column; gap:16px}
.calc__big{font-family:var(--display); font-weight:700; font-size:clamp(30px,4vw,48px); letter-spacing:-.03em; line-height:1}
.calc__big small{font-family:var(--sans); font-size:16px; font-weight:600; color:var(--invert-muted); letter-spacing:0}
.calc__lines{display:flex; flex-direction:column; gap:1px; background:var(--invert-border); border-radius:var(--r-m); overflow:hidden}
.calc__line{background:var(--invert-bg); display:flex; justify-content:space-between; gap:14px; padding:11px 14px; font-size:14px}
.calc__line span{color:var(--invert-muted)}
.calc__line b{font-family:var(--mono); font-weight:500}
.calc__note{font-size:12px; color:var(--invert-muted); line-height:1.45}

/* ============ FAQ ============ */
.faq{border-top:1px solid var(--border)}
.faq__i{border-bottom:1px solid var(--border)}
.faq__q{width:100%; background:none; border:0; text-align:left; padding:20px 44px 20px 0; font-size:17px;
  font-weight:600; cursor:pointer; position:relative; letter-spacing:-.01em}
.faq__q::after{content:""; position:absolute; right:8px; top:50%; width:11px; height:11px; margin-top:-8px;
  border-right:2px solid var(--muted); border-bottom:2px solid var(--muted); transform:rotate(45deg); transition:transform .2s}
.faq__q[aria-expanded="true"]::after{transform:rotate(-135deg); margin-top:-3px}
.faq__a{padding:0 0 22px; color:var(--muted); max-width:76ch; font-size:15px}
.faq__a[hidden]{display:none}

/* ============ BLOG ============ */
.posts{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px}
.post{display:flex; flex-direction:column; border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden; background:var(--surface)}
.post:hover{border-color:var(--text)}
.post__img{aspect-ratio:16/9; background:var(--surface-2); overflow:hidden}
.post__img img{width:100%; height:100%; object-fit:cover}
.post__body{padding:16px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1}
.post__meta{font-family:var(--mono); font-size:11px; color:var(--muted-2); letter-spacing:.04em; text-transform:uppercase}
.post h3{font-size:17px; line-height:1.3}
.post p{font-size:13.5px; color:var(--muted); line-height:1.5}

/* ============ CTA BAND ============ */
.ctaband{background:var(--invert-bg); color:var(--invert-text)}
.ctaband__in{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(24px,4vw,60px);
  align-items:center; padding-block:clamp(34px,4.4vw,60px)}
.ctaband h2{color:var(--invert-text)}
.ctaband p{color:var(--invert-muted); margin-top:12px; max-width:48ch}
.cform{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.cform .field input,.cform .field select,.cform .field textarea{background:var(--invert-bg-2); border-color:var(--invert-border); color:var(--invert-text)}
.cform .field label{color:var(--invert-muted)}
.cform__full{grid-column:1/-1}
.cform__legal{grid-column:1/-1; font-size:11.5px; color:var(--invert-muted); line-height:1.45}
.cform__legal a{border-bottom:1px solid var(--invert-border)}

/* ============ FOOTER ============ */
.ftr{background:var(--invert-bg); color:var(--invert-muted); border-top:1px solid var(--invert-border); font-size:14px}
.ftr__top{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr; gap:28px; padding-block:clamp(34px,4vw,54px)}
.ftr h5{margin:0 0 14px; color:var(--invert-text); font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:500}
.ftr li{margin-bottom:8px}
.ftr a:hover{color:var(--invert-text)}
.ftr__brand .brand__name{color:var(--invert-text)}
.ftr__rq{margin-top:16px; font-family:var(--mono); font-size:11.5px; line-height:1.7; color:var(--invert-muted)}
.ftr__soc{display:flex; gap:8px; margin-top:16px}
.ftr__soc a{width:38px; height:38px; border:1px solid var(--invert-border); border-radius:var(--r-m);
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:600; color:var(--invert-text)}
.ftr__soc a:hover{background:var(--invert-bg-2); border-color:var(--invert-muted)}
.ftr__bot{border-top:1px solid var(--invert-border); padding-block:18px; display:flex; justify-content:space-between;
  gap:18px; flex-wrap:wrap; font-size:12.5px}

/* ============ BREADCRUMBS / PAGE HEAD ============ */
.crumbs{padding-block:16px; font-size:13px; color:var(--muted-2); display:flex; gap:8px; flex-wrap:wrap; align-items:center}
.crumbs a:hover{color:var(--text)}
.crumbs span[aria-current]{color:var(--text)}
.pagehead{padding-block:clamp(16px,2vw,28px) clamp(22px,3vw,36px); border-bottom:1px solid var(--border)}
.pagehead .lead{margin-top:14px}

/* ============ CATALOG ============ */
.catalog{display:grid; grid-template-columns:268px minmax(0,1fr); gap:clamp(20px,2.4vw,36px); align-items:start; padding-block:28px}
.filters{position:sticky; top:88px; border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); overflow:hidden}
.filters__head{display:flex; align-items:center; justify-content:space-between; padding:14px 16px; border-bottom:1px solid var(--border)}
.filters__head b{font-size:15px}
.filters__reset{background:none; border:0; color:var(--accent); font-size:13px; cursor:pointer; font-weight:600}
.fgroup{border-bottom:1px solid var(--border)}
.fgroup:last-child{border-bottom:0}
.fgroup > button{width:100%; background:none; border:0; display:flex; align-items:center; justify-content:space-between;
  padding:13px 16px; font-size:13.5px; font-weight:600; cursor:pointer; letter-spacing:.01em}
.fgroup > button::after{content:""; width:8px; height:8px; border-right:2px solid var(--muted-2); border-bottom:2px solid var(--muted-2);
  transform:rotate(45deg) translateY(-2px); transition:transform .18s}
.fgroup > button[aria-expanded="true"]::after{transform:rotate(-135deg) translateY(-2px)}
.fgroup__body{padding:0 16px 14px; display:flex; flex-direction:column; gap:9px}
.fgroup__body[hidden]{display:none}
.chk{display:flex; align-items:center; gap:9px; font-size:13.5px; cursor:pointer; color:var(--muted)}
.chk input{width:16px; height:16px; accent-color:var(--accent); flex:none; margin:0; cursor:pointer}
.chk:hover{color:var(--text)}
.chk .n{margin-left:auto; font-family:var(--mono); font-size:11px; color:var(--muted-2)}
.filters__foot{padding:14px 16px; border-top:1px solid var(--border); background:var(--surface-2)}

.toolbar{display:flex; align-items:center; gap:12px; flex-wrap:wrap; justify-content:space-between; margin-bottom:14px}
.toolbar__n{font-size:14px; color:var(--muted)}
.toolbar__n b{color:var(--text); font-family:var(--mono)}
.toolbar__right{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.selectline{display:inline-flex; align-items:center; gap:8px; font-size:13.5px; color:var(--muted)}
.selectline select{padding:8px 10px; border:1px solid var(--border); border-radius:var(--r-s); background:var(--surface); font-size:13.5px}
.chips{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px}
.chip{display:inline-flex; align-items:center; gap:7px; padding:5px 10px; border-radius:999px; border:1px solid var(--border-2);
  background:var(--surface); font-size:13px; cursor:pointer}
.chip:hover{border-color:var(--accent); color:var(--accent)}
.chip b{font-weight:600}
.chip__x{font-family:var(--mono); font-size:14px; line-height:1; color:var(--muted-2)}
.searchbox{display:flex; border:1px solid var(--border); border-radius:var(--r-m); overflow:hidden; background:var(--surface); flex:1 1 220px; max-width:340px}
.searchbox input{border:0; padding:10px 12px; background:none; flex:1; min-width:0; font-size:14px}
.searchbox input:focus{outline:none}
.searchbox button{border:0; background:none; padding:0 12px; cursor:pointer; color:var(--muted)}
.searchbox button:hover{color:var(--accent)}
.empty{border:1px dashed var(--border-2); border-radius:var(--r-l); padding:44px 24px; text-align:center; color:var(--muted)}
.empty[hidden]{display:none}
.seo-text{max-width:78ch; color:var(--muted); font-size:15px; display:flex; flex-direction:column; gap:14px}
.seo-text h2,.seo-text h3{color:var(--text)}
.seo-text ul{display:flex; flex-direction:column; gap:7px}
.seo-text li{padding-left:18px; position:relative}
.seo-text li::before{content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--accent)}

/* ============ PRODUCT PAGE ============ */
.pdp{display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(24px,3vw,52px); padding-block:24px}
.gal__main{aspect-ratio:4/3; border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden; background:var(--surface-2)}
.gal__main img{width:100%; height:100%; object-fit:cover}
.gal__thumbs{display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:10px}
.gal__thumb{aspect-ratio:1; border:1px solid var(--border); border-radius:var(--r-m); overflow:hidden; background:var(--surface-2); cursor:pointer; padding:0}
.gal__thumb img{width:100%; height:100%; object-fit:cover}
.gal__thumb[aria-current="true"]{border-color:var(--accent); box-shadow:0 0 0 1px var(--accent)}
.pdp__flags{display:flex; gap:7px; flex-wrap:wrap; margin-bottom:14px}
.pdp h1{font-family:var(--display); font-weight:700; font-size:clamp(24px,2.8vw,36px); letter-spacing:-.028em; line-height:1.08}
.pdp__art{font-family:var(--mono); font-size:12.5px; color:var(--muted-2); margin-top:10px}
.pdp__desc{margin-top:16px; color:var(--muted); font-size:15.5px; max-width:56ch}
.kv{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--border); border:1px solid var(--border);
  border-radius:var(--r-m); overflow:hidden; margin-top:22px}
.kv > div{background:var(--surface); padding:12px 14px}
.kv dt{font-size:11.5px; color:var(--muted-2); font-family:var(--mono); letter-spacing:.04em; text-transform:uppercase}
.kv dd{margin:5px 0 0; font-size:14.5px; font-weight:600}
.packs{margin-top:22px}
.packs__t{font-size:12.5px; font-weight:600; color:var(--muted); margin-bottom:9px}
.packs__list{display:flex; gap:8px; flex-wrap:wrap}
.pack{padding:9px 14px; border:1px solid var(--border-2); border-radius:var(--r-m); background:var(--surface);
  font-size:13.5px; cursor:pointer; font-family:var(--mono)}
.pack[aria-pressed="true"]{border-color:var(--accent); background:var(--accent-soft); color:var(--accent); font-weight:500}
.buybox{margin-top:24px; border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); padding:18px; box-shadow:var(--shadow-1)}
.buybox__price{display:flex; align-items:baseline; gap:10px; flex-wrap:wrap}
.buybox__price b{font-family:var(--display); font-weight:700; font-size:28px; letter-spacing:-.03em}
.buybox__price i{font-style:normal; color:var(--muted-2); font-size:13.5px}
.buybox__ask{font-size:18px; font-weight:700}
.qty{display:inline-flex; align-items:center; border:1px solid var(--border-2); border-radius:var(--r-m); overflow:hidden}
.qty button{width:38px; height:42px; background:var(--surface); border:0; cursor:pointer; font-size:18px; color:var(--muted)}
.qty button:hover{background:var(--surface-2); color:var(--text)}
.qty input{width:60px; height:42px; border:0; border-inline:1px solid var(--border); text-align:center;
  font-family:var(--mono); font-size:15px; background:var(--surface)}
.buybox__row{display:flex; gap:10px; margin-top:14px; flex-wrap:wrap; align-items:center}
.buybox__row .btn{flex:1 1 180px}
.buybox__mgr{margin-top:16px; padding-top:16px; border-top:1px solid var(--border); display:flex; gap:12px; align-items:center; flex-wrap:wrap}
.buybox__mgr p{font-size:13px; color:var(--muted); flex:1 1 180px; line-height:1.4}
.msg{display:flex; gap:7px}
.msg a{width:36px; height:36px; border-radius:var(--r-m); border:1px solid var(--border); display:flex;
  align-items:center; justify-content:center; font-size:11px; font-weight:700; color:var(--muted)}
.msg a:hover{border-color:var(--text); color:var(--text)}

.tabs{display:flex; gap:4px; border-bottom:1px solid var(--border); overflow-x:auto; margin-top:8px}
.tabs button{background:none; border:0; padding:14px 16px; font-size:15px; font-weight:600; cursor:pointer;
  color:var(--muted); border-bottom:2px solid transparent; white-space:nowrap; margin-bottom:-1px}
.tabs button:hover{color:var(--text)}
.tabs button[aria-selected="true"]{color:var(--text); border-bottom-color:var(--accent)}
.tabpanel{padding-block:26px}
.tabpanel[hidden]{display:none}
.twocol{display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:clamp(20px,3vw,44px); align-items:start}
.prose{color:var(--muted); font-size:15.5px; display:flex; flex-direction:column; gap:14px; max-width:70ch}
.prose h3{color:var(--text); font-size:19px; margin-top:6px}
.prose ul{display:flex; flex-direction:column; gap:8px}
.prose li{padding-left:20px; position:relative}
.prose li::before{content:""; position:absolute; left:2px; top:9px; width:6px; height:6px; border-radius:50%; background:var(--ice)}
.spectable{border:1px solid var(--border); border-radius:var(--r-m); overflow:hidden; background:var(--surface)}
.spectable tr{border-bottom:1px solid var(--border)}
.spectable tr:last-child{border-bottom:0}
.spectable td{padding:11px 14px; font-size:14px; vertical-align:top}
.spectable td:first-child{color:var(--muted-2); width:46%}
.spectable td:last-child{font-weight:600; text-align:right; font-family:var(--mono); font-size:13.5px}
.nutri{display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; align-items:center}
.nutri__legend{display:flex; flex-direction:column; gap:9px; font-size:13.5px}
.nutri__legend div{display:flex; align-items:center; gap:9px}
.nutri__legend i{width:10px; height:10px; border-radius:2px; flex:none}
.nutri__legend b{margin-left:auto; font-family:var(--mono); font-weight:500; font-size:13px}

/* ============ DOC / QUALITY ============ */
.docs{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px}
.doc{border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); padding:18px; display:flex; flex-direction:column; gap:9px}
.doc:hover{border-color:var(--text)}
.doc__type{font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ice)}
.doc h4{font-size:15.5px; line-height:1.3}
.doc p{font-size:13px; color:var(--muted)}
.doc__dl{margin-top:auto; padding-top:8px; font-size:13px; font-weight:600; color:var(--accent); font-family:var(--mono)}
.checklist{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 26px}
.checklist li{display:flex; gap:11px; font-size:14.5px; color:var(--muted); line-height:1.45}
.checklist svg{flex:none; margin-top:3px; color:var(--moss)}

/* ============ DELIVERY ============ */
.dtable{border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden; background:var(--surface)}
.dtable th{background:var(--surface-2); text-align:left; padding:12px 16px; font-size:12px; font-family:var(--mono);
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:500}
.dtable td{padding:13px 16px; border-top:1px solid var(--border); font-size:14.5px}
.dtable td.mono{font-family:var(--mono); font-size:13.5px}
.dcards{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.dcard{border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); padding:22px; display:flex; flex-direction:column; gap:10px}
.dcard__tag{font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--accent)}
.dcard h3{font-size:19px}
.dcard p{font-size:14px; color:var(--muted); line-height:1.5}
.dcard dl{display:flex; flex-direction:column; gap:8px; margin-top:6px; padding-top:12px; border-top:1px solid var(--border)}
.dcard dl div{display:flex; justify-content:space-between; gap:12px; font-size:13.5px}
.dcard dt{color:var(--muted-2)}
.dcard dd{margin:0; font-weight:600; font-family:var(--mono); font-size:13px}

/* ============ SPECIFICATION ============ */
.spec{display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:clamp(20px,2.6vw,36px); align-items:start; padding-block:28px}
.spec__table{border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden; background:var(--surface)}
.spec__row{display:grid; grid-template-columns:72px minmax(0,1fr) 132px 80px 40px; gap:14px; align-items:center;
  padding:14px 16px; border-bottom:1px solid var(--border)}
.spec__row:last-child{border-bottom:0}
.spec__row img{width:72px; height:56px; object-fit:cover; border-radius:var(--r-s); background:var(--surface-2)}
.spec__name{font-size:14.5px; font-weight:600; line-height:1.3}
.spec__sub{font-family:var(--mono); font-size:11.5px; color:var(--muted-2); margin-top:4px}
.spec__pack{padding:9px 10px; border:1px solid var(--border); border-radius:var(--r-s); background:var(--bg); font-size:13px; width:100%}
.spec__del{background:none; border:0; cursor:pointer; color:var(--muted-2); font-size:19px; line-height:1; padding:6px}
.spec__del:hover{color:var(--accent)}
.spec__head{display:grid; grid-template-columns:72px minmax(0,1fr) 132px 80px 40px; gap:14px; padding:11px 16px;
  background:var(--surface-2); border-bottom:1px solid var(--border); font-family:var(--mono); font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--muted)}
.spec__side{border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); position:sticky; top:88px; overflow:hidden}
.spec__sum{padding:18px; display:flex; flex-direction:column; gap:11px; border-bottom:1px solid var(--border)}
.spec__sum div{display:flex; justify-content:space-between; gap:12px; font-size:14px}
.spec__sum span{color:var(--muted)}
.spec__sum b{font-family:var(--mono); font-weight:600}
.spec__form{padding:18px; display:flex; flex-direction:column; gap:12px}
.spec__form .two{display:grid; grid-template-columns:1fr 1fr; gap:10px}
.spec__opts{display:flex; flex-direction:column; gap:9px; padding-top:4px}
.legal{font-size:11.5px; color:var(--muted-2); line-height:1.45}
.legal a{border-bottom:1px solid var(--border-2)}

/* ============ QUIZ ============ */
.quiz{max-width:860px; margin-inline:auto; border:1px solid var(--border); border-radius:var(--r-l);
  background:var(--surface); overflow:hidden; box-shadow:var(--shadow-2)}
.quiz__bar{height:4px; background:var(--surface-2)}
.quiz__bar i{display:block; height:100%; background:var(--accent); transition:width .3s}
.quiz__body{padding:clamp(22px,3vw,40px)}
.quiz__step{font-family:var(--mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2)}
.quiz h3{margin:12px 0 6px; font-size:clamp(20px,2.2vw,27px); letter-spacing:-.02em}
.quiz__hint{color:var(--muted); font-size:14.5px}
.quiz__opts{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:24px}
.qopt{display:flex; gap:12px; align-items:flex-start; text-align:left; padding:16px; border:1px solid var(--border);
  border-radius:var(--r-m); background:var(--bg); cursor:pointer; transition:border-color .15s,background .15s}
.qopt:hover{border-color:var(--text)}
.qopt[aria-pressed="true"]{border-color:var(--accent); background:var(--accent-soft)}
.qopt b{display:block; font-size:15px}
.qopt span{display:block; font-size:12.5px; color:var(--muted); margin-top:3px; line-height:1.4}
.qopt__box{width:20px; height:20px; border:1.5px solid var(--border-2); border-radius:var(--r-s); flex:none; margin-top:1px;
  display:flex; align-items:center; justify-content:center}
.qopt[aria-pressed="true"] .qopt__box{border-color:var(--accent); background:var(--accent); color:var(--accent-text)}
.qopt__box svg{opacity:0}
.qopt[aria-pressed="true"] .qopt__box svg{opacity:1}
.quiz__nav{display:flex; justify-content:space-between; gap:12px; margin-top:28px; padding-top:20px; border-top:1px solid var(--border); flex-wrap:wrap}
.quiz__result{display:none}
.quiz__result.on{display:block}
.quiz__panel[hidden]{display:none}

/* ============ DRAWER / MODAL ============ */
.scrim{position:fixed; inset:0; background:rgba(6,18,22,.55); z-index:100; opacity:0; transition:opacity .22s}
.scrim[hidden]{display:none}
.scrim.on{opacity:1}
.drawer{position:fixed; top:0; right:0; bottom:0; width:min(440px,100%); background:var(--surface); z-index:101;
  display:flex; flex-direction:column; transform:translateX(100%); transition:transform .26s cubic-bezier(.32,.72,0,1);
  border-left:1px solid var(--border)}
.drawer.on{transform:none}
.drawer__head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; border-bottom:1px solid var(--border)}
.drawer__head b{font-size:17px}
.drawer__body{flex:1; overflow-y:auto; padding:8px 20px}
.drawer__foot{border-top:1px solid var(--border); padding:16px 20px; background:var(--surface-2); display:flex; flex-direction:column; gap:10px}
.drawer__item{display:grid; grid-template-columns:56px minmax(0,1fr) auto; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid var(--border)}
.drawer__item:last-child{border-bottom:0}
.drawer__item img{width:56px; height:46px; object-fit:cover; border-radius:var(--r-s); background:var(--surface-2)}
.drawer__item b{font-size:13.5px; font-weight:600; display:block; line-height:1.3}
.drawer__item span{font-family:var(--mono); font-size:11.5px; color:var(--muted-2)}
.drawer__empty{padding:48px 8px; text-align:center; color:var(--muted); font-size:14.5px}
.modal{position:fixed; z-index:101; top:50%; left:50%; transform:translate(-50%,-48%); width:min(480px,calc(100% - 32px));
  background:var(--surface); border:1px solid var(--border); border-radius:var(--r-l); box-shadow:var(--shadow-3);
  padding:26px; opacity:0; transition:opacity .2s, transform .2s; max-height:90vh; overflow-y:auto}
.modal.on{opacity:1; transform:translate(-50%,-50%)}
.modal h3{font-size:22px; letter-spacing:-.02em}
.modal p{color:var(--muted); font-size:14.5px; margin-top:8px}
.modal form{display:flex; flex-direction:column; gap:12px; margin-top:20px}
.modal__close{position:absolute; top:14px; right:14px; width:32px; height:32px; border:0; background:var(--surface-2);
  border-radius:var(--r-s); cursor:pointer; color:var(--muted); font-size:16px; line-height:1}
.modal__close:hover{color:var(--text)}
.ok{background:var(--moss-soft); color:var(--moss); border-radius:var(--r-m); padding:14px; font-size:14px; font-weight:600}

/* mobile action bar */
.mobar{display:none; position:fixed; left:0; right:0; bottom:0; z-index:55; background:var(--surface);
  border-top:1px solid var(--border); padding:10px 16px calc(10px + env(safe-area-inset-bottom)); gap:10px}
.mobar .btn{flex:1}

/* ============ RESPONSIVE ============ */
@media (max-width:1180px){
  .grid-prod{grid-template-columns:repeat(3,minmax(0,1fr))}
  .docs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .segs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .chain{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftr__top{grid-template-columns:1.3fr 1fr 1fr; gap:26px}
}
@media (max-width:1024px){
  .hdr__in{grid-template-columns:auto 1fr}
  .nav{display:none; position:absolute; top:100%; left:0; right:0; background:var(--surface);
    border-bottom:1px solid var(--border); flex-direction:column; align-items:stretch; padding:12px; gap:2px; box-shadow:var(--shadow-2)}
  .nav.on{display:flex}
  .nav__link{width:100%; justify-content:space-between; font-size:16px; padding:12px}
  .mega{position:static; transform:none; width:100%; box-shadow:none; border:0; border-radius:0;
    grid-template-columns:1fr; padding:4px 0 10px; gap:2px}
  .burger{display:inline-flex}
  .brand__sub{display:none}
  .catalog{grid-template-columns:1fr}
  .filters{position:static}
  .filters-wrap{display:none}
  .filters-wrap.on{display:block; margin-bottom:18px}
  .pdp{grid-template-columns:1fr}
  .spec{grid-template-columns:1fr}
  .spec__side{position:static}
  .twocol{grid-template-columns:1fr}
  .calc{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__in{grid-template-columns:1fr}
  .hero__media{order:-1}
  .hero__price{left:10px; bottom:10px}
  .ctaband__in{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mobar{display:flex}
  body:has(.mobar){padding-bottom:78px}
}
@media (max-width:820px){
  .cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .posts{grid-template-columns:1fr}
  .dcards{grid-template-columns:1fr}
  .grid-prod{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero__facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nutri{grid-template-columns:1fr}
  .quiz__opts{grid-template-columns:1fr}
  .checklist{grid-template-columns:1fr}
  .spec__row,.spec__head{grid-template-columns:56px minmax(0,1fr) 40px; row-gap:10px}
  .spec__row .qty,.spec__row .mono{grid-column:2/3}
  .spec__head{display:none}
  .spec__row img{width:56px; height:46px}
  .ftr__top{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .wrap{padding-inline:16px}
  .proto__in{padding-inline:16px}
  .grid-prod{grid-template-columns:1fr}
  .cats{grid-template-columns:1fr}
  .segs{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .chain{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .kv{grid-template-columns:1fr}
  .docs{grid-template-columns:1fr}
  .calc__row{grid-template-columns:1fr}
  .cform{grid-template-columns:1fr}
  .ftr__top{grid-template-columns:1fr}
  .gal__thumbs{grid-template-columns:repeat(4,1fr)}
  .spec__form .two{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important}
}
.tblwrap{overflow-x:auto}


/* ============ PROMO STRIP ============ */
.promo{background:var(--accent-soft); border-block:1px solid var(--border)}
.promo__in{display:flex; align-items:center; gap:18px; padding-block:13px; flex-wrap:wrap}
.promo__tag{font-family:var(--mono); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--accent); border:1px solid var(--accent); border-radius:var(--r-s); padding:3px 8px; flex:none}
.promo__txt{font-size:15px; font-weight:600; flex:1 1 320px}
.promo__txt span{font-weight:400; color:var(--muted)}
.promo__till{font-family:var(--mono); font-size:12.5px; color:var(--muted-2)}

/* ============ PRODUCT TABS ============ */
.ptabs{display:flex; gap:4px; margin-bottom:18px; flex-wrap:wrap}
.ptab{background:var(--surface); border:1px solid var(--border); border-radius:999px; padding:7px 15px;
  font-size:14px; font-weight:500; cursor:pointer; color:var(--muted)}
.ptab:hover{border-color:var(--text); color:var(--text)}
.ptab[aria-selected="true"]{background:var(--text); border-color:var(--text); color:var(--bg); font-weight:600}

/* ============ OFFER BAND (samples) ============ */
.offer{border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); overflow:hidden;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.72fr)}
.offer__body{padding:clamp(22px,3vw,38px); display:flex; flex-direction:column; gap:14px; align-items:flex-start}
.offer__body h2{max-width:20ch}
.offer__body p{color:var(--muted); max-width:52ch}
.offer__list{display:flex; flex-wrap:wrap; gap:8px}
.offer__list li{font-family:var(--mono); font-size:11.5px; padding:4px 9px; border-radius:var(--r-s);
  background:var(--ice-soft); color:var(--ice)}
.offer__img{background:var(--surface-2)}
.offer__img img{width:100%; height:100%; object-fit:cover; min-height:240px}

/* ============ TRUST: logos + reviews ============ */
.logos{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:1px; background:var(--border);
  border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden}
.logo{background:var(--surface); aspect-ratio:16/8; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:12px; font-family:var(--mono); font-size:11px; color:var(--muted-2); line-height:1.35}
.revs{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:14px}
.rev{border:1px solid var(--border); border-radius:var(--r-l); background:var(--surface); padding:22px;
  display:flex; flex-direction:column; gap:14px}
.rev__q{font-size:15.5px; line-height:1.5}
.rev__q::before{content:"«"} .rev__q::after{content:"»"}
.rev__who{margin-top:auto; padding-top:12px; border-top:1px solid var(--border); font-size:13px; color:var(--muted-2); line-height:1.4}
.rev__who b{display:block; color:var(--text); font-size:14px; font-weight:600; margin-bottom:3px}

/* ============ GEO ============ */
.geo{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(22px,3vw,48px); align-items:center}
.geo__rail{display:flex; flex-direction:column; gap:1px; background:var(--border); border:1px solid var(--border);
  border-radius:var(--r-l); overflow:hidden}
.geo__node{background:var(--surface); display:grid; grid-template-columns:140px minmax(0,1fr) auto; gap:16px;
  align-items:center; padding:14px 18px}
.geo__node--main{background:var(--invert-bg); color:var(--invert-text)}
.geo__node--main .geo__t{color:var(--invert-text)}
.geo__node--main .geo__d{color:var(--invert-muted)}
.geo__t{font-weight:600; font-size:14.5px}
.geo__d{font-size:13px; color:var(--muted)}
.geo__v{font-family:var(--mono); font-size:13px; color:var(--ice); white-space:nowrap}
.geo__facts{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:22px}
.geo__fact{border:1px solid var(--border); border-radius:var(--r-m); padding:14px 16px; background:var(--surface)}
.geo__fact b{display:block; font-family:var(--display); font-weight:700; font-size:22px; letter-spacing:-.02em}
.geo__fact span{font-size:12.5px; color:var(--muted-2)}

/* ============ FOOTER CITIES ============ */
.cities{border-top:1px solid var(--invert-border); padding-block:22px}
.cities h5{margin-bottom:12px}
.cities ul{display:flex; flex-wrap:wrap; gap:6px 16px; font-size:13px}
.cities a{color:var(--invert-muted)}
.cities a:hover{color:var(--invert-text)}

/* ============ FLOATING MESSENGERS ============ */
.float{position:fixed; right:18px; bottom:18px; z-index:50; display:flex; flex-direction:column-reverse; gap:9px}
.float a,.float button{width:50px; height:50px; border-radius:50%; border:1px solid var(--border);
  background:var(--surface); box-shadow:var(--shadow-2); display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:12px; font-weight:700; cursor:pointer; color:var(--text)}
.float a:hover,.float button:hover{border-color:var(--accent); color:var(--accent)}
.float__main{background:var(--accent) !important; color:var(--accent-text) !important; border-color:var(--accent) !important}
.float__items[hidden]{display:none}
.float__items{display:flex; flex-direction:column; gap:9px}

/* ============ SUPPLIERS ============ */
.supply-form{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px}
.supply-form .full{grid-column:1/-1}

@media (max-width:1180px){
  .logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .revs{grid-template-columns:1fr 1fr}
}
@media (max-width:1024px){
  .offer{grid-template-columns:1fr}
  .offer__img{order:-1}
  .offer__img img{min-height:200px}
  .geo{grid-template-columns:1fr}
}
@media (max-width:1024px){
  .float{right:12px; bottom:82px}
}
@media (max-width:820px){
  .revs{grid-template-columns:1fr}
  .geo__node{grid-template-columns:1fr; gap:5px}
  .supply-form{grid-template-columns:1fr}
}
@media (max-width:560px){
  .logos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .geo__facts{grid-template-columns:1fr}
}

/* mobile-only filters toggle */
.filters-toggle-wrap{display:none}
@media (max-width:1024px){ .filters-toggle-wrap{display:block} }


/* =========================================================================
   Страницы контента: статьи, оферта, о компании
   ========================================================================= */
.page-intro{color:var(--muted); font-size:clamp(16px,1.3vw,18px); max-width:62ch; margin-top:14px}
.article-content{max-width:75ch}
.article-content h1{font-family:var(--display); font-weight:700; font-size:clamp(26px,3.2vw,42px); letter-spacing:-.028em}
.article-image{margin:26px 0; border-radius:var(--r-l); overflow:hidden; border:1px solid var(--border)}
.article-text{font-size:16.5px; line-height:1.65; color:var(--muted); margin-top:22px}
.article-text h2{color:var(--text); font-family:var(--display); font-weight:600; font-size:clamp(21px,2.2vw,28px); margin:34px 0 12px; letter-spacing:-.02em}
.article-text h3{color:var(--text); font-size:20px; margin:26px 0 10px}
.article-text p{margin-bottom:16px}
.article-text ul,.article-text ol{margin:0 0 18px; padding-left:22px; list-style:disc}
.article-text ol{list-style:decimal}
.article-text li{margin-bottom:8px}
.article-text a{color:var(--accent); border-bottom:1px solid var(--accent)}
.article-text img{border-radius:var(--r-m); margin:18px 0}
.article-text table{margin:20px 0; border:1px solid var(--border); border-radius:var(--r-m); overflow:hidden}
.article-text th{background:var(--surface-2); text-align:left; padding:11px 14px; font-size:13px; color:var(--text)}
.article-text td{padding:11px 14px; border-top:1px solid var(--border); font-size:14.5px}
.article-text blockquote{margin:22px 0; padding:16px 20px; border-left:3px solid var(--accent); background:var(--surface); border-radius:0 var(--r-m) var(--r-m) 0}

/* =========================================================================
   Блог: список статей
   ========================================================================= */
.blog-list{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:28px}
.blog-card{display:flex; flex-direction:column; border:1px solid var(--border); border-radius:var(--r-l);
  overflow:hidden; background:var(--surface); transition:border-color .18s, box-shadow .18s}
.blog-card:hover{border-color:var(--border-2); box-shadow:var(--shadow-2)}
.blog-card-img{aspect-ratio:16/9; background:var(--surface-2); overflow:hidden; display:block}
.blog-card-img img{width:100%; height:100%; object-fit:cover}
.blog-card-content{padding:18px 20px 22px; display:flex; flex-direction:column; gap:10px; flex:1}
.blog-card-content h2{font-size:18px; line-height:1.3; font-weight:700}
.blog-card-content h2 a:hover{color:var(--accent)}
.blog-card-content p{font-size:14px; color:var(--muted); line-height:1.5}
.blog-card-content .btn{margin-top:auto; align-self:flex-start}

/* =========================================================================
   Пагинация каталога (разметка приходит из бэкенда — классы не менять)
   ========================================================================= */
.load-more-box{display:flex; justify-content:center; margin-top:30px}
.catalog_pagination{margin-top:26px}
.catalog_pagination .navigation-pages{display:flex; gap:6px; justify-content:center; flex-wrap:wrap; align-items:center}
.catalog_pagination a,
.catalog_pagination .nav-current-page{min-width:40px; height:40px; padding:0 12px; display:inline-flex;
  align-items:center; justify-content:center; border:1px solid var(--border); border-radius:var(--r-m);
  background:var(--surface); font-family:var(--mono); font-size:14px}
.catalog_pagination a:hover{border-color:var(--text)}
.catalog_pagination .nav-current-page{background:var(--text); border-color:var(--text); color:var(--bg); font-weight:700}
.catalog_pagination .navigation-page-other{color:var(--muted-2); padding:0 4px}
.catalog_pagination .navigation-button{display:none}

/* =========================================================================
   Служебное
   ========================================================================= */
.visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}
.alert-good{display:block; background:var(--moss-soft); color:var(--moss); border-radius:var(--r-m); padding:14px; font-size:14px; font-weight:600}
.alert-bad{display:block; background:var(--accent-soft); color:var(--accent); border-radius:var(--r-m); padding:14px; font-size:14px; font-weight:600}
#modal-box-message:not(:empty){margin-top:16px}
.form-checkbox{display:flex; gap:10px; align-items:flex-start}
.form-checkbox input{width:17px; height:17px; accent-color:var(--accent); flex:none; margin-top:2px}
.form-checkbox label{font-size:12px; color:var(--muted); line-height:1.45}
.form-checkbox a{border-bottom:1px solid var(--border-2)}
.styled-input{padding:11px 12px; border:1px solid var(--border); border-radius:var(--r-m); background:var(--bg); font-size:15px; width:100%}
.styled-input:focus{border-color:var(--text); outline:none}
.yamap{border:1px solid var(--border); border-radius:var(--r-l); overflow:hidden; margin-top:24px}
.contacts-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}

@media (max-width:1024px){ .blog-list{grid-template-columns:1fr 1fr} .contacts-grid{grid-template-columns:1fr 1fr} }
@media (max-width:820px){ .blog-list{grid-template-columns:1fr} .contacts-grid{grid-template-columns:1fr} }

/* модалка, загружаемая с /api/form* */
.modal-box h3{font-family:var(--display); font-weight:600; font-size:23px; letter-spacing:-.02em}
.modal-box > p{color:var(--muted); font-size:14.5px; margin-top:8px}
.modal-box form{display:flex; flex-direction:column; gap:12px; margin-top:20px}
.modal-loading{padding:40px 0; text-align:center; color:var(--muted-2); font-size:14px}
.chip--on{background:var(--text); border-color:var(--text); color:var(--bg)}
.chip--on:hover{color:var(--bg); border-color:var(--text)}
.filter-hint{font-size:13px; color:var(--amber); background:var(--amber-soft); border-radius:var(--r-m); padding:10px 14px; margin-bottom:16px}
.btn.is-added{background:var(--moss) !important; border-color:var(--moss) !important; color:#fff !important}
.sections-list-wr{padding-block:6px 18px}
.logo img{max-height:44px; width:auto; opacity:.75; filter:grayscale(1)}
.logo:hover img{opacity:1; filter:none}


/* =========================================================================
   Совместимость со старой разметкой.
   Нужна страницам, которые остались от прежнего шаблона и пока не переверстаны:
   blog-uzbek-cherry.html, uslugi.html, usluga.html, block-double/services/steps.
   Когда эти страницы уберут или перепишут — секцию можно удалить целиком.
   ========================================================================= */
.block-wr{width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:24px}
.block-padding{padding-block:clamp(40px,5vw,76px)}
.breadcrumbs-wr{padding-block:16px}
.breadcrumbs ul{display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:13px; color:var(--muted-2)}
.breadcrumbs li + li::before{content:"/"; margin-right:8px; color:var(--border-2)}
.breadcrumbs a:hover{color:var(--text)}
.green-button,.dark-green-button{display:inline-flex; align-items:center; justify-content:center; gap:9px;
  padding:12px 20px; border-radius:var(--r-m); border:1px solid transparent; font-weight:600; font-size:15px;
  cursor:pointer; background:var(--accent); color:var(--accent-text)}
.green-button:hover,.dark-green-button:hover{background:var(--accent-hover)}
.white-button{display:inline-flex; align-items:center; justify-content:center; padding:12px 20px;
  border-radius:var(--r-m); border:1px solid var(--border-2); background:var(--surface); font-weight:600; font-size:15px; cursor:pointer}
.white-button:hover{border-color:var(--text)}
.button-underline{background:none; border:0; border-bottom:1px solid currentColor; padding:4px 0;
  font-weight:600; cursor:pointer; color:var(--accent)}
.popular-services-wr .main-container-inner{max-width:78ch}
.contacts-rq{font-size:15.5px; line-height:1.65; color:var(--muted)}
.contacts-rq ul{list-style:disc; padding-left:22px; margin:10px 0}
.contacts-rq li{margin-bottom:8px}
.contacts-rq a{color:var(--accent); border-bottom:1px solid var(--accent)}
.green-double-block-wr{background:var(--invert-bg); color:var(--invert-text); padding-block:clamp(30px,4vw,56px)}
.green-double-block h1{font-family:var(--display); font-weight:700; font-size:clamp(26px,3.2vw,42px); letter-spacing:-.028em}
@media (max-width:560px){ .block-wr{padding-inline:16px} }
