/* Atlas Electoral — hoja de estilo compartida
   El cromatismo del sitio es neutro a propósito: los doce colores de partido
   son lo único con saturación en la página. */

:root{
  --papel:#FBF9F6; --panel:#FFFFFF; --hueco:#F1EDE7;
  --tinta:#1B1A18; --tinta-2:#5A544C; --tinta-3:#8D857A;
  --regla:#E0DAD1; --regla-2:#CFC7BB;
  --pizarra:#2E3A4A; --pizarra-fg:#FFFFFF;
  --mar:#EDE8E0;
  --rampa-a:#F4ECDD; --rampa-b:#8A6A3B;
  --mrampa-a:#E8E7E4; --mrampa-b:#2E3A4A;
  --sin-dato:#D7D1C7;
  --sombra:0 1px 2px rgba(27,26,24,.06), 0 8px 24px rgba(27,26,24,.06);
  --titular:"Bitter",Georgia,"Times New Roman",serif;
  --texto:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]){
  --papel:#15161A; --panel:#1C1E23; --hueco:#232630;
  --tinta:#F2F0EC; --tinta-2:#B4AFA6; --tinta-3:#847E74;
  --regla:#2C3039; --regla-2:#3B414D;
  --pizarra:#C9D4E4; --pizarra-fg:#15161A;
  --mar:#101217;
  --rampa-a:#2A2721; --rampa-b:#D9B477;
  --mrampa-a:#24262C; --mrampa-b:#9FB4D4;
  --sin-dato:#33373F;
  --sombra:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark;
}}
:root[data-tema="oscuro"]{
  --papel:#15161A; --panel:#1C1E23; --hueco:#232630;
  --tinta:#F2F0EC; --tinta-2:#B4AFA6; --tinta-3:#847E74;
  --regla:#2C3039; --regla-2:#3B414D;
  --pizarra:#C9D4E4; --pizarra-fg:#15161A;
  --mar:#101217;
  --rampa-a:#2A2721; --rampa-b:#D9B477;
  --mrampa-a:#24262C; --mrampa-b:#9FB4D4;
  --sin-dato:#33373F;
  --sombra:0 1px 2px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.35);
  color-scheme:dark;
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--papel);color:var(--tinta);
  font-family:var(--texto);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
img{max-width:100%}
a{color:inherit}

/* ---- cabecera común a todas las páginas ---- */
.cabecera{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;justify-content:space-between;
  padding:13px 20px;border-bottom:1px solid var(--regla);background:var(--panel)}
.marca{display:flex;align-items:baseline;gap:10px;text-decoration:none;min-width:0}
.marca b{font-family:var(--titular);font-weight:700;font-size:18px;letter-spacing:-.01em}
.marca span{font-size:12px;color:var(--tinta-3);letter-spacing:.1em;text-transform:uppercase;font-weight:600}
nav{display:flex;gap:4px;flex-wrap:wrap}
nav a{text-decoration:none;font-size:14px;font-weight:600;color:var(--tinta-2);
  padding:6px 11px;border-radius:7px}
nav a:hover{background:var(--hueco);color:var(--tinta)}
nav a[aria-current="page"]{background:var(--pizarra);color:var(--pizarra-fg)}
nav a:focus-visible{outline:2px solid var(--pizarra);outline-offset:2px}

/* ---- pie ---- */
.pie{border-top:1px solid var(--regla);background:var(--panel);padding:18px 20px;
  font-size:13px;color:var(--tinta-3);display:flex;flex-wrap:wrap;gap:6px 22px}
.pie a{color:var(--tinta-2)}

/* ---- portada ---- */
.contenido{max-width:62rem;margin:0 auto;padding-block:38px;padding-left:20px;padding-right:20px}
.entradilla{max-width:34rem}
.entradilla h1{font-family:var(--titular);font-weight:600;font-size:clamp(26px,4vw,38px);
  margin:0 0 12px;letter-spacing:-.02em;text-wrap:balance}
.entradilla p{margin:0 0 10px;color:var(--tinta-2);font-size:17px}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;margin-top:34px}
.ficha{display:block;text-decoration:none;background:var(--panel);border:1px solid var(--regla);
  border-radius:11px;padding:16px 17px}
.ficha:hover{border-color:var(--regla-2)}
.ficha .eyebrow{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--tinta-3);
  font-weight:600;margin:0 0 3px}
.ficha h2{font-family:var(--titular);font-weight:600;font-size:18px;margin:0 0 5px;letter-spacing:-.01em}
.ficha p{margin:0;font-size:14px;color:var(--tinta-2)}
.ficha.futura{opacity:.62;pointer-events:none}
.tiras{display:flex;height:9px;border-radius:3px;overflow:hidden;margin-top:12px;background:var(--hueco)}
.tiras span{height:100%}
h3.seccion{font-family:var(--titular);font-weight:600;font-size:14px;letter-spacing:.02em;
  margin:40px 0 0;color:var(--tinta-2);text-transform:uppercase;letter-spacing:.1em;font-size:12px}
