/*
 * Titular del día — periódico de una sola tinta y un rojo.
 * Libre Bodoni para cabecera, titulares y lectura; Inter Tight para la maquinaria (antetítulos, firmas, horas, menús).
 */
:root {
  --papel: #fbfaf6;
  --papel-2: #f2efe8;
  --tinta: #141414;
  --tinta-2: #343434;
  --tenue: #63615c;
  --regla: #d8d4ca;
  --rojo: #b3121b;
  --rojo-suave: #f6e3e1;
  --inversa-fondo: #141414;
  --inversa-texto: #f3f0e8;
  --serif: "Libre Bodoni", "Bodoni 72", "Didot", Georgia, serif;
  --sans: "Inter Tight", "Helvetica Neue", Arial, system-ui, sans-serif;
  --envoltorio: 80rem;

  --ancho-texto: 42rem;
  --ancho-amplio: 56rem;
  --radio: 0px;
  --color-texto: var(--tinta);
  --color-fondo: var(--papel);
  --color-suave: var(--papel-2);
  --color-borde: var(--regla);
  --color-acento: var(--rojo);
  --color-acento-texto: #fff;
  --color-tenue: var(--tenue);
  --fuente-texto: var(--serif);
  --fuente-titulos: var(--serif);
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark) {
  :root {
    --papel: #131312;
    --papel-2: #1d1c1a;
    --tinta: #ece8df;
    --tinta-2: #cfcac0;
    --tenue: #a29d93;
    --regla: #3a3833;
    --rojo: #ff6b61;
    --rojo-suave: #3a1b19;
    --inversa-fondo: #ece8df;
    --inversa-texto: #141414;
    --color-acento-texto: #141414;
  }
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 400 1.0625rem/1.55 var(--sans); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--rojo); }
:focus-visible { outline: 3px solid var(--rojo); outline-offset: 2px; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
main:focus { outline: none; }
.envoltorio { width: min(100% - 2rem, var(--envoltorio)); margin-inline: auto; }
.icono { width: 1.1em; height: 1.1em; flex: none; vertical-align: -.18em; }
.saltar { position: absolute; left: 1rem; top: -4rem; z-index: 100; background: var(--rojo); color: #fff; padding: .7rem 1rem; font-weight: 700; }
.saltar:focus { top: 1rem; }

/* ------------------------------------------------------------------ cabecera */
.barra { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3rem; border-bottom: 1px solid var(--regla); font-size: .82rem; }
.barra-fecha { margin: 0; color: var(--tenue); }
.barra-fecha a { color: var(--tinta); font-weight: 600; text-decoration: none; }
.barra-fecha a:hover { text-decoration: underline; color: var(--rojo); }
.barra-fecha time::first-letter { text-transform: uppercase; }
.barra-buscar { display: flex; align-items: center; border-bottom: 1px solid var(--tinta); }
.barra-buscar input { border: 0; background: transparent; color: var(--tinta); font: 400 .9rem var(--sans); width: 11rem; padding: .45rem .2rem; }
.barra-buscar input::placeholder { color: var(--tenue); }
.barra-buscar input:focus { outline: none; }
.barra-buscar:focus-within { outline: 3px solid var(--rojo); outline-offset: 3px; }
.barra-buscar button { background: none; border: 0; color: var(--tinta); width: 2.75rem; height: 2.5rem; display: grid; place-items: center; cursor: pointer; }

.cabecera-marca { text-align: center; padding: clamp(1.25rem, 3.5vw, 2.4rem) 0 clamp(.9rem, 2vw, 1.4rem); position: relative; }
.marca { display: inline-block; font: 700 clamp(2.7rem, 8.4vw, 6.6rem)/.92 var(--serif); letter-spacing: -.025em; color: var(--tinta); text-decoration: none; font-feature-settings: "liga", "dlig"; }
.marca:hover { color: var(--tinta); }
.lema { display: flex; align-items: center; justify-content: center; gap: 1rem; margin: .8rem auto 0; max-width: 34rem; font: 700 .74rem/1 var(--sans); letter-spacing: .32em; text-transform: uppercase; color: var(--rojo); }
.lema::before, .lema::after { content: ""; flex: 1; height: 1px; background: var(--regla); }
body:not(.es-portada) .marca { font-size: clamp(2.1rem, 4.6vw, 3.4rem); }
body:not(.es-portada) .cabecera-marca { padding-block: 1.1rem .8rem; }
body:not(.es-portada) .lema { margin-top: .55rem; }

.navegacion { border-top: 3px solid var(--tinta); border-bottom: 1px solid var(--tinta); }
.menu { list-style: none; margin: 0; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 0 .25rem; }
.menu a { display: block; padding: .8rem .9rem; font: 700 .78rem/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.menu a[aria-current] { color: var(--rojo); box-shadow: inset 0 -3px 0 var(--rojo); }
.menu-boton { display: none; }

@media (max-width: 44rem) {
  .barra-fecha { font-size: .8rem; }
  .barra-buscar { display: none; }
  .menu-boton { display: inline-flex; position: absolute; right: 0; top: 50%; transform: translateY(-50%); align-items: center; justify-content: center; gap: .4rem; min-width: 2.75rem; min-height: 2.75rem; background: none; border: 1px solid var(--regla); color: var(--tinta); cursor: pointer; font: 600 .78rem var(--sans); }
  .menu-boton span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .menu-boton .icono-cerrar, .menu-boton[aria-expanded="true"] .icono-abrir { display: none; }
  .menu-boton[aria-expanded="true"] .icono-cerrar { display: inline; }
  .cabecera-marca { text-align: left; padding-right: 3.5rem; }
  .lema { justify-content: flex-start; letter-spacing: .2em; margin-left: 0; }
  .lema::before { display: none; }
  .navegacion { display: none; }
  .navegacion.abierto { display: block; }
  .menu { flex-direction: column; }
  .menu a { padding: .95rem 0; border-bottom: 1px solid var(--regla); }
}

/* ------------------------------------------------------------------ franjas de sección */
.franja { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem 1.5rem; flex-wrap: wrap; border-top: 4px solid var(--tinta); padding-top: .7rem; margin-bottom: 1.4rem; }
.franja-titulo { margin: 0; font: 800 .82rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; display: flex; align-items: center; gap: .55rem; }
.franja-titulo::before { content: ""; width: .7rem; height: .7rem; background: var(--rojo); flex: none; }
.franja-mas, .franja-dato { font: 600 .82rem var(--sans); text-decoration: none; display: inline-flex; gap: .35rem; align-items: center; padding: .4rem 0; margin: 0; color: var(--tenue); }
.franja-mas:hover { color: var(--rojo); }
.franja-dia { border-top-width: 1px; padding-top: .9rem; }
.franja-dia .franja-titulo { font: italic 400 clamp(1.35rem, 2.4vw, 1.75rem)/1.2 var(--serif); letter-spacing: 0; text-transform: none; }
.franja-dia .franja-titulo::before { display: none; }
.franja-dia .franja-titulo::first-letter { text-transform: uppercase; }
.rotulo { font: 800 .74rem/1.3 var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--rojo); margin: 0 0 .4rem; }

/* ------------------------------------------------------------------ piezas */
.pieza { position: relative; }
.pieza-ante { margin: 0 0 .45rem; font: 800 .72rem/1.2 var(--sans); letter-spacing: .12em; text-transform: uppercase; color: var(--rojo); display: flex; align-items: center; gap: .35rem; }
.pieza-titulo { margin: 0; font-family: var(--serif); font-weight: 700; line-height: 1.12; letter-spacing: -.005em; }
.pieza-titulo a { text-decoration: none; }
.pieza-titulo a:hover { color: var(--tinta); text-decoration: underline; text-decoration-color: var(--rojo); text-decoration-thickness: 2px; }
.pieza-resumen { margin: .6rem 0 0; font-size: 1rem; line-height: 1.5; color: var(--tinta-2); }
.pieza-meta { margin: .65rem 0 0; font: 400 .8rem/1.35 var(--sans); color: var(--tenue); display: flex; flex-wrap: wrap; gap: .15rem .55rem; }
.pieza-firma { font-weight: 700; color: var(--tinta); }
.pieza-meta time { font-variant-numeric: tabular-nums; }
.pieza-imagen { display: block; margin-bottom: 1rem; }
.pieza-imagen img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; }

.pieza-abre .pieza-titulo { font-size: clamp(2.1rem, 4.1vw, 3.5rem); line-height: 1.02; letter-spacing: -.018em; }
.pieza-media .pieza-titulo { font-size: clamp(1.35rem, 2vw, 1.62rem); }
.pieza-breve .pieza-titulo { font-size: 1.13rem; line-height: 1.2; font-weight: 600; }
.pieza-lista .pieza-titulo { font-size: clamp(1.25rem, 2vw, 1.5rem); }

.entradillas { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .55rem; }
.entradillas li { position: relative; padding-left: 1.15rem; font: 500 1.02rem/1.45 var(--sans); color: var(--tinta-2); }
.entradillas li::before { content: ""; position: absolute; left: 0; top: .5em; width: .5rem; height: .5rem; background: var(--rojo); }
.pieza-abre .entradillas li { font-size: 1.08rem; }

/* ------------------------------------------------------------------ portada: edición del día */
.edicion { padding-top: clamp(1.25rem, 3vw, 2rem); }
.edicion-rejilla { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 3.3fr) minmax(0, 2.7fr); gap: 0; padding-bottom: clamp(2rem, 4vw, 3rem); }
.edicion-rejilla > * { padding-inline: clamp(1rem, 2vw, 1.75rem); }
.edicion-rejilla > :first-child { padding-left: 0; }
.edicion-rejilla > :last-child { padding-right: 0; }
.edicion-rejilla > * + * { border-left: 1px solid var(--regla); }
.edicion-secundarias { display: grid; align-content: start; gap: 1.4rem; }
.edicion-secundarias .pieza + .pieza { border-top: 1px solid var(--regla); padding-top: 1.4rem; }
.edicion-breves { display: grid; align-content: start; gap: 1rem; }
.edicion-breves .pieza + .pieza { border-top: 1px solid var(--regla); padding-top: 1rem; }

/* días anteriores */
.dias { padding-bottom: clamp(2rem, 5vw, 3.5rem); }
.dia { margin-bottom: clamp(1.75rem, 4vw, 2.75rem); }
.dia-rejilla { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1.5rem 0; }
.dia-rejilla > .pieza { padding-inline: 1.1rem; border-left: 1px solid var(--regla); }
.dia-rejilla > .pieza:nth-child(5n+1) { border-left: 0; padding-left: 0; }
@media (max-width: 64rem) and (min-width: 44.01rem) {
  .dia-rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dia-rejilla > .pieza:nth-child(5n+1) { border-left: 1px solid var(--regla); padding-left: 1.1rem; }
  .dia-rejilla > .pieza:nth-child(3n+1) { border-left: 0; padding-left: 0; }
}
.dias-mas { text-align: center; margin: 1rem 0 0; }
.boton-linea { display: inline-flex; align-items: center; gap: .5rem; padding: .8rem 1.4rem; border: 2px solid var(--tinta); font: 800 .8rem var(--sans); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; min-height: 2.75rem; }
.boton-linea:hover { background: var(--tinta); color: var(--papel); }
.boton-linea:active, .buscador button:active, .barra-buscar button:active { transform: translateY(1px); }
.vecina:hover .vecina-rotulo .icono { transform: translateX(2px); }

/* podcast */
.podcast { background: var(--inversa-fondo); color: var(--inversa-texto); padding-block: clamp(2rem, 5vw, 3rem); }
.podcast .franja { border-top-color: var(--inversa-texto); }
.podcast .franja-titulo { gap: .5rem; }
.podcast .franja-titulo::before { display: none; }
.podcast .franja-titulo .icono { color: var(--rojo); width: 1.4em; height: 1.4em; }
.podcast .franja-mas, .podcast .pieza-meta { color: color-mix(in srgb, var(--inversa-texto) 72%, transparent); }
.podcast .pieza-firma { color: var(--inversa-texto); }
.podcast .pieza-titulo a:hover { color: var(--inversa-texto); }
.podcast-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1.5rem 0; }
.podcast-rejilla > .pieza { padding-inline: 1.25rem; border-left: 1px solid color-mix(in srgb, var(--inversa-texto) 25%, transparent); }
.podcast-rejilla > .pieza:first-child { border-left: 0; padding-left: 0; }
.podcast .pieza-ante { display: none; }

/* hemeroteca */
.hemeroteca { padding-block: clamp(2rem, 5vw, 3.5rem); }
.hemeroteca-rejilla { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 12rem), 1fr)); gap: 1.5rem 0; }
.hemeroteca-ano { padding-inline: 1.25rem; border-left: 1px solid var(--regla); }
.hemeroteca-ano:first-child { border-left: 0; padding-left: 0; }
.hemeroteca-ano h3 { margin: 0 0 .6rem; font: 700 2.2rem/1 var(--serif); display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; font-variant-numeric: lining-nums; }
.hemeroteca-ano h3 a { text-decoration: none; }
.hemeroteca-ano h3 span { font: 500 .78rem var(--sans); color: var(--tenue); }
.hemeroteca-ano ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.hemeroteca-ano li a { display: flex; justify-content: space-between; padding: .42rem 0; border-bottom: 1px dotted var(--regla); text-decoration: none; font-size: .9rem; min-height: 2.2rem; align-items: center; }
.hemeroteca-ano li small { color: var(--tenue); font-variant-numeric: tabular-nums; }
.hemeroteca-ano li a:hover span { color: var(--rojo); text-decoration: underline; }

/* ------------------------------------------------------------------ noticia */
.noticia-marco { padding-top: clamp(1.5rem, 4vw, 2.75rem); }
.noticia { max-width: 60rem; margin-inline: auto; }
.noticia-cabecera { max-width: var(--ancho-texto); margin-inline: auto; }
.noticia-ante { display: flex; flex-wrap: wrap; gap: .4rem 1rem; align-items: center; margin: 0 0 1rem; font: 600 .8rem var(--sans); color: var(--tenue); }
.noticia-ante a { text-decoration: none; border-bottom: 2px solid var(--rojo); padding: .25rem 0; color: var(--tinta); }
.noticia-tipo { font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--rojo); }
.noticia-titulo { font: 700 clamp(2.1rem, 5vw, 3.55rem)/1.04 var(--serif); letter-spacing: -.018em; margin: 0; }
.noticia-cabecera .entradillas { margin-top: 1.4rem; }
.noticia-cabecera .entradillas li { font-size: 1.12rem; }
.firma-barra { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .6rem 2rem; margin-top: 1.6rem; padding-block: .85rem; border-top: 1px solid var(--tinta); border-bottom: 1px solid var(--regla); font-size: .88rem; }
.firma-barra p { margin: 0; display: flex; flex-wrap: wrap; gap: .1rem .45rem; align-items: baseline; }
.firma-barra span { color: var(--tenue); }
.firma-barra .firma span { font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--rojo); }
.firma-barra strong { font-weight: 700; }
.firma-barra a { color: var(--rojo); }
.firma-barra time { color: var(--tenue); font-variant-numeric: tabular-nums; }
.noticia-imagen { margin: 1.75rem 0 0; }
.noticia-imagen img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; background: var(--papel-2); }
.noticia-imagen figcaption { font-size: .78rem; color: var(--tenue); margin-top: .45rem; text-align: right; }

.noticia-cuerpo { margin-top: 2rem; font: 400 1.2rem/1.66 var(--serif); }
.noticia-cuerpo > * { max-width: var(--ancho-texto); }
.noticia-cuerpo > p:first-of-type::first-letter { float: left; font: 700 4.1em/.82 var(--serif); margin: .06em .12em 0 0; color: var(--rojo); }
.noticia-cuerpo h2, .noticia-cuerpo h3 { font-family: var(--serif); font-weight: 700; letter-spacing: -.01em; }
.noticia-cuerpo h2 { font-size: 1.6rem; }
.noticia-cuerpo h3, .noticia-cuerpo h4 { font-size: 1.3rem; }
.noticia-cuerpo a { color: var(--rojo); text-decoration-color: color-mix(in srgb, var(--rojo) 45%, transparent); }
.noticia-cuerpo blockquote { border-left: 3px solid var(--rojo); font-style: italic; padding-left: 1.25rem; }
.noticia-cuerpo figure { font-family: var(--sans); font-size: .95rem; }
.noticia-cuerpo figure h4 { font-family: var(--sans); font-size: 1rem; }
.noticia-cuerpo img { height: auto; }
.noticia-cuerpo table { font-family: var(--sans); font-size: .9rem; }
.noticia-cuerpo hr { border: 0; border-top: 1px solid var(--regla); }
.aviso-interactivo { max-width: 46rem; margin: 2rem auto; padding: 1.25rem 1.4rem; background: var(--papel-2); border-left: 4px solid var(--rojo); font-size: 1rem; }
.aviso-interactivo a { color: var(--rojo); font-weight: 700; }

.atribucion { max-width: var(--ancho-texto); margin: 2.5rem auto 0; padding: 1.25rem 1.4rem; background: var(--papel-2); border-top: 3px solid var(--tinta); font-size: .9rem; }
.atribucion-titulo { margin: 0 0 .7rem; font: 800 .72rem var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--rojo); }
.atribucion dl { margin: 0; display: grid; gap: .45rem; }
.atribucion dl div { display: grid; grid-template-columns: 10rem 1fr; gap: 1rem; }
.atribucion dt { color: var(--tenue); }
.atribucion dd { margin: 0; font-weight: 600; }
.atribucion a { color: var(--rojo); }
.atribucion-nota { margin: .9rem 0 0; color: var(--tenue); font-size: .85rem; }

.vecinas { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-top: 3rem; border-top: 4px solid var(--tinta); }
.vecina { display: flex; flex-direction: column; gap: .4rem; padding: 1.1rem 1.25rem 1.25rem 0; text-decoration: none; }
.vecina-ant { text-align: right; align-items: flex-end; padding: 1.1rem 0 1.25rem 1.25rem; border-left: 1px solid var(--regla); }
.vecina-rotulo { font: 800 .72rem var(--sans); letter-spacing: .14em; text-transform: uppercase; color: var(--rojo); display: inline-flex; gap: .35rem; align-items: center; }
.vecina-titulo { font: 700 1.2rem/1.2 var(--serif); }
.vecina:hover .vecina-titulo { text-decoration: underline; text-decoration-color: var(--rojo); }
.mismo-dia { padding-block: 2.5rem clamp(2.5rem, 6vw, 4rem); }

/* ------------------------------------------------------------------ listados */
.lista-cabecera { padding-block: clamp(1.75rem, 4vw, 2.75rem) 1.5rem; border-bottom: 4px solid var(--tinta); }
.error-cabecera { border-bottom: 0; padding-bottom: 2.5rem; }
.lista-rotulo { margin: 0 0 .5rem; font: 800 .74rem var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--rojo); }
.lista-titulo { margin: 0; font: 700 clamp(2.1rem, 5vw, 3.4rem)/1.05 var(--serif); letter-spacing: -.015em; }
.lista-cuenta { margin: .7rem 0 0; color: var(--tenue); font-size: .92rem; max-width: 44rem; }
.lista-cuerpo { padding-block: 1.5rem clamp(3rem, 6vw, 4.5rem); }
.lista-dia { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1rem 2.5rem; padding-block: 1.5rem; border-bottom: 1px solid var(--tinta); }
.lista-dia-titulo { margin: 0; font: italic 400 1.45rem/1.2 var(--serif); }
.lista-dia-titulo a { text-decoration: none; }
.lista-dia-titulo a:hover { color: var(--rojo); }
.lista-dia-titulo { position: sticky; top: 1rem; align-self: start; }
.lista-piezas { display: grid; gap: 0; max-width: 50rem; }
.lista-piezas > .pieza { padding-block: 1.1rem; border-top: 1px solid var(--regla); }
.lista-piezas > .pieza:first-child { border-top: 0; padding-top: 0; }
.lista-resultados > .pieza:first-child { padding-top: 1rem; }
.vacio-aviso { font-size: 1.1rem; max-width: 40rem; }
.vacio-aviso a { color: var(--rojo); }
.buscador { display: flex; gap: 0; margin-top: 1.4rem; max-width: 40rem; border: 2px solid var(--tinta); background: var(--papel); }
.buscador:focus-within { outline: 3px solid var(--rojo); outline-offset: 2px; }
.buscador input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--tinta); font: 400 1.05rem var(--sans); padding: .8rem 1rem; }
.buscador input:focus { outline: none; }
.buscador button { display: inline-flex; align-items: center; gap: .45rem; border: 0; background: var(--tinta); color: var(--papel); font: 800 .8rem var(--sans); letter-spacing: .12em; text-transform: uppercase; padding: 0 1.2rem; cursor: pointer; min-height: 2.9rem; }
.buscador button:hover { background: var(--rojo); color: #fff; }

.paginacion { font: 600 .9rem var(--sans); margin-top: 2.5rem; }
.paginacion a, .paginacion span[aria-current] { min-height: 2.75rem; display: inline-flex; align-items: center; justify-content: center; border-color: var(--tinta); }
.paginacion span[aria-current] { background: var(--tinta); color: var(--papel); border-color: var(--tinta); }
.paginacion a:hover { color: var(--rojo); border-color: var(--rojo); }

/* ------------------------------------------------------------------ pie */
.pie { border-top: 4px solid var(--tinta); margin-top: 0; padding-block: 2rem 2.5rem; font-size: .88rem; }
.pie-fila { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--regla); }
.pie-marca { margin: 0; font: 700 1.9rem/1 var(--serif); letter-spacing: -.02em; }
.menu-pie { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 1.25rem; }
.menu-pie a { display: inline-block; padding: .5rem 0; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; font-size: .74rem; text-decoration: none; }
.pie-fuente { max-width: 46rem; color: var(--tenue); margin: 1.25rem 0 .75rem; }
.pie-fuente a { color: var(--rojo); font-weight: 600; white-space: nowrap; }
.pie-final { margin: 0; color: var(--tenue); font-size: .8rem; }

/* ------------------------------------------------------------------ adaptación */
@media (max-width: 64rem) {
  .edicion-rejilla { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); }
  .edicion-breves { grid-column: 1 / -1; border-left: 0 !important; padding-inline: 0 !important; border-top: 1px solid var(--regla); padding-top: 1.25rem; margin-top: 1.5rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1rem 1.5rem; }
  .edicion-breves .rotulo { grid-column: 1 / -1; }
  .edicion-breves .pieza + .pieza { border-top: 0; padding-top: 0; }
  .lista-dia { grid-template-columns: 1fr; gap: .9rem; }
  .lista-dia-titulo { position: static; }
}
@media (max-width: 44rem) {
  body { font-size: 1rem; }
  .edicion-rejilla { grid-template-columns: 1fr; }
  .edicion-rejilla > * { padding-inline: 0 !important; border-left: 0 !important; }
  .edicion-secundarias { border-top: 1px solid var(--regla) !important; padding-top: 1.4rem; margin-top: 1.6rem; }
  .dia-rejilla { grid-template-columns: 1fr; }
  .dia-rejilla > .pieza, .podcast-rejilla > .pieza, .hemeroteca-ano { border-left: 0 !important; padding-inline: 0 !important; }
  .dia-rejilla > .pieza + .pieza, .podcast-rejilla > .pieza + .pieza { border-top: 1px solid var(--regla); padding-top: 1.1rem; }
  .podcast-rejilla > .pieza + .pieza { border-top-color: color-mix(in srgb, var(--inversa-texto) 25%, transparent); }
  .noticia-cuerpo { font-size: 1.12rem; }
  .vecinas { grid-template-columns: 1fr; }
  .vecina-ant { text-align: left; align-items: flex-start; border-left: 0; border-top: 1px solid var(--regla); padding-left: 0; }
  .atribucion dl div { grid-template-columns: 1fr; gap: 0; }
  .buscador button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
@media print {
  .barra, .navegacion, .menu-boton, .vecinas, .mismo-dia, .pie nav, .buscador { display: none !important; }
  body { background: #fff; color: #000; }
  .noticia-cuerpo { font-size: 11pt; }
}

/* tiempo de lectura, navegación entre días y «más de la firma» */
.firma-barra .lectura { color: var(--tenue); font-size: .82rem; }
.dias-nav { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; font: 600 .88rem var(--sans); }
.dias-nav a { display: inline-flex; align-items: center; gap: .45rem; min-height: 2.75rem; text-decoration: none; color: var(--tinta); padding: .3rem 0; }
.dias-nav a:hover { color: var(--rojo); }
.dias-nav a:hover .icono { transform: translateX(-2px); }
.dias-nav-sig:hover .icono { transform: translateX(2px) !important; }
.de-la-firma { padding-bottom: 0; }
@media print { .dias-nav, .de-la-firma { display: none !important; } }

/* =====================================================================================================
   Ronda 3 — sistema: escala tipográfica y de espacios, metadatos legibles, acabados y móvil
   ===================================================================================================== */
:root {
  --t-meta: .8125rem; --t-0: 1rem; --t-1: 1.125rem; --t-2: 1.375rem; --t-3: 1.75rem;
  --e-1: .25rem; --e-2: .5rem; --e-3: .75rem; --e-4: 1rem; --e-5: 1.5rem; --e-6: 2rem; --e-7: 3rem; --e-8: 4rem;
  --lateral: 1.25rem;
  accent-color: var(--rojo);
  scrollbar-color: var(--tenue) var(--papel-2);
}
::selection { background: var(--rojo); color: #fff; }
a, button, .vecina, .boton-linea { transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease; }
.envoltorio { width: min(100% - 2 * var(--lateral), var(--envoltorio)); }
.pieza-titulo a { display: inline-block; padding-block: .1em; }
.menu-buscar { display: none; }

/* ritmo vertical común */
.edicion { padding-top: var(--e-6); }
.dia { margin-bottom: var(--e-7); }
.mismo-dia, .hemeroteca { padding-block: var(--e-7); }
.lista-cabecera { padding-block: var(--e-7) var(--e-5); }
.lista-cuerpo { padding-block: var(--e-5) var(--e-8); }

@media (max-width: 44rem) {
  .cabecera { position: sticky; top: 0; z-index: 50; background: var(--papel); }
  .barra { display: none; }
  .cabecera-marca { padding: .55rem 3.5rem .55rem 0; min-height: 3.75rem; display: flex; flex-direction: column; justify-content: center; }
  .marca, body:not(.es-portada) .marca { font-size: 1.85rem; line-height: 1; }
  .lema { display: none; }
  .menu-boton { width: 2.75rem; height: 2.75rem; border-radius: 0; }
  .cabecera { border-bottom: 3px solid var(--tinta); }
  .navegacion { position: fixed; inset: calc(3.75rem + 3px) 0 0 0; z-index: 49; background: var(--papel); border: 0; overflow-y: auto; overscroll-behavior: contain; padding-bottom: env(safe-area-inset-bottom); }
  .navegacion.abierto { display: block; animation: aparecer .2s ease; }
  .navegacion .envoltorio { padding-block: var(--e-4) var(--e-6); }
  .menu a { font: 700 var(--t-2)/1.2 var(--serif); letter-spacing: 0; text-transform: none; padding: var(--e-4) 0; min-height: 3.5rem; display: flex; align-items: center; }
  .menu a[aria-current] { box-shadow: inset 4px 0 0 var(--rojo); padding-left: var(--e-4); }
  .menu-buscar { display: flex; margin-top: var(--e-5); border: 2px solid var(--tinta); }
  .menu-buscar input { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--tinta); font: 400 var(--t-0) var(--sans); padding: .85rem 1rem; }
  .menu-buscar input:focus { outline: none; }
  .menu-buscar:focus-within { outline: 3px solid var(--rojo); outline-offset: 2px; }
  .menu-buscar button { display: inline-flex; align-items: center; gap: .4rem; border: 0; background: var(--tinta); color: var(--papel); font: 800 .8125rem var(--sans); letter-spacing: .1em; text-transform: uppercase; padding: 0 1.1rem; min-height: 3rem; }
  html.menu-abierto, html.menu-abierto body { overflow: hidden; }
}
@keyframes aparecer { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 52rem) {
  .franja-titulo { font-size: .9375rem; letter-spacing: .08em; }
  .franja-dia .franja-titulo { font-size: 1.4rem; }
  .pieza-meta, .noticia-ante, .firma-barra, .firma-barra .fuente span, .lista-cuenta { font-size: .9375rem; }
  .firma-barra .firma span { font-size: .8125rem; }
  .pieza-breve .pieza-titulo { font-size: 1.2rem; }
  .barra-buscar input { font-size: var(--t-0); }
  .entradillas li { font-size: 1.0625rem; }
  .atribucion { font-size: .9375rem; }
}
@media (max-width: 40rem) {
  .noticia-titulo { font-size: clamp(1.95rem, 8.6vw, 2.5rem); }
  .pieza-abre .pieza-titulo { font-size: clamp(2rem, 9vw, 2.6rem); }
  .dias-nav { flex-direction: column; gap: 0; }
  .dias-nav-sig { justify-content: flex-end; }
  .menu-pie a { min-height: 2.75rem; display: inline-flex; align-items: center; }
  .boton-linea { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .navegacion.abierto { animation: none; } }
@media (max-width: 60rem) { .pieza-meta, .franja-titulo { font-size: .9375rem; } }
.barra-buscar input { font-size: 1rem; }

/* =====================================================================================================
   Ronda 4 — días anteriores con composiciones distintas y firmas de estos días
   ===================================================================================================== */
.apertura-rejilla { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 0; }
.apertura-rejilla > .pieza { padding-right: var(--e-6); }
.apertura-rejilla > .pieza .pieza-titulo { font-size: clamp(1.7rem, 3vw, 2.4rem); line-height: 1.06; }
.apertura-lista { border-left: 1px solid var(--regla); padding-left: var(--e-6); display: grid; gap: var(--e-4); align-content: start; }
.apertura-lista .pieza + .pieza { border-top: 1px solid var(--regla); padding-top: var(--e-4); }

.firmas { margin-bottom: var(--e-7); padding: var(--e-5) var(--e-5) var(--e-4); background: var(--papel-2); }
.firmas .franja { margin-bottom: var(--e-4); }
.firmas-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--e-4) var(--e-6); counter-reset: firma; }
.firmas-lista li { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: var(--e-3); align-items: baseline; counter-increment: firma; }
.firmas-lista li::before { content: counter(firma); grid-row: 1 / span 2; font: 700 2.4rem/1 var(--serif); color: var(--rojo); font-variant-numeric: lining-nums; }
.firma-nombre { font: 700 var(--t-1)/1.2 var(--sans); text-decoration: none; }
.firma-nombre:hover { color: var(--rojo); text-decoration: underline; }
.firma-n { font: 600 .8125rem var(--sans); color: var(--tenue); justify-self: end; }
.firma-ultima { grid-column: 2 / -1; font: 400 1rem/1.35 var(--serif); text-decoration: none; color: var(--tinta-2); margin-top: var(--e-1); }
.firma-ultima:hover { color: var(--rojo); text-decoration: underline; }

.dias-par { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--e-7); }
.dia-compacto .pieza-media .pieza-titulo { font-size: 1.6rem; }
.dia-lista { margin-top: var(--e-4); display: grid; gap: var(--e-3); }
.dia-lista .pieza { border-top: 1px solid var(--regla); padding-top: var(--e-3); }
.dias-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--e-6); }
.titulares { list-style: none; margin: 0; padding: 0; }
.titulares li { display: grid; grid-template-columns: 3.2rem minmax(0, 1fr); gap: var(--e-2); padding-block: var(--e-3); border-top: 1px solid var(--regla); }
.titulares li:first-child { border-top: 0; padding-top: 0; }
.titulares time { font: 600 .875rem/1.6 var(--sans); color: var(--rojo); font-variant-numeric: tabular-nums; }
.titulares a { font: 600 1.05rem/1.25 var(--serif); text-decoration: none; padding-block: .1rem; }
.titulares a:hover { text-decoration: underline; text-decoration-color: var(--rojo); }

@media (max-width: 64rem) {
  .firmas-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dias-trio { grid-template-columns: 1fr; }
}
@media (max-width: 52rem) {
  .apertura-rejilla, .dias-par { grid-template-columns: 1fr; }
  .apertura-rejilla > .pieza { padding-right: 0; }
  .apertura-lista { border-left: 0; padding-left: 0; margin-top: var(--e-4); border-top: 1px solid var(--regla); padding-top: var(--e-4); }
  .firmas-lista { grid-template-columns: 1fr; }
  .firma-n { font-size: .9375rem; }
  .titulares a { font-size: 1.125rem; }
  .titulares time { font-size: .9375rem; }
}
.franja-mas { min-height: 2.75rem; min-width: 2.75rem; justify-content: flex-end; }
