/* Правовые и информационные страницы: документация, оферта, политика, согласие.
   Общая шапка и подвал — nav.css и footer в article.css; здесь только содержимое. */

/* ── заголовок страницы ── */
.page-head{padding:34px 0 6px}
.page-head__title{font-size:clamp(32px,4.5vw,44px); font-weight:800; letter-spacing:-.015em; margin:0}
.page-head__lead{color:var(--ink-soft); margin:14px 0 0; max-width:64ch}
.page-head__meta{display:flex; flex-wrap:wrap; gap:18px; margin-top:16px;
  font-family:var(--font-mono); font-size:13px; color:var(--ink-soft)}

/* ── раскладка «текст + оглавление» ── */
/* оглавление стоит в разметке перед текстом (так удобнее на телефоне),
   поэтому колонки назначаются явно, а не по порядку элементов */
.legal__layout{display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:56px; padding:28px 0 72px}
.legal__body{grid-column:1; grid-row:1; min-width:0; max-width:760px}
.legal__aside{grid-column:2; grid-row:1; min-width:0}
.legal__toc{position:sticky; top:96px; background:var(--paper-deep);
  border:1px solid var(--line-soft); border-radius:12px; padding:20px 22px}
.legal__toc-title{font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-soft); margin:0 0 12px}
.legal__toc ol{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px;
  counter-reset:toc}
.legal__toc a{color:var(--ink-soft); text-decoration:none; font-size:14.5px; line-height:1.4}
.legal__toc a:hover{color:var(--brand)}
/* номер и текст в ряд: перенос длинного пункта уходит под текст, а не под номер */
.legal__toc li{counter-increment:toc; display:flex; gap:8px}
.legal__toc li::before{content:counter(toc) "."; flex:none; min-width:18px; text-align:right;
  color:var(--ink-soft); font-family:var(--font-mono); font-size:13px; line-height:1.5}
@media(max-width:960px){
  .legal__layout{grid-template-columns:minmax(0,1fr); gap:28px; padding-top:18px}
  .legal__aside{grid-column:1; grid-row:1}
  .legal__body{grid-column:1; grid-row:2}
  .legal__toc{position:static}
}

/* ── нумерованные разделы правового текста ── */
.legal__body{counter-reset:sec}
.legal-section{margin:0 0 34px; scroll-margin-top:100px}
.legal-section__title{font-size:20px; font-weight:800; letter-spacing:-.01em; margin:0 0 14px;
  counter-increment:sec}
.legal-section__title::before{content:counter(sec) ". "; color:var(--ink-soft)}
.legal-section p{margin:0 0 12px}
.legal-clause{counter-reset:clause; list-style:none; margin:0 0 12px; padding:0}
.legal-clause > li{counter-increment:clause; position:relative; padding-left:44px; margin-bottom:10px}
.legal-clause > li::before{
  content:counter(sec) "." counter(clause); position:absolute; left:0; top:0;
  font-family:var(--font-mono); font-size:13.5px; color:var(--ink-soft);
}

/* ── врезка «черновик / готовится» ── */
.notice{display:flex; gap:14px; align-items:flex-start; padding:16px 20px; margin:0 0 26px;
  border:1px solid var(--line); border-left:3px solid var(--signal);
  border-radius:0 10px 10px 0; background:var(--paper-deep); font-size:15px}
.notice__label{flex:none; font-family:var(--font-mono); font-size:11.5px; font-weight:600;
  letter-spacing:.06em; text-transform:uppercase; color:var(--signal); padding-top:2px}
.notice p{margin:0; color:var(--ink-soft)}

/* ── таблица реквизитов ── */
.req{border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; margin:0 0 26px}
.req__row{display:grid; grid-template-columns:280px 1fr; gap:18px; padding:13px 20px;
  border-bottom:1px solid var(--line-soft); font-size:15.5px}
.req__row:last-child{border-bottom:none}
.req__row:nth-child(odd){background:var(--paper-deep)}
.req__k{color:var(--ink-soft)}
.req__v{font-weight:500}
.req__v--mono{font-family:var(--font-mono); font-size:14.5px}
@media(max-width:640px){.req__row{grid-template-columns:1fr; gap:2px}}

/* ── список документов ── */
.doclist{display:flex; flex-direction:column; gap:8px; margin:0 0 26px}
.doc{display:flex; align-items:center; gap:14px; padding:15px 18px;
  border:1px solid var(--line-soft); border-radius:10px; font-size:15.5px; font-weight:500;
  color:var(--ink); text-decoration:none; transition:border-color .15s, background .15s}
a.doc:hover{border-color:var(--brand); background:rgba(37,99,235,.03)}
.doc__ic{flex:none; width:34px; height:34px; border-radius:8px; display:flex; align-items:center;
  justify-content:center; font-family:var(--font-mono); font-size:10.5px; font-weight:600;
  background:rgba(37,99,235,.08); color:var(--brand); border:1px solid rgba(37,99,235,.2)}
.doc--pending{color:var(--ink-soft)}
.doc--pending .doc__ic{background:var(--paper-deep); color:var(--ink-soft); border-color:var(--line)}
.doc__tag{margin-left:auto; font-size:12px; color:var(--ink-soft); background:var(--paper-deep);
  border:1px solid var(--line-soft); border-radius:20px; padding:3px 12px; white-space:nowrap}

/* ── коды ОКВЭД ── */
.okved{display:flex; flex-direction:column; gap:6px; font-size:15.5px; margin:0 0 26px}
.okved__row{display:flex; gap:14px}
.okved__code{font-family:var(--font-mono); font-size:14px; color:var(--brand);
  min-width:64px; font-weight:600}

.page-section{padding:14px 0 8px}
.page-section__title{font-size:24px; font-weight:800; letter-spacing:-.01em; margin:0 0 20px;
  scroll-margin-top:100px}
.page-section h3{font-size:17px; font-weight:700; margin:26px 0 10px}
.page-note{font-size:14px; color:var(--ink-soft); margin-top:14px}

/* ── Правовой документ, собранный из markdown (legal/*.md → tools/build_legal.py).
   Нумерация пунктов идёт в самом тексте документа, поэтому счётчики CSS здесь
   не применяются — иначе номера задвоятся. ── */
.legal-doc{font-size:16px; line-height:1.62}
.legal-doc__subtitle{font-size:17px; color:var(--ink-soft); margin:0 0 20px}
.legal-doc__h2{font-size:20px; font-weight:800; letter-spacing:-.01em;
  margin:34px 0 14px; scroll-margin-top:100px}
.legal-doc__h2:first-child{margin-top:0}
.legal-doc p{margin:0 0 12px}
.legal-doc__clause{margin:0 0 12px}
.legal-doc b{font-weight:700}

.legal-doc__letters,.legal-doc__list{margin:0 0 14px; padding:0; list-style:none}
.legal-doc__letters li,.legal-doc__list li{margin:0 0 8px; padding-left:22px; position:relative}
.legal-doc__list li::before{content:"—"; position:absolute; left:0; color:var(--ink-soft)}

.legal-doc__table-wrap{overflow-x:auto; margin:0 0 18px}
.legal-doc__table{border-collapse:collapse; width:100%; font-size:15px}
.legal-doc__table th,.legal-doc__table td{border:1px solid var(--line);
  padding:10px 13px; text-align:left; vertical-align:top}
.legal-doc__table th{background:var(--paper-deep); font-weight:700; font-size:13.5px}
/* Ширину колонок распределяет браузер: в первой встречаются и порядковые
   номера, и полные реквизиты организаций — любое жёсткое значение портит
   одну из таблиц. Запрет переноса тоже не ставим: он растягивал таблицу. */

/* ── приложение: широкая справочная таблица во всю ширину контейнера ── */
.legal-appendix{padding:0 0 72px}
.legal-appendix .legal-doc__h2{margin-top:0}
.legal-appendix .legal-doc__table{font-size:13.5px}
.legal-appendix .legal-doc__table th,
.legal-appendix .legal-doc__table td{padding:8px 10px}
/* колонка с номером — по содержимому, а не наравне с текстовыми */
.legal-appendix .legal-doc__table td:first-child,
.legal-appendix .legal-doc__table th:first-child{width:1%; white-space:nowrap; text-align:center}
.legal-doc__h3{font-size:17px; font-weight:700; margin:26px 0 12px; scroll-margin-top:100px}
