/* Páginas legales (generadas por scripts/build-legal-pages.sh) */
:root { --c-primary: #0C4A6E; --c-accent: #A119BE; --c-text: #0F172A; --c-muted: #475569; --c-border: #E2E8F0; --c-bg: #F5F6FA; }
* { box-sizing: border-box; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--c-text); background: var(--c-bg); line-height: 1.65; }
.legal-top { background: #fff; border-bottom: 1px solid var(--c-border); }
.legal-top .wrap { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; }
.legal-top a { color: var(--c-primary); text-decoration: none; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.legal-top nav a { font-weight: 500; font-size: 14px; }
.wrap { max-width: 860px; margin: 0 auto; }
main.wrap { background: #fff; margin: 24px auto; padding: 32px 40px; border-radius: 12px; border: 1px solid var(--c-border); }
h1 { color: var(--c-primary); font-size: 1.8rem; line-height: 1.25; margin-top: 0; }
h2 { color: var(--c-primary); font-size: 1.25rem; margin-top: 2rem; padding-bottom: 4px; border-bottom: 1px solid var(--c-border); }
h3 { font-size: 1.05rem; margin-top: 1.5rem; }
a { color: var(--c-accent); }
table { width: 100%; border-collapse: collapse; font-size: 0.92rem; margin: 1rem 0; display: block; overflow-x: auto; }
th, td { border: 1px solid var(--c-border); padding: 8px 10px; text-align: left; vertical-align: top; }
th { background: var(--c-bg); }
blockquote { margin: 1rem 0; padding: 8px 16px; border-left: 4px solid var(--c-accent); background: var(--c-bg); }
hr { border: 0; border-top: 1px solid var(--c-border); margin: 2rem 0; }
.legal-links { display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: center; padding: 8px 16px 32px; font-size: 14px; }
.legal-links a { color: var(--c-muted); }
@media (max-width: 640px) { main.wrap { margin: 0; border-radius: 0; border-left: 0; border-right: 0; padding: 24px 16px; } h1 { font-size: 1.45rem; } }
@media print { .legal-top, .legal-links { display: none; } main.wrap { border: 0; margin: 0; } }
