/* Estilos compartidos para /privacy y /terms.
   Mismo patrón estructural que la legal.css de shellphone, adaptado a la
   paleta de mediario (#1A4D8F) y con dark-mode automático en lugar de
   dark-only. Sigue el modo "prosa, no marketing" — sin hero, sin grids,
   solo texto. */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; }
a { color: inherit; }

:root {
  --primary:     #1A4D8F;
  --primary-soft: #E8EFF7;
  --primary-line: rgba(26,77,143,0.28);
  --bg:          #FFFFFF;
  --bg-alt:      #F6F8FB;
  --surface:     #FAFBFD;
  --border:      #E2E7EF;
  --border-2:    #C8D2DE;
  --text:        #1A1A1A;
  --text-2:      #2F3845;
  --muted:       #555F6E;
  --dim:         #8A95A5;
  --warn:        #B85C00;
  --warn-soft:   #FFF4E5;

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
  --font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Courier New", monospace;
}

@media (prefers-color-scheme: dark) {
  :root {
    --primary:     #6FA6E1;
    --primary-soft: #1F2A3A;
    --primary-line: rgba(111,166,225,0.32);
    --bg:          #0F141B;
    --bg-alt:      #161D27;
    --surface:     #131922;
    --border:      #232B38;
    --border-2:    #2E3849;
    --text:        #E8EBF0;
    --text-2:      #C9D0DA;
    --muted:       #9AA4B4;
    --dim:         #6A7383;
    --warn:        #FFB454;
    --warn-soft:   #2A1F0E;
  }
}

body {
  font-family: var(--font-sans);
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

::selection { background: var(--primary); color: #FFFFFF; }

.container {
  width: 100%;
  max-width: 760px;
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 40px);
}

/* ── Nav ────────────────────────────────────────────────────────── */
.nav {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px;
  padding-block: 24px;
  border-bottom: 1px solid var(--border);
  margin-bottom: 48px;
}
.brand {
  display: inline-flex; align-items: center; gap: 12px;
  font-weight: 700;
  font-size: 1.1rem; letter-spacing: -0.01em;
  text-decoration: none; color: var(--text);
}
.brand img {
  width: 32px; height: 32px;
  border-radius: 8px;
  display: block;
}
.nav__back {
  font-size: 0.9rem;
  color: var(--muted); text-decoration: none;
  transition: color .15s ease;
  white-space: nowrap;
}
.nav__back:hover { color: var(--primary); }

/* ── Document ───────────────────────────────────────────────────── */
.doc { padding-bottom: 96px; }

.doc__eyebrow {
  font-size: 0.78rem; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--primary);
  font-weight: 700;
  margin: 0 0 16px;
}

.doc h1 {
  font-weight: 800;
  font-size: clamp(30px, 5vw, 44px);
  line-height: 1.1; letter-spacing: -0.02em;
  margin: 0 0 12px; color: var(--text);
}

.doc__meta {
  font-size: 0.92rem; color: var(--muted);
  margin: 0 0 40px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--border);
}

.doc h2 {
  font-weight: 700;
  font-size: clamp(20px, 2.4vw, 26px);
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin: 48px 0 14px;
  color: var(--text);
}
.doc h2:first-of-type { margin-top: 0; }

.doc h3 {
  font-weight: 600;
  font-size: 1.1rem; letter-spacing: -0.005em;
  margin: 28px 0 10px;
  color: var(--text);
}

.doc p,
.doc li {
  color: var(--text-2);
  font-size: 1.02rem;
  line-height: 1.7;
}
.doc p { margin: 0 0 18px; max-width: 68ch; }

.doc ul, .doc ol {
  margin: 0 0 22px; padding: 0 0 0 24px;
  max-width: 68ch;
}
.doc li { margin-bottom: 8px; }
.doc li::marker { color: var(--primary); }

.doc strong { color: var(--text); font-weight: 700; }
.doc em { color: var(--primary); font-style: normal; font-weight: 600; }
.doc code {
  font-family: var(--font-mono);
  font-size: 0.88em;
  color: var(--primary);
  background: var(--primary-soft);
  padding: 1px 6px; border-radius: 4px;
}
.doc a {
  color: var(--primary);
  text-decoration: underline;
  text-decoration-color: var(--primary-line);
  text-underline-offset: 3px;
  transition: text-decoration-color .15s ease;
}
.doc a:hover { text-decoration-color: var(--primary); }

/* TL;DR / callout informativo */
.doc__tldr {
  margin: 0 0 40px;
  padding: 18px 22px;
  border-left: 3px solid var(--primary);
  background: var(--primary-soft);
  border-radius: 0 8px 8px 0;
}
.doc__tldr p { margin: 0; color: var(--text); font-size: 1.04rem; }
.doc__tldr p strong { color: var(--primary); }

/* Aviso destacado (disclaimer médico-legal en /terms) */
.doc__warn {
  margin: 0 0 40px;
  padding: 18px 22px;
  border-left: 3px solid var(--warn);
  background: var(--warn-soft);
  border-radius: 0 8px 8px 0;
}
.doc__warn p { margin: 0; color: var(--text); font-size: 1.02rem; }
.doc__warn strong { color: var(--warn); }

/* ── Footer ─────────────────────────────────────────────────────── */
.site-footer {
  border-top: 1px solid var(--border);
  padding-block: 32px 48px;
  font-size: 0.9rem;
  color: var(--dim);
}
.site-footer__inner {
  display: flex; flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
}
.site-footer a {
  color: var(--muted); text-decoration: none;
  transition: color .15s ease;
}
.site-footer a:hover { color: var(--primary); }
.site-footer__brand {
  font-weight: 700; color: var(--text-2);
}
.site-footer__links {
  display: flex; gap: 24px; flex-wrap: wrap;
  font-size: 0.88rem;
}
