/* legal.css - стили юридических и контентных страниц (policy, consent, terms, offer,
   guarantees, cookies, pep-agreement, about, how, pricing, faq, contacts).
   Наследует палитру/шрифты из tokens.css. Длинные читаемые тексты, оглавление, таблицы. */

.legal-page { background: var(--bg); min-height: 100svh; display: flex; flex-direction: column; }
.legal-main { flex: 1 0 auto; width: 100%; max-width: 860px; margin: 0 auto; padding: 32px 20px 64px; box-sizing: border-box; }

.legal-head { margin: 0 0 8px; }
.legal-head h1 { font-family: var(--serif); font-size: var(--fs-h1); line-height: var(--lh-head); font-weight: 600; color: var(--ink); margin: 0 0 12px; }
.legal-meta { font-size: var(--fs-small); color: var(--ink-2); margin: 0 0 8px; }

.legal-rule { border: 0; border-top: 1px solid var(--line); margin: 24px 0 28px; }

.legal-section { margin: 0 0 28px; scroll-margin-top: 80px; }
.legal-section h2 { font-family: var(--serif); font-size: var(--fs-h2); line-height: var(--lh-head); font-weight: 600; color: var(--ink); margin: 0 0 12px; }
.legal-section h3 { font-family: var(--sans); font-size: var(--fs-h3); font-weight: 600; color: var(--ink); margin: 20px 0 8px; }
.legal-section p, .legal-section li { font-size: var(--fs-body); line-height: 1.6; color: var(--ink); }
.legal-section p { margin: 0 0 12px; }
.legal-section ul, .legal-section ol { margin: 0 0 14px; padding-left: 1.4rem; display: grid; gap: 7px; }
.legal-section strong { font-weight: 600; }
.legal-section a { color: var(--teal); }/* Гармошка вопросов на /faq/ - тот же компонент .faq-list/.faq-item, что на лендингах.
   Обертка НЕ .legal-section: правило .legal-section p (legal.css грузится после
   components.css) перебило бы типографику ответов внутри .faq-item__a. */

.legal-table-wrap { overflow-x: auto; overflow-y: hidden; margin: 0 0 20px; -webkit-overflow-scrolling: touch; }
.legal-table { width: 100%; border-collapse: collapse; font-size: var(--fs-small); min-width: 520px; }
.legal-table th, .legal-table td { text-align: left; padding: 10px 12px; border: 1px solid var(--line); vertical-align: top; line-height: 1.45; color: var(--ink); }
.legal-table th { background: var(--surface); font-weight: 600; }

.legal-note { background: var(--sage-bg); border-left: 3px solid var(--sage); border-radius: 0 8px 8px 0; padding: 14px 16px; margin: 0 0 20px; font-size: var(--fs-small); line-height: 1.55; color: var(--ink); }/* Шапка на юрдоках/главной - единый компонент .site-header (components.css), как на лендингах. *//* Футер и значок возраста (.age-badge) - единый компонент .site-footer (components.css). */

.legal-page a:focus-visible { outline: var(--focus-width) solid var(--focus-ring); outline-offset: var(--focus-offset); border-radius: 3px; }

@media (max-width: 600px) { .legal-main { padding: 24px 16px 48px; } .legal-head h1 { font-size: 1.75rem; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }/* legal-document typography alignment *//* Scoped only to published legal documents. Brand palette, font families and font sizes are unchanged. */

.legal-page.legal-document .legal-main > p {
  margin: 0 0 12px;
  line-height: 1.65;
  text-indent: 0;
  overflow-wrap: anywhere;
}
.legal-page.legal-document .legal-section {
  margin: 0;
}
.legal-page.legal-document .legal-section + .legal-section {
  margin-top: 32px;
}
.legal-page.legal-document .legal-section h2 {
  margin: 0 0 12px;
}
.legal-page.legal-document .legal-section h3 {
  margin: 24px 0 8px;
}
.legal-page.legal-document .legal-section p {
  margin: 0 0 12px;
  line-height: 1.65;
  text-indent: 0;
  overflow-wrap: anywhere;
}
.legal-page.legal-document .legal-section ul,
.legal-page.legal-document .legal-section ol {
  display: block;
  margin: 0 0 16px;
  padding-left: 24px;
}
.legal-page.legal-document .legal-section li {
  margin: 0 0 8px;
  line-height: 1.65;
  text-indent: 0;
}
.legal-page.legal-document .legal-section li:last-child {
  margin-bottom: 0;
}
.legal-page.legal-document .legal-section p + ul,
.legal-page.legal-document .legal-section p + ol {
  margin-top: -4px;
}
.legal-page.legal-document .legal-table-wrap {
  margin: 0 0 16px;
}
.legal-page.legal-document .legal-table th,
.legal-page.legal-document .legal-table td {
  overflow-wrap: normal;
  word-break: normal;
}
.legal-page.legal-document .legal-table th:first-child,
.legal-page.legal-document .legal-table td:first-child {
  white-space: nowrap;
}/* Hyphen markers for sub-items in the public offer. */

.legal-page.legal-document .legal-section ul.legal-dash-list {
  list-style: none;
  padding-left: 0;
}
.legal-page.legal-document .legal-section ul.legal-dash-list > li {
  position: relative;
  padding-left: 1.15em;
}
.legal-page.legal-document .legal-section ul.legal-dash-list > li::before {
  content: "-";
  position: absolute;
  left: 0;
}/* Symmetric vertical spacing for service and legal content pages.
   Bottom gap equals the top gap on desktop and mobile. */

.balanced-page-spacing .legal-main {
  padding-bottom: 32px;
}
.balanced-page-spacing .legal-main > :last-child,
.balanced-page-spacing .legal-main > :last-child > :last-child {
  margin-bottom: 0;
}
@media (max-width: 600px) {
  .balanced-page-spacing .legal-main {
    padding-bottom: 24px;
  }
}/* Hyphen markers for all textual sub-item lists. Component/navigation lists keep their own styling. */

.legal-section ul {
  list-style: none;
  padding-left: 0;
}
.legal-section ul > li {
  position: relative;
  padding-left: 1.15em;
}
.legal-section ul > li::before {
  content: "-";
  position: absolute;
  left: 0;
}/* Dash-list alignment: the hyphen starts flush with the main text column. */

.legal-page .legal-section ul,
.legal-page.legal-document .legal-section ul,
.legal-page.legal-document .legal-section ul.legal-dash-list {
  margin-left: 0;
  padding-left: 0;
}/* ── STABILITY PASS v55: readable tables on narrow screens ── */

.legal-table-wrap {
  max-width: 100%;
  overscroll-behavior-inline: contain;
  scrollbar-gutter: auto;
  border-radius: var(--radius-sm);
}
@media (max-width: 640px) {
  .legal-table-wrap {
    border: 1px solid var(--line);
    background: var(--surface);
  }
  .legal-table { margin: -1px; }
}/* CONSISTENCY PASS v58 - интерактивность юридических ссылок без изменения содержания. */

.legal-page a { transition: color calc(140ms * var(--motion)) ease, background-color calc(140ms * var(--motion)) ease, transform calc(120ms * var(--motion)) ease; }
@media (hover:hover) and (pointer:fine) {
}/* Keyboard-accessible horizontal table viewport. */

.legal-table-wrap:focus-visible {
  outline: var(--focus-width) solid var(--focus-ring);
  outline-offset: var(--focus-offset);
}
