/* =========================================================
   Юридические страницы: политика, согласие
   Наследует палитру и типографику основного сайта
   ========================================================= */
@import url("styles.css?v=3");

.legal-header{
  border-bottom:1px solid var(--line-2);
  background:rgba(250,247,242,.9);
  backdrop-filter:blur(18px);
  position:sticky; top:0; z-index:100;
}
.legal-header .wrap{ display:flex; align-items:center; gap:16px; height:72px; }
.legal-back{
  margin-left:auto; font-size:.9rem; font-weight:600; color:var(--accent);
  display:inline-flex; align-items:center; gap:6px;
}
.legal-back:hover{ opacity:.75; }

.legal{ padding:clamp(38px,5vw,68px) 0 clamp(60px,7vw,100px); }
.legal-wrap{ width:min(100% - 2*var(--pad), 820px); margin-inline:auto; }

.legal h1{
  font-size:clamp(1.7rem,3.6vw,2.5rem); margin-bottom:14px;
}
.legal-meta{
  font-size:.87rem; color:var(--fg-3); padding-bottom:22px;
  border-bottom:1px solid var(--line); margin-bottom:30px;
}
.legal-lead{
  font-size:1.03rem; color:var(--fg-2); margin-bottom:30px;
}

/* оглавление */
.toc{
  background:var(--bg-2); border-radius:var(--r); padding:22px 26px; margin-bottom:38px;
}
.toc b{ display:block; font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--fg-3); margin-bottom:12px; }
.toc ol{ counter-reset:toc; display:grid; grid-template-columns:1fr 1fr; gap:6px 24px; }
.toc li{ counter-increment:toc; font-size:.93rem; }
.toc li::before{ content:counter(toc)". "; color:var(--accent); font-variant-numeric:tabular-nums; }
.toc a{ color:var(--fg-2); }
.toc a:hover{ color:var(--accent); }

.legal section{ margin-bottom:34px; scroll-margin-top:88px; }
.legal h2{
  font-size:clamp(1.12rem,1.9vw,1.35rem); margin-bottom:14px;
  display:flex; gap:10px; align-items:baseline;
}
.legal h2 .n{
  font-family:var(--serif); color:var(--accent); font-size:1rem;
  font-variant-numeric:tabular-nums; flex:0 0 auto;
}
.legal h3{ font-size:1rem; margin:20px 0 8px; font-family:var(--sans); font-weight:600; }
.legal p{ font-size:.97rem; color:var(--fg-2); margin-bottom:12px; }
.legal ul, .legal ol.list{ margin:10px 0 14px; display:flex; flex-direction:column; gap:8px; }
.legal li{ font-size:.96rem; color:var(--fg-2); position:relative; padding-left:20px; }
.legal ul li::before{
  content:""; position:absolute; left:3px; top:9px; width:5px; height:5px;
  border-radius:50%; background:var(--accent); opacity:.6;
}
.legal ol.list{ counter-reset:ol; }
.legal ol.list > li{ counter-increment:ol; padding-left:26px; }
.legal ol.list > li::before{
  content:counter(ol)"."; position:absolute; left:0; top:0;
  color:var(--accent); font-size:.9rem; font-variant-numeric:tabular-nums;
}
.legal b, .legal strong{ color:var(--fg); font-weight:600; }
.legal a{ color:var(--accent); text-decoration:underline; text-underline-offset:2px; }

/* таблица данных */
.legal-table{ width:100%; border-collapse:collapse; margin:14px 0 18px; font-size:.92rem; }
.legal-table th, .legal-table td{
  text-align:left; vertical-align:top; padding:11px 12px;
  border-bottom:1px solid var(--line-2);
}
.legal-table th{ font-weight:600; color:var(--fg); background:var(--bg-2); }
.legal-table td{ color:var(--fg-2); }
.table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }

/* блок «требует заполнения» */
.fillme{
  background:#FFF4E8; border:1px solid rgba(232,85,44,.3); border-left:3px solid var(--accent);
  border-radius:var(--r); padding:18px 22px; margin:22px 0;
}
.fillme b{ display:block; margin-bottom:8px; color:var(--accent-dark); }
.fillme p, .fillme li{ font-size:.92rem; }
mark{
  background:rgba(232,85,44,.16); color:var(--accent-dark);
  padding:1px 5px; border-radius:4px; font-weight:600;
}

.legal-footer{
  margin-top:44px; padding-top:24px; border-top:1px solid var(--line);
  font-size:.87rem; color:var(--fg-3);
  display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:space-between;
}
.legal-footer a{ color:var(--fg-3); }
.legal-footer a:hover{ color:var(--accent); }

@media (max-width:680px){
  .toc ol{ grid-template-columns:1fr; }
  .legal-header .wrap{ height:64px; }
}
@media print{
  .legal-header, .legal-back, .toc{ display:none; }
  .legal{ padding:0; }
  body{ background:#fff; }
}
