/* ─────────────────────────────────────────────────────────
   Правовые документы KADR.
   Единая гарнитура, сплошная нумерация, ровный вертикальный ритм —
   так набирают договоры, и здесь это уместно.
   ───────────────────────────────────────────────────────── */

.док{
  max-width:78ch;
  margin-inline:auto;
  padding-block:var(--s8) var(--s10);
}

.док h1{
  font-size:clamp(1.9rem,4.4vw,3rem);
  line-height:1.05;
  max-width:22ch;
  margin-top:var(--s3);
}

.док .дата{
  margin-top:var(--s4);
  font-size:.8125rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--dim);
  font-variant-numeric:tabular-nums;
}

/* переходы между документами */
.соседи{
  display:flex; flex-wrap:wrap; gap:var(--s2);
  margin-top:var(--s6);
  padding-bottom:var(--s6);
  border-bottom:1px solid var(--line-2);
}
.соседи a{
  font-size:.875rem;
  padding:7px var(--s4);
  border:1px solid var(--line);
  color:var(--dim);
  transition:border-color .2s var(--ease), color .2s var(--ease);
}
.соседи a:hover{ border-color:var(--ink); color:var(--ink); }

/* ─────────── разделы и пункты ─────────── */
.раздел{ margin-top:var(--s8); }

.раздел h2{
  font-family:var(--text);
  font-size:1.125rem;
  font-weight:600;
  letter-spacing:0;
  line-height:1.4;
  text-transform:uppercase;
  padding-bottom:var(--s3);
  border-bottom:1px solid var(--line);
}
.раздел h2 .ном{
  display:inline-block;
  min-width:2.2em;
  color:var(--acc);
  font-variant-numeric:tabular-nums;
}

/* Пункт: номер висит на поле, текст выровнен по единой левой границе.
   Так документ читается как договор, а не как статья. */
.п{
  display:grid;
  grid-template-columns:4.2em 1fr;
  gap:0 var(--s2);
  margin-top:var(--s4);
  font-size:.9375rem;
  line-height:1.62;
  color:var(--ink-2);
  text-align:justify;
  hyphens:auto;
}
@media (max-width:640px){
  .п{ grid-template-columns:3.4em 1fr; text-align:left; }
}
.пн{
  color:var(--dim);
  font-variant-numeric:tabular-nums;
  font-size:.875rem;
  padding-top:.12em;
}
.п b{ color:var(--ink); font-weight:600; }

/* место, где реквизиты ещё не определены */
.пусто{
  color:var(--dim);
  border-bottom:1px dashed var(--line-2);
}

.конец{
  margin-top:var(--s9);
  padding-top:var(--s5);
  border-top:1px solid var(--line-2);
  font-size:.875rem;
  color:var(--dim);
  max-width:70ch;
}

/* текст пункта — одна ячейка сетки; иначе <b> и текстовые узлы
   становятся отдельными ячейками и абзац рассыпается по словам */
.пт{ display:block; min-width:0; }


/* ─────────── документация API ───────────
   Отличается от правовых документов: там сплошная нумерация и узкая
   колонка, здесь нужны широкие таблицы и блоки кода. */
.док-апи{ max-width:min(94vw, 62rem); }

.док-апи h1{
  font-size:clamp(2rem,5vw,3.4rem);
  margin-top:var(--s7);
}
.док-апи h2{
  font-family:var(--disp); font-weight:700;
  font-size:clamp(1.4rem,3vw,2rem); letter-spacing:-.03em;
  text-transform:none; line-height:1.15;
  margin-top:var(--s8); padding-bottom:var(--s3);
  border-bottom:1px solid var(--line-2);
}
.док-апи h3{
  font-size:1.125rem; font-weight:600;
  margin-top:var(--s6);
}
.док-апи p{ margin-top:var(--s4); color:var(--ink-2); line-height:1.65; }
.док-апи hr.док-черта{
  border:0; border-top:1px solid var(--line);
  margin-block:var(--s7);
}

.док-список{ margin-top:var(--s4); display:grid; gap:var(--s3); }
.док-список li{
  position:relative; padding-left:var(--s5);
  color:var(--ink-2); line-height:1.6;
}
.док-список li::before{
  content:''; position:absolute; left:0; top:.62em;
  width:6px; height:6px; background:var(--acc);
}
ol.док-список{ counter-reset:пункт; }
ol.док-список li::before{
  counter-increment:пункт; content:counter(пункт);
  width:auto; height:auto; background:none;
  color:var(--acc); font-variant-numeric:tabular-nums;
  font-size:.875rem; top:0;
}

.док-код{
  margin-top:var(--s4); padding:var(--s5);
  background:var(--paper-2); border:1px solid var(--line);
  overflow-x:auto; font-size:.875rem; line-height:1.6;
}
.док-код code{
  font-family:ui-monospace,"SF Mono",Menlo,monospace;
  white-space:pre;
}
.док-апи p code,.док-апи li code,.док-апи td code{
  font-family:ui-monospace,"SF Mono",Menlo,monospace;
  font-size:.875em; padding:1px 5px;
  background:var(--paper-2); border:1px solid var(--line);
}

/* Таблицы шире колонки прокручиваются внутри себя, а не тянут страницу. */
.док-таблица{ margin-top:var(--s4); overflow-x:auto; }
.док-таблица table{
  width:100%; border-collapse:collapse;
  font-size:.9375rem;
}
.док-таблица th{
  text-align:left; font-weight:600; white-space:nowrap;
  padding:var(--s3) var(--s4) var(--s3) 0;
  border-bottom:1px solid var(--line-2);
  font-size:.75rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--dim);
}
.док-таблица td{
  padding:var(--s3) var(--s4) var(--s3) 0;
  border-bottom:1px solid var(--line);
  color:var(--ink-2); vertical-align:top;
}
.док-таблица tr:hover td{ background:color-mix(in srgb,var(--ink) 3%,transparent); }
.док-апи .cta{ margin-top:var(--s5); }
