/* ---------- legal pages (политика / согласие) ---------- */
.legal{padding:120px 24px 90px;background:#fff}
.legal-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
@media(min-width:1100px){
  .legal-grid{grid-template-columns:260px minmax(0,1fr);gap:64px;align-items:start}
}

/* --- шапка документа --- */
.legal-head{max-width:820px;margin-bottom:44px}
.legal-head h1{font-size:clamp(21px,3.4vw,44px);letter-spacing:0;max-width:100%;text-wrap:balance;hyphens:auto;overflow-wrap:break-word}
.legal-back{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:26px;transition:color .15s}
.legal-back:hover{color:var(--accent)}
.legal-back svg{flex:none}

.legal-approve{margin-top:30px;padding:22px 26px;background:var(--surface-sunken);border:1px solid var(--border-default);border-left:3px solid var(--accent);border-radius:6px;font-size:14.5px;line-height:1.6;color:var(--text-muted)}
.legal-approve b{display:block;font-family:var(--font-display);font-weight:800;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-900);margin-bottom:8px}
.legal-approve .sig{color:var(--ink-900);font-weight:600}

/* --- оглавление --- */
.legal-toc{font-size:13.5px;line-height:1.45}
@media(min-width:1100px){.legal-toc{position:sticky;top:96px;max-height:calc(100vh - 124px);overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-width:thin}}
@media(max-width:1099px){.legal-toc{margin-bottom:52px;padding:24px 26px;background:var(--surface-sunken);border:1px solid var(--border-default);border-radius:8px}}
.legal-toc-title{font-family:var(--font-display);font-weight:800;font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-900);margin-bottom:16px}
.legal-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.legal-toc li{display:flex;gap:10px}
.legal-toc .tn{flex:none;width:22px;color:var(--text-faint);font-variant-numeric:tabular-nums}
.legal-toc a{color:var(--text-muted);transition:color .15s}
.legal-toc a:hover{color:var(--accent)}

/* --- тело документа --- */
.legal-body{max-width:820px;font-size:16px;line-height:1.62;color:var(--ink-900);overflow-wrap:break-word}
.legal-body a{overflow-wrap:anywhere}
.legal-body>p{margin:0 0 18px;color:var(--text-muted);text-wrap:pretty}
.legal-body h2{font-size:clamp(19px,2vw,24px);letter-spacing:0;margin:56px 0 22px;scroll-margin-top:88px;display:flex;gap:14px;align-items:baseline;text-wrap:balance}
.legal-body h2:first-child{margin-top:0}
.legal-body h2 .n{flex:none;color:var(--accent);font-variant-numeric:tabular-nums}
.legal-body h3{font-family:var(--font-body);font-weight:600;font-size:16.5px;line-height:1.5;margin:30px 0 14px;color:var(--ink-900)}

/* пункт с висячим номером */
.cl{display:flex;gap:14px;margin:0 0 16px}
.cl-n{flex:none;min-width:38px;color:var(--text-faint);font-variant-numeric:tabular-nums;font-weight:600;font-size:15px;padding-top:1px}
.cl-b{min-width:0;color:var(--text-muted);text-wrap:pretty}
.cl-b>p{margin:0 0 14px}
.cl-b>p:last-child{margin-bottom:0}
.cl.lvl2{margin-left:26px}
.cl.lvl2 .cl-n{min-width:46px}
@media(max-width:600px){.cl.lvl2{margin-left:12px}}

/* маркированные перечни */
.dash{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:10px}
.cl-b .dash{margin:12px 0 4px}
.dash li{position:relative;padding-left:22px;min-width:0;color:var(--text-muted);text-wrap:pretty}
.dash li::before{content:"—";position:absolute;left:0;top:0;color:var(--accent);opacity:.75}
.dash .dash{margin:10px 0 0}
.dash .dash li{padding-left:18px}
.dash .dash li::before{content:"·";font-weight:700;opacity:1}

/* таблица терминов */
.legal-table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:15px}
.legal-table th{text-align:left;font-family:var(--font-display);font-weight:800;font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-900);padding:0 18px 12px 0;border-bottom:1px solid var(--border-strong)}
.legal-table td{vertical-align:top;padding:15px 18px 15px 0;border-bottom:1px solid var(--border-default);color:var(--text-muted);line-height:1.55}
.legal-table td:first-child{width:34%;color:var(--ink-900);font-weight:600;padding-right:28px}
.legal-table.short td:first-child{width:26%}
@media(max-width:640px){
  .legal-table,.legal-table tbody,.legal-table tr,.legal-table td{display:block;width:100%}
  .legal-table thead{display:none}
  .legal-table tr{padding:16px 0;border-bottom:1px solid var(--border-default)}
  .legal-table td{border:none;padding:0}
  .legal-table td:first-child{width:100%;margin-bottom:6px;padding-right:0}
}

/* реквизиты в конце */
.legal-req{margin-top:64px;padding:28px 30px;background:var(--ink-900);border-radius:8px;color:var(--gray-500);font-size:14px;line-height:1.7}
.legal-req .co{display:block;font-family:var(--font-display);font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:10px}

.legal-body a{color:var(--accent);border-bottom:1px solid var(--accent-soft-border);transition:border-color .15s}
.legal-body a:hover{border-bottom-color:var(--accent)}
.legal-req a{color:#FFB3A6;border-bottom-color:rgba(255,179,166,0.32)}
.legal-req a:hover{border-bottom-color:#FFB3A6}

.legal-body--wide{max-width:860px}
.legal-seealso{margin-top:38px;padding-top:22px;border-top:1px solid var(--border-default);font-size:15px;color:var(--text-muted)}
