
/* ─────────────────────────────────────────────────────────────
   ПРОТОТИП. Токены — из ui-ux-pro-max, стиль «Accessible & Ethical».
   Шрифты в проде ставить ЛОКАЛЬНО (Google Fonts на этом сайте выпилены).
   ───────────────────────────────────────────────────────────── */
:root{
  --primary:#0891B2; --on-primary:#fff;
  --secondary:#22D3EE; --accent:#059669;
  --bg:#ECFEFF; --fg:#164E63; --muted:#E8F1F6;
  --border:#A5F3FC; --danger:#DC2626; --ring:#0891B2;
  --surface:#fff; --fg-soft:#3F6B7D;
  --sp:8px; --radius:12px;
  --z-widget:1000; --z-modal:1100;
  --font-h:"Figtree","Segoe UI",system-ui,sans-serif;
  --font-b:"Noto Sans","Segoe UI",system-ui,sans-serif;
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--font-b);font-size:16px;line-height:1.6;
     color:var(--fg);background:var(--bg);-webkit-text-size-adjust:100%}
h1,h2,h3{font-family:var(--font-h);line-height:1.25;margin:0 0 16px}
h1{font-size:clamp(28px,5vw,44px);font-weight:700}
h2{font-size:clamp(23px,3.5vw,32px);font-weight:600}
h3{font-size:19px;font-weight:600}
p{margin:0 0 16px;max-width:68ch}
a{color:var(--primary)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
section{padding:56px 0}
:focus-visible{outline:3px solid var(--ring);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── Шапка: в проде это существующий шаблон сайта, здесь — заглушка ── */
.hdr{background:var(--surface);border-bottom:1px solid var(--border)}
.hdr .wrap{display:flex;align-items:center;gap:24px;min-height:64px;flex-wrap:wrap}
.logo{font-family:var(--font-h);font-weight:700;font-size:20px;color:var(--fg);text-decoration:none}
.nav{display:flex;gap:20px;flex-wrap:wrap;margin-left:auto}
.nav a{color:var(--fg-soft);text-decoration:none;font-size:15px;padding:8px 0}
.nav a:hover{color:var(--primary)}
.nav a.new{color:var(--accent);font-weight:600}
.nav a.new::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--accent);margin-right:7px;vertical-align:1px}

/* ── Кнопки ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:12px 26px;border-radius:var(--radius);border:0;
  font-family:var(--font-h);font-size:17px;font-weight:600;cursor:pointer;
  text-decoration:none;transition:background .18s ease,box-shadow .18s ease}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#047857}
.btn-ghost{background:transparent;color:var(--primary);border:2px solid var(--border)}
.btn-ghost:hover{background:var(--muted)}
.btn[disabled]{opacity:.45;cursor:not-allowed}

/* ── Hero ── */
.hero{background:linear-gradient(180deg,#fff 0%,var(--bg) 100%);padding-top:44px}
.hero-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media(min-width:900px){.hero-grid{grid-template-columns:1fr 1fr;align-items:start;gap:48px}}
.lede{font-size:19px;color:var(--fg-soft)}

/* ── Зона загрузки ── */
.drop{background:var(--surface);border:2px dashed var(--border);border-radius:16px;
  padding:32px 24px;text-align:center;transition:border-color .18s,background .18s}
.drop.over{border-color:var(--accent);background:#F0FDF9}
.drop svg{color:var(--primary)}
.drop-hint{font-size:14px;color:var(--fg-soft);margin:0}
.field{text-align:left;margin-top:20px}
.row{display:flex;gap:12px;flex-wrap:wrap}
.row>*{flex:1 1 140px}
label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
select,input[type=email],input[type=number]{width:100%;min-height:48px;padding:10px 12px;font-size:16px;
  font-family:inherit;color:var(--fg);background:#fff;
  border:1px solid #7DD3E8;border-radius:10px}
.helper{font-size:13px;color:var(--fg-soft);margin:6px 0 0}
.consent{display:flex;gap:10px;align-items:flex-start;margin-top:18px;
  font-size:14px;line-height:1.5;text-align:left}
.consent input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--accent)}

/* ── Полоса доверия ── */
.trust{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0}
.trust ul{display:grid;gap:12px 28px;grid-template-columns:1fr;list-style:none;margin:0;padding:0;
  font-size:14px;color:var(--fg-soft)}
@media(min-width:760px){.trust ul{grid-template-columns:repeat(3,1fr)}}
.trust li{display:flex;gap:9px;align-items:flex-start}
.trust svg{color:var(--accent);flex:0 0 auto;margin-top:2px}

/* ── Сетки карточек ── */
.cards{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:700px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}
.step-n{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border-radius:50%;background:var(--primary);color:#fff;font-family:var(--font-h);
  font-weight:700;margin-bottom:12px}

/* ── Отчёт ── */
.report{background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}
.report-head{padding:20px 24px;border-bottom:1px solid var(--border);
  display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;
  font-size:14px;font-weight:600}
.pill-warn{background:#FEF2F2;color:var(--danger)}
.pill-ok{background:#ECFDF5;color:#047857}
table{width:100%;border-collapse:collapse;font-size:15px}
caption{text-align:left;padding:16px 24px 0;font-weight:600;font-family:var(--font-h)}
th,td{padding:12px 24px;text-align:left;border-bottom:1px solid var(--muted)}
th{font-size:13px;text-transform:uppercase;letter-spacing:.03em;color:var(--fg-soft);font-weight:600}
td.num{font-variant-numeric:tabular-nums}
.flag{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.flag-high{color:var(--danger)}
.flag-low{color:#B45309}
.flag-norm{color:#047857}
.finding{padding:20px 24px;border-bottom:1px solid var(--muted)}
.finding h3{margin-bottom:8px}
.finding p{margin-bottom:0;font-size:15px}

/* ── Paywall ── */
.paywall{padding:28px 24px;background:linear-gradient(180deg,var(--muted),#fff);text-align:center}
.paywall h3{margin-bottom:6px}
.paywall ul{list-style:none;padding:0;margin:16px auto 22px;max-width:440px;text-align:left;
  display:grid;gap:9px;font-size:15px}
.paywall li{display:flex;gap:9px;align-items:flex-start}
.paywall li svg{color:var(--accent);flex:0 0 auto;margin-top:3px}
.price{font-family:var(--font-h);font-size:32px;font-weight:700;color:var(--fg)}
.price small{font-size:15px;font-weight:400;color:var(--fg-soft)}

/* ── Тарифы ── */
.plans{display:grid;gap:20px;grid-template-columns:1fr}
@media(min-width:760px){.plans{grid-template-columns:1fr 1fr}}
.plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:26px}
.plan.hi{border:2px solid var(--accent)}
.plan ul{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px;font-size:15px}
.plan li{display:flex;gap:9px;align-items:flex-start}
.plan li svg{flex:0 0 auto;margin-top:3px}
.yes{color:var(--accent)} .no{color:#94A3B8}

/* ── Виды анализов ── */
.types{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.types a{display:block;padding:13px 16px;background:var(--surface);border:1px solid var(--border);
  border-radius:10px;text-decoration:none;color:var(--fg);font-size:15px}
.types a:hover{border-color:var(--accent);color:var(--accent)}

/* ── FAQ ── */
details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:16px 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600;font-family:var(--font-h);font-size:17px;
  list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:24px;color:var(--primary);line-height:1;flex:0 0 auto}
details[open] summary::after{content:"−"}
details p{margin:12px 0 0;font-size:15px;color:var(--fg-soft)}

/* ── Дисклеймер ── */
.disclaimer{background:#FFFBEB;border:1px solid #FDE68A;border-radius:var(--radius);padding:22px 24px}
.disclaimer p{margin:0;font-size:15px;color:#78350F;max-width:none}
.disclaimer strong{color:#7C2D12}

/* ── Подвал-заглушка ── */
.ftr{background:#0E4A5C;color:#CFF3FB;padding:32px 0;font-size:14px}
.ftr a{color:#A5F3FC}

/* ── Чат-виджет: ЛЕВЫЙ нижний угол ── */
.chat-btn{position:fixed;left:20px;bottom:20px;z-index:var(--z-widget);
  display:flex;align-items:center;gap:10px;min-height:56px;padding:0 20px 0 16px;
  background:var(--primary);color:#fff;border:0;border-radius:28px;cursor:pointer;
  font-family:var(--font-h);font-size:16px;font-weight:600;
  box-shadow:0 6px 20px rgba(8,145,178,.35);transition:background .18s}
.chat-btn:hover{background:#0E7490}
.chat-panel{position:fixed;left:20px;bottom:20px;z-index:var(--z-widget);
  width:380px;max-width:calc(100vw - 40px);height:560px;max-height:calc(100vh - 40px);
  background:#fff;border:1px solid var(--border);border-radius:16px;
  box-shadow:0 12px 40px rgba(22,78,99,.22);display:none;flex-direction:column;overflow:hidden}
.chat-panel[data-open]{display:flex}
@media(max-width:520px){
  .chat-panel{left:0;bottom:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
}
.chat-head{display:flex;align-items:center;gap:10px;padding:14px 16px;
  background:var(--primary);color:#fff;font-family:var(--font-h);font-weight:600}
.chat-head button{margin-left:auto;background:transparent;border:0;color:#fff;cursor:pointer;
  width:44px;height:44px;border-radius:8px;font-size:22px;line-height:1}
.chat-head button:hover{background:rgba(255,255,255,.15)}
.chat-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}
.msg{max-width:85%;padding:11px 14px;border-radius:14px;font-size:15px;line-height:1.5}
.msg-bot{background:var(--muted);color:var(--fg);align-self:flex-start;border-bottom-left-radius:4px}
.msg-me{background:var(--primary);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.chat-foot{display:flex;gap:8px;padding:12px;border-top:1px solid var(--border)}
.chat-foot input{flex:1;min-height:44px;padding:10px 12px;font-size:16px;font-family:inherit;
  border:1px solid #7DD3E8;border-radius:10px}
.chat-foot button{width:44px;height:44px;border:0;border-radius:10px;background:var(--accent);
  color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}
.chat-note{font-size:12px;color:var(--fg-soft);padding:0 12px 10px;margin:0}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* Подстраницы видов анализов */
.crumbs{font-size:14px;color:var(--fg-soft);margin:0 0 14px}
.crumbs a{color:var(--fg-soft)}
.report table td[rowspan]{vertical-align:top;font-weight:600}
.drop-h{font-family:var(--font-h);font-weight:700}
