/* Páginas públicas (términos, privacidad, accesibilidad, contacto) y pie */
.legal-wrap { max-width: 880px; margin: 0 auto; padding: 18px 16px 60px; display: grid; gap: 16px; }
.legal-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.legal-top .brand { color: inherit; text-decoration: none; }
.legal { padding: 28px clamp(18px, 4vw, 40px); display: grid; gap: 14px; }
.legal h1 { font-size: 1.9rem; }
.legal h2 { font-size: 1.15rem; margin-bottom: 6px; }
.legal p, .legal li { line-height: 1.65; }
.legal ul { margin: 6px 0 0; padding-left: 22px; display: grid; gap: 6px; }
.legal-sec { display: grid; gap: 4px; padding-top: 6px; border-top: 1px solid var(--line); }
.legal-sec .row { margin-top: 6px; }
.legal kbd { padding: 2px 8px; border-radius: 8px; border: 1px solid var(--line); background: var(--glass-2); font: inherit; font-weight: 700; }
.legal dl.kv { margin-top: 6px; }
.pie { display: grid; gap: 8px; justify-items: center; text-align: center; padding: 18px 8px 6px; }
.pie-links { display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: center; font-size: 0.88rem; font-weight: 600; }
.pie a { color: var(--accent-text); }
.main .pie { padding-bottom: 80px; }
.login-note { font-size: 0.82rem; color: var(--ink-2); text-align: center; }
.login-wrap { align-content: center; gap: 14px; }
.login-wrap .pie { max-width: 520px; padding-top: 4px; }
