/* ============================================================
   ScanChamp — 05 · LEGAL
   Стили внутренних текстовых страниц (Privacy Policy, Terms).
   Подключается только на legal-страницах, после 04-responsive.css.
   ============================================================ */

/* ---------- Шапка страницы ---------- */
.legal-hero{position:relative;padding:54px 0 40px;overflow:hidden;background:var(--bg-soft);border-bottom:1px solid var(--hairline);}
.legal-hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(820px 420px at 88% -10%, var(--blue-50) 0%, rgba(234,244,255,0) 62%);}
.legal-hero .wrap{position:relative;z-index:1;}
.legal-back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--slate);margin-bottom:22px;transition:color .18s,gap .18s;}
.legal-back:hover{color:var(--blue-600);gap:10px;}
.legal-back svg{width:16px;height:16px;transform:rotate(180deg);}
.legal-hero h1{font-family:var(--font-display);font-weight:800;letter-spacing:-.025em;line-height:1.04;
  font-size:clamp(34px,4.4vw,52px);margin:0;}
.legal-updated{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:14px;font-weight:600;
  color:var(--blue-600);background:#fff;border:1px solid var(--gray-200);box-shadow:var(--shadow-xs);
  padding:7px 14px;border-radius:var(--r-pill);}
.legal-updated svg{width:15px;height:15px;color:var(--blue-500);}

/* ---------- Раскладка: оглавление + контент ---------- */
.legal-layout{display:grid;grid-template-columns:264px 1fr;gap:56px;align-items:start;padding:64px 0 96px;}

/* Оглавление (sticky) */
.legal-toc{position:sticky;top:96px;}
.legal-toc .toc-label{font-family:var(--font-ui);font-weight:700;font-size:12px;letter-spacing:.10em;
  text-transform:uppercase;color:var(--quiet);margin:0 0 14px;padding-left:14px;}
.legal-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;
  max-height:calc(100vh - 150px);overflow-y:auto;scrollbar-width:thin;}
.legal-toc a{display:block;font-size:14px;line-height:1.35;color:var(--slate);padding:8px 14px;border-radius:9px;
  border-left:2px solid transparent;transition:color .16s,background .16s,border-color .16s;}
.legal-toc a:hover{color:var(--blue-600);background:var(--blue-50);}
.legal-toc a.active{color:var(--blue-600);background:var(--blue-50);border-left-color:var(--blue-500);font-weight:600;}

/* ---------- Тело документа ---------- */
.legal-body{max-width:760px;font-size:16.5px;line-height:1.72;color:var(--graphite);}
.legal-intro{margin-bottom:8px;}
.legal-intro p{font-size:18px;line-height:1.66;color:var(--slate);margin:0 0 16px;}

.legal-body section{padding-top:14px;}
.legal-body section + section{margin-top:18px;}
.legal-body h2{font-family:var(--font-display);font-weight:700;font-size:25px;letter-spacing:-.015em;
  color:var(--ink);line-height:1.2;margin:30px 0 16px;scroll-margin-top:96px;}
.legal-body h2 .n{color:var(--blue-500);font-variant-numeric:tabular-nums;margin-right:10px;}
.legal-body h3{font-family:var(--font-display);font-weight:600;font-size:18px;color:var(--ink);
  margin:24px 0 10px;letter-spacing:-.01em;}
.legal-body p{margin:0 0 16px;text-wrap:pretty;}
.legal-body a{color:var(--blue-600);font-weight:600;text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:var(--blue-200);transition:text-decoration-color .18s;}
.legal-body a:hover{text-decoration-color:var(--blue-500);}

.legal-body ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px;}
.legal-body ul li{position:relative;padding-left:28px;}
.legal-body ul li::before{content:"";position:absolute;left:7px;top:.62em;width:7px;height:7px;border-radius:50%;
  background:var(--blue-300);box-shadow:0 0 0 4px var(--blue-50);}

/* ---------- Карточки (мета вверху + контакты внизу) ---------- */
.legal-card{background:#fff;border:1px solid var(--border-card);border-radius:var(--r-xl);
  box-shadow:var(--shadow-card);padding:26px 28px;margin:0 0 36px;}
.legal-meta{display:grid;grid-template-columns:auto 1fr;gap:13px 22px;}
.legal-meta dt{font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--quiet);
  white-space:nowrap;align-self:center;}
.legal-meta dd{margin:0;font-size:15.5px;color:var(--ink);font-weight:500;}
.legal-meta dd a{color:var(--blue-600);font-weight:600;}

.legal-contact{margin-top:14px;background:var(--bg-soft);border-color:var(--blue-100);}
.legal-contact .co-name{font-family:var(--font-display);font-weight:700;font-size:18px;color:var(--ink);margin:0 0 8px;}
.legal-contact p{margin:0 0 6px;font-size:15.5px;color:var(--slate);}
.legal-contact a{color:var(--blue-600);font-weight:600;}

/* ---------- Адаптив ---------- */
@media(max-width:900px){
  .legal-layout{grid-template-columns:1fr;gap:0;padding:40px 0 72px;}
  .legal-toc{position:static;margin-bottom:36px;padding:20px;background:#fff;border:1px solid var(--border-card);
    border-radius:var(--r-lg);box-shadow:var(--shadow-xs);}
  .legal-toc ol{max-height:none;}
  .legal-toc .toc-label{padding-left:0;}
}
@media(max-width:620px){
  .legal-hero{padding:32px 0 28px;}
  .legal-body{font-size:16px;}
  .legal-body h2{font-size:21px;}
  .legal-card{padding:20px;}
  .legal-meta{grid-template-columns:1fr;gap:3px 0;}
  .legal-meta dt{margin-top:11px;}
  .legal-meta dt:first-child{margin-top:0;}
}
