/* ============================================================
   makes. — правовые страницы (политика, соглашение, согласие,
   реквизиты). Только типографика документа: всё цветовое и
   размерное берётся из токенов styles.css.
   ============================================================ */

.doc-hero { padding-block: clamp(120px, 15vw, 200px) clamp(32px, 5vw, 56px); }
.doc-hero .kicker {
  font-size: var(--t-eyebrow); font-weight: 600; letter-spacing: .14em;
  text-transform: uppercase; color: var(--fg-3); display: block;
}
.doc-hero h1 {
  margin-top: 18px;
  font-size: clamp(1.9rem, 4.4vw, 3.2rem); font-weight: 600;
  line-height: 1.06; letter-spacing: -0.03em; text-wrap: balance;
}
.doc-hero .doc-meta {
  margin-top: 22px; display: flex; flex-wrap: wrap; gap: 8px 24px;
  font-size: 14px; color: var(--fg-3);
}

/* ---- Тело документа: узкая мера строки, крупный интерлиньяж ---- */
.doc { max-width: 760px; padding-bottom: clamp(80px, 10vw, 140px); }
.doc > section { padding-top: clamp(40px, 5vw, 64px); }
.doc > section:first-child { padding-top: clamp(24px, 3vw, 36px); }

.doc h2 {
  font-size: clamp(1.15rem, 2.2vw, 1.5rem); font-weight: 600;
  letter-spacing: -0.02em; line-height: 1.25; margin-bottom: 18px;
  text-wrap: balance;
}
.doc h2 .num { color: var(--fg-3); font-variant-numeric: tabular-nums; margin-right: .5em; }
.doc h3 { font-size: 1rem; font-weight: 600; margin: 26px 0 10px; letter-spacing: -0.01em; }

.doc p, .doc li { font-size: 16px; line-height: 1.65; color: var(--fg-2); text-wrap: pretty; }
.doc p + p { margin-top: 14px; }
.doc strong { color: var(--fg); font-weight: 600; }
.doc a:not(.btn) { color: var(--fg); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--line-2); transition: text-decoration-color .2s; }
.doc a:not(.btn):hover { text-decoration-color: var(--fg); }

/* Нумерованные пункты — сквозная нумерация внутри раздела */
.doc ol.pts { counter-reset: pt; margin-top: 8px; }
.doc ol.pts > li { counter-increment: pt; position: relative; padding-left: 46px; margin-top: 14px; }
.doc ol.pts > li::before {
  content: counter(pt) "."; position: absolute; left: 0; top: 0;
  color: var(--fg-3); font-variant-numeric: tabular-nums; font-size: 15px;
}
.doc ol.pts[data-prefix] > li::before { content: attr(data-prefix) counter(pt) "."; }

/* Маркированные перечни */
.doc ul.dots { margin-top: 10px; }
.doc ul.dots > li { position: relative; padding-left: 26px; margin-top: 10px; }
.doc ul.dots > li::before {
  content: ""; position: absolute; left: 8px; top: .72em;
  width: 4px; height: 4px; border-radius: 50%; background: var(--fg-3);
}

/* ---- Карточка реквизитов ---- */
.req { border-radius: 22px; padding: clamp(22px, 3vw, 34px); margin-top: 26px; }
.req + .req { margin-top: 18px; }
.req__title {
  font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase;
  color: var(--fg-3); margin-bottom: 18px;
}
.req__grid { display: grid; grid-template-columns: minmax(150px, 210px) 1fr; gap: 14px 28px; }
.req__grid dt { font-size: 14px; color: var(--fg-3); line-height: 1.5; }
.req__grid dd { margin: 0; font-size: 15.5px; color: var(--fg); line-height: 1.5; overflow-wrap: anywhere; }
.req__grid dd .mono { font-variant-numeric: tabular-nums; letter-spacing: .01em; }
@media (max-width: 620px) {
  .req__grid { grid-template-columns: 1fr; gap: 4px; }
  .req__grid dd { margin-bottom: 14px; }
}

/* Копируемый блок реквизитов одной строкой */
.req__copy { margin-top: 22px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.req__copy .btn { height: 42px; padding: 0 20px; font-size: 14px; }
.req__copy .hint { font-size: 13.5px; color: var(--fg-3); }

/* ---- Оглавление ---- */
.toc { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 22px; margin-top: 8px; }
.toc__t { font-size: 12.5px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-3); margin-bottom: 14px; }
.toc ol { counter-reset: toc; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 28px; }
.toc li { counter-increment: toc; }
.toc a { display: block; font-size: 14.5px; color: var(--fg-2); padding: 3px 0; transition: color .2s; }
.toc a::before { content: counter(toc) ". "; color: var(--fg-3); font-variant-numeric: tabular-nums; }
.toc a:hover { color: var(--fg); }
@media (max-width: 620px) { .toc ol { grid-template-columns: 1fr; } }

/* ---- Сноска / примечание ---- */
.doc .note-box {
  margin-top: 20px; padding: 18px 22px; border-left: 2px solid var(--line-2);
  font-size: 14.5px; line-height: 1.6; color: var(--fg-3);
}

/* ---- Ссылки на смежные документы ---- */
.doc-rel { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; margin-top: clamp(40px, 5vw, 64px); }
.doc-rel a { border-radius: 18px; padding: 22px 24px; display: block; transition: transform .35s var(--ease); }
.doc-rel a:hover { transform: translateY(-2px); }
.doc-rel .k { font-size: 12.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--fg-3); }
.doc-rel .v { margin-top: 8px; font-size: 16px; font-weight: 600; color: var(--fg); letter-spacing: -0.015em; }
