/* ============================================
   12-LEGAL.CSS — Páginas legales + banner de cookies
   Usa los tokens de 01-variables.css
   ============================================ */

.legal-body {
  font-family: var(--f-body);
  font-size: var(--fs-base);
  line-height: var(--lh-normal);
  color: var(--c-white-soft);
  background:
    radial-gradient(ellipse 100% 80% at 20% 0%,  #11243a, transparent 60%),
    radial-gradient(ellipse 100% 80% at 80% 100%, #0d1b2a, transparent 60%),
    #07111c;
  background-attachment: fixed;
  min-height: 100vh;
  margin: 0;
}

/* === Header simple === */
.legal-header {
  position: sticky;
  top: 0;
  z-index: var(--z-nav);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp-4);
  padding: var(--sp-4) var(--pad-page);
  background: linear-gradient(to bottom, var(--c-bg-deep) 0%, rgba(7,17,28,0.85) 100%);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--c-border-soft);
}

.legal-header__brand {
  font-family: var(--f-display);
  font-weight: 700;
  letter-spacing: var(--tracking-tight);
  color: var(--c-white);
  text-decoration: none;
  font-size: var(--fs-md);
}

.legal-header__nav {
  display: flex;
  align-items: center;
  gap: var(--sp-5);
}

.legal-header__link {
  color: var(--c-muted);
  text-decoration: none;
  font-size: var(--fs-sm);
  transition: color var(--dur-fast) var(--ease-out);
}
.legal-header__link:hover { color: var(--c-blue-glow); }

/* === Contenido === */
.legal-main {
  max-width: var(--maxw-narrow);
  margin: 0 auto;
  padding: var(--sp-10) var(--pad-page) var(--sp-12);
}

.legal-main h1 {
  font-family: var(--f-display);
  font-size: var(--fs-xl);
  line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight);
  color: var(--c-white);
  margin: 0 0 var(--sp-3);
}

.legal-updated {
  color: var(--c-muted-deep);
  font-size: var(--fs-sm);
  font-family: var(--f-mono);
  margin: 0 0 var(--sp-8);
}

.legal-main h2 {
  font-family: var(--f-display);
  font-size: var(--fs-lg);
  color: var(--c-white);
  margin: var(--sp-8) 0 var(--sp-3);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--c-border-soft);
}

.legal-main h3 {
  font-size: var(--fs-md);
  color: var(--c-white-soft);
  margin: var(--sp-5) 0 var(--sp-2);
}

.legal-main p,
.legal-main li {
  color: var(--c-white-soft);
  margin: 0 0 var(--sp-3);
}

.legal-main ul,
.legal-main ol {
  margin: 0 0 var(--sp-4);
  padding-left: var(--sp-5);
}
.legal-main li { margin-bottom: var(--sp-2); }

.legal-main a { color: var(--c-blue-glow); }

.legal-main strong { color: var(--c-white); }

.legal-main table {
  width: 100%;
  border-collapse: collapse;
  margin: var(--sp-4) 0 var(--sp-6);
  font-size: var(--fs-sm);
}
.legal-main th,
.legal-main td {
  text-align: left;
  padding: var(--sp-3);
  border: 1px solid var(--c-border-soft);
  vertical-align: top;
}
.legal-main th {
  background: var(--c-surface);
  color: var(--c-white);
  font-weight: 600;
}

/* Placeholder visual para datos a completar */
.legal-main .ph {
  color: var(--c-blue-glow);
  background: rgba(90,143,196,0.12);
  padding: 0 .3em;
  border-radius: var(--r-sm);
  font-family: var(--f-mono);
  font-size: 0.9em;
}

.legal-callout {
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  padding: var(--sp-4) var(--sp-5);
  margin: var(--sp-5) 0;
}

/* === Footer === */
.legal-footer {
  border-top: 1px solid var(--c-border-soft);
  padding: var(--sp-6) var(--pad-page);
  text-align: center;
  color: var(--c-muted-deep);
  font-size: var(--fs-sm);
}
.legal-footer a { color: var(--c-muted); text-decoration: none; margin: 0 var(--sp-2); }
.legal-footer a:hover { color: var(--c-blue-glow); }
.legal-footer__links { margin-bottom: var(--sp-3); }

/* ============================================
   BANNER DE CONSENTIMIENTO DE COOKIES
   ============================================ */
.cookie-banner {
  position: fixed;
  left: 50%;
  bottom: var(--sp-4);
  transform: translateX(-50%);
  width: min(680px, calc(100vw - 2rem));
  z-index: var(--z-loader);
  background: var(--c-surface);
  border: 1px solid var(--c-border);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-card);
  padding: var(--sp-5);
  display: none;
}
.cookie-banner.is-visible { display: block; }

.cookie-banner__text {
  color: var(--c-white-soft);
  font-size: var(--fs-sm);
  line-height: var(--lh-normal);
  margin: 0 0 var(--sp-4);
}
.cookie-banner__text a { color: var(--c-blue-glow); }

.cookie-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
  justify-content: flex-end;
}

.cookie-btn {
  font-family: var(--f-body);
  font-size: var(--fs-sm);
  font-weight: 500;
  padding: var(--sp-2) var(--sp-5);
  border-radius: var(--r-pill);
  cursor: pointer;
  border: 1px solid var(--c-border);
  transition: all var(--dur-fast) var(--ease-out);
}
.cookie-btn--ghost {
  background: transparent;
  color: var(--c-white-soft);
}
.cookie-btn--ghost:hover { border-color: var(--c-blue); }
.cookie-btn--primary {
  background: var(--g-blue);
  color: var(--c-white);
  border-color: transparent;
}
.cookie-btn--primary:hover { box-shadow: var(--shadow-button); }

@media (max-width: 540px) {
  .cookie-banner__actions { justify-content: stretch; }
  .cookie-btn { flex: 1; text-align: center; }
}


/* Redes sociales en footer legal */
.legal-footer__social { display:flex; justify-content:center; gap: var(--sp-4); margin-bottom: var(--sp-4); }
.legal-footer__social a { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border-radius:var(--r-pill); border:1px solid var(--c-border); color:var(--c-muted); transition: color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out); }
.legal-footer__social a:hover { color: var(--c-white); border-color: var(--c-blue); transform: translateY(-2px); }
.legal-footer__social svg { width:18px; height:18px; fill: currentColor; }
