/* ЛОКАЛЬНЫЙ СЛОЙ — правовой документ.
   Ничего, кроме текста: заголовок, строка реквизитов и две колонки —
   сам документ и оглавление. Такие страницы открывают, чтобы найти пункт,
   а не чтобы рассматривать вёрстку. */

.zw-doc { padding-top: var(--sp-7); padding-bottom: var(--section-y); }

.zw-doc__h1 {
  margin: 0;
  max-width: 18ch;
  font-family: var(--font-head);
  font-size: var(--size-h2);
  font-weight: 700;
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-tight);
}

/* Реквизиты одной строкой под заголовком: чьё это обязательство — видно
   до первой буквы текста. Разделяются хайрлайном, а не запятыми. */
.zw-doc__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0 var(--sp-4);
  margin: var(--sp-4) 0 0;
  font-size: 13px;
  color: var(--ink-body);
}
.zw-doc__meta span { padding-inline-end: var(--sp-4); border-inline-end: 1px solid var(--line); }
.zw-doc__meta span:last-child { padding-inline-end: 0; border-inline-end: 0; }

.zw-doc__body {
  display: grid;
  gap: var(--sp-7) 64px;
  margin-top: var(--sp-8);
  padding-top: var(--sp-6);
  border-top: 1px solid var(--line);
}

.zw-doc__text { max-width: 720px; }
.zw-doc__text h2 {
  margin: var(--sp-7) 0 var(--sp-4);
  font-family: var(--font-head);
  font-size: 22px;
  font-weight: 700;
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-tight);
}
.zw-doc__text h2:first-child { margin-top: 0; }
.zw-doc__text p { margin: 0 0 var(--sp-4); line-height: 1.65; color: var(--ink-body); }
.zw-doc__text p:last-child { margin-bottom: 0; }

/* Оглавление: пункты нумерует сам документ, поэтому список без маркеров. */
.zw-doc__toc { align-self: start; }
.zw-doc__toc-list { margin: var(--sp-4) 0 0; padding: 0; list-style: none; }
.zw-doc__toc-list li + li { margin-top: var(--sp-3); }
.zw-doc__toc-list a { font-size: 14px; line-height: 1.45; color: var(--ink-body); }
.zw-doc__toc-list a:hover { color: var(--accent-ink); }

.zw-doc__source { margin-top: var(--sp-6); }

@media (min-width: 1000px) {
  .zw-doc__body { grid-template-columns: minmax(0, 1fr) 420px; }
}
