/* ==========================================================================
   трекшн · стиль документов: политика, согласие, условия гарантии
   Подключается после base.css и берёт из него токены, шапку, подвал, кнопки и .ph.
   Колонка до 760px, отступ под фиксированную шапку, списки, таблица данных,
   плашка черновика, блок вопросов к юристу и печать.
   Капс, моно-надписи и нумерация шагов здесь не используются.
   ========================================================================== */

/* ссылка «к тексту» для тех, кто ходит по сайту клавиатурой */
.skip{
  position:absolute; left:12px; top:-200px; z-index:100;
  padding:10px 16px; border-radius:12px;
  background:var(--lime); color:var(--bg); font-weight:600; text-decoration:none;
}
.skip:focus{ top:calc(12px + env(safe-area-inset-top,0px)); }

/* ---------- страница ---------- */
.doc{
  position:relative; isolation:isolate; overflow-wrap:break-word;
  padding:calc(clamp(108px,12vw,152px) + env(safe-area-inset-top,0px)) var(--gut) clamp(80px,10vw,136px);
}
/* свет призмы над заголовком: только свечение, без заливки */
.doc::before{
  content:""; position:absolute; z-index:-1; left:0; right:0; top:-160px; height:720px; pointer-events:none;
  background:
    radial-gradient(38% 46% at 46% 42%, rgba(131,122,227,.18), rgba(131,122,227,0) 100%),
    radial-gradient(22% 30% at 62% 52%, rgba(207,237,5,.045), rgba(207,237,5,0) 100%);
}
.doc__col{ max-width:760px; margin-inline:auto; }
.doc [id]{ scroll-margin-top:24px; }

/* ---------- плашка черновика: обычный текст, без капса ---------- */
.doc-draft{
  display:flex; gap:12px; align-items:flex-start;
  margin:0 0 clamp(36px,5vw,56px); padding:14px 18px; border-radius:16px;
  background:rgba(207,237,5,.07); border:1px solid rgba(207,237,5,.34);
  font-size:.95rem; line-height:1.5; color:var(--mute);
}
.doc-draft::before{
  content:""; flex:none; width:8px; height:8px; margin-top:.52em; border-radius:50%;
  background:var(--lime); box-shadow:0 0 12px rgba(207,237,5,.6);
}
.doc-draft b{ font-weight:600; color:var(--text); }
.doc-draft a{ color:var(--lime); text-underline-offset:3px; }

/* ---------- заголовок документа ---------- */
.doc__head h1{
  font-size:clamp(2.1rem,5.4vw,3.5rem); line-height:1.04; letter-spacing:-.042em;
  font-variation-settings:"SHRP" 30;
}
.doc__beam{
  display:block; width:112px; height:2px; margin-top:24px; border-radius:2px;
  background:linear-gradient(90deg, rgba(131,122,227,0), var(--violet) 38%, var(--lime));
  box-shadow:0 0 18px rgba(171,164,246,.5);
}
.doc__meta{ margin-top:18px; font-size:.92rem; color:var(--dim); }
.doc__lead{ margin-top:18px; font-size:clamp(1.06rem,1.4vw,1.2rem); line-height:1.6; color:var(--mute); text-wrap:pretty; }

/* ---------- содержание ---------- */
.doc-toc{ margin-top:clamp(32px,4vw,44px); padding-block:20px 22px; border-block:1px solid var(--line); }
.doc-toc__t{ font-size:.9rem; color:var(--dim); }
.doc-toc ul{ list-style:none; margin:12px 0 0; padding:0; }
.doc-toc li{ break-inside:avoid; padding-block:3px; font-size:.94rem; line-height:1.45; color:var(--dim); }
.doc-toc a{ font-size:.98rem; color:var(--mute); text-decoration:none; }
.doc-toc a:hover{ color:var(--text); text-decoration:underline; text-underline-offset:4px; }
@media (min-width:640px){ .doc-toc:not(.doc-toc--one) ul{ columns:2; column-gap:40px; } }
.doc-toc__note{ margin-top:14px; font-size:.9rem; line-height:1.5; color:var(--dim); }
.doc-toc__note a{ color:var(--mute); text-underline-offset:3px; }
.doc-toc__note a:hover{ color:var(--text); }

/* ---------- текст ---------- */
.doc__body h2{
  margin-top:clamp(52px,7vw,76px);
  font-size:clamp(1.42rem,2.6vw,1.9rem); line-height:1.16; letter-spacing:-.03em;
  font-variation-settings:"SHRP" 20;
}
.doc__body h3{ margin-top:30px; font-size:1.14rem; line-height:1.3; letter-spacing:-.015em; font-weight:600; }
.doc__body p{ margin-top:14px; line-height:1.66; color:rgba(242,240,247,.86); text-wrap:pretty; }
.doc__body h2 + p, .doc__body h3 + p{ margin-top:12px; }
.doc__body strong{ font-weight:600; color:var(--text); }

/* списки: точка вместо маркера, без нумерации */
.doc__body ul, .doc-review ul{ list-style:none; margin:14px 0 0; padding:0; }
.doc__body h3 + ul{ margin-top:12px; }
.doc__body li, .doc-review li{ position:relative; padding-left:24px; line-height:1.62; color:rgba(242,240,247,.86); }
.doc__body li + li, .doc-review li + li{ margin-top:8px; }
.doc__body li::before, .doc-review li::before{
  content:""; position:absolute; left:5px; top:calc(.81em - 3px);
  width:6px; height:6px; border-radius:50%; background:var(--violet-hi);
}

/* ссылки в тексте */
.doc__body a, .doc-review a{
  color:var(--violet-hi); text-decoration:underline; text-decoration-thickness:1px;
  text-decoration-color:rgba(171,164,246,.45); text-underline-offset:3px;
}
.doc__body a:hover, .doc-review a:hover{ text-decoration-color:currentColor; }
.doc a.ph{ color:var(--lime); text-decoration:underline dashed rgba(207,237,5,.6); text-underline-offset:4px; }

/* пояснение внутри текста */
.doc-note{
  margin-top:20px; padding:16px 20px; border-radius:16px;
  background:rgba(131,122,227,.08); border:1px solid rgba(171,164,246,.24);
  font-size:.96rem; line-height:1.6;
}
.doc__body p.doc-note{ color:var(--mute); }

/* версия текста согласия — её же передаёт форма в consent_doc */
.doc__body .doc-ver{ margin-top:10px; font-size:.86rem; color:var(--dim); }

/* ---------- самостоятельные разделы (согласия) ---------- */
.doc__body > .doc-part:first-child{ margin-top:clamp(48px,6vw,64px); }
.doc-part + .doc-part{
  margin-top:clamp(56px,8vw,88px); padding-top:clamp(48px,7vw,72px); border-top:1px solid var(--line);
}
.doc-part > h2:first-child{ margin-top:0; }
/* раздел, на который пришли по ссылке из формы, отмечен лучом */
.doc-part:target > h2::after{
  content:""; display:block; width:96px; height:2px; margin-top:16px; border-radius:2px;
  background:linear-gradient(90deg, var(--violet), var(--lime)); box-shadow:0 0 16px rgba(207,237,5,.4);
}

/* ---------- таблица данных ---------- */
.doc-tablewrap{ margin-top:22px; }
.doc-table{ width:100%; border-collapse:collapse; font-size:.93rem; line-height:1.5; }
.doc-table th{
  text-align:left; vertical-align:bottom; padding:0 18px 12px 0;
  font-size:.84rem; font-weight:500; color:var(--dim); border-bottom:1px solid var(--line2);
}
.doc-table td{ vertical-align:top; padding:16px 18px 16px 0; border-bottom:1px solid var(--line); color:rgba(242,240,247,.86); }
.doc-table th:last-child, .doc-table td:last-child{ padding-right:0; }
.doc-table td:first-child{ color:var(--text); font-weight:500; }
.doc-table--data th:nth-child(1){ width:27%; }
.doc-table--data th:nth-child(2){ width:26%; }
.doc-table--data th:nth-child(3){ width:27%; }
.doc-table--two th:first-child{ width:38%; }

/* на широком экране таблица выходит за колонку текста */
@media screen and (min-width:1000px){
  .doc-wide{ position:relative; left:50%; transform:translateX(-50%); width:min(1040px, calc(100vw - 2 * var(--gut))); }
}
/* на телефоне строки таблицы становятся карточками с подписями */
@media screen and (max-width:720px){
  .doc-table thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .doc-table, .doc-table tbody, .doc-table tr, .doc-table td{ display:block; width:auto; }
  .doc-table tr{ padding:16px 0 18px; border-bottom:1px solid var(--line); }
  .doc-table tbody tr:first-child{ border-top:1px solid var(--line2); }
  .doc-table td{ padding:0; border:0; }
  .doc-table td + td{ margin-top:10px; }
  .doc-table td:first-child{ font-size:1rem; }
  .doc-table td[data-label]::before{
    content:attr(data-label); display:block; margin-bottom:2px; font-size:.8rem; font-weight:400; color:var(--dim);
  }
}

/* ---------- управление cookie на странице политики ---------- */
.doc-cookie{ margin-top:20px; display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.doc-cookie .btn{ font-weight:500; }
.doc-cookie__alt{
  font:inherit; font-size:.94rem; color:var(--violet-hi); background:none; border:0; padding:0; cursor:pointer;
  text-decoration:underline; text-decoration-color:rgba(171,164,246,.45); text-underline-offset:3px;
}
.doc-cookie__alt:hover{ text-decoration-color:currentColor; }
.doc__body p.doc-cookie__state{ margin-top:12px; font-size:.92rem; color:var(--mute); }
.doc__body p.doc-cookie__state:empty{ display:none; }

/* ---------- вопросы к юристу: удаляются вместе с плашкой черновика ---------- */
.doc-review{
  margin-top:clamp(72px,9vw,112px); padding:clamp(20px,3vw,28px); border-radius:20px;
  border:1px dashed rgba(207,237,5,.45); background:rgba(207,237,5,.035);
}
.doc-review h2{ font-size:1.3rem; line-height:1.25; letter-spacing:-.02em; }
.doc-review > p{ margin-top:8px; font-size:.95rem; color:var(--mute); }
.doc-review li{ font-size:.95rem; line-height:1.55; }
.doc-review li + li{ margin-top:10px; }
.doc-review li::before{ background:var(--lime); }
.doc-review strong{ font-weight:600; color:var(--text); }

/* ---------- печать: юрист читает с карандашом ---------- */
@media print{
  @page{ margin:18mm 16mm; }
  :root{ color-scheme:light; }
  body{ background:#fff !important; color:#000; font-size:11pt; line-height:1.5; }
  .grain, .top, .skip, .cookie, .foot nav, .foot .logo, .foot__contacts,
  .doc::before, .doc__beam, .doc-cookie, .doc__body p.doc-cookie__state{ display:none !important; }
  .doc{ padding:0; }
  .doc__col{ max-width:none; }
  .doc__head h1{ font-size:20pt; }
  .doc__body h2{ font-size:14pt; margin-top:18pt; break-after:avoid; }
  .doc__body h3{ font-size:12pt; break-after:avoid; }
  .doc__body p, .doc__body li, .doc__lead, .doc__meta, .doc-draft, .doc-note, .doc__body .doc-ver,
  .doc-table th, .doc-table td, .doc-toc li, .doc-toc a, .doc-toc__t, .doc-review li, .doc-review > p,
  .foot__legal{ color:#000 !important; }
  .doc__body li::before{ background:#000; }
  .doc a, .doc__body a, .doc-review a{ color:#000 !important; }
  .ph, .doc a.ph{ color:#000 !important; background:#f3ff9e; text-decoration:none; }
  .doc-draft, .doc-note, .doc-review{ background:none; border-color:#999; }
  .doc-table th, .doc-table td, .doc-toc, .doc-part + .doc-part{ border-color:#bbb; }
  .doc-table tr{ break-inside:avoid; }
  .doc-part:target > h2::after{ display:none; }
  .foot{ border:0; padding:16pt 0 0; }
}
