.legal-footer { margin-top: 32px; padding: 16px 0; border-top: 1px solid var(--border, #36332f); font-size: calc(var(--type-caption) * var(--font-scale, 1)); line-height: 1.7; color: var(--text-60, #aaa); }
.legal-footer nav, .legal-form-links { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.legal-footer nav { margin-bottom: 8px; }
.legal-footer a, .legal-form-links a { color: var(--text-72, #c6c0b4); text-decoration: underline; text-underline-offset: 3px; }
.legal-form-links { margin: 14px 0; font-size: calc(var(--type-caption) * var(--font-scale, 1)); line-height: 1.6; }
.legal-public { display: block; min-height: 100vh; background: var(--bg, #181715); color: var(--text, #eee9df); }
.legal-public-main, .legal-public > .legal-footer { width: min(900px, calc(100% - 40px)); margin-inline: auto; }
.legal-public a { color: var(--accent-ink, #d2b477); }
.legal-public-main { padding: 36px 0; }
.legal-public h1 { font-size: calc(var(--type-page) * var(--font-scale, 1)); margin: 16px 0; }
.legal-document-list { list-style: none; padding: 0; margin: 28px 0; }
.legal-document-list li, .legal-admin-list > div { padding: 16px 0; border-bottom: 1px solid var(--border, #36332f); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; }
.legal-document-list span { font-size: calc(var(--type-caption) * var(--font-scale, 1)); }
.legal-prose { line-height: 1.8; overflow-wrap: anywhere; }
.legal-prose h2 { margin-top: 28px; font-size: 21px; }
.legal-prose table { display: block; overflow-x: auto; border-collapse: collapse; }
.legal-prose td, .legal-prose th { border: 1px solid var(--border, #36332f); padding: 8px 12px; text-align: left; }
.legal-editor, .legal-preview { margin-top: 20px; padding: 24px; }
.legal-editor textarea, .legal-editor input[type="text"] { width: 100%; }
.legal-editor textarea { resize: vertical; min-height: 300px; }
.legal-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.legal-preview summary { cursor: pointer; }
@media (max-width: 600px) { .legal-editor, .legal-preview { padding:16px; } }
/* Публичная шапка повторяет главную страницу сайта. */
.legal-public .site-header { --bg:#f8f5ee; --text:#16181d; --text-60:#6c707a; --accent-soft:rgba(214,178,102,.16); --accent-ink:#7d5f1f; --border:rgba(22,24,29,.12); --border-14:rgba(22,24,29,.14); font-family:'Golos Text', -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; font-size:calc(var(--type-body) * var(--font-scale, 1)); line-height:1.55; max-width:1200px; margin:0 auto; padding:22px 28px; display:flex; align-items:center; justify-content:space-between; gap:16px; position:sticky; top:0; z-index:50; background:var(--bg); color:var(--text); border-bottom:1px solid transparent; transition:border-color .3s, box-shadow .3s; }
.legal-public .site-header.is-scrolled { border-bottom-color:var(--border-14); box-shadow:0 12px 28px -22px rgba(0,0,0,.35); }
.legal-public .site-brand { display:block; flex:none; }
.legal-public .site-header img { height:32px; width:auto; max-width:240px; display:block; }
.legal-public .site-header-right { display:flex; align-items:center; gap:10px 14px; justify-content:flex-end; }
.legal-public .theme-switch { display:inline-flex; gap:2px; border:1px solid var(--border); border-radius:999px; padding:2px; }
.legal-public .theme-switch button { transition:none; transform:none; display:inline-flex; align-items:center; gap:6px; border:0; background:transparent; color:var(--text-60); cursor:pointer; font:inherit; font-size:calc(var(--type-body) * var(--font-scale, 1)); padding:6px 13px; border-radius:999px; white-space:nowrap; }
.legal-public .theme-switch button.is-active { background:var(--accent-soft); color:var(--text); font-weight:500; }
.legal-public .theme-icon, .legal-public .login-icon { display:none; flex:none; }
.legal-public .link-login { display:inline-flex; align-items:center; gap:6px; font-size:calc(var(--type-body) * var(--font-scale, 1)); font-weight:500; color:var(--text-60); text-decoration:none; white-space:nowrap; flex:none; padding:9px 4px; }
.legal-public .link-login:hover { color:var(--text); }
.legal-public .site-header a:focus-visible, .legal-public .site-header button:focus-visible { outline:2px solid var(--accent-ink); outline-offset:3px; }
:root[data-theme="light"] .legal-public { --bg:#f8f5ee; --text:#16181d; --text-60:#6c707a; --text-72:#474b54; --accent-ink:#7d5f1f; --border:rgba(22,24,29,.12); }
:root[data-theme="dark"] .legal-public .site-header { --bg:#0c0f16; --text:#f4efe6; --text-60:rgba(244,239,230,.58); --accent-soft:rgba(214,178,102,.18); --accent-ink:#e8c87e; --border:rgba(244,239,230,.10); --border-14:rgba(244,239,230,.12); }
@media (max-width:480px) {
    .legal-public .site-header { padding:14px 16px; gap:8px; }
    .legal-public .site-header img { height:24px; max-width:150px; }
    .legal-public .site-header-right { gap:6px; }
    .legal-public .theme-label, .legal-public .login-label { display:none; }
    .legal-public .theme-icon, .legal-public .login-icon { display:block; }
    .legal-public .theme-switch button { padding:7px 8px; }
    .legal-public .link-login { padding:7px; }
}
@media (pointer:coarse) { .legal-public .site-header button, .legal-public .link-login { min-height:44px; } }
@media (prefers-reduced-motion:reduce) { .legal-public .site-header { transition:none; } }
