/* Tema de páginas legales IANOVA / Nuborix — v1.1 2026-09-02
   Las páginas legales pintan su propia superficie clara y no dependen del
   fondo del sitio, que es oscuro. Sin esto el texto queda oscuro sobre oscuro. */

.legal-page { background: #eef2f8; }
.legal-page body,
body.legal-page { background: #eef2f8; }
.legal-page .tech-background,
.legal-page .animated-bg,
.legal-page .nuborix-animated-bg,
.legal-page .bg-orb { display: none !important; }

.legal-page main { padding-bottom: 72px; background: #eef2f8; }
.legal-shell { max-width: 900px; margin: 0 auto; padding: 0 22px; }

.legal-head { padding: 122px 0 6px; }
.legal-head .eyebrow { display:inline-block; padding:5px 12px; border-radius:999px; background:#dbeafe; color:#1d4ed8; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.legal-head h1 { margin:14px 0 12px; font-size:clamp(1.85rem,4vw,2.5rem); line-height:1.16; color:#0b1220; }
.legal-head > p { color:#334155; line-height:1.7; }
.legal-meta { display:flex; flex-wrap:wrap; gap:6px 18px; color:#52607a; font-size:.88rem; margin-bottom:12px; }
.legal-meta strong { color:#0f172a; }

.legal-alert { margin:22px 0 8px; padding:17px 19px; border-radius:14px; border-left:4px solid #b45309; background:#fffbeb; color:#713f12; line-height:1.68; }
.legal-alert strong { display:block; margin-bottom:6px; color:#7c2d12; font-size:1.02rem; }
.legal-alert b { color:#7c2d12; }

.legal-toc { margin:26px 0 10px; padding:20px 22px; border-radius:16px; background:#ffffff; border:1px solid #dbe3ef; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.legal-toc strong { display:block; margin-bottom:12px; font-size:.98rem; color:#0f172a; }
.legal-toc ol { margin:0; padding-left:20px; columns:2; column-gap:28px; }
.legal-toc li { margin-bottom:6px; font-size:.9rem; break-inside:avoid; color:#475569; }
.legal-toc a { color:#1d4ed8; text-decoration:none; }
.legal-toc a:hover { text-decoration:underline; }

.legal-body { margin-top:8px; padding:6px 26px 28px; border-radius:16px; background:#ffffff; border:1px solid #dbe3ef; box-shadow:0 1px 2px rgba(15,23,42,.04); }
.legal-body section { margin-top:34px; scroll-margin-top:100px; }
.legal-body h2 { font-size:1.2rem; margin:0 0 13px; padding-bottom:9px; border-bottom:1px solid #e2e8f0; color:#0b1220; }
.legal-body h3 { font-size:1rem; margin:20px 0 8px; color:#1e293b; }
.legal-body p, .legal-body li { color:#334155; line-height:1.74; }
.legal-body strong, .legal-body b { color:#0f172a; }
.legal-body ul, .legal-body ol { padding-left:22px; }
.legal-body li { margin-bottom:9px; }
.legal-body a { color:#1d4ed8; }
.legal-body code { padding:2px 6px; border-radius:6px; background:#f1f5f9; color:#0f172a; font-size:.88em; }

.legal-key { padding:15px 17px; border-radius:12px; background:#f1f5f9; border-left:3px solid #1d4ed8; margin:15px 0; }
.legal-key p { margin:0; color:#1e293b; }

.legal-foot { margin-top:40px; padding-top:20px; border-top:1px solid #e2e8f0; color:#64748b; font-size:.87rem; }
.legal-foot strong { color:#475569; }

@media (max-width:720px){
  .legal-toc ol { columns:1; }
  .legal-head { padding-top:100px; }
  .legal-body { padding:6px 18px 22px; }
}

/* Tablas de las políticas (v1.1): deben poder desplazarse en móvil sin
   desbordar la página. */
.legal-body table { display: block; width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.legal-body table thead th { white-space: nowrap; font-weight: 750; color: #0f172a; }
.legal-body table td, .legal-body table th { vertical-align: top; }
.legal-body table code { white-space: nowrap; }
@media (max-width: 620px) {
  .legal-body table { font-size: .84rem; }
}
