/* Páginas legales (términos y privacidad): texto largo, legible y a juego con la portada. */
:root { --bg:#0b1120; --ink:#e8edf6; --soft:#aab6ca; --line:#ffffff1f; --accent:#8fb4ff; --accent-2:#a98bff; --warn-bg:#f5d36a26; --warn-ink:#ffe6a1; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-height:100dvh; background:radial-gradient(900px 480px at 85% -10%,#2a2f6b55,transparent 70%),var(--bg); color:var(--ink); font:16px/1.7 "Hanken Grotesk",system-ui,sans-serif; }
a { color:var(--accent); text-underline-offset:3px; }
a:hover { color:#fff; }
a:focus-visible { outline:3px solid #58dfde; outline-offset:3px; border-radius:4px; }
.skip { position:absolute; left:-999px; top:8px; padding:8px 14px; border-radius:8px; background:#fff; color:#0b1120; z-index:10; }
.skip:focus { left:12px; }

.legal-top { display:flex; align-items:center; justify-content:space-between; gap:16px; max-width:1040px; margin:0 auto; padding:22px 24px; }
.legal-top img { display:block; width:120px; height:auto; }
.legal-top a.back { color:var(--soft); font-size:14px; text-decoration:none; }
.legal-top a.back:hover { color:#fff; }

.legal { display:grid; grid-template-columns:230px minmax(0,1fr); gap:56px; max-width:1040px; margin:0 auto; padding:24px 24px 80px; }
.legal-toc { position:sticky; top:24px; align-self:start; font-size:13px; }
.legal-toc p { margin:0 0 10px; color:var(--soft); font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.legal-toc ol { display:grid; gap:7px; margin:0; padding:0; list-style:none; }
.legal-toc a { color:var(--soft); text-decoration:none; }
.legal-toc a:hover { color:#fff; }

.legal-body { min-width:0; }
.legal-body .eyebrow { margin:0 0 10px; color:var(--accent); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.legal-body h1 { margin:0 0 10px; font:500 clamp(34px,5vw,52px)/1.08 Fraunces,Georgia,serif; letter-spacing:-.02em; }
.legal-body .updated { margin:0 0 30px; color:var(--soft); font-size:14px; }
.legal-body .intro { margin:0 0 34px; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:#ffffff0a; color:#cdd6e6; font-size:15px; }
.legal-body section { padding-top:8px; margin-top:34px; border-top:1px solid var(--line); scroll-margin-top:24px; }
.legal-body h2 { margin:18px 0 12px; font:500 clamp(21px,2.4vw,26px)/1.25 Fraunces,Georgia,serif; letter-spacing:-.01em; }
.legal-body h3 { margin:22px 0 6px; font-size:15px; font-weight:700; color:#fff; }
.legal-body p { margin:0 0 14px; color:#cdd6e6; }
.legal-body ul { margin:0 0 16px; padding-left:22px; color:#cdd6e6; }
.legal-body li { margin:0 0 7px; }
.legal-body strong { color:#fff; font-weight:650; }
.legal-body table { width:100%; margin:6px 0 18px; border-collapse:collapse; font-size:14px; }
.legal-body th, .legal-body td { padding:10px 12px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.legal-body th { color:var(--soft); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.legal-body td { color:#cdd6e6; }
.table-wrap { overflow-x:auto; }
/* Datos que la empresa debe completar antes de publicar: se ven a propósito. */
.pending { padding:1px 6px; border-radius:6px; background:var(--warn-bg); color:var(--warn-ink); font-weight:600; white-space:nowrap; }

.legal-foot { display:flex; flex-wrap:wrap; gap:10px 26px; justify-content:space-between; max-width:1040px; margin:0 auto; padding:26px 24px 44px; border-top:1px solid var(--line); color:var(--soft); font-size:13px; }
.legal-foot nav { display:flex; flex-wrap:wrap; gap:8px 22px; }
.legal-foot a { color:var(--soft); }
.legal-foot a:hover { color:#fff; }

@media (max-width:860px) {
  .legal { grid-template-columns:1fr; gap:24px; padding-top:8px; }
  .legal-toc { position:static; padding:16px 18px; border:1px solid var(--line); border-radius:14px; background:#ffffff08; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
@media print {
  body { background:#fff; color:#000; }
  .legal-top, .legal-toc, .legal-foot nav { display:none; }
  .legal { display:block; padding:0; }
  .legal-body p, .legal-body li, .legal-body td { color:#000; }
  .legal-body h1, .legal-body h2, .legal-body h3, .legal-body strong { color:#000; }
  .pending { background:none; color:#000; border:1px solid #000; }
}
