/* ============================================================
   DANISEI MARKETPLACE — Design System 2026
   Fonts: Prata (serif) + Golos Text (body) + Onest (brand)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Prata&family=Golos+Text:wght@400;500;600;700&family=Onest:wght@400;500;600;700;800&display=swap');

/* ── Tokens ─────────────────────────────────── */
:root {
  --bg:    #FDFBF9; --bg2:   #FFFFFF;
  --line:  #EDE7E0; --ink:   #131C33;
  --sub:   #5A6072; --nav-sub:#3C4356;
  --mut:   #9AA0AE; --field: #F2EFEA;
  --btn:   #131C33; --btnfg: #FFFFFF;
  --imgf:  none;
  --coral: #E85C3F;
  --cgrad: linear-gradient(135deg,#FF8A65,#F4552B);
  --lgrad: linear-gradient(160deg,#FFB59E 0%,#F4552B 100%);
  --r2: 2px; --r4: 4px; --r8: 8px; --r12: 12px;
  --sp: 48px;

  /* ── Поверхности и границы ────────────────────────────────────────────
     Три уровня, а не два: страница, карточка и приподнятая карточка. Без
     третьего любой ховер приходится рисовать тенью, а тень — самый заметный
     признак «недорогого» интерфейса. */
  --surface:      var(--bg2);
  --surface-alt:  #F7F4F1;
  --line-strong:  #DFD6CC;

  /* Состояния вынесены в токены: иначе каждый компонент изобретает свой
     оттенок наведения, и они расходятся уже на третьем экране. */
  --hover:  rgba(19, 28, 51, .04);
  --active: rgba(19, 28, 51, .07);
  --focus:  var(--coral);

  --ok:   #2E7D5B;
  --warn: #B26B00;
  --err:  #C0392B;

  /* Типографическая шкала — семь ступеней, не «сколько получилось».
     clamp даёт плавность между 375 и 1920 без отдельных медиазапросов. */
  --fs-h1:    clamp(34px, 1.6rem + 1.9vw, 52px);
  --fs-h2:    clamp(25px, 1.3rem + 1.0vw, 34px);
  --fs-h3:    clamp(17px, 1.0rem + .25vw, 20px);
  --fs-body:  16px;
  --fs-small: 13.5px;
  --fs-cap:   11.5px;
  --lh-tight: 1.16;
  --lh-body:  1.65;

  /* Шаг сетки: всё вертикальное расстояние кратно 4. */
  --s1: 4px; --s2: 8px; --s3: 12px; --s4: 16px; --s5: 24px; --s6: 32px; --s7: 48px;

  --shadow: 0 1px 2px rgba(19,28,51,.04), 0 8px 24px -16px rgba(19,28,51,.18);
  --ease: .18s cubic-bezier(.2,.6,.3,1);

  /* Ширина содержимого. На 1920 без неё строка растягивается через весь
     экран, и текст читается хуже, чем на ноутбуке. */
  --wrap: 1200px;
  --wrap-wide: 1480px;
  --gut: 56px;
}
[data-theme="dark"] {
  --bg:#0D1526; --bg2:#111B30; --line:#263050;
  --ink:#F2EFEA; --sub:#A6ADC0; --nav-sub:#A6ADC0;
  --mut:#6E7890; --field:#1A2742;
  --btn:#F2EFEA; --btnfg:#131C33;
  --imgf:brightness(0.62) saturate(0.92);
  --surface:var(--bg2); --surface-alt:#0F1A2E; --line-strong:#33406B;
  --hover:rgba(242,239,234,.06); --active:rgba(242,239,234,.10);
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px -16px rgba(0,0,0,.6);
}

/* ── Reset ───────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Golos Text',sans-serif;font-size:var(--fs-body);line-height:var(--lh-body);color:var(--ink);background:var(--bg);overflow-x:hidden;transition:background .25s,color .25s}
a{color:var(--coral);text-decoration:none;transition:color .15s}
a:hover{color:#C4482F}
img{display:block;max-width:100%}
button{font-family:'Golos Text',sans-serif;cursor:pointer;border:none}

/* ── Header ──────────────────────────────────── */
.site-header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:200;transition:background .25s,border-color .25s}
.header-top{display:flex;align-items:center;justify-content:space-between;padding:var(--s4) var(--gut) var(--s3);gap:var(--s5)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex:0 0 auto}
.logo>div:not(.logo-mark){min-width:0;overflow:hidden}
.logo-mark{width:34px;height:34px;border-radius:50%;background:var(--lgrad);position:relative;overflow:hidden;flex-shrink:0}
.logo-mark::after{content:'';position:absolute;left:50%;top:-20%;width:3px;height:140%;background:var(--bg);transform:rotate(38deg);transition:background .25s}
.logo-name{font:700 15px/1.1 'Onest',sans-serif;letter-spacing:.22em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-sub{font-size:8.5px;letter-spacing:.32em;color:var(--coral);text-transform:uppercase;font-family:'Onest',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-nav{display:flex;gap:clamp(var(--s3),1.3vw,var(--s5))}
.site-nav a{font-size:14px;color:var(--nav-sub);white-space:nowrap;padding:6px 0;transition:color var(--ease)}
.site-nav a:hover,.site-nav a.active{color:var(--coral)}
.hdr-right{display:flex;align-items:center;gap:12px;flex:none}
.corp-link{font-size:13px;color:var(--nav-sub);white-space:nowrap}
.lang-sw{display:flex;align-items:center;gap:6px;font-size:13px}
.lang-sw a{color:var(--mut)}
.lang-sw .cur{color:var(--nav-sub);font-weight:600}
.lang-sw span{color:var(--mut)}
.theme-btn{background:none;border:1px solid var(--line-strong);border-radius:50%;width:34px;height:34px;font-size:15px;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,background .25s}
.theme-btn:hover{background:var(--hover);border-color:var(--ink)}
.btn-login{border:1px solid var(--line-strong);padding:10px 18px;font-size:var(--fs-small);color:var(--ink)}
.btn-login:hover{background:var(--hover);border-color:var(--ink)}
.btn-login:active{background:var(--active)}
.btn-price{background:var(--btn);color:var(--btnfg);padding:10px 20px;font-size:var(--fs-small)}
.btn-price:hover{opacity:.88}
.nav-extra{display:none}
.corp-link-m{font-size:13px;color:var(--nav-sub);white-space:nowrap}
.nav-toggle{display:none;background:none;border:1px solid var(--line-strong);border-radius:var(--r8);padding:5px 9px;font-size:18px;color:var(--ink);line-height:1;cursor:pointer}
.logo:focus-visible,.site-nav a:focus-visible,.lang-sw a:focus-visible,.corp-link:focus-visible,.corp-link-m:focus-visible,.btn-login:focus-visible,.btn-price:focus-visible,.theme-btn:focus-visible,.nav-toggle:focus-visible,.s-inp:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r4)}
/* search */
.hdr-search{padding:0 var(--gut) var(--s4)}
.s-field{display:flex;align-items:center;gap:10px;background:var(--surface-alt);border:1px solid var(--line);border-radius:var(--r8);padding:12px 16px;transition:background var(--ease),border-color var(--ease)}
.s-icon{width:15px;height:15px;border:2px solid var(--mut);border-radius:50%;position:relative;flex-shrink:0}
.s-icon::after{content:'';position:absolute;width:2px;height:7px;background:var(--mut);bottom:-5px;right:-3px;transform:rotate(-45deg);border-radius:1px}
.s-field:focus-within{border-color:var(--line-strong);background:var(--surface)}
.s-inp{flex:1;border:none;outline:none;background:none;font-size:14px;font-family:'Golos Text',sans-serif;color:var(--ink)}
.s-inp::placeholder{color:var(--mut)}

/* ── Hero ────────────────────────────────────── */
.hero{position:relative;overflow:hidden;min-height:560px;display:flex;align-items:center;background:var(--bg);transition:background .25s}
.hero-art{position:absolute;inset:0 0 0 28%}
.hero-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:20% center;filter:var(--imgf);transition:filter .3s}
.hero-mask-l{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--bg) 0%,var(--bg) 18%,rgba(253,251,249,0) 60%);transition:background .25s}
.hero-mask-t{position:absolute;inset:0 0 auto;height:80px;pointer-events:none;background:linear-gradient(var(--bg),transparent);transition:background .25s}
.hero-mask-b{position:absolute;inset:auto 0 0;height:80px;pointer-events:none;background:linear-gradient(transparent,var(--bg));transition:background .25s}
.hero-txt{position:relative;z-index:2;padding:calc(var(--sp) + 26px) max(var(--gut),calc((100% - var(--wrap)) / 2)) var(--sp);max-width:calc(600px + 2 * max(var(--gut),(100% - var(--wrap)) / 2))}
.overline{font-size:11.5px;letter-spacing:.26em;color:var(--coral);text-transform:uppercase;margin-bottom:18px;font-weight:500;display:flex;align-items:center;gap:10px}
.overline::after{content:'';width:24px;height:1px;background:var(--coral);opacity:.6}
.hero-txt h1{font:400 var(--fs-h1)/var(--lh-tight) 'Prata',serif;letter-spacing:-.015em;color:var(--ink);margin:0 0 var(--s5);transition:color .25s}
.hero-lead{font-size:16px;line-height:1.7;color:var(--sub);margin:0 0 30px;max-width:480px;transition:color .25s}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap}
.btn-cta,.btn-ghost,.btn-login,.btn-price,.btn-portal,.btn-inv,.btn-send,.btn-req{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);font-family:'Golos Text',sans-serif;font-weight:500;white-space:nowrap;border-radius:var(--r8);transition:background var(--ease),border-color var(--ease),color var(--ease)}
.btn-cta{background:var(--coral);color:#fff;border-radius:var(--r2);padding:15px 30px;font:500 14.5px 'Golos Text',sans-serif;transition:background .15s}
.btn-cta:hover{background:#D2513A}
.btn-cta:active{background:#B8412C}
.btn-ghost{background:none;color:var(--ink);border:1px solid var(--line-strong);padding:15px 30px;font:500 14.5px 'Golos Text',sans-serif;transition:border-color .15s,color .25s}
.btn-ghost:hover{background:var(--hover);border-color:var(--ink)}

/* ── Page hero (inner pages) ─────────────────── */
.page-hero{background:#131C33;padding:56px 56px 48px;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(232,92,63,.08) 0%,transparent 60%),radial-gradient(ellipse 55% 90% at 85% 50%,rgba(255,180,140,.13),transparent);pointer-events:none}
.ph-inner{position:relative;z-index:1;max-width:660px}
.ph-eye{font-size:11px;letter-spacing:.26em;color:var(--coral);text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px;font-weight:500}
.ph-eye::after{content:'';width:20px;height:1px;background:var(--coral);opacity:.5}
.page-hero h1{font:400 var(--fs-h2)/1.15 'Prata',serif;letter-spacing:-.01em;color:#fff;margin:0 0 var(--s4)}
.page-hero h1 em{color:var(--coral);font-style:italic}
.page-hero .lead{font-size:15.5px;color:rgba(255,255,255,.55);line-height:1.72}

/* ── Section titles ──────────────────────────── */
.sec-title{font:400 var(--fs-h2)/1.2 'Prata',serif;letter-spacing:-.01em;color:var(--ink);margin:0 0 var(--s3);overflow-wrap:break-word;transition:color .25s}
.sec-sub{font-size:15px;color:var(--sub);max-width:560px;line-height:1.65;transition:color .25s}
.sec-label{font-size:11.5px;font-weight:600;letter-spacing:.24em;color:var(--coral);text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.sec-label::after{content:'';width:20px;height:1px;background:var(--coral);opacity:.5}

/* ── Directions grid ─────────────────────────── */
.dirs-wrap{padding:var(--sp) 56px;background:var(--bg2);border-top:1px solid var(--line);transition:background .25s,border-color .25s}
.dirs-hdr{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}
.dirs-hdr h2{font:400 var(--fs-h2)/1.2 'Prata',serif;letter-spacing:-.01em;color:var(--ink);transition:color .25s}
.all-link{font-size:13.5px;color:var(--coral)}
.all-link:hover{color:#C4482F}
.dirs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.dir-card{background:var(--surface);padding:var(--s6) var(--s5) var(--s6);display:flex;flex-direction:column;gap:12px;min-height:196px;text-decoration:none;color:inherit;transition:background .18s}
.dir-card:hover{background:var(--hover)}
.dir-num{font:400 14px 'Prata',serif;color:var(--coral)}
.dir-name{font:600 18px 'Onest',sans-serif;color:var(--ink);transition:color .25s}
.dir-desc{font-size:13.5px;line-height:1.55;color:var(--sub);transition:color .25s}
.dir-more{margin-top:auto;font-size:13px;color:var(--ink);transition:color .25s}
.dir-card:hover .dir-more{color:var(--coral)}

/* ── Product grid ────────────────────────────── */
.prod-section{padding:48px 56px;background:var(--bg);transition:background .25s}
.prod-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.pf-chip{font-size:13px;font-weight:500;padding:8px 18px;border-radius:var(--r2);border:1px solid var(--line);background:var(--bg2);color:var(--ink);cursor:pointer;transition:all .15s;font-family:'Golos Text',sans-serif}
.pf-chip:hover,.pf-chip.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.prod-card{background:var(--bg2);display:flex;flex-direction:column;transition:background .18s;border-bottom:1px solid var(--line)}
.prod-card:hover{background:var(--hover)}
.prod-thumb{height:180px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line);position:relative;overflow:hidden;background:var(--field)}
.prod-thumb svg{opacity:.65;color:var(--sub);width:48px;height:48px}
.prod-badge{position:absolute;top:12px;left:12px;background:var(--coral);color:#fff;font-size:10px;font-weight:700;padding:3px 9px;border-radius:var(--r2);letter-spacing:.08em;text-transform:uppercase}
.prod-body{padding:16px 18px 20px;flex:1;display:flex;flex-direction:column}
.prod-cat{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--coral);margin-bottom:6px}
.prod-name{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:4px;line-height:1.3;transition:color .25s;display:block}
.prod-mfr{font-size:12.5px;line-height:1.5;color:var(--mut);margin-bottom:14px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.btn-req{width:100%;background:var(--ink);color:#fff;padding:11px;font-size:13px}
.btn-req:hover{background:var(--coral)}

/* ── Search bar (inner pages) ────────────────── */
.prod-search{padding:28px 56px;background:var(--bg);border-bottom:1px solid var(--line);transition:background .25s}
.prod-search .s-field{max-width:540px}

/* ── Features grid ───────────────────────────── */
.feat-section{padding:64px 56px;background:var(--bg2);transition:background .25s}
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);margin-top:36px}
.feat-card{background:var(--bg2);padding:32px 26px 36px;transition:background .18s;border-bottom:1px solid var(--line)}
.feat-card:hover{background:var(--bg)}
.feat-icon{width:40px;height:40px;margin-bottom:16px;color:var(--ink)}
.feat-icon svg{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;width:40px;height:40px}
.feat-h{font:600 15.5px 'Onest',sans-serif;color:var(--ink);margin-bottom:8px;transition:color .25s}
.feat-p{font-size:13.5px;color:var(--sub);line-height:1.65;transition:color .25s}

/* ── Investors strip ─────────────────────────── */
.inv-strip{padding:var(--sp) 56px;display:flex;justify-content:space-between;align-items:center;gap:36px;border-top:1px solid var(--line);background:var(--bg);transition:all .25s}
.inv-over{font-size:11px;letter-spacing:.26em;color:var(--coral);text-transform:uppercase;margin-bottom:12px}
.inv-h{font:400 26px 'Prata',serif;color:var(--ink);margin-bottom:8px;transition:color .25s}
.inv-p{font-size:14.5px;color:var(--sub);max-width:520px;line-height:1.6;transition:color .25s}
.btn-inv{flex:none;border:1px solid var(--coral);color:var(--coral);padding:15px 30px;font-size:14.5px}
.btn-inv:hover{background:var(--coral);color:#fff}

/* ── CTA section ─────────────────────────────── */
.cta-sec{padding:calc(var(--sp) + 6px) 56px;background:#131C33;color:#fff;display:grid;grid-template-columns:1fr auto;gap:44px;align-items:center}
.cta-sec h2{font:400 30px 'Prata',serif;margin:0 0 12px;color:#fff}
.cta-sec p{font-size:14.5px;color:#9AA3BC;margin:0;max-width:500px;line-height:1.6}
.cta-row{display:flex;gap:10px;flex-wrap:wrap}
.cta-email{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:var(--r2);padding:14px 18px;font:400 13.5px 'Golos Text',sans-serif;color:#9AA3BC;width:220px;outline:none}
.cta-email::placeholder{color:#9AA3BC}
.cta-email:focus{border-color:rgba(248,90,43,.5);color:#fff}
.btn-send{background:var(--coral);color:#fff;padding:14px 26px;font-size:14px}
.btn-send:hover{opacity:.9}
.cta-msg{display:none;margin-top:10px;font-size:13px;color:#6EE7B7}
.cta-msg.err{color:#FCA5A5}

/* ── Home: value proposition ─────────────────── */
.vp-wrap{padding:var(--sp) 56px;background:var(--bg);border-top:1px solid var(--line);transition:background .25s,border-color .25s}
.vp-wrap .sec-sub{margin:0 0 28px}
.vp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.vp-card{background:var(--surface);padding:var(--s5) var(--s5) var(--s6);display:flex;flex-direction:column;gap:9px;transition:background .18s}
.vp-card:hover{background:var(--hover)}
.vp-h{font:600 16px 'Onest',sans-serif;color:var(--ink);transition:color .25s}
.vp-p{font-size:13.5px;line-height:1.6;color:var(--sub);margin:0;transition:color .25s}

/* ── Home: B2B flow ──────────────────────────── */
.flow-wrap{padding:var(--sp) 56px;background:var(--bg2);border-top:1px solid var(--line);transition:background .25s,border-color .25s}
.flow-wrap .sec-title{margin-bottom:28px}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.flow-step{background:var(--bg);padding:24px 22px 26px;display:flex;flex-direction:column;gap:8px}
.flow-num{font:400 13px 'Prata',serif;color:var(--coral);letter-spacing:.06em}
.flow-h{font:600 15.5px 'Onest',sans-serif;color:var(--ink);transition:color .25s}
.flow-p{font-size:13px;line-height:1.58;color:var(--sub);margin:0;transition:color .25s}

/* ── Home: closing CTA ───────────────────────── */
.cta-home .cta-lead h2{max-width:18ch}
.cta-home .cta-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.btn-portal{border:1px solid rgba(255,255,255,.3);color:#fff;padding:15px 30px;font-size:14.5px}
.btn-portal:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.cta-home .cta-aside{max-width:340px}
.cta-or{font-size:13px;color:#9AA3BC;margin:0 0 12px;line-height:1.55}

/* ── Contact layout ──────────────────────────── */
.contact-sec{padding:64px 56px;background:var(--bg2);transition:background .25s}
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:start}
.contact-info .c-item{display:flex;gap:16px;margin-bottom:24px}
.c-icon{width:40px;height:40px;flex-shrink:0;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r4);display:flex;align-items:center;justify-content:center;margin-top:2px}
.c-icon svg{width:18px;height:18px;stroke:var(--coral);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.c-label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.c-val{font-size:15px;font-weight:600;color:var(--ink);transition:color .25s}
.c-val a{color:var(--ink)}
.c-val a:hover{color:var(--coral)}

/* ── Form ────────────────────────────────────── */
.form-box{background:var(--bg2);border:1px solid var(--line);padding:36px 32px;border-radius:var(--r4);transition:background .25s,border-color .25s}
.form-box h2{font:400 22px 'Prata',serif;color:var(--ink);margin-bottom:24px;transition:color .25s}
.f-group{margin-bottom:18px}
.f-group label{display:block;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.f-group input,.f-group textarea,.f-group select{width:100%;padding:11px 13px;background:var(--field);border:1px solid var(--line);border-radius:var(--r2);font:400 14px 'Golos Text',sans-serif;color:var(--ink);outline:none;transition:border-color .15s,background .25s,color .25s}
.f-group input:focus,.f-group textarea:focus,.f-group select:focus{border-color:var(--coral)}
.f-group textarea{min-height:90px;resize:vertical}
.f-submit{width:100%;background:var(--cgrad);color:#fff;border-radius:var(--r2);padding:14px;font:600 14.5px 'Golos Text',sans-serif;transition:opacity .15s}
.f-submit:hover{opacity:.9}
.f-submit:disabled{opacity:.6;cursor:not-allowed}
.f-ok,.f-err{display:none;margin-top:12px;font-size:13px;text-align:center;padding:10px;border-radius:var(--r2)}
.f-ok{background:rgba(110,231,183,.1);color:#059669;border:1px solid rgba(110,231,183,.3)}
.f-err{background:rgba(252,165,165,.1);color:#DC2626;border:1px solid rgba(252,165,165,.3)}

/* ── Manufacturers ───────────────────────────── */
.mfr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.mfr-card{background:var(--bg2);padding:28px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px;transition:background .18s}
.mfr-card:hover{background:var(--bg)}
.mfr-ico{width:44px;height:44px;border:1px solid var(--line);background:var(--field);border-radius:var(--r4);display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:background .25s,border-color .25s}
.mfr-ico svg{width:22px;height:22px;stroke:var(--sub);fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.mfr-name{font:600 14.5px 'Onest',sans-serif;color:var(--ink);transition:color .25s}
.mfr-country{font-size:12px;color:var(--mut)}
.mfr-cat{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--coral)}
.mfr-empty{border:1px solid var(--line);border-radius:var(--r12);background:var(--surface);padding:var(--s6) var(--s6) var(--s6);max-width:640px;transition:background .25s,border-color .25s}
.mfr-empty .sec-title{margin-bottom:12px}
.mfr-empty .sec-sub{margin:0 0 24px}
.mfr-acts{display:flex;gap:12px;flex-wrap:wrap}

/* ── Presence cards ──────────────────────────── */
.prc-sec{background:var(--ink);padding:64px 56px;transition:background .25s}
.prc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);margin-top:36px}
.prc-card{background:rgba(255,255,255,.03);padding:30px 24px;border-left:2px solid var(--coral);transition:background .18s}
.prc-card:hover{background:rgba(255,255,255,.07)}
.prc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.prc-country{font:700 17px 'Onest',sans-serif;color:#fff}
.prc-badge{font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:var(--r2)}
.badge-a{background:rgba(110,231,183,.15);color:#24c47a;border:1px solid rgba(110,231,183,.25)}
.badge-p{background:rgba(248,90,43,.12);color:#F29B7D;border:1px solid rgba(248,90,43,.22)}
.prc-role{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.38);margin-bottom:8px;font-weight:500}
.prc-desc{font-size:13px;color:rgba(255,255,255,.5);line-height:1.65}

/* ── Modal ───────────────────────────────────── */
.modal-ov{position:fixed;inset:0;z-index:1000;background:rgba(13,21,38,.75);backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px}
.modal-ov.open{display:flex}
.modal-box{background:var(--bg);border:1px solid var(--line);border-radius:var(--r4);padding:40px 36px;max-width:460px;width:100%;position:relative;transition:background .25s}
.modal-x{position:absolute;top:12px;right:12px;background:none;border:1px solid var(--line);border-radius:var(--r2);width:30px;height:30px;font-size:17px;color:var(--mut);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s}
.modal-x:hover{border-color:var(--coral);color:var(--coral)}
.modal-box h2{font:400 22px 'Prata',serif;color:var(--ink);margin-bottom:6px;transition:color .25s}
.modal-box .m-sub{font-size:13.5px;color:var(--sub);margin-bottom:24px;transition:color .25s}

/* ── Footer ──────────────────────────────────── */
.site-footer{padding:22px 56px;display:flex;justify-content:space-between;align-items:center;font-size:12.5px;color:#9AA0AE;background:#0D1526;flex-wrap:wrap;gap:8px}

/* ── Cookie bar ──────────────────────────────── */
.cookie-bar{position:fixed;bottom:0;left:0;right:0;z-index:500;background:rgba(13,21,38,.97);color:rgba(255,255,255,.7);font-size:13px;padding:14px 56px;display:flex;align-items:center;gap:16px;border-top:1px solid rgba(255,255,255,.08)}
.cookie-bar span{flex:1}
.cookie-btn{background:var(--coral);color:#fff;border:none;border-radius:var(--r2);padding:8px 20px;font:500 13px 'Golos Text',sans-serif;cursor:pointer;white-space:nowrap;flex-shrink:0}

/* ── Каталог: панель и сетка ─────────────────── */
.cat-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s5)}
.cat-search{flex:1 1 260px;min-width:0}
.cat-sel{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--fs-small);color:var(--sub)}
.cat-sel-l{white-space:nowrap}
.cat-sel select{font:400 var(--fs-small) 'Golos Text',sans-serif;color:var(--ink);background:var(--surface);
  border:1px solid var(--line-strong);border-radius:var(--r8);padding:9px 12px;max-width:220px;cursor:pointer}
.cat-reset{padding:9px 14px;font-size:var(--fs-small)}
.cat-count{margin-left:auto;font-size:var(--fs-small);color:var(--mut);white-space:nowrap}
.cat-none{margin:var(--s5) 0 0;color:var(--sub)}
.cat-empty{border:1px solid var(--line);border-radius:var(--r12);background:var(--surface);
  padding:var(--s6);max-width:640px}
.cat-empty .sec-sub{margin:0 0 var(--s5)}
.cat-acts{display:flex;gap:var(--s3);flex-wrap:wrap}
.prod-card[hidden]{display:none}

/* ── Карточка препарата ──────────────────────── */
.pd-section{padding:var(--sp) var(--gut);background:var(--bg);transition:background .25s}
.pd-back{display:inline-block;margin-bottom:var(--s5);font-size:var(--fs-small);color:var(--sub)}
.pd-back:hover{color:var(--coral)}
.pd-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:var(--s7);align-items:start}
.pd-list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r12);overflow:hidden}
.pd-row{display:grid;grid-template-columns:minmax(140px,34%) 1fr;gap:var(--s4);
  background:var(--surface);padding:var(--s4) var(--s5)}
.pd-row dt{color:var(--mut);font-size:var(--fs-small)}
.pd-row dd{color:var(--ink);font-size:var(--fs-small);overflow-wrap:break-word}
.pd-terms{border:1px solid var(--line);border-radius:var(--r12);background:var(--surface);padding:var(--s5)}
.pd-avail{display:inline-flex;align-items:center;gap:var(--s2);font-size:var(--fs-cap);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;margin-bottom:var(--s3);border:1px solid var(--line-strong);color:var(--sub)}
.pd-avail-in-stock{color:var(--ok);border-color:currentColor}
.pd-avail-low{color:var(--warn);border-color:currentColor}
.pd-avail-out-of-stock{color:var(--mut)}
.pd-terms-h{font:600 15px 'Onest',sans-serif;color:var(--ink);margin-bottom:var(--s2)}
.pd-terms-p{font-size:var(--fs-small);line-height:1.6;color:var(--sub);margin:0 0 var(--s5)}
.pd-terms .btn-cta,.pd-terms .btn-ghost{width:100%}
.pd-terms .btn-ghost{margin-top:var(--s2)}

/* ── Контейнер содержимого ───────────────────── */
.header-top,.hdr-search{padding-inline:max(var(--gut),calc((100% - var(--wrap-wide)) / 2))}
.dirs-wrap,.vp-wrap,.flow-wrap,.inv-strip,
.cta-sec,.prod-section,.prod-search,.feat-section,.contact-sec,.prc-sec,
.page-hero,.site-footer,.cookie-bar{
  padding-inline:max(var(--gut),calc((100% - var(--wrap)) / 2));
}

/* ── Responsive ──────────────────────────────── */
@media(max-width:1320px){
  .corp-link{display:none}
}

@media(max-width:1024px){
  :root{--sp:34px;--gut:32px}
  .pd-grid{grid-template-columns:minmax(0,1fr)}
  .logo{flex:0 1 auto;min-width:0}
  .site-nav{display:none}
  .nav-toggle{display:block}
  .site-nav.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:18px 32px;gap:14px;z-index:300;max-height:calc(100vh - 120px);overflow-y:auto}
  .corp-link{display:none}
  .site-nav.open .nav-extra{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;margin-top:4px;padding-top:16px;border-top:1px solid var(--line)}
  .nav-extra .lang-sw,.nav-extra .btn-price{display:none}
  .dirs-grid,.vp-grid,.flow-grid{grid-template-columns:repeat(2,1fr)}
  .hero{min-height:480px}
  .cta-sec{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
}
@media(max-width:420px){
  .logo>div:not(.logo-mark){display:none}
}

@media(min-width:421px) and (max-width:560px){
  .logo-name{font-size:12.5px;letter-spacing:.14em}
  .logo-sub{display:none}
}

@media(max-width:640px){
  :root{--sp:26px;--gut:20px}
  .header-top{gap:10px;padding-top:14px;padding-bottom:12px}
  .hdr-right{gap:8px}
  .hdr-right .lang-sw,.hdr-right .btn-price{display:none}
  .btn-login{padding:9px 12px;font-size:12.5px}
  .nav-extra .lang-sw{display:flex;font-size:14px;gap:8px}
  .nav-extra .btn-price{display:block;width:100%;text-align:center;padding:12px 18px}
  .inv-h{font-size:22px;line-height:1.22}
  .vp-p,.flow-p,.dir-desc,.sec-sub{overflow-wrap:break-word}
  .hero-art{left:44%}
  .hero-mask-l{background:linear-gradient(180deg,var(--bg) 40%,transparent)}
  .hero-btns{flex-direction:column}
  .btn-cta,.btn-ghost{text-align:center;width:100%;min-height:44px}
  .dirs-grid,.prod-grid,.mfr-grid,.prc-grid,.vp-grid,.flow-grid{grid-template-columns:1fr}
  .pd-grid{grid-template-columns:minmax(0,1fr)}
  .pd-row{grid-template-columns:1fr;gap:var(--s1)}
  .pd-row dt{font-size:var(--fs-cap);text-transform:uppercase;letter-spacing:.06em}
  .cat-count{margin-left:0;width:100%}
  .cat-sel{flex:1 1 100%;min-width:0}
  /* Список форм выпуска приходит из ERP, и одна позиция там — строка на 180
     символов. Поле выбора по умолчанию растягивается до самого длинного
     варианта, поэтому без min-width:0 гибкий элемент не сжимается и уносит
     страницу вправо на телефоне. */
  .cat-sel select{flex:1;min-width:0;max-width:100%}
  .hero{min-height:auto}
  .hero-txt{padding-top:calc(var(--sp) + 18px)}
  .hero-art{opacity:.2}
  .cta-home .cta-lead h2{max-width:none}
  .cta-home .cta-aside{max-width:none}
  .btn-cta,.btn-ghost,.btn-portal{width:100%}
  .mfr-empty{padding:26px 22px 24px}
  .dirs-hdr{flex-direction:column;align-items:flex-start;gap:10px}
  .inv-strip{flex-direction:column;align-items:flex-start}
  .cta-row{flex-direction:column}
  .cta-email,.btn-send{width:100%}
  .site-footer{padding:16px 20px;flex-direction:column;text-align:center}
  .cookie-bar{padding:12px 20px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* ── Empty grid slot fix ──────────────────── */
.mfr-grid .mfr-card:empty,.prod-grid .prod-card:empty{display:none}
/* ── Ensure feat-icon visible both themes ── */
.feat-icon svg{stroke:var(--coral)!important}
/* ── Better button contrast dark mode ─────── */
.btn-req{background:var(--btn);color:var(--btnfg)}
