/* =============================================================
   PBA Guía Argentina — hoja principal
   Estructura: tokens · base · layout · componentes · secciones
   Los ajustes por ancho de pantalla viven en responsive.css
   ============================================================= */

/* ---------- 1. Tokens ---------- */
:root {
  --ink-900:#080C12;
  --ink-800:#0B131E;
  --ink-700:#111C2A;
  --ink-600:#182636;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);

  --text:#E9EFF7;
  --text-dim:#93A5B9;

  --paper:#FFFFFF;
  --paper-2:#F3F6FA;
  --paper-3:#E7ECF3;
  --paper-ink:#0D1622;
  --paper-dim:#54637A;

  --gold:#F0B23C;
  --gold-deep:#C8862A;
  --jade:#37C795;
  --link:#8CB8FF;
  --danger:#FF7A6B;

  --radius-sm:8px;
  --radius:14px;
  --radius-lg:22px;

  --shadow-card:0 18px 40px -24px rgba(0,0,0,.75);
  --shadow-paper:0 24px 50px -30px rgba(4,10,20,.9);

  --font-display:"Sora","Segoe UI",system-ui,sans-serif;
  --font-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;

  --wrap:1180px;
  --gap:clamp(1.25rem,3vw,2rem);
}

/* ---------- 2. Base ---------- */
*,*::before,*::after { box-sizing:border-box; }

html { -webkit-text-size-adjust:100%; scroll-behavior:smooth; }

body {
  margin:0;
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.65;
  color:var(--text);
  background:var(--ink-900);
  background-image:
    radial-gradient(900px 520px at 82% -8%, rgba(240,178,60,.11), transparent 62%),
    radial-gradient(760px 480px at 6% 4%, rgba(55,199,149,.07), transparent 60%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4 {
  font-family:var(--font-display);
  font-weight:700;
  line-height:1.15;
  letter-spacing:-.02em;
  margin:0 0 .6em;
}
h1 { font-size:clamp(2rem,5vw,3.25rem); }
h2 { font-size:clamp(1.5rem,3.2vw,2.15rem); }
h3 { font-size:clamp(1.1rem,2vw,1.35rem); }
h4 { font-size:1.02rem; }

p { margin:0 0 1.05em; }
a { color:var(--link); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:#B7D3FF; }
img { max-width:100%; height:auto; display:block; }
strong { font-weight:600; color:#F6FAFF; }
ul,ol { padding-left:1.15rem; }
li { margin-bottom:.4rem; }

:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:3px;
  border-radius:4px;
}

.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
.mono { font-variant-numeric:tabular-nums; letter-spacing:.01em; }

.skip-link {
  position:absolute; top:0; left:0; z-index:200;
  background:var(--gold); color:#0B131E; padding:.7rem 1.1rem;
  font-weight:600; border-radius:0 0 var(--radius-sm) 0;
  transform:translateY(-120%);
}
.skip-link:focus { transform:translateY(0); }

/* ---------- 3. Layout ---------- */
.wrap { width:100%; max-width:var(--wrap); margin:0 auto; padding:0 20px; }

.section { padding:clamp(3rem,7vw,5rem) 0; }
.section--tight { padding:clamp(2rem,4vw,3rem) 0; }
.section--paper { background:var(--paper); color:var(--paper-ink); }
.section--paper h1,.section--paper h2,.section--paper h3 { color:var(--paper-ink); }
.section--paper p { color:var(--paper-dim); }
.section--paper strong { color:var(--paper-ink); }
.section--paper a { color:#1F5FD0; }
.section--band { background:linear-gradient(180deg,var(--ink-800),var(--ink-900)); border-block:1px solid var(--line); }

.section__head { max-width:64ch; margin-bottom:clamp(1.75rem,4vw,2.5rem); }
.section__head--center { margin-inline:auto; text-align:center; }
.section__lead { font-size:1.06rem; color:var(--text-dim); }
.section--paper .section__lead { color:var(--paper-dim); }

.eyebrow {
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:var(--font-display); font-size:.72rem; font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
  margin-bottom:.9rem;
}
.eyebrow::before {
  content:""; width:26px; height:2px; background:var(--gold); display:block;
}
.section--paper .eyebrow { color:var(--gold-deep); }
.section--paper .eyebrow::before { background:var(--gold-deep); }

.grid-2 { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--gap); }
.grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }

/* ---------- 4. Barra de edad ---------- */
.agebar {
  display:flex; align-items:center; justify-content:center; gap:.65rem;
  flex-wrap:wrap; text-align:center;
  background:var(--ink-800); border-bottom:1px solid var(--line);
  padding:.5rem 1rem; font-size:.8rem; color:var(--text-dim);
}
.agebar__pill {
  font-family:var(--font-display); font-weight:700; font-size:.72rem;
  background:var(--gold); color:#0B131E; padding:.12rem .5rem; border-radius:999px;
}
.agebar strong { color:var(--text); }

/* ---------- 5. Cabecera y navegación ---------- */
.site-header {
  position:sticky; top:0; z-index:60;
  background:rgba(8,12,18,.86);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.site-header__inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; min-height:70px;
}

.brand { display:flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--text); }
.brand__mark { color:var(--gold); display:flex; }
.brand__text { display:flex; flex-direction:column; line-height:1.15; }
.brand__name { font-family:var(--font-display); font-weight:700; font-size:1.02rem; letter-spacing:-.01em; }
.brand__sub { font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; color:var(--text-dim); }
.brand__name--footer { font-size:1.15rem; display:block; margin-bottom:.7rem; color:var(--text); }

.nav__list { display:flex; align-items:center; gap:.35rem; list-style:none; margin:0; padding:0; }
.nav__list li { margin:0; }
.nav__link {
  display:block; padding:.5rem .7rem; border-radius:var(--radius-sm);
  font-size:.9rem; font-weight:500; color:var(--text-dim); text-decoration:none;
  transition:color .16s ease, background-color .16s ease;
}
.nav__link:hover { color:var(--text); background:rgba(255,255,255,.05); }
.nav__link.is-current { color:var(--text); box-shadow:inset 0 -2px 0 var(--gold); border-radius:0; }
.nav__cta-wrap { margin-left:.5rem; }

.nav-toggle {
  display:none; width:44px; height:44px; border:1px solid var(--line-strong);
  border-radius:var(--radius-sm); background:transparent; cursor:pointer;
  align-items:center; justify-content:center;
}
.nav-toggle__bars, .nav-toggle__bars::before, .nav-toggle__bars::after {
  display:block; width:20px; height:2px; background:var(--text); border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle__bars { position:relative; }
.nav-toggle__bars::before, .nav-toggle__bars::after { content:""; position:absolute; left:0; }
.nav-toggle__bars::before { top:-6px; }
.nav-toggle__bars::after  { top:6px; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars { background:transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::before { transform:translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle__bars::after  { transform:translateY(-6px) rotate(-45deg); }

/* ---------- 6. Botones y badges ---------- */
.btn {
  --btn-bg:transparent; --btn-fg:var(--text); --btn-border:var(--line-strong);
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.85rem 1.4rem; min-height:48px;
  font-family:var(--font-display); font-size:.94rem; font-weight:600;
  color:var(--btn-fg); background:var(--btn-bg);
  border:1px solid var(--btn-border); border-radius:999px;
  text-decoration:none; cursor:pointer; text-align:center;
  transition:transform .14s ease, filter .16s ease, background-color .16s ease;
}
.btn:hover { filter:brightness(1.07); transform:translateY(-1px); color:var(--btn-fg); }
.btn:active { transform:translateY(0); }
.btn--primary {
  --btn-bg:linear-gradient(180deg,#F7C766,var(--gold));
  --btn-fg:#0B131E; --btn-border:transparent;
  box-shadow:0 10px 24px -14px rgba(240,178,60,.9);
}
.btn--ghost { --btn-bg:transparent; --btn-fg:var(--text); }
.section--paper .btn--ghost { --btn-fg:var(--paper-ink); --btn-border:rgba(13,22,34,.22); }
.btn--sm { padding:.6rem 1rem; min-height:42px; font-size:.86rem; }
.btn--block { width:100%; }

.badge {
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.28rem .65rem; border-radius:999px;
  font-size:.72rem; font-weight:600; letter-spacing:.02em;
  border:1px solid currentColor; white-space:nowrap;
}
.badge--jade { color:var(--jade); background:rgba(55,199,149,.1); }
.badge--gold { color:var(--gold-deep); background:rgba(240,178,60,.12); }
.badge--neutral { color:var(--paper-dim); background:rgba(84,99,122,.1); }

/* ---------- 7. Hero ---------- */
.hero { position:relative; padding:clamp(3rem,8vw,5.5rem) 0 clamp(2.5rem,6vw,4rem); overflow:hidden; }
.hero::after {
  content:""; position:absolute; inset:auto 0 0; height:1px; background:var(--line);
}
.hero__inner { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(2rem,5vw,3.5rem); align-items:center; }
.hero__title { margin-bottom:.5em; }
.hero__title em { font-style:normal; color:var(--gold); }
.hero__lead { font-size:clamp(1.02rem,1.6vw,1.14rem); color:var(--text-dim); max-width:56ch; }
.hero__actions { display:flex; flex-wrap:wrap; gap:.8rem; margin:1.8rem 0 1.2rem; }
.hero__note { display:flex; align-items:center; gap:.6rem; font-size:.85rem; color:var(--text-dim); }
.hero__note .agebar__pill { flex:none; }

/* Sello de jurisdicción: el elemento distintivo del sitio */
.stamp {
  border:1px solid var(--line-strong);
  border-radius:var(--radius-lg);
  background:linear-gradient(160deg,rgba(24,38,54,.95),rgba(11,19,30,.95));
  padding:1.6rem;
  box-shadow:var(--shadow-card);
}
.stamp__top {
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-bottom:.9rem; margin-bottom:.9rem; border-bottom:1px dashed var(--line-strong);
}
.stamp__label { font-family:var(--font-display); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text-dim); }
.stamp__seal {
  font-family:var(--font-display); font-weight:700; font-size:.78rem; letter-spacing:.1em;
  color:var(--gold); border:1px solid var(--gold); border-radius:999px; padding:.22rem .7rem;
}
.stamp__list { list-style:none; margin:0; padding:0; }
.stamp__list li {
  display:flex; justify-content:space-between; align-items:baseline; gap:1rem;
  padding:.55rem 0; border-bottom:1px solid var(--line); font-size:.9rem;
}
.stamp__list li:last-child { border-bottom:0; }
.stamp__key { color:var(--text-dim); }
.stamp__val { font-family:var(--font-display); font-weight:600; text-align:right; }
.stamp__foot { margin:.9rem 0 0; font-size:.76rem; color:var(--text-dim); line-height:1.5; }

/* ---------- 8. Tarjetas de oferta ---------- */
.offers { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); align-items:stretch; }

.offer-card {
  position:relative;
  display:flex; flex-direction:column;
  background:var(--paper); color:var(--paper-ink);
  border-radius:var(--radius-lg); padding:1.6rem 1.5rem 1.4rem;
  box-shadow:var(--shadow-paper);
}
.offer-card__rank {
  position:absolute; top:-14px; left:22px;
  width:36px; height:36px; border-radius:10px;
  display:grid; place-items:center;
  font-family:var(--font-display); font-weight:700; font-size:1rem;
  background:linear-gradient(180deg,#F7C766,var(--gold)); color:#0B131E;
  box-shadow:0 8px 18px -10px rgba(0,0,0,.6);
}
.offer-card__head {
  display:grid; grid-template-columns:auto 1fr; align-items:center;
  gap:.5rem .85rem; margin:.6rem 0 1.2rem;
}
.offer-card__logo {
  width:46px; height:46px; flex:none; border-radius:12px;
  display:grid; place-items:center;
  font-family:var(--font-display); font-weight:700; font-size:1.4rem;
  background:var(--paper-ink); color:var(--gold);
}
.offer-card__brand { margin:0; font-size:1.15rem; }
.offer-card__category { margin:0; font-size:.85rem; color:var(--paper-dim); }
.offer-card__head .badge { grid-column:1 / -1; justify-self:start; }

.offer-card__bonus {
  background:var(--paper-2); border:1px solid var(--paper-3);
  border-radius:var(--radius); padding:.95rem 1.1rem; margin-bottom:1.1rem;
}
.offer-card__bonus-label {
  font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:var(--paper-dim);
  font-weight:600;
}
.offer-card__bonus-value {
  font-family:var(--font-display); font-weight:700; font-size:1.16rem;
  margin:.3rem 0 .25rem; color:var(--paper-ink); line-height:1.3;
}
.offer-card__bonus-note { margin:0; font-size:.8rem; color:var(--paper-dim); }

.offer-card__summary { font-size:.92rem; color:var(--paper-dim); }
.offer-card__features { flex:1 1 auto; }
.offer-card__features { list-style:none; margin:0 0 1.3rem; padding:0; }
.offer-card__features li {
  position:relative; padding-left:1.55rem; margin-bottom:.5rem;
  font-size:.9rem; color:var(--paper-ink);
}
.offer-card__features li::before {
  content:""; position:absolute; left:0; top:.42em;
  width:14px; height:8px; border-left:2px solid var(--jade); border-bottom:2px solid var(--jade);
  transform:rotate(-45deg);
}
.offer-card .btn--primary { margin-top:auto; }
.offer-card__terms { margin:.95rem 0 0; font-size:.74rem; line-height:1.55; color:var(--paper-dim); }

/* ---------- 9. Tabla comparativa ---------- */
.table-scroll {
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid var(--line); border-radius:var(--radius-lg);
  background:rgba(255,255,255,.02);
}
.table-scroll:focus-visible { outline-offset:0; }
.compare { width:100%; border-collapse:collapse; min-width:720px; font-size:.9rem; }
.compare th, .compare td { padding:.95rem 1.1rem; text-align:left; vertical-align:top; }
.compare thead th {
  font-family:var(--font-display); font-size:.82rem; letter-spacing:.04em;
  text-transform:uppercase; color:var(--gold);
  border-bottom:1px solid var(--line-strong); background:rgba(255,255,255,.03);
  position:sticky; top:0;
}
.compare tbody th {
  font-weight:600; color:var(--text); width:22%; background:rgba(255,255,255,.02);
}
.compare tbody td { color:var(--text-dim); border-bottom:1px solid var(--line); }
.compare tbody th { border-bottom:1px solid var(--line); }
.compare tbody tr:last-child th, .compare tbody tr:last-child td { border-bottom:0; }
.compare__cta-row td { padding-top:1.1rem; padding-bottom:1.2rem; }
.table-note { margin-top:.9rem; font-size:.82rem; color:var(--text-dim); }

/* ---------- 10. Bloques de contenido ---------- */
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--gap); }
.feature {
  border:1px solid var(--line); border-radius:var(--radius);
  padding:1.4rem; background:rgba(255,255,255,.025);
}
.feature h3 { margin-bottom:.45rem; font-size:1.05rem; }
.feature p { margin:0; font-size:.92rem; color:var(--text-dim); }
.feature__num {
  font-family:var(--font-display); font-size:.72rem; letter-spacing:.16em;
  color:var(--gold); display:block; margin-bottom:.7rem;
}

.callout {
  border-left:3px solid var(--gold);
  background:rgba(240,178,60,.07);
  border-radius:0 var(--radius) var(--radius) 0;
  padding:1.15rem 1.3rem; margin:1.5rem 0;
}
.callout p:last-child { margin-bottom:0; }
.callout--jade { border-left-color:var(--jade); background:rgba(55,199,149,.08); }
.callout--danger { border-left-color:var(--danger); background:rgba(255,122,107,.08); }
.section--paper .callout { background:rgba(240,178,60,.12); }
.section--paper .callout--jade { background:rgba(55,199,149,.12); }

.checklist { list-style:none; padding:0; margin:1.2rem 0; }
.checklist li { position:relative; padding-left:1.7rem; margin-bottom:.65rem; }
.checklist li::before {
  content:""; position:absolute; left:.15rem; top:.5em;
  width:13px; height:7px; border-left:2px solid var(--jade); border-bottom:2px solid var(--jade);
  transform:rotate(-45deg);
}

.prose { max-width:74ch; }
.prose h2 { margin-top:2.4rem; }
.prose h3 { margin-top:1.8rem; }
.prose h2:first-child { margin-top:0; }
.prose ul { margin-bottom:1.2rem; }
.prose__meta { font-size:.82rem; color:var(--text-dim); margin-bottom:2rem; }

.page-head { padding:clamp(2.5rem,6vw,4rem) 0 clamp(1.5rem,3vw,2.2rem); }
.page-head p { max-width:66ch; color:var(--text-dim); font-size:1.05rem; }

.breadcrumb { font-size:.8rem; color:var(--text-dim); margin-bottom:1rem; }
.breadcrumb ol { list-style:none; display:flex; flex-wrap:wrap; gap:.45rem; margin:0; padding:0; }
.breadcrumb li::after { content:"/"; margin-left:.45rem; opacity:.5; }
.breadcrumb li:last-child::after { content:""; }
.breadcrumb a { color:var(--text-dim); }

/* Lista de operadores */
.operator {
  display:grid; grid-template-columns:auto 1fr auto; gap:1.4rem; align-items:start;
  background:var(--paper); color:var(--paper-ink);
  border-radius:var(--radius-lg); padding:1.6rem; box-shadow:var(--shadow-paper);
  margin-bottom:1.2rem;
}
.operator__logo {
  width:60px; height:60px; border-radius:14px; display:grid; place-items:center;
  background:var(--paper-ink); color:var(--gold);
  font-family:var(--font-display); font-weight:700; font-size:1.7rem;
}
.operator h3 { margin-bottom:.3rem; }
.operator p { color:var(--paper-dim); font-size:.93rem; }
.operator__meta { list-style:none; margin:.8rem 0 0; padding:0; font-size:.85rem; }
.operator__meta li { color:var(--paper-dim); }
.operator__meta strong { color:var(--paper-ink); }
.operator__side { display:flex; flex-direction:column; gap:.6rem; align-items:stretch; min-width:190px; }
.operator__offer {
  font-family:var(--font-display); font-weight:600; font-size:.95rem;
  color:var(--paper-ink); background:var(--paper-2); border:1px solid var(--paper-3);
  border-radius:var(--radius); padding:.7rem .9rem; text-align:center;
}
.empty-slot {
  border:1px dashed var(--line-strong); border-radius:var(--radius-lg);
  padding:1.6rem; text-align:center; color:var(--text-dim); font-size:.92rem;
}

/* ---------- 11. FAQ ---------- */
.faq { border-top:1px solid var(--line); max-width:80ch; }
.section--paper .faq { border-top-color:var(--paper-3); }
.faq__item { border-bottom:1px solid var(--line); }
.section--paper .faq__item { border-bottom-color:var(--paper-3); }
.faq__heading { margin:0; font-size:1rem; }
.faq__trigger {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:none; border:0; cursor:pointer; text-align:left;
  padding:1.15rem .25rem; color:inherit;
  font-family:var(--font-display); font-weight:600; font-size:1rem; line-height:1.4;
}
.faq__trigger:hover { color:var(--gold); }
.section--paper .faq__trigger:hover { color:var(--gold-deep); }
.faq__icon { position:relative; width:16px; height:16px; flex:none; }
.faq__icon::before, .faq__icon::after {
  content:""; position:absolute; background:currentColor; transition:transform .2s ease, opacity .2s ease;
}
.faq__icon::before { top:7px; left:0; width:16px; height:2px; }
.faq__icon::after  { left:7px; top:0; width:2px; height:16px; }
.faq__trigger[aria-expanded="true"] .faq__icon::after { transform:scaleY(0); opacity:0; }
.faq__panel { padding:0 .25rem 1.25rem; max-width:72ch; }
.faq__panel p { margin:0; color:var(--text-dim); font-size:.95rem; }
.section--paper .faq__panel p { color:var(--paper-dim); }

/* ---------- 12. Formularios ---------- */
.form { max-width:34rem; }
.form__row { margin-bottom:1.15rem; }
.form__label { display:block; font-size:.88rem; font-weight:600; margin-bottom:.4rem; }
.form__hint { display:block; font-size:.78rem; color:var(--text-dim); font-weight:400; margin-top:.2rem; }
.form__control {
  width:100%; padding:.8rem .95rem; min-height:48px;
  font-family:inherit; font-size:1rem; color:var(--text);
  background:rgba(255,255,255,.04); border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);
}
.form__control::placeholder { color:#6B7C90; }
.form__control:focus { border-color:var(--gold); background:rgba(255,255,255,.06); }
textarea.form__control { min-height:150px; resize:vertical; }
.form__error { display:block; margin-top:.35rem; font-size:.82rem; color:var(--danger); }
.form__control[aria-invalid="true"] { border-color:var(--danger); }

.alert { border-radius:var(--radius); padding:1rem 1.2rem; margin-bottom:1.6rem; font-size:.93rem; }
.alert--ok { background:rgba(55,199,149,.12); border:1px solid rgba(55,199,149,.4); }
.alert--bad { background:rgba(255,122,107,.1); border:1px solid rgba(255,122,107,.38); }
.alert p:last-child { margin-bottom:0; }
.alert ul { margin:.5rem 0 0; }

/* ---------- 13. Banner de cookies ---------- */
.cookie-banner {
  position:fixed; left:50%; bottom:16px; transform:translateX(-50%);
  z-index:90; width:min(940px,calc(100% - 24px));
  background:var(--ink-700); border:1px solid var(--line-strong);
  border-radius:var(--radius-lg); box-shadow:0 26px 60px -28px rgba(0,0,0,.95);
  padding:1.15rem 1.3rem;
}
.cookie-banner[hidden] { display:none; }
.cookie-banner__inner { display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap; }
.cookie-banner__title { font-size:.95rem; margin:0 0 .2rem; }
.cookie-banner__text { margin:0; font-size:.86rem; color:var(--text-dim); max-width:60ch; }
.cookie-banner__actions { display:flex; align-items:center; gap:.6rem; margin-left:auto; flex-wrap:wrap; }
.cookie-banner__more { font-size:.82rem; color:var(--text-dim); }
.cookie-prefs { margin-top:1.1rem; padding-top:1.1rem; border-top:1px solid var(--line); }
.cookie-prefs[hidden] { display:none; }
.cookie-prefs__set { border:0; margin:0 0 1rem; padding:0; }
.cookie-prefs__legend { font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-dim); padding:0; margin-bottom:.7rem; }
.cookie-prefs__row { display:flex; gap:.7rem; align-items:flex-start; margin-bottom:.6rem; font-size:.85rem; color:var(--text-dim); }
.cookie-prefs__row input { margin-top:.35rem; width:18px; height:18px; accent-color:var(--gold); }

/* ---------- 14. Pie ---------- */
.site-footer {
  background:var(--ink-800); border-top:1px solid var(--line);
  padding:clamp(2.5rem,5vw,3.5rem) 0 2rem; font-size:.9rem;
}
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--gap); padding-bottom:2rem; }
.footer-about__text { color:var(--text-dim); font-size:.88rem; max-width:44ch; }
.footer-about__text--muted { font-size:.8rem; opacity:.85; }
.footer-nav__title { font-family:var(--font-display); font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); margin-bottom:.9rem; }
.footer-nav__list { list-style:none; margin:0; padding:0; columns:2; column-gap:1.2rem; }
.footer-nav__list li { margin-bottom:.5rem; break-inside:avoid; }
.footer-nav__list a { color:var(--text-dim); text-decoration:none; }
.footer-nav__list a:hover { color:var(--text); text-decoration:underline; }
.footer-help__text { color:var(--text-dim); font-size:.86rem; }
.footer-help__phone {
  display:inline-block; font-family:var(--font-display); font-weight:700; font-size:1.25rem;
  color:var(--jade); text-decoration:none; margin-bottom:.5rem;
}
.footer-help__link { display:block; font-size:.82rem; color:var(--text-dim); }
.footer-legal {
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:1.5rem 0; color:var(--text-dim); font-size:.8rem; line-height:1.6;
}
.footer-legal p { margin-bottom:.6rem; }
.footer-legal p:last-child { margin-bottom:0; }
.footer-legal__lead strong { color:var(--gold); }
.footer-bottom { padding-top:1.4rem; display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; color:var(--text-dim); font-size:.78rem; }
.footer-bottom p { margin:0; }

/* ---------- 15. Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; transition-duration:.001ms !important; }
  .btn:hover { transform:none; }
}
