/* Юридические документы (templates/public/legal/): политика, согласия, оферта.
   Спокойный текст на белой карточке, узкая колонка для чтения. */
.lg { max-width: 820px; margin: 8px auto 64px; padding: 36px 40px 40px; border-radius: var(--r); background: var(--surface); box-shadow: var(--shadow-s); }
.lg h1 { margin: 0 0 8px; font-size: clamp(26px, 3.4vw, 36px); line-height: 1.15; letter-spacing: -.01em; }
.lg-meta { margin: 0 0 24px; color: var(--muted); font-size: 15px; }
.lg h2 { margin: 34px 0 10px; font-size: 21px; line-height: 1.25; scroll-margin-top: 90px; }
.lg p { margin: 0 0 12px; font-size: 16px; line-height: 1.6; color: var(--ink); }
.lg a { color: var(--blue-deep); }
.lg-toc { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 4px 20px; margin: 0 0 8px; padding: 16px 20px; border-radius: var(--r-s); background: var(--page); }
.lg-toc a { font-size: 15px; line-height: 1.7; text-decoration: none; }
.lg-toc a:hover { text-decoration: underline; }
.lg-table { overflow-x: auto; margin: 4px 0 16px; }
.lg table { width: 100%; border-collapse: collapse; font-size: 15px; }
.lg th, .lg td { padding: 9px 12px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; }
.lg th { font-weight: 700; color: var(--ink-2, var(--ink)); background: var(--page); }
.lg td:first-child { font-family: ui-monospace, Menlo, monospace; font-size: 13.5px; white-space: nowrap; }
.lg-list { margin: 0 0 12px; padding-left: 22px; }
.lg-list li { margin: 0 0 6px; font-size: 16px; line-height: 1.6; }
.lg-note { margin-top: 28px !important; padding: 14px 18px; border-radius: var(--r-s); background: var(--blue-soft); }
.lg-req { line-height: 1.8 !important; }
@media (max-width: 640px) { .lg { padding: 24px 18px 28px; margin-top: 0; border-radius: var(--r-s); } .lg h2 { font-size: 19px; } }
