/* ─── Páginas legales: Aviso Legal, Privacidad, Términos ─────────────────── */
/* Estilo consistente con landing.html */

:root {
  --brand:#2563eb;
  --brand-strong:#1d4ed8;
  --brand-soft:#60a5fa;
  --brand-pale:#93c5fd;
  --bg:#000;
  --surface:#0a0a0a;
  --surface-2:#0b1120;
  --text:#fff;
  --text-1:rgba(255,255,255,.85);
  --text-2:rgba(255,255,255,.70);
  --text-3:rgba(255,255,255,.55);
  --border:rgba(255,255,255,.10);
  --border-soft:rgba(255,255,255,.06);
  --focus:0 0 0 3px rgba(96,165,250,.55);
}

* { box-sizing:border-box; margin:0; padding:0; }
html, body {
  background:var(--bg); color:var(--text);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.6; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
a { color:var(--brand-soft); text-decoration:none; }
a:hover { color:#fff; text-decoration:underline; }
a:focus-visible, button:focus-visible { outline:none; box-shadow:var(--focus); border-radius:4px; }

/* ── Header ── */
.legal-nav {
  position:sticky; top:0; z-index:100; background:rgba(0,0,0,.92);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom:1px solid var(--border);
  padding:0 24px; display:flex; align-items:center; justify-content:space-between;
  height:60px;
}
.legal-nav .back {
  display:inline-flex; align-items:center; gap:8px;
  font-size:13px; font-weight:700; color:var(--text-2);
  text-transform:uppercase; letter-spacing:.5px;
}
.legal-nav .back:hover { color:#fff; text-decoration:none; }
.legal-nav .back svg { width:16px; height:16px; }

.legal-logo { display:inline-flex; align-items:center; gap:10px; user-select:none; }
.legal-logo .word {
  font-family:'Roboto Condensed',sans-serif; font-weight:900; letter-spacing:5px;
  text-transform:uppercase; font-size:14px;
}
.legal-nav .nav-cta {
  background:var(--brand); color:#fff; font-weight:800;
  font-size:12px; padding:9px 18px; border-radius:4px;
  text-transform:uppercase; letter-spacing:1px; white-space:nowrap;
}
.legal-nav .nav-cta:hover { background:var(--brand-strong); color:#fff; text-decoration:none; }

/* ── Hero of legal page ── */
.legal-hero {
  background:linear-gradient(180deg,var(--surface-2) 0%,var(--bg) 100%);
  border-bottom:1px solid var(--border);
  padding:72px 24px 56px;
}
.legal-hero-inner { max-width:880px; margin:0 auto; }
.legal-eyebrow {
  display:inline-block; font-size:11px; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; color:var(--brand-soft);
  background:rgba(37,99,235,.15); border:1px solid rgba(96,165,250,.30);
  padding:6px 12px; border-radius:4px; margin-bottom:18px;
}
.legal-hero h1 {
  font-family:'Roboto Condensed','Inter',sans-serif;
  font-size:clamp(36px,5vw,56px); font-weight:900; line-height:1;
  letter-spacing:-1.5px; text-transform:uppercase; margin-bottom:14px;
}
.legal-hero .lead { font-size:16px; color:var(--text-2); max-width:640px; line-height:1.6; }
.legal-meta { font-size:12px; color:var(--text-3); margin-top:18px; letter-spacing:.5px; }

/* ── Main content ── */
.legal-main { padding:48px 24px 80px; }
.legal-main-inner { max-width:880px; margin:0 auto; }
.legal-main section { margin-bottom:42px; }
.legal-main h2 {
  font-family:'Roboto Condensed','Inter',sans-serif;
  font-size:22px; font-weight:900; text-transform:uppercase;
  letter-spacing:.5px; margin-bottom:14px; line-height:1.2;
  padding-bottom:8px; border-bottom:1px solid var(--border);
}
.legal-main h2::before {
  content:''; display:inline-block; width:4px; height:18px;
  background:var(--brand); margin-right:10px; vertical-align:-3px; border-radius:2px;
}
.legal-main h3 {
  font-size:16px; font-weight:800; margin:18px 0 8px; color:var(--text-1);
}
.legal-main p, .legal-main li {
  color:var(--text-1); font-size:15px; line-height:1.7; margin-bottom:10px;
}
.legal-main ul, .legal-main ol {
  margin:8px 0 14px 22px; color:var(--text-1);
}
.legal-main ul li::marker { color:var(--brand-soft); }
.legal-main strong { color:#fff; font-weight:700; }
.legal-main .info-block {
  background:var(--surface); border:1px solid var(--border); border-radius:8px;
  padding:20px 22px; margin:14px 0;
}
.legal-main .info-block p { margin:6px 0; font-size:14px; }
.legal-main .info-block .label {
  display:inline-block; min-width:140px; font-weight:700; color:var(--text-2);
  text-transform:uppercase; font-size:11px; letter-spacing:1px;
}

.legal-toc {
  background:var(--surface); border:1px solid var(--border); border-radius:8px;
  padding:20px 24px; margin-bottom:36px;
}
.legal-toc h4 {
  font-size:11px; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; color:var(--text-3); margin-bottom:12px;
}
.legal-toc ol { margin:0; padding-left:18px; }
.legal-toc li { font-size:14px; line-height:1.9; color:var(--text-1); }
.legal-toc a { color:var(--text-1); }
.legal-toc a:hover { color:var(--brand-soft); text-decoration:underline; }

/* ── Cross-links between legal pages ── */
.legal-related {
  margin-top:48px; padding-top:32px; border-top:1px solid var(--border);
}
.legal-related h4 {
  font-size:11px; font-weight:800; letter-spacing:2px;
  text-transform:uppercase; color:var(--text-3); margin-bottom:14px;
}
.legal-related-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:12px;
}
.legal-related-card {
  background:var(--surface); border:1px solid var(--border); border-radius:6px;
  padding:18px; transition:border-color .15s, transform .15s;
  display:block;
}
.legal-related-card:hover {
  border-color:var(--brand); transform:translateY(-2px); text-decoration:none;
}
.legal-related-card .t {
  font-weight:800; font-size:14px; color:#fff; margin-bottom:4px;
  text-transform:uppercase; letter-spacing:.5px;
}
.legal-related-card .d { font-size:12px; color:var(--text-3); }

/* ── Footer ── */
.legal-foot {
  background:var(--bg); border-top:1px solid var(--border);
  padding:30px 24px;
}
.legal-foot-inner {
  max-width:880px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:16px; flex-wrap:wrap;
  font-size:12px; color:var(--text-3);
}
.legal-foot a { color:var(--text-2); }
.legal-foot a:hover { color:#fff; text-decoration:underline; }

@media (max-width: 700px) {
  .legal-nav { padding:0 14px; height:54px; }
  .legal-nav .back { font-size:12px; }
  .legal-nav .back svg { width:14px; height:14px; }
  .legal-logo .word { font-size:12px; letter-spacing:4px; }
  .legal-nav .nav-cta { padding:8px 14px; font-size:11px; }

  .legal-hero { padding:48px 16px 36px; }
  .legal-main { padding:36px 16px 60px; }
  .legal-main h2 { font-size:19px; }
  .legal-main p, .legal-main li { font-size:14px; }
  .legal-foot-inner { flex-direction:column; align-items:flex-start; }
}
