/* =====================================================================
   ВЕДУЩИЙ — правовые страницы (политика, согласие, cookie, оферта,
   пользовательское соглашение). Подключается ПОСЛЕ studio.css —
   использует те же дизайн-токены (:root) и работает в светлой теме.
   ===================================================================== */

.legal{
  padding-top:clamp(120px,16vh,180px);
  padding-bottom:clamp(60px,8vw,120px);
  background:var(--bg);
  min-height:100vh;
}
.legal__wrap{ width:100%; max-width:880px; margin-inline:auto; padding-inline:var(--pad); }

/* — шапка документа — */
.legal__head{ margin-bottom:clamp(34px,5vw,60px); }
.legal__back{
  display:inline-flex; align-items:center; gap:.5em; margin-bottom:clamp(20px,3vw,32px);
  font-family:var(--f-mono); font-size:var(--step--1); letter-spacing:.04em; color:var(--paper-dim);
  transition:color .3s;
}
.legal__back svg{ width:1.1em; transition:transform .35s var(--ease); }
.legal__back:hover{ color:var(--accent); }
.legal__back:hover svg{ transform:translateX(-.25em); }
.legal__eyebrow{
  font-family:var(--f-mono); font-size:var(--step--1); letter-spacing:.22em; text-transform:uppercase;
  color:var(--accent); font-weight:500;
}
.legal__title{
  font-family:var(--f-display); font-weight:800; letter-spacing:-.03em; line-height:1.04;
  font-size:clamp(2rem, 1.2rem + 3.2vw, 4rem); color:var(--paper);
  margin:clamp(12px,1.6vw,20px) 0 clamp(14px,2vw,22px);
}
.legal__meta{
  display:flex; flex-wrap:wrap; gap:.4em 1.4em;
  font-family:var(--f-mono); font-size:var(--step--2); letter-spacing:.04em; color:var(--paper-dim);
}
.legal__meta b{ color:var(--paper); font-weight:600; }

/* — административная плашка «заполните реквизиты» (удалить перед публикацией) — */
.legal__admin{
  margin:clamp(22px,3vw,34px) 0;
  border:1px dashed var(--accent); border-radius:14px;
  padding:clamp(16px,2.2vw,24px);
  background:rgba(122,31,46,.06);
  font-family:var(--f-mono); font-size:var(--step--1); line-height:1.65; color:var(--paper-dim);
}
.legal__admin b{ color:var(--accent); }

/* — тело документа — */
.legal__doc{ counter-reset:sec; }
.legal__doc p,
.legal__doc li{
  font-family:var(--f-body); font-size:clamp(.9rem,.86rem + .2vw,1rem); line-height:1.85;
  color:var(--paper-dim);
}
.legal__doc p{ margin:0 0 1.1em; }
.legal__doc p:last-child{ margin-bottom:0; }
.legal__doc strong{ color:var(--paper); font-weight:600; }
.legal__doc a{ color:var(--accent); border-bottom:1px solid currentColor; transition:opacity .25s; }
.legal__doc a:hover{ opacity:.7; }

/* нумерованные разделы h2 */
.legal__doc h2{
  counter-increment:sec;
  font-family:var(--f-display); font-weight:700; letter-spacing:-.02em; line-height:1.15;
  font-size:clamp(1.25rem, 1rem + 1.1vw, 1.9rem); color:var(--paper);
  margin:clamp(34px,4.5vw,56px) 0 clamp(14px,1.8vw,22px);
  padding-top:clamp(20px,2.6vw,30px); border-top:1px solid var(--line);
  display:flex; gap:.6em;
}
.legal__doc h2::before{
  content:counter(sec) ".";
  color:var(--accent); font-weight:800; flex:0 0 auto;
}
.legal__doc h3{
  font-family:var(--f-display); font-weight:600; letter-spacing:-.01em;
  font-size:clamp(1.05rem,.95rem + .5vw,1.35rem); color:var(--paper);
  margin:clamp(22px,3vw,32px) 0 .7em;
}

/* списки */
.legal__doc ul,
.legal__doc ol{ margin:0 0 1.2em; padding-left:1.4em; }
.legal__doc ul{ list-style:none; padding-left:1.5em; }
.legal__doc ul > li{ position:relative; margin-bottom:.55em; }
.legal__doc ul > li::before{
  content:""; position:absolute; left:-1.1em; top:.78em;
  width:.42em; height:.42em; border-radius:2px; background:var(--accent); opacity:.8;
}
.legal__doc ol{ list-style:decimal; }
.legal__doc ol > li{ margin-bottom:.55em; padding-left:.3em; }
.legal__doc ol > li::marker{ color:var(--accent); font-family:var(--f-mono); font-size:.9em; }

/* выделяемые «реквизиты для заполнения» */
.lg-fill{
  color:var(--accent); font-weight:600; font-style:normal;
  background:rgba(122,31,46,.08);
  border-bottom:1px dashed var(--accent);
  padding:0 .25em; border-radius:3px; white-space:nowrap;
}

/* оглавление */
.legal__toc{
  margin:clamp(24px,3.2vw,38px) 0;
  border:1px solid var(--line); border-radius:14px;
  padding:clamp(18px,2.4vw,26px);
  background:var(--bg-1);
}
.legal__toc h4{
  font-family:var(--f-mono); font-size:var(--step--2); letter-spacing:.18em; text-transform:uppercase;
  color:var(--paper-faint); font-weight:500; margin-bottom:.9em;
}
.legal__toc ol{ list-style:none; padding:0; margin:0; columns:2; column-gap:2em; }
.legal__toc li{ margin-bottom:.5em; break-inside:avoid; counter-increment:toc; }
.legal__toc a{
  font-family:var(--f-mono); font-size:var(--step--1); color:var(--paper-dim);
  border:none; transition:color .25s;
}
.legal__toc a::before{ content:counter(toc) ". "; color:var(--accent); }
.legal__toc{ counter-reset:toc; }
.legal__toc a:hover{ color:var(--accent); }
@media (max-width:620px){ .legal__toc ol{ columns:1; } }

/* таблица категорий данных */
.legal__table{ width:100%; border-collapse:collapse; margin:0 0 1.4em; }
.legal__table th,
.legal__table td{
  text-align:left; vertical-align:top; padding:.8em 1em;
  border:1px solid var(--line);
  font-family:var(--f-body); font-size:var(--step--1); line-height:1.6;
}
.legal__table th{
  background:var(--bg-2); color:var(--paper); font-weight:600;
  font-family:var(--f-mono); font-size:var(--step--2); letter-spacing:.08em; text-transform:uppercase;
}
.legal__table td{ color:var(--paper-dim); }
.legal__table-wrap{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* перекрёстная навигация между документами */
.legal__index{
  margin-top:clamp(48px,6vw,80px); padding-top:clamp(28px,3.6vw,44px);
  border-top:1px solid var(--line);
}
.legal__index h4{
  font-family:var(--f-mono); font-size:var(--step--2); letter-spacing:.18em; text-transform:uppercase;
  color:var(--paper-faint); font-weight:500; margin-bottom:clamp(16px,2vw,24px);
}
.legal__index-grid{ display:grid; gap:.7em; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); }
.legal__index-card{
  display:flex; align-items:center; justify-content:space-between; gap:1em;
  padding:1em 1.2em; border:1px solid var(--line); border-radius:12px;
  background:var(--bg-1); transition:border-color .3s, transform .3s var(--ease);
}
.legal__index-card span{ font-family:var(--f-mono); font-size:var(--step--1); color:var(--paper); }
.legal__index-card svg{ width:1.1em; color:var(--accent); transition:transform .35s var(--ease); flex:0 0 auto; }
.legal__index-card:hover{ border-color:var(--accent); transform:translateY(-2px); }
.legal__index-card:hover svg{ transform:translate(.2em,-.2em); }
.legal__index-card[aria-current="page"]{ border-color:var(--accent); background:rgba(122,31,46,.07); }
.legal__index-card[aria-current="page"] span{ color:var(--accent); }
