/* Páginas legales: misma vidriera, pero para leer tranquilo. */
.lp.legal { background: var(--paper); color: var(--ink); min-height: 100vh; }
.legal .lp-top { background: var(--ground); }
.legal-doc { max-width: 700px; margin: 0 auto; padding: clamp(40px, 6vw, 72px) clamp(16px, 4vw, 32px) 96px; }
.legal-doc h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); line-height: 1.1; margin: 0 0 8px; color: var(--ink); }
.legal-doc .updated { color: var(--ink-2); margin: 0 0 32px; }
.legal-doc h2 { font: 700 1.3rem/1.3 var(--body); margin: 2.2em 0 0.5em; color: var(--ink); scroll-margin-top: 16px; }
.legal-doc p, .legal-doc li { max-width: 36em; color: #3a3127; }
.legal-doc ul { padding-left: 1.2em; }
.legal-doc li { margin: 0.35em 0; }
.legal-doc a { color: var(--red-d); }
.legal-toc { background: var(--paper-2); border-radius: 12px; padding: 18px 22px; margin: 0 0 8px; }
.legal-toc ol { margin: 0; padding-left: 1.3em; columns: 2; column-gap: 32px; }
.legal-toc li { margin: 0.2em 0; break-inside: avoid; }
.legal-box { background: var(--kraft); border: 3px solid var(--kraft-d); border-radius: 14px; padding: 18px 22px; margin: 24px 0; color: var(--ink); }
.legal-box p { margin: 0; color: var(--ink); max-width: none; }
.legal-form { display: grid; gap: 8px; max-width: 480px; margin: 20px 0; }
.legal-form label { font-weight: 700; }
.legal-form input, .legal-form textarea { min-height: 46px; padding: 10px 12px; font: inherit; border: 2px solid #d9cdb6; border-radius: 8px; background: #fff; color: var(--ink); }
.legal-form input:focus, .legal-form textarea:focus { border-color: var(--kraft-d); outline: none; }
.legal-form .lp-btn { justify-self: start; margin-top: 8px; }
.legal-ok { background: var(--ink); color: var(--paper); border-radius: 12px; padding: 18px 22px; }
.legal-ok p { color: var(--paper); margin: 0.3em 0; }
.legal-ok b { font-size: 1.3rem; letter-spacing: 0.04em; }
@media (max-width: 720px) { .legal-toc ol { columns: 1; } }
