/* Общий стиль юридических страниц.
   Палитра и базовые утилиты — в tokens.css (единый источник для всех страниц). */
@import url("/static/tokens.css");

body {
  font-size:16px; line-height:1.7;
}

/* Шапка юридических страниц */
.topbar { border-bottom:1px solid var(--line); background:var(--bg); }
.topbar .in { max-width:820px; margin:0 auto; padding:0 24px; height:60px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.topbar a.back { color:var(--ink-soft); text-decoration:none; font-size:14px; }
.topbar a.back:hover { color:var(--ink); }

main { max-width:820px; margin:0 auto; padding:48px 24px 88px; }
h1 { font-size:clamp(26px,4vw,36px); line-height:1.15; letter-spacing:-.03em; margin:0 0 10px; }
.meta { color:var(--ink-faint); font-size:13.5px; margin:0 0 36px; }
h2 { font-size:20px; letter-spacing:-.02em; margin:40px 0 14px; padding-top:10px; border-top:1px solid var(--line); }
h2:first-of-type { border-top:0; padding-top:0; }
h3 { font-size:16px; margin:26px 0 10px; }
p, li { color:var(--ink-soft); }
p { margin:0 0 14px; }
ul, ol { margin:0 0 16px; padding-left:22px; }
li { margin-bottom:8px; }
strong { color:var(--ink); font-weight:600; }
table { width:100%; border-collapse:collapse; margin:0 0 20px; font-size:14.5px; }
th, td { text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top; color:var(--ink-soft); }
th { color:var(--ink); font-weight:600; font-size:13px; letter-spacing:.03em; text-transform:uppercase; }
/* Для скринридеров: связываем заголовки колонок с ячейками. */
th[scope] { /* noop, атрибут уже семантичный */ }

.callout {
  background:var(--panel); border:1px solid var(--line); border-left:3px solid var(--accent);
  border-radius:11px; padding:16px 18px; margin:0 0 26px;
}
.callout p:last-child { margin-bottom:0; }
.callout.warn { border-left-color:var(--warn); }
.toc { background:var(--panel); border:1px solid var(--line); border-radius:13px; padding:18px 22px; margin:0 0 36px; }
.toc h4 { margin:0 0 12px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint); }
.toc ol { margin:0; padding-left:20px; }
.toc a { text-decoration:none; }
.toc a:hover { text-decoration:underline; }

.req { font-size:14.5px; }
.req td:first-child { color:var(--ink-faint); width:190px; }
.fill { border-bottom:1px dashed var(--ink-faint); color:var(--ink-faint); }

footer { border-top:1px solid var(--line); margin-top:56px; padding:28px 0 48px; }
footer .in { max-width:820px; margin:0 auto; padding:0 24px; font-size:13px; color:var(--ink-faint); }
footer a { color:var(--ink-soft); text-decoration:none; margin-right:16px; }
footer a:hover { color:var(--ink); }
