/* ============================================================
   INSIDE — правовые страницы (оферта и т.п.)
   Отдельный файл: лендинг и документ верстаются по-разному,
   а токены цвета и шрифт общие с style.css.
   ============================================================ */

@font-face{
  font-family:'League Spartan';
  font-style:normal;
  font-weight:700 900;
  font-display:swap;
  src:url('../assets/fonts/league-spartan-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2212, U+FEFF, U+FFFD;
}

:root{
  --pink:      #FF4079;
  --pink-dark: #E82A62;
  --ink:       #1A1518;
  --ink-2:     #3A3237;
  --ink-soft:  #5E555A;
  --bg:        #F6F3F4;
  --card:      #FFFFFF;
  --line:      #EFE7EB;
  --font:      'League Spartan', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-text: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:80px; }

body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:var(--font-text); font-size:16px; line-height:1.6;
  -webkit-text-size-adjust:100%;
}

.skip{
  position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--ink); color:#fff; padding:12px 20px; border-radius:0 0 12px 0;
}
.skip:focus{ left:0; }

/* ── шапка ─────────────────────────────────────────────── */
.lbar{
  position:sticky; top:0; z-index:20;
  background:rgba(246,243,244,.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.lbar__inner{
  max-width:860px; margin:0 auto; padding:14px 20px;
  display:flex; align-items:center; gap:16px;
}
.lbar__logo{
  font-family:var(--font); font-size:22px; font-weight:900;
  letter-spacing:-.02em; color:var(--pink); text-decoration:none;
}
.lbar__back{
  margin-left:auto; font-size:14px; font-weight:600;
  color:var(--ink-2); text-decoration:none;
  display:inline-flex; align-items:center; gap:7px;
}
.lbar__back:hover{ color:var(--pink); }
.lbar__back svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }

/* ── документ ──────────────────────────────────────────── */
.doc{ max-width:860px; margin:0 auto; padding:44px 20px 80px; }

.doc__title{
  margin:0 0 10px; font-size:clamp(26px,4.6vw,38px); line-height:1.15;
  font-weight:800; letter-spacing:-.02em;
}
.doc__meta{ margin:0 0 34px; color:var(--ink-soft); font-size:14px; }

.doc__intro{
  background:var(--card); border:1px solid var(--line); border-radius:16px;
  padding:22px 24px; margin-bottom:34px;
}
.doc__intro .doc__p:last-child{ margin-bottom:0; }

.doc__p{ margin:0 0 14px; }

/* Оглавление */
.doc__toc{
  background:var(--card); border:1px solid var(--line); border-radius:16px;
  padding:20px 24px; margin-bottom:38px;
}
.doc__toc h2{ margin:0 0 12px; font-size:15px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); }
.doc__toc ol{ margin:0; padding:0; list-style:none; columns:2; column-gap:28px; }
.doc__toc li{ margin:0 0 7px; break-inside:avoid; font-size:14.5px; }
.doc__toc a{ color:var(--ink-2); text-decoration:none; }
.doc__toc a:hover{ color:var(--pink); text-decoration:underline; }
@media (max-width:620px){ .doc__toc ol{ columns:1; } }

.doc__sec{ margin:0 0 34px; scroll-margin-top:80px; }

.doc__h2{
  margin:0 0 16px; font-size:clamp(17px,2.4vw,20px); line-height:1.3;
  font-weight:800; letter-spacing:-.01em;
  display:flex; gap:10px;
}
.doc__secnum{ color:var(--pink); flex:none; }

.doc__list{ margin:0; padding:0; list-style:none; }

.doc__item{ display:flex; gap:10px; margin:0 0 12px; }
/* Номера разной глубины («4.11.» и «9.2.1.») — своя колонка под каждый,
   чтобы текст всех пунктов раздела начинался с одной вертикали. */
.doc__num{ flex:none; color:var(--ink-soft); font-variant-numeric:tabular-nums; }
.doc__item--l1 > .doc__num{ min-width:46px; }
.doc__item--l2{ padding-left:56px; }
.doc__item--l2 > .doc__num{ min-width:56px; }
.doc__txt{ flex:1; }

/* На узком экране двойная лесенка съедала ширину строки: у пунктов
   третьего уровня на текст оставалось 213px из 375. Ступеньку убираем,
   вложенность и так читается по самому номеру («3.1.1.»). */
@media (max-width:620px){
  .doc__item--l2{ padding-left:18px; }
  .doc__item--l1 > .doc__num{ min-width:42px; }
  .doc__item--l2 > .doc__num{ min-width:50px; }
}

.doc__bullets{ margin:0 0 14px; padding-left:22px; }
.doc__bullets li{ margin:0 0 8px; }

.doc b{ font-weight:700; }

/* ── подвал ────────────────────────────────────────────── */
.lfoot{
  border-top:1px solid var(--line); background:var(--card);
}
.lfoot__inner{
  max-width:860px; margin:0 auto; padding:30px 20px 40px;
  display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center;
  font-size:14px; color:var(--ink-soft);
}
.lfoot a{ color:var(--ink-2); font-weight:600; text-decoration:none; }
.lfoot a:hover{ color:var(--pink); }
.lfoot__copy{ margin-left:auto; }
@media (max-width:560px){ .lfoot__copy{ margin-left:0; width:100%; } }

/* ── печать ────────────────────────────────────────────── */
@media print{
  .lbar,.lfoot,.doc__toc{ display:none; }
  body{ background:#fff; font-size:11pt; }
  .doc{ padding:0; max-width:none; }
  .doc__intro{ border:0; padding:0; }
  .doc__sec{ break-inside:auto; }
  .doc__h2{ break-after:avoid; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
}
