.legal-page { max-width: calc(760px + 2 * var(--ds-shell-pad, 48px)); margin: 0 auto; padding: 48px var(--ds-shell-pad, 48px) 96px; }
.legal-page__back { display: inline-flex; align-items: center; min-height: 44px; color: var(--blue-core, #2B55C8); text-decoration: none; font: 500 14px/1.4 var(--ds-font-text, "Golos Text", sans-serif); margin-bottom: 16px; }
.legal-page h1 { font: 800 clamp(29px, 3.1vw, 40px)/1.15 var(--ds-font-display, "Playfair Display", serif); margin: 0 0 8px; }
.legal-page__meta { color: var(--ink-soft, #545D70); font-size: 14px; margin: 0 0 32px; }
.legal-page p, .legal-page li { font-size: 16px; line-height: 1.6; color: var(--ink, #232E47); }
.legal-page ol, .legal-page ul { padding-left: 24px; }
.legal-page li { margin-bottom: 8px; }
@media (max-width: 640px) { .legal-page { padding: 32px var(--ds-shell-pad, 20px) 64px; } }

/* --- Длинные правовые документы (оферта, политика, согласия) ---------------
   Раньше на этих страницах жили короткие болванки, теперь — многостраничные
   документы с нумерацией разделов и таблицами. h2 остаётся «надзаголовком»
   раздела, но перестаёт быть капсом: «7. ПЕРЕДАЧА ПЕРСОНАЛЬНЫХ ДАННЫХ ТРЕТЬИМ
   ЛИЦАМ» капсом читается тяжело и на мобильном занимает три строки. */
.legal-page h2 { font: 600 21px/1.3 var(--ds-font-display, "Playfair Display", serif); text-transform: none; letter-spacing: 0; color: var(--ink, #232E47); margin: 40px 0 12px; }
.legal-page h3 { font: 600 17px/1.35 var(--ds-font-text, "Golos Text", sans-serif); color: var(--ink, #232E47); margin: 28px 0 8px; }
.legal-page h4 { font: 600 15px/1.4 var(--ds-font-text, "Golos Text", sans-serif); color: var(--ink-soft, #545D70); margin: 20px 0 8px; }
.legal-page hr { border: 0; border-top: 1px solid var(--line, #E3D9C2); margin: 32px 0; }

/* Таблицы шире колонки текста прокручиваются внутри себя — страница не должна
   ездить горизонтально (правило проекта «один блок = один экран»). */
.legal-table { overflow-x: auto; margin: 16px 0 24px; -webkit-overflow-scrolling: touch; }
.legal-page table { border-collapse: collapse; width: 100%; min-width: 460px; font-size: 15px; }
.legal-page th, .legal-page td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line, #E3D9C2); line-height: 1.5; }
.legal-page th { font-weight: 600; color: var(--ink-soft, #545D70); background: var(--cream-deep, #F6EFDD); }
.legal-page td { color: var(--ink, #232E47); }

/* Врезка — то, на что клиент должен обратить внимание особо: необратимые
   действия, ключевые сроки. */
.legal-page blockquote { margin: 20px 0; padding: 14px 18px; border-left: 3px solid var(--blue-core, #2B55C8); background: var(--cream-deep, #F6EFDD); border-radius: 0 8px 8px 0; }
.legal-page blockquote > :first-child { margin-top: 0; }
.legal-page blockquote > :last-child { margin-bottom: 0; }
.legal-page blockquote h2, .legal-page blockquote h3 { margin-top: 0; font-size: 17px; }

.legal-page code { font-size: 14px; background: var(--cream-deep, #F6EFDD); padding: 1px 5px; border-radius: 4px; }
.legal-page a { color: var(--blue-core, #2B55C8); }

@media (max-width: 640px) {
  .legal-page h2 { font-size: 19px; margin-top: 32px; }
  .legal-page table { font-size: 14px; }
}

/* Форма обращения субъекта ПДн (/privacy/request). Поля крупные: сюда приходят
   в стрессе — «удалите мои данные» пишут не от хорошей жизни. */
.pdn-form { display: grid; gap: 6px; margin: 16px 0 8px; max-width: 640px; }
.pdn-form label { font-size: 14px; color: var(--ink-soft, #545D70); margin-top: 10px; }
.pdn-form label em { color: #B3261E; font-style: normal; }
.pdn-form input, .pdn-form select, .pdn-form textarea {
  font: 400 16px/1.4 var(--ds-font-text, "Golos Text", sans-serif);
  padding: 10px 12px; border: 1px solid var(--line, #E3D9C2); border-radius: 8px;
  background: #fff; color: var(--ink, #232E47); width: 100%;
}
.pdn-form textarea { resize: vertical; }
.pdn-form .btn-pri { margin-top: 16px; justify-self: start; }
.pdn-hint { font-size: 13px; color: var(--ink-soft, #545D70); margin: 2px 0 0; }
.pdn-status { margin: 12px 0 0; padding: 10px 14px; border-radius: 8px; font-size: 15px; }
.pdn-status--ok { background: #EAF6EC; color: #1E5B2A; }
.pdn-status--error { background: #FDECEA; color: #8C1D18; }
