/* ============================================================
   legal.css — Términos y Condiciones / Privacidad
   ============================================================ */
.legal-hero {
    padding: 130px 0 34px;
    background: var(--gradient-hero);
    border-bottom: 1px solid var(--border);
}
.legal-hero .container { position: relative; z-index: 2; }
.legal-eyebrow { font-family: var(--font-mono); color: var(--accent); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 12px; }
.legal-hero h1 { font-size: clamp(1.9rem, 4vw, 2.8rem); font-weight: 800; letter-spacing: -0.02em; }
.legal-updated { color: var(--text-muted); font-size: 0.88rem; margin-top: 12px; font-family: var(--font-mono); }

.legal-body { padding: 46px 0 72px; }
.legal-wrap { max-width: 880px; }

.legal-disclaimer {
    display: flex; gap: 14px; align-items: flex-start;
    background: rgba(250,204,77,0.08);
    border: 1px solid rgba(250,204,77,0.3);
    border-left: 3px solid #facc4d;
    border-radius: 12px; padding: 18px 20px; margin-bottom: 34px;
}
.legal-disclaimer .ic { color: #facc4d; font-size: 1.35rem; flex-shrink: 0; margin-top: 1px; }
.legal-disclaimer p { color: var(--text-secondary); font-size: 0.92rem; line-height: 1.6; margin: 0; }

/* Índice */
.legal-toc { margin-bottom: 36px; padding: 20px 22px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); }
.legal-toc h2 { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 1.2px; color: var(--text-muted); margin-bottom: 12px; }
.legal-toc ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 30px; }
.legal-toc li { color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 7px; }
.legal-toc a { color: var(--text-secondary); }
.legal-toc a:hover { color: var(--accent); }

.legal-body h2 { font-size: 1.35rem; font-weight: 800; margin: 40px 0 12px; scroll-margin-top: 92px; letter-spacing: -0.01em; }
.legal-body h2 .num { color: var(--accent); font-family: var(--font-mono); margin-right: 8px; font-size: 0.85em; }
.legal-body h3 { font-size: 1.05rem; font-weight: 700; margin: 24px 0 8px; color: var(--text-primary); }
.legal-body p { color: var(--text-secondary); line-height: 1.75; font-size: 0.98rem; margin-bottom: 14px; text-align: justify; hyphens: auto; }
.legal-body ul, .legal-body ol.legal-list { margin: 0 0 16px 0; padding-left: 22px; display: flex; flex-direction: column; gap: 9px; }
.legal-body li { color: var(--text-secondary); line-height: 1.7; font-size: 0.96rem; }
.legal-body strong { color: var(--text-primary); }
.legal-body a { color: var(--accent); }
.legal-body a:hover { text-decoration: underline; }
.legal-body hr { border: none; border-top: 1px solid var(--border); margin: 40px 0; }
.legal-contact { margin-top: 40px; padding: 22px 24px; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--radius); }
.legal-contact strong { color: var(--text-primary); }

@media (max-width: 640px) { .legal-toc ol { columns: 1; } }
