/* El Faro de la Ciencia - sistema editorial (modo claro/oscuro) */
/* Tipografias self-hosted (woff2, sin dependencia de Google Fonts) */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('assets/fuentes/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('assets/fuentes/inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Merriweather';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fuentes/merriweather-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Merriweather';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fuentes/merriweather-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Merriweather';font-style:italic;font-weight:400;font-display:swap;
  src:url('assets/fuentes/merriweather-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Merriweather';font-style:italic;font-weight:400;font-display:swap;
  src:url('assets/fuentes/merriweather-italic-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fuentes/jetbrains-mono-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('assets/fuentes/jetbrains-mono-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --fuente-ui:'Inter','Segoe UI',system-ui,-apple-system,sans-serif; --fuente-texto:'Merriweather',Georgia,'Times New Roman',serif; --fuente-mono:'JetBrains Mono','Fira Code',monospace;
  --bg:#f2f5f7; --texto:#182029; --tenue:#5d6b78; --linea:#cfd8e0; --acento:#1a56db; --acento2:#059669; --tarjeta:#ffffff; --sombra:rgba(30,60,90,0.10);
  --on-acento:#ffffff;
  --on-acento2:#ffffff;
  --acento-sutil:rgba(26,86,219,0.1);
}
html[data-tema="oscuro"]{
  --bg:#10151a; --texto:#e2e9ef; --tenue:#8fa0ae; --linea:#232c35; --acento:#60a5fa; --acento2:#34d399; --tarjeta:#182029; --sombra:rgba(0,0,0,0.55);
  --on-acento:#14151a;
  --on-acento2:#14151a;
  --acento-sutil:rgba(96,165,250,0.16);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--texto);
  font-family:var(--fuente-texto);line-height:1.65;
  transition:background .2s,color .2s}
.cont{width:100%;max-width:none;margin:0 auto;padding:0 clamp(16px,4vw,44px)}
a{color:inherit;text-decoration:none}
.salto{position:absolute;left:-9999px;top:8px;background:var(--acento);color:var(--on-acento);padding:8px 14px;z-index:30}
.salto:focus{left:8px}
/* Foco visible para navegación por teclado (accesibilidad) */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,
select:focus-visible,textarea:focus-visible{outline:3px solid var(--acento);outline-offset:2px}
a:focus:not(:focus-visible){outline:none}
.progreso{position:fixed;top:0;left:0;height:3px;width:0;background:var(--acento);z-index:40;transition:width .08s}

/* Cabecera */
.cabecera{border-bottom:3px double var(--acento);position:sticky;top:0;
  background:var(--bg);z-index:10}
.barra{display:flex;align-items:center;justify-content:space-between;padding:14px 22px}
.identidad{display:flex;flex-direction:column}.marca{font-size:1.7em;font-weight:700;letter-spacing:-.5px;color:var(--acento)}
.lema{font-family:var(--fuente-ui);color:var(--tenue);font-size:.68em;letter-spacing:.02em}
/* La periodicidad se ANUNCIA: un semanario no debe confundirse con un diario. */
.insignia-ritmo{font-family:var(--fuente-ui);font-size:.6em;letter-spacing:.14em;
  text-transform:uppercase;color:var(--acento);border:1px solid var(--acento);
  border-radius:3px;padding:2px 7px;margin:0 10px;white-space:nowrap}
.ritmo-diario .cabecera{border-bottom:2px solid var(--acento)}
.ritmo-trisemanal .cabecera{border-bottom:2px dashed var(--linea)}
.ritmo-semanario .cabecera{border-bottom:4px double var(--texto)}
.ritmo-semanario .marca{font-style:italic}
.nav{display:flex;align-items:center;gap:20px;font-family:var(--fuente-ui);font-size:.95em}
.nav a{color:var(--tenue);padding-bottom:2px;border-bottom:2px solid transparent}
.nav a:hover,.nav a.act{color:var(--texto);border-bottom-color:var(--acento)}
.tema{background:none;border:1px solid var(--linea);color:var(--texto);
  border-radius:50%;width:34px;height:34px;font-size:1.1em;cursor:pointer;line-height:1}
.tema:hover{border-color:var(--acento)}
/* Menú "Ver más periódicos" (modelo OEM: red de cabeceras del grupo) */
.vermas{position:relative}
.vermas-btn{background:none;border:1px solid var(--linea);color:var(--texto);
  border-radius:4px;padding:6px 12px;font-family:var(--fuente-ui);font-size:.9em;
  cursor:pointer;display:flex;align-items:center;gap:6px;line-height:1}
.vermas-btn:hover,.vermas-btn[aria-expanded="true"]{border-color:var(--acento);color:var(--acento)}
.vermas-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:40;
  background:var(--bg);border:1px solid var(--linea);border-radius:8px;
  box-shadow:0 12px 34px rgba(0,0,0,.18);padding:14px;min-width:280px;
  max-width:min(480px,92vw);max-height:min(62vh,560px);overflow:auto}
.vermas-encabezado{display:flex;align-items:baseline;gap:8px;margin-bottom:8px;
  font-family:var(--fuente-ui)}
.vermas-titulo{font-size:.78em;letter-spacing:.12em;text-transform:uppercase;color:var(--tenue)}
.vermas-conteo{font-size:1.2em;font-weight:800;color:var(--acento)}
.vermas-lista{list-style:none;margin:0;padding:0;columns:2;column-gap:18px}
.vermas-lista li{break-inside:avoid}
.vermas-lista a{display:block;padding:5px 6px;color:var(--texto);font-size:.88em;
  border-radius:4px;border-bottom:1px solid var(--linea)}
.vermas-lista a:hover{color:var(--acento);background:var(--tarjeta)}
.vermas-todos{display:block;margin-top:10px;padding-top:10px;border-top:1px solid var(--linea);
  color:var(--acento);font-weight:700;font-size:.9em}
@media (max-width:640px){.vermas-menu{left:0;right:auto;max-width:none;width:100vw}}
@media (max-width:840px){.vermas-lista{columns:1}}
/* Apertura editorial */
.bienvenida{padding:64px 0 48px;border-bottom:1px solid var(--linea)}
.kicker{font-family:var(--fuente-ui);color:var(--acento);font-size:.76em;letter-spacing:2px;font-weight:700;margin-bottom:15px}
.bienvenida h1{font-size:clamp(2.5em,6vw,4.6em);line-height:1.02;letter-spacing:-2px;max-width:none}
.bienvenida h1 em{color:var(--acento);font-weight:400}.bajada{font-size:1.25em;color:var(--tenue);max-width:none;margin-top:20px}

/* Widget de captación above-the-fold */
.widget-captacion{margin-top:28px;max-width:480px}
.captacion-form{display:flex;flex-direction:column;gap:10px}
.captacion-form label{font-family:var(--fuente-ui);font-size:.88em;font-weight:600;color:var(--texto)}
.captacion-input-group{display:flex;gap:8px}
.captacion-input-group input{flex:1;padding:12px 16px;border:2px solid var(--linea);border-radius:6px;
  font-size:1em;background:var(--tarjeta);color:var(--texto);font-family:var(--fuente-ui);
  transition:border-color .2s}
.captacion-input-group input:focus{outline:none;border-color:var(--acento)}
.captacion-btn{padding:12px 24px;background:var(--acento);color:var(--on-acento);
  border:none;border-radius:6px;font-family:var(--fuente-ui);font-weight:700;font-size:.95em;
  cursor:pointer;white-space:nowrap;transition:opacity .15s}
.captacion-btn:hover{opacity:.88}
.captacion-disclaimer{font-size:.82em;color:var(--tenue);margin:0}
.sobre-redaccion{font-size:.95em;color:var(--tenue);line-height:1.6}

/* Portal niche: tarjetas simétricas en portada */
.niche-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:28px 0}
@media(max-width:900px){.niche-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.niche-grid{grid-template-columns:1fr}}

/* Artículo niche: legibilidad tipo Medium */
body.nicho-art .art-cuerpo{max-width:720px;margin:0 auto;line-height:1.8;font-size:1.125rem}
body.nicho-art .art-titulo{font-family:var(--fuente-ui);font-weight:800;letter-spacing:-.02em}
body.nicho-art .art-entradilla{font-size:1.2em;line-height:1.6;color:var(--tenue);border-left:3px solid var(--acento);padding-left:16px;margin-bottom:28px}

/* Micro-CTA callout dentro del artículo */
.art-cuerpo .callout{background:var(--acento-sutil,var(--tarjeta));border-left:4px solid var(--acento);
  padding:18px 22px;margin:32px 0;border-radius:0 8px 8px 0;font-size:.95em}
.art-cuerpo .callout strong{color:var(--acento)}
.art-cuerpo .callout a{color:var(--acento);font-weight:700;text-decoration:underline}

/* CTA final del artículo */
.cta-final{background:var(--acento-sutil,var(--fondo));border-top:2px solid var(--acento);
  padding:48px 24px;text-align:center;margin:48px 0 0;border-radius:12px 12px 0 0}
.cta-final h2{font-family:var(--fuente-ui);font-size:1.8em;margin-bottom:16px}
.cta-final .widget-captacion{max-width:420px;margin:0 auto}

/* Sticky CTA en móvil */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1000;
  padding:12px 16px;background:var(--acento);text-align:center;
  box-shadow:0 -4px 20px rgba(0,0,0,.15)}
.sticky-cta a{display:block;padding:14px;background:var(--on-acento,var(--fondo));
  color:var(--acento);font-family:var(--fuente-ui);font-weight:700;font-size:1.05em;
  border-radius:8px;text-decoration:none}
.sticky-cta.hidden-cta{transform:translateY(100%);transition:transform .3s ease}
@media(max-width:768px){.sticky-cta{display:block}}

/* Destacado */
.destacado{margin:34px 0 54px}
.tarjeta.destacada{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;
  background:var(--tarjeta);border:1px solid var(--linea);border-radius:6px;overflow:hidden}
.tarjeta.destacada .tj-img{height:100%;min-height:320px}
.tarjeta.destacada .tj-titulo{font-size:2em;line-height:1.15}
.tarjeta.destacada .tj-cuerpo{padding:34px 30px}

/* Apertura tipo periódico: gran principal + secundarias + ranking */
.escena-portada{display:grid;grid-template-columns:1.35fr 1fr .9fr;grid-auto-rows:auto;gap:22px;margin:22px 0 8px;align-items:start}
.escena-principal{grid-column:1/3}
.escena-sec-a{grid-column:3}
.escena-sec-b{grid-column:1}
.escena-ranking{grid-column:2/4}
.escena-principal .tarjeta.destacada{grid-template-columns:1.4fr 1fr}
.escena-principal .tj-img{min-height:340px}
.escena-principal .tj-titulo{font-size:2.15em;line-height:1.1}
.sec-hor{display:flex;gap:16px;background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px;overflow:hidden;text-decoration:none;min-width:0}
.sec-hor img{width:132px;object-fit:cover;flex:none;align-self:stretch;display:block}
.sec-hor .sec-cuerpo{padding:14px 16px;display:flex;flex-direction:column;gap:7px;justify-content:center;min-width:0}
.sec-hor .sec-kicker{font-family:var(--fuente-ui);font-size:.68em;text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--acento)}
.sec-hor h3{font-size:1.06em;line-height:1.28;color:var(--texto)}
.sec-hor:hover h3{color:var(--acento)}
.sec-hor .sec-meta{font-family:var(--fuente-ui);font-size:.74em;color:var(--tenue)}
.escena-ranking .cajon{padding:16px 18px;background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px}
.escena-ranking .titseccion{margin-top:0;font-size:.8em;text-transform:uppercase;letter-spacing:1px;color:var(--acento2)}
.escena-ranking .rank-item{padding:9px 0}
.escena-ranking .rank-thumb{width:58px;height:42px}
.escena-ranking .rank-titulo{font-size:.9em;line-height:1.25}
@media(max-width:1120px){
  .escena-portada{grid-template-columns:1fr 1fr}
  .escena-principal{grid-column:1/3}
  .escena-sec-a{grid-column:1}
  .escena-sec-b{grid-column:2}
  .escena-ranking{grid-column:1/3}
}
@media(max-width:760px){
  .escena-portada{grid-template-columns:1fr}
  .escena-principal,.escena-sec-a,.escena-sec-b,.escena-ranking{grid-column:1}
  .escena-principal .tarjeta.destacada{grid-template-columns:1fr}
  .escena-principal .tj-img{min-height:220px}
  .escena-principal .tj-titulo{font-size:1.5em}
  .sec-hor img{width:96px}
}

/* Aperturas por mercado: densa (no/sv), technica (de), modular (nl) */
.escena-densa{display:grid;grid-template-columns:1.75fr 1fr;gap:22px;margin:22px 0 8px;align-items:start}
.densa-ranking .cajon{padding:16px 18px;background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px}
.densa-ranking .titseccion{margin-top:0;font-size:.8em;text-transform:uppercase;letter-spacing:1px;color:var(--acento2)}
.ranking.badges .rank-item{align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px dashed var(--linea)}
.ranking.badges .rank-item:last-child{border-bottom:0}
.ranking.badges .rank-num{font-size:2.2em;font-weight:800;line-height:1;min-width:1.2em}
.ranking.badges .rank-titulo{font-size:.98em;line-height:1.3}
.escena-tecnica{margin:22px 0 8px}
.ticker{display:flex;align-items:center;gap:16px;overflow:hidden;padding:10px 16px;margin-bottom:22px;background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px}
.ticker-rotulo{flex:none;font-family:var(--fuente-ui);font-size:.72em;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--acento)}
.ticker-items{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none}
.ticker-items::-webkit-scrollbar{display:none}
.ticker-link{flex:none;white-space:nowrap;font-family:var(--fuente-ui);font-size:.85em;color:var(--tenue);text-decoration:none}
.ticker-link:hover{color:var(--acento)}
.tecnica-cuerpo{display:grid;grid-template-columns:1.8fr 1fr;gap:22px;align-items:start}
.tecnica-principal .tarjeta.destacada{grid-template-columns:1.4fr 1fr}
.tecnica-principal .tj-img{min-height:300px}
.tecnica-secs,.tecnica-cuerpo .niche-grid{grid-column:1/-1}
.tecnica-secs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.tecnica-ranking .cajon{padding:16px 18px;background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px}
.tecnica-ranking .titseccion{margin-top:0;font-size:.8em;text-transform:uppercase;letter-spacing:1px;color:var(--acento2)}
.tecnica-ranking .rank-thumb{width:58px;height:42px}
.tecnica-ranking .rank-titulo{font-size:.9em;line-height:1.25}
.escena-modular{margin:22px 0 8px}
.modular-cuerpo{display:grid;grid-template-columns:1.8fr 1fr;gap:22px;align-items:start}
.modular-principal .tarjeta.destacada{grid-template-columns:1.4fr 1fr}
.modular-principal .tj-img{min-height:300px}
.modular-secs{display:grid;gap:16px}
.modular-ranking{padding:16px 18px;margin-top:22px;background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px}
.modular-ranking .titseccion{margin-top:0;font-size:.8em;text-transform:uppercase;letter-spacing:1px;color:var(--acento2)}
.modular-fila{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.modular-item{display:flex;align-items:baseline;gap:10px;min-width:0}
.modular-item .rank-num{font-size:1.9em;line-height:1;min-width:1.2em}
.modular-item .rank-titulo{font-size:.92em;line-height:1.3}
@media(max-width:1120px){
  .escena-densa,.tecnica-cuerpo,.modular-cuerpo{grid-template-columns:1fr}
  .tecnica-secs{grid-column:auto}
  .modular-fila{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  .escena-densa,.tecnica-cuerpo,.modular-cuerpo{grid-template-columns:1fr}
  .tecnica-principal .tarjeta.destacada,.modular-principal .tarjeta.destacada{grid-template-columns:1fr}
  .tecnica-principal .tj-img,.modular-principal .tj-img{min-height:220px}
  .tecnica-secs{grid-template-columns:1fr}
  .modular-fila{grid-template-columns:1fr}
  .ticker{flex-direction:column;align-items:flex-start;gap:8px}
}

/* Rejilla y tarjetas */
.titseccion{font-size:1.5em;margin:42px 0 18px;padding-bottom:8px;
  border-bottom:1px solid var(--linea)}
.rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:26px}
.tarjeta{background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px;
  overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.tarjeta:hover{transform:translateY(-3px);box-shadow:0 8px 22px var(--sombra)}
.tj-img{display:block;height:180px;overflow:hidden}
.tj-img img{width:100%;height:100%;object-fit:cover;display:block}
.tj-img:hover img{filter:saturate(1.15)}
.tj-cuerpo{padding:18px 20px 22px;display:flex;flex-direction:column;gap:9px}
.tj-etiqueta{align-self:flex-start;font-family:var(--fuente-ui);font-size:.72em;
  text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--on-acento);
  background:var(--acento);padding:3px 9px;border-radius:3px}
.tj-titulo{font-size:1.28em;line-height:1.25}
.tj-titulo a:hover{color:var(--acento)}
.tj-entradilla{color:var(--tenue);font-size:.98em}
.tj-meta{font-family:var(--fuente-ui);font-size:.8em;color:var(--tenue);margin-top:auto}

/* «Vida propia» de las imágenes: Ken Burns (zoom lento en bucle), sutil y
   respetuoso con prefers-reduced-motion. El contenedor recorta (overflow:hidden)
   y la imagen respira dentro. */
@keyframes kenburns{from{transform:scale(1)}to{transform:scale(1.08)}}
.tarjeta .tj-img img,.art-figura img,.mini-thumb img,.rank-thumb img{
  animation:kenburns 24s ease-in-out infinite alternate}
.art-figura{overflow:hidden}
@media (prefers-reduced-motion: reduce){
  .tarjeta .tj-img img,.art-figura img,.mini-thumb img,.rank-thumb img{animation:none}
}

/* Cajones tipo El Sol: LO+VISTO, COLUMNISTAS y LO+RECIENTE */
.cajones{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:30px;margin:28px 0 6px;align-items:start}
.cajones.dos{grid-template-columns:1fr 1fr}
.cajones .cajon{min-width:0}
.cajones .titseccion{margin-top:0;font-size:1.25em}
.ranking,.mini,.colum{list-style:none;margin:0;padding:0}
.rank-item,.mini-item,.colum-item{display:flex;align-items:center;gap:12px;
  padding:10px 0;border-bottom:1px solid var(--linea)}
.rank-num{font-family:var(--fuente-ui);font-size:1.7em;font-weight:800;color:var(--acento);
  line-height:1;min-width:28px}
.rank-thumb,.mini-thumb{flex:none;display:block;overflow:hidden;border-radius:4px;
  background:var(--tarjeta);border:1px solid var(--linea)}
.rank-thumb{width:74px;height:56px}
.mini-thumb{width:88px;height:56px}
.rank-thumb img,.mini-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rank-titulo,.mini-titulo{font-size:.95em;line-height:1.3}
.rank-titulo:hover,.mini-titulo:hover{color:var(--acento)}
.rank-meta,.mini-meta{font-family:var(--fuente-ui);font-size:.74em;color:var(--tenue);margin-top:3px}
.colum-avatar{flex:none;line-height:0}
.colum-avatar svg{border-radius:50%;box-shadow:0 2px 8px var(--sombra)}
.colum-nombre{font-weight:700;font-size:.98em;line-height:1.3}
.colum-nombre:hover{color:var(--acento)}
.colum-especialidad{font-family:var(--fuente-ui);font-size:.76em;color:var(--tenue);margin-top:3px}
@media (max-width:920px){.cajones{grid-template-columns:1fr 1fr}
  .cajones .cajon:last-child{grid-column:1/-1}}
@media (max-width:620px){.cajones{grid-template-columns:1fr}}

/* Indice de secciones */
.secciones{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:16px}
.sec-card{background:var(--tarjeta);border:1px solid var(--linea);border-radius:6px;
  padding:20px;display:flex;flex-direction:column;gap:8px;transition:border-color .15s;
  scroll-margin-top:90px}
.sec-card:hover{border-color:var(--acento)}
.sec-card h3{font-size:1.15em;color:var(--acento)}
.sec-card p{color:var(--tenue);font-size:.9em;flex:1}
.conteo{font-family:var(--fuente-ui);font-size:.78em;font-weight:700;color:var(--tenue)}

/* Pagina de seccion / taxonomia */
.cab-seccion{margin:38px 0 26px;padding-bottom:16px;border-bottom:2px solid var(--acento)}
.cab-seccion h1{font-size:2.4em}
.cab-seccion p{color:var(--tenue);margin-top:6px;font-size:1.1em}
.vacio{color:var(--tenue);font-style:italic;padding:30px 0}
.paginacion{display:flex;gap:10px;justify-content:center;margin:36px 0}
.paginacion a{font-family:var(--fuente-ui);border:1px solid var(--linea);
  border-radius:4px;padding:8px 14px;color:var(--tenue)}
.paginacion a.act{background:var(--acento);border-color:var(--acento);color:var(--on-acento)}
.paginacion a:hover:not(.act){border-color:var(--acento)}
.botones-taxo{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.botones-taxo a{font-family:var(--fuente-ui);font-size:.85em;border:1px solid var(--linea);
  border-radius:20px;padding:5px 14px;color:var(--tenue)}
.botones-taxo a:hover{border-color:var(--acento);color:var(--acento)}

/* Articulo */
.articulo{max-width:none;margin:40px 0}
.art-etiqueta{display:inline-block;font-family:var(--fuente-ui);font-size:.75em;
  text-transform:uppercase;letter-spacing:1px;font-weight:700;color:var(--on-acento);
  background:var(--acento);padding:4px 10px;border-radius:3px}
.art-titulo{font-size:2.5em;line-height:1.12;margin:16px 0}
.art-entradilla{font-size:1.28em;color:var(--tenue);font-style:italic;line-height:1.5;margin-bottom:16px}
.art-meta{font-family:var(--fuente-ui);font-size:.85em;color:var(--tenue);
  padding-bottom:20px;border-bottom:1px solid var(--linea)}
.art-figura{margin:26px 0}
.art-figura img{width:100%;max-height:26rem;object-fit:cover;border-radius:6px;display:block}
.art-figura figcaption{font-family:var(--fuente-ui);font-size:.8em;
  color:var(--tenue);margin-top:8px;text-align:right}
.art-layout{display:grid;grid-template-columns:1fr 220px;gap:40px;align-items:start}
.art-cuerpo{font-size:1.12em;min-width:0}
.art-cuerpo h2{font-size:1.5em;margin:34px 0 12px;color:var(--acento2);scroll-margin-top:90px}
.art-cuerpo h3{font-size:1.2em;margin:24px 0 10px;scroll-margin-top:90px}
.art-cuerpo p{margin:0 0 18px}
.art-cuerpo ul,.art-cuerpo ol{margin:0 0 18px 26px}
.art-cuerpo li{margin-bottom:8px}
.art-cuerpo strong{color:var(--texto)}
.art-cuerpo a{color:var(--acento);text-decoration:underline;overflow-wrap:anywhere}
.art-cuerpo pre{background:var(--tarjeta);border:1px solid var(--linea);border-radius:6px;
  padding:16px;overflow:auto;margin:0 0 18px;font-family:var(--fuente-mono);font-size:.85em}
.art-cuerpo code{font-family:'JetBrains Mono','Fira Code',monospace}
.art-cuerpo img{max-width:100%;height:auto}
.art-cuerpo table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;
  margin:0 0 22px;font-family:var(--fuente-ui);font-size:.92em}
.art-cuerpo th,.art-cuerpo td{border:1px solid var(--linea);padding:8px 12px;text-align:left}
.art-cuerpo thead th{background:var(--tarjeta);color:var(--acento2);font-weight:700}
.art-cuerpo tbody tr:nth-child(even){background:rgba(0,0,0,.025)}
/* Sección de fuentes: plegada por defecto, se despliega al pulsar «Fuentes» */
.fuentes-caja{margin-top:38px;background:var(--tarjeta);border:1px solid var(--linea);
  border-radius:8px;overflow:hidden;max-width:100%}
.fuentes-caja summary{list-style:none;cursor:pointer;user-select:none;
  font-family:var(--fuente-ui);font-weight:700;font-size:1.12em;color:var(--acento2);
  padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  scroll-margin-top:90px}
.fuentes-caja summary::-webkit-details-marker{display:none}
.fuentes-caja summary::after{content:"▾";color:var(--acento);transition:transform .15s}
.fuentes-caja[open] summary{border-bottom:1px solid var(--linea)}
.fuentes-caja[open] summary::after{transform:rotate(180deg)}
.fuentes-caja summary:hover{color:var(--acento)}
.fuentes-caja ul,.fuentes-caja ol{padding:16px 20px 16px 38px;
  font-family:var(--fuente-ui);font-size:.9em}
.fuentes-caja li{margin-bottom:9px;overflow-wrap:anywhere;word-break:break-word}
.fuentes-caja a{overflow-wrap:anywhere;word-break:break-word}
.art-cuerpo .copiar{position:absolute;top:8px;right:8px;font-family:var(--fuente-ui);
  font-size:.72em;border:1px solid var(--linea);background:var(--bg);color:var(--tenue);
  border-radius:4px;padding:3px 9px;cursor:pointer}
.art-cuerpo .copiar:hover{color:var(--acento);border-color:var(--acento)}
.volver{margin-top:34px;font-family:var(--fuente-ui);font-size:.95em}
.volver a{color:var(--acento)}

/* TOC lateral */
.toc{display:none;position:sticky;top:110px;font-family:var(--fuente-ui);font-size:.85em}
.toc.visible{display:block}
.toc-titulo{font-size:.72em;text-transform:uppercase;letter-spacing:1px;color:var(--tenue);margin-bottom:10px;font-family:var(--fuente-ui);font-weight:700}
.toc ul{list-style:none}
.toc li{margin-bottom:6px}
.toc a{color:var(--tenue);border-left:2px solid var(--linea);padding-left:10px}
.toc a:hover{color:var(--acento);border-left-color:var(--acento)}
.toc li.toc-sub a{padding-left:22px;font-size:.92em}

/* Columna izquierda del articulo: ultimo publicado, contribuidores y mas leido */
.art-fila{display:grid;grid-template-columns:260px minmax(0,1fr);gap:38px;align-items:start;margin:40px 0;max-width:none}
.art-fila .articulo{margin:0 auto}
.art-lateral{position:sticky;top:100px;font-family:var(--fuente-ui)}
.art-lateral .cajon{padding:14px 16px;background:var(--tarjeta);border:1px solid var(--linea);border-radius:8px;margin-bottom:18px;min-width:0}
.art-lateral .titseccion{margin-top:0;font-size:.76em;text-transform:uppercase;letter-spacing:1px;color:var(--acento2)}
.art-lateral .rank-thumb,.art-lateral .mini-thumb{width:58px;height:42px}
.art-lateral .rank-item,.art-lateral .mini-item,.art-lateral .colum-item{padding:8px 0;gap:10px}
.art-lateral .rank-num{font-size:1.25em;min-width:20px}
.art-lateral .rank-titulo,.art-lateral .mini-titulo{font-size:.88em;line-height:1.25}
.art-lateral .rank-meta,.art-lateral .mini-meta{font-size:.7em}
.art-lateral .colum-especialidad{font-size:.7em}
.art-lateral .colum-avatar svg{width:36px;height:36px}

/* Archivo */
.lista-archivo{list-style:none;margin-bottom:20px}
.lista-archivo li{padding:9px 0;border-bottom:1px solid var(--linea);font-size:1.05em}
.lista-archivo a:hover{color:var(--acento)}
.archivo-meses{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.archivo-meses a{font-family:var(--fuente-ui);font-size:.85em;border:1px solid var(--linea);
  border-radius:20px;padding:5px 14px;color:var(--tenue)}
.archivo-meses a:hover{border-color:var(--acento);color:var(--acento)}

/* Buscador */
.buscador{margin:26px 0}
.buscador input{width:100%;padding:16px 20px;font-size:1.15em;font-family:Georgia,serif;
  background:var(--tarjeta);color:var(--texto);border:2px solid var(--linea);border-radius:6px}
.buscador input:focus{outline:none;border-color:var(--acento)}
.buscador input{box-shadow:0 3px 12px var(--sombra)}
.contador{font-family:var(--fuente-ui);font-size:.85em;color:var(--tenue);margin-bottom:14px}
.sugerencias{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sugerencias button{font-family:var(--fuente-ui);font-size:.85em;border:1px solid var(--linea);
  border-radius:20px;padding:5px 14px;color:var(--tenue);background:var(--tarjeta);cursor:pointer}
.sugerencias button:hover{border-color:var(--acento);color:var(--acento)}

/* Pie */
.pie{margin-top:60px;border-top:1px solid var(--linea);padding:30px 0;
  font-family:var(--fuente-ui);font-size:.9em;text-align:center}
.pie p{margin:4px 0}
.tenue{color:var(--tenue)}
.instalar{display:inline-block;margin-top:14px;padding:8px 18px;cursor:pointer;
  font-family:var(--fuente-ui);font-size:.85em;color:var(--acento);
  background:transparent;border:1px solid var(--acento);border-radius:20px}

/* Consentimiento / CMP */
.consentimiento{position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--bg);border-top:1px solid var(--linea);
  box-shadow:0 -4px 20px rgba(0,0,0,.25);padding:20px 24px;
  font-family:var(--fuente-ui)}
.consent-inner{max-width:960px;margin:0 auto}
.consent-inner h2{font-size:1.05em;margin-bottom:6px}
.consent-inner p{font-size:.88em;color:var(--tenue);margin-bottom:12px}
.consentimiento-opciones label{display:block;font-size:.88em;padding:4px 0;color:var(--texto)}
.consentimiento-opciones input[type=checkbox]{margin-right:8px}
.consentimiento-botones{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;align-items:center}
.consent-btn-primary{padding:8px 20px;border:none;border-radius:6px;font-size:.88em;
  font-weight:600;cursor:pointer;background:var(--acento);color:#fff}
.consent-btn-primary:hover{opacity:.9}
.consent-btn-secondary{padding:8px 20px;border:1px solid var(--linea);border-radius:6px;
  font-size:.88em;cursor:pointer;background:transparent;color:var(--tenue)}
.consent-btn-secondary:hover{border-color:var(--acento);color:var(--acento)}
.consent-btn-link{padding:8px 12px;border:none;background:none;font-size:.85em;
  color:var(--tenue);cursor:pointer;text-decoration:underline}
.consent-btn-link:hover{color:var(--acento)}
.consentimiento-enlace{font-family:var(--fuente-ui);font-size:.78em;color:var(--tenue);
  background:none;border:none;cursor:pointer;padding:0}
.consentimiento-enlace:hover{color:var(--acento)}
.instalar:hover{background:var(--acento);color:var(--on-acento)}
.mecenas{display:inline-block;margin-top:8px;padding:8px 18px;font-family:var(--fuente-ui);
  font-size:.85em;font-weight:700;color:var(--on-acento);background:var(--acento);
  border:1px solid var(--acento);border-radius:20px}
.mecenas:hover{background:var(--acento2);border-color:var(--acento2)}

.rss-seccion{font-family:var(--fuente-ui);font-size:.7em;vertical-align:middle;
  border:1px solid var(--linea);border-radius:4px;padding:2px 7px;color:var(--tenue)}
.rss-seccion:hover{border-color:var(--acento);color:var(--acento)}

/* "Lo esencial": las tres ideas del artículo, destacadas */
.art-cuerpo blockquote{background:var(--tarjeta);border-left:4px solid var(--acento);
  border-radius:0 8px 8px 0;padding:16px 22px;margin:0 0 26px;font-size:.97em}
.art-cuerpo blockquote p{margin:0 0 8px}
.art-cuerpo blockquote ul{margin:0 0 0 20px}
.art-cuerpo blockquote li{margin-bottom:5px}

/* Enlaces internos dentro del texto (contexto sin salir del periódico) */
.enlace-interno{border-bottom:1px dotted var(--acento);text-decoration:none}
.enlace-interno:hover{background:var(--acento-sutil)}

/* Sello de transparencia (contenido asistido por IA) */
.sello-ia{font-family:var(--fuente-ui);font-size:.82em;color:var(--tenue);
  border-top:1px solid var(--linea);margin-top:26px;padding-top:12px}
.sello-ia a{color:var(--acento);text-decoration:underline;margin-left:.4em}

/* Aviso discreto de edición en el idioma del lector */
.aviso-idioma{position:fixed;bottom:14px;right:14px;z-index:50;display:flex;
  align-items:center;gap:8px;background:var(--tarjeta);border:1px solid var(--linea);
  border-left:3px solid var(--acento);border-radius:6px;padding:8px 12px;
  font-family:var(--fuente-ui);font-size:.85em;box-shadow:0 4px 14px var(--sombra)}
.aviso-idioma a{color:var(--acento);font-weight:700}
.aviso-idioma button{background:none;border:none;color:var(--tenue);cursor:pointer;
  font-size:1.1em;line-height:1}

/* Boton "subir al inicio": fijo abajo a la derecha, aparece al bajar */
.subir{position:fixed;right:20px;bottom:20px;z-index:45;width:46px;height:46px;
  border:1px solid var(--linea);border-radius:50%;background:var(--tarjeta);
  color:var(--acento);font-size:1.5em;line-height:1;cursor:pointer;
  box-shadow:0 6px 18px var(--sombra);display:flex;align-items:center;
  justify-content:center;opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s,visibility .25s,transform .25s}
.subir.visible{opacity:1;visibility:visible;transform:none}
.subir:hover{border-color:var(--acento);background:var(--acento);color:var(--on-acento)}

/* Boletín (captación de correo) */
.boletin{margin:30px 0;padding:22px 24px;background:var(--tarjeta);
  border:1px solid var(--linea);border-left:4px solid var(--acento);border-radius:8px}
.boletin h2{font-size:1.15em;margin-bottom:6px;color:var(--acento2)}
.boletin p{color:var(--tenue);font-size:.95em;margin-bottom:12px}
.boletin form{display:flex;flex-wrap:wrap;gap:8px}
.boletin input{flex:1 1 16rem;padding:11px 14px;border:1px solid var(--linea);
  border-radius:6px;background:var(--bg);color:var(--texto);font-family:var(--fuente-ui)}
.boletin input:focus{outline:none;border-color:var(--acento)}
.boletin button{padding:11px 22px;border:none;border-radius:6px;cursor:pointer;
  background:var(--acento);color:var(--on-acento);font-family:var(--fuente-ui);font-weight:700}
.boletin button:hover{background:var(--acento2)}

/* Compartir en redes (enlaces directos, sin rastreadores) */
.compartir{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 4px;
  font-family:var(--fuente-ui)}
.comp-etiqueta{font-size:.78em;text-transform:uppercase;letter-spacing:1px;color:var(--tenue)}
.comp-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border:1px solid var(--linea);border-radius:50%;color:var(--tenue);font-size:.95em;
  background:var(--tarjeta);cursor:pointer}
.comp-btn:hover{border-color:var(--acento);color:var(--acento)}

/* Publicidad: los huecos vacios se pliegan (cero hueco, cero CLS al llenarse
   siempre que el anuncio declare su alto). Se rellenan en script/config.json
   > "publicidad": {"superior"|"articulo"|"medio"|"pie": "<html del anuncio>"} */
.anuncio:empty{display:none}
.anuncio{margin:18px auto;text-align:center;overflow:hidden}
.anuncio-superior{padding:12px 0;border-bottom:1px solid var(--linea)}
.anuncio-medio{margin:36px 0;padding:24px 0;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}
.anuncio-pie{padding:12px 0;border-top:1px solid var(--linea)}
/* Placeholder visual para huecos vacíos (solo visible en desarrollo) */
.anuncio:not(:empty){min-height:90px;display:flex;align-items:center;justify-content:center}
.anuncio-portada:empty{display:none}
.anuncio-portada{margin:24px auto;padding:20px 0;text-align:center;border-top:1px solid var(--linea);border-bottom:1px solid var(--linea)}

/* Red de medios del grupo (autoridad interna y descubrimiento) */
.red-medios ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin-bottom:12px;padding:0}
.red-medios a{color:var(--tenue);font-size:.85em}
.red-medios a:hover{color:var(--acento)}

/* Pie estilo La Jornada: nav corporativa, redes, copyright, avisos y pie legal */
.pie-corp ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px 26px;justify-content:center;margin:0 0 16px;padding:0}
.pie-corp a{color:var(--texto);font-weight:600;font-size:.95em}
.pie-corp a:hover{color:var(--acento)}
.pie-redes{font-size:.88em;margin-bottom:16px}
.pie-redes a{color:var(--tenue)}
.pie-redes a:hover{color:var(--acento)}
.pie-redes span{margin:0 8px;color:var(--linea)}
.pie-copy{font-size:.85em;margin-top:14px;color:var(--texto)}
.pie-avisos ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;margin:6px 0 16px;padding:0}
.pie-avisos a{color:var(--tenue);font-size:.82em}
.pie-avisos a:hover{color:var(--acento)}
.pie-legal{margin:0 auto 14px;max-width:none;color:var(--tenue);
  font-size:.72em;line-height:1.5;text-align:left}

/* Relacionados (enlaces internos) */
.relacionados{margin:30px 0 6px;padding:16px 20px;background:var(--tarjeta);
  border:1px solid var(--linea);border-radius:8px}
.relacionados h2{font-size:1.05em;margin-bottom:10px;color:var(--acento2)}
.relacionados ul{list-style:none;margin:0;padding:0}
.relacionados li{margin:7px 0}
.relacionados a{color:var(--texto)}
.relacionados a:hover{color:var(--acento)}

@media(max-width:1120px){
  .art-fila{grid-template-columns:1fr;gap:0}
  .art-lateral{position:static;order:2;margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .art-fila .articulo{order:1}
}
@media(max-width:760px){
  .art-lateral{grid-template-columns:1fr}
  .tarjeta.destacada{grid-template-columns:1fr}
  .tarjeta.destacada .tj-img{min-height:220px}
  .tarjeta.destacada .tj-titulo{font-size:1.5em}
  .art-titulo{font-size:1.9em}
  .art-layout{grid-template-columns:1fr}
  .toc{display:none!important}
  .barra{flex-wrap:wrap;gap:12px}
  .lema{display:none}.bienvenida{padding:40px 0 34px}.bienvenida h1{letter-spacing:-1px}
  .cont{padding:0 16px}.barra{padding:12px 16px}
}
@media(max-width:480px){
  .marca{font-size:1.35em}
  .nav{gap:12px;font-size:.88em}
  .art-titulo{font-size:1.6em}
  .art-entradilla{font-size:1.12em}
  .cab-seccion h1{font-size:1.8em}
  .tj-img{height:160px}
  .buscador input{font-size:1em;padding:13px 15px}
}


/* letra propia de la piel 'minimal': es lo que de verdad distingue una edición de otra */
.marca,.bienvenida h1,.art-titulo,.tarjeta h3,.sec-card h3,.cab-seccion h1,h2,h3{font-family:'Segoe UI',system-ui,-apple-system,'Helvetica Neue',sans-serif;letter-spacing:-.01em;font-weight:300}
/* minimal: aire, tinta fina y nada de cajas */
.cont{max-width:none}
.cabecera{border-bottom:none}
.marca{font-weight:300;letter-spacing:.02em}
.bienvenida h1{font-weight:300;font-size:clamp(2.2em,5.5vw,4em)}
.bajada{font-weight:300}
.tarjeta{background:transparent;border:none;border-radius:0;box-shadow:none}
.tarjeta:hover{transform:none;box-shadow:none}
.tarjeta.destacada{border:none}
.tj-etiqueta{background:transparent;color:var(--acento);padding-left:0;border-radius:0}
.tj-titulo{font-weight:400}
.sec-card{background:transparent;border:none;border-top:1px solid var(--linea);border-radius:0}
.titseccion{font-weight:300}
.art-titulo{font-weight:300}
