/* legal.css — стили служебных страниц /politik/, /sog/, /spasibo/, /404.html.
   Подключается на всех четырёх сразу после @head:end (каскад site.css → mobile.css → hz.css → legal.css).
   Спецификация: docs/site-relaunch/redesign-2026-09/INNER-BUILD.md §5. Общие примитивы (.hz-ph, .hz-prose,
   .hz-rows, .hz-panelcard) живут в hz.css. */

/* ===== Заголовок юр-страницы: уменьшенный H1 (§5) ===== */
.hz-legal-ph .hz-h1{font-size:clamp(36px,4.6vw,64px)}

/* ===== Политика/Согласие: оглавление + текст (4/8), Согласие — одна колонка ===== */
.hz-legal__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);
  gap:clamp(32px,4vw,72px);align-items:start;margin-top:clamp(8px,1.4vw,16px)}
.hz-legal__toc{position:sticky;top:100px}
.hz-legal__body{margin:0}

/* details.avz-toc: класс и поведение из старого дизайна (сворачиваемость на мобайле через
   mobile.css, ≤759px) оставлены как есть — здесь только десктопная надстройка: TOC встаёт
   в левую колонку сетки .hz-legal__grid, открыт по умолчанию (атрибут open + скрипт страницы
   закрывает его на ≤759px, поскольку mobile.css ожидает закрытое состояние по умолчанию). */
.avz-toc{margin:0}
@media (min-width:760px){
  .avz-toc{display:block}
  .avz-toc>summary{font-family:var(--hz-text);font-weight:600;font-size:15px;color:var(--hz-ink);
    cursor:pointer;list-style:none;margin:0 0 10px}
  .avz-toc>summary::-webkit-details-marker{display:none}
  .avz-toc ol{margin:0;padding:0;list-style:none;counter-reset:none}
  .avz-toc li{margin:0}
  .avz-toc li+li{margin-top:8px}
  .avz-toc a{font-size:15px;line-height:1.4;color:var(--hz-ink-2);text-decoration:none}
  .avz-toc a:hover{color:var(--hz-ink)}
}
@media (max-width:900px){
  .hz-legal__grid{grid-template-columns:minmax(0,1fr)}
  .hz-legal__toc{position:static}
}

/* ===== Спасибо / 404: код-заголовок слева, не по центру (§5) ===== */
.hz-service{padding:var(--hz-sec-y) 0}
/* main.hz-service сам получает padding-top под шапку из hz.css (body.hz:not(.hz-home) main — специфичнее), и отступ секции
   сверху пропадал: «404»/«Спасибо» прилипали к шапке (25.09.2026) */
body.hz main.hz-service{padding-top:calc(var(--hz-header-h) + var(--hz-sec-y))}
.hz-service__inner{max-width:720px}
.hz-service__code{font-family:var(--hz-display);font-weight:800;font-size:clamp(96px,14vw,180px);
  line-height:.9;color:var(--hz-ink-3);margin:0}
.hz-service__title{margin:12px 0 0}
.hz-service__text{margin:16px 0 0;max-width:34em}
.hz-service__actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:28px}
.hz-service__while{margin-top:clamp(40px,5vw,64px)}
.hz-service__while-title{font-family:var(--hz-text);font-weight:600;font-size:15px;color:var(--hz-ink-3);margin:0 0 4px}
.hz-service__while-row{position:relative;display:flex;width:100%;align-items:baseline;justify-content:space-between;gap:16px;
  padding:10px 34px 10px 0;text-decoration:none;color:inherit;transition:transform .15s}
.hz-service__while-row::after{content:'→';position:absolute;right:0;top:50%;transform:translateY(-50%);
  font:700 20px/1 var(--hz-display,'Sofia Sans Condensed',sans-serif);color:var(--hz-signal);transition:transform .15s}
.hz-service__while-name{font-family:var(--hz-text);font-weight:600;font-size:18px;color:var(--hz-ink)}
.hz-service__while-row:hover{transform:translateX(2px)}
.hz-service__while-row:hover .hz-service__while-name{color:var(--hz-signal-deep)}
.hz-service__while-row:hover::after{transform:translateY(-50%) translateX(4px)}
.hz-service__while-row:focus-visible{outline:3px solid var(--hz-signal);outline-offset:3px;border-radius:4px}
.hz-service__while-cap{font-size:14px;color:var(--hz-ink-3);text-align:right}
.hz-service__more{margin:16px 0 0;font-size:14px;color:var(--hz-ink-3)}
.hz-service__more a{color:var(--hz-ink-2);text-decoration:underline;text-underline-offset:3px}
.hz-service__more a:hover{color:var(--hz-ink)}
/* ≤560: подпись строки — под названием, а не узкой колонкой рядом (название сжималось в 2–3 строки) */
@media (max-width:560px){
  .hz-service__while-row{flex-direction:column;align-items:flex-start;gap:2px}
  .hz-service__while-cap{text-align:left}
}

@media (prefers-reduced-motion:reduce){
  .hz-service__while-row,.hz-service__while-name,.hz-service__while-row::after{transition:none}
}

/* Раздел 6 политики «поле — значение» (25.09.2026: был пятью голыми абзацами «Цель обработки Обработка…») */
.hz-legal__dl{margin:0 0 1em}
.hz-legal__dl dt{font-weight:600;color:var(--hz-ink);margin:18px 0 4px}
.hz-legal__dl dt:first-child{margin-top:0}
.hz-legal__dl dd{margin:0}
