/* Las plantillas de cada medio (portal/plantillas.py). Solo cambian cómo se arma la página: las zonas siguen ahí, para que la publicidad
   y los patrocinios se puedan poner en todas. En el editor cada bloque va envuelto en .ed-bloque: los selectores no dependen de ser hijo directo
   de una zona, o lo que se ve allá y en el sitio no sería lo mismo. Mismas reglas de siempre: sin radios, sin sombras, un solo acento. */

/* ---------- Cabeceras ---------- */
.cabecera-izquierda .cabecera__fila { grid-template-columns: auto minmax(0, 1fr) auto; }
.cabecera-izquierda .cabecera__fila > .marca, .cabecera-izquierda .marca-h1 { grid-column: 1; grid-row: 1; text-align: left; justify-items: start; }
.cabecera-izquierda .marca__logo { margin: 0; }
.cabecera-izquierda .redes { grid-column: 2; grid-row: 1; justify-content: flex-end; }
.cabecera-izquierda .cabecera__buscar { grid-column: 3; grid-row: 1; }
.cabecera-izquierda .secciones { border-top: 3px solid var(--tinta); }
@media (min-width: 1081px) { .cabecera-izquierda .secciones__lista { justify-content: flex-start; } .cabecera-izquierda .secciones__lista li:first-child a { padding-left: 0; } }

.cabecera-secciones .cabecera { display: flex; flex-direction: column; }
.cabecera-secciones .cabecera > * { width: 100%; }
.cabecera-secciones .secciones { order: -1; border-top: 0; border-bottom: 1px solid var(--tinta); }
.cabecera-secciones .cabecera__fila { padding-block: 26px 22px; }
.cabecera-secciones .cabecera { border-bottom: 4px double var(--tinta); }

.cabecera-compacta .cabecera__fila { grid-template-columns: auto minmax(0, 1fr) auto; padding-block: 12px; }
.cabecera-compacta .cabecera__fila > .marca, .cabecera-compacta .marca-h1 { grid-column: 1; grid-row: 1; text-align: left; justify-items: start; }
.cabecera-compacta .marca { font-size: min(clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem), var(--letra-max)); }
.cabecera-compacta .marca__logo { max-height: 40px; margin: 0; }
.cabecera-compacta .redes { grid-column: 2; grid-row: 1; justify-content: flex-end; }
.cabecera-compacta .cabecera__buscar { grid-column: 3; grid-row: 1; }
.cabecera-compacta .secciones { border-top: 1px solid var(--tinta); }
.cabecera-compacta .secciones__lista a { padding-block: 9px 7px; }
@media (min-width: 1081px) { .cabecera-compacta .secciones__lista { justify-content: flex-start; } .cabecera-compacta .secciones__lista li:first-child a { padding-left: 0; } }

.cabecera-rellena .cabecera { background: var(--rojo); color: var(--sobre-acento); }
.cabecera-rellena .cabecera :focus-visible { outline-color: currentColor; }
.cabecera-rellena .marca { color: inherit; }
.cabecera-rellena .lema { color: inherit; }
.cabecera-rellena .redes a { color: inherit; }
.cabecera-rellena .redes a:hover { color: inherit; opacity: .75; }
.cabecera-rellena .buscar-btn { border-color: currentColor; color: inherit; }
.cabecera-rellena .buscar-btn:hover, .cabecera-rellena .buscar-btn[aria-expanded="true"] { background: var(--sobre-acento); border-color: var(--sobre-acento); color: var(--rojo); }
.cabecera-rellena .secciones { border-top: 1px solid currentColor; border-bottom: 0; }
.cabecera-rellena .secciones__lista li + li { border-left-color: color-mix(in srgb, currentColor 35%, transparent); }
.cabecera-rellena .secciones__lista a:hover, .cabecera-rellena .secciones__lista a[aria-current="page"] { color: inherit; border-bottom-color: currentColor; }
.cabecera-rellena .buscador-global { color: var(--tinta); }

@media (max-width: 640px) {
  .cabecera-izquierda .cabecera__fila, .cabecera-compacta .cabecera__fila { grid-template-columns: minmax(0, 1fr) auto; }
  .cabecera-izquierda .redes, .cabecera-compacta .redes { grid-column: 1 / -1; grid-row: 2; justify-content: flex-start; }
  .cabecera-izquierda .cabecera__buscar, .cabecera-compacta .cabecera__buscar { grid-column: 2; }
}

/* ---------- Piezas que comparten varias plantillas ---------- */
/* Panel oscuro sobre la foto: la única superficie oscura, igual que en la revista */
.portada-tabloide .lider__texto, .portada-sumario .lider__texto, .noticia-portada .articulo__cabecera { background: var(--tinta); color: var(--papel); }
:is(.portada-tabloide .lider__texto, .portada-sumario .lider__texto, .noticia-portada .articulo__cabecera) :is(.bajada, .meta, .meta__seccion, .meta__formato, .meta__etiqueta, .entrevistado, .entrevistado strong, .compartir__rotulo) { color: inherit; }
:is(.portada-tabloide .lider__texto, .portada-sumario .lider__texto, .noticia-portada .articulo__cabecera) .titular a:hover { color: inherit; text-decoration: underline; }
:is(.portada-tabloide .lider__texto, .portada-sumario .lider__texto, .noticia-portada .articulo__cabecera) .rotulo-patrocinado { border-color: currentColor; color: inherit; }
:is(.portada-tabloide .lider__texto, .portada-sumario .lider__texto, .noticia-portada .articulo__cabecera) :focus-visible { outline-color: currentColor; }

/* Una nota chica con la foto arriba */
:is(.portada-tabloide, .portada-mosaico, .portada-galeria, .portada-cuarteto, .portada-tira, .portada-doble, .portada-pliego) .nota-mini { grid-template-columns: minmax(0, 1fr); gap: 10px; border-top: 0; padding: 0; }
:is(.portada-tabloide, .portada-mosaico, .portada-galeria, .portada-cuarteto, .portada-tira, .portada-doble, .portada-pliego) .nota-mini__foto { order: -1; aspect-ratio: 16 / 9; display: block; }
/* Una lista de notas en fila, a lo ancho */
:is(.portada-tabloide, .portada-doble, .portada-pliego) .portada { grid-template-columns: minmax(0, 1fr); gap: 28px; }
:is(.portada-tabloide, .portada-doble, .portada-pliego, .portada-sabana, .portada-dominical, .portada-mosaico, .portada-galeria, .portada-cuarteto, .portada-tira, .portada-escalera, .portada-lector, .portada-retrato) .ultimo { padding: 0; border: 0; }
:is(.portada-tabloide, .portada-doble, .portada-pliego) .lista-ultimo { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 24px 28px; }
/* El título del bloque solo estorba cuando las notas ya se leen como una fila */
:is(.portada-galeria, .portada-cuarteto, .portada-mosaico) .ultimo .titulo-bloque { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); margin: 0; padding: 0; border: 0; }
/* Lo lateral pasa abajo, como una franja: nunca desaparece */
:is(.portada-galeria, .portada-dominical, .portada-porsecciones, .portada-cuarteto) .cuerpo-zonas { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1081px) {
  :is(.portada-galeria, .portada-dominical, .portada-porsecciones, .portada-cuarteto) .lateral,
  :is(.noticia-lectura, .noticia-pliego, .noticia-columnas) .lateral { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; padding-top: 32px; border-top: 3px solid var(--tinta); }
  :is(.portada-galeria, .portada-dominical, .portada-porsecciones, .portada-cuarteto) .lateral > :last-child,
  :is(.noticia-lectura, .noticia-pliego, .noticia-columnas) .lateral > :last-child { position: static; }
  :is(.portada-galeria, .portada-cuarteto) .secciones-portada__bloques { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .portada-dominical .secciones-portada__bloques { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- 5. Sábana ---------- */
.portada-sabana .portada { grid-template-columns: minmax(0, 1fr); gap: 28px; }
.portada-sabana .lider { display: grid; gap: 18px 32px; }
.portada-sabana .lider__texto { display: contents; }
.portada-sabana .lider .titular--xl { font-size: min(clamp(2.125rem, 1.3rem + 3.6vw, 4.5rem), var(--letra-max)); line-height: 1.03; letter-spacing: -0.02em; }
.portada-sabana .lider__foto { margin: 0; }
.portada-sabana .lider .bajada { margin: 0; }
.portada-sabana .lider .meta { margin: 0; }
.portada-sabana .nota-mini { grid-template-columns: minmax(0, 1fr); }
.portada-sabana .nota-mini__foto { display: none; }
@media (min-width: 761px) {
  .portada-sabana .lider { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); grid-template-rows: auto auto 1fr; }
  .portada-sabana .lider .titular--xl, .portada-sabana .lider .rotulo-patrocinado { grid-column: 1 / -1; }
  .portada-sabana .lider__foto { grid-column: 2; grid-row: 2 / span 2; }
  .portada-sabana .lider .bajada { grid-column: 1; grid-row: 2; }
  .portada-sabana .lider .meta { grid-column: 1; grid-row: 3; align-self: start; }
  .portada-sabana .lista-ultimo { columns: 4; column-gap: 32px; column-rule: 1px solid var(--filete); }
  .portada-sabana .nota-mini { break-inside: avoid; }
}

/* ---------- 6. Tabloide ---------- */
.portada-tabloide .lider { position: relative; }
.portada-tabloide .lider__foto { margin: 0; aspect-ratio: 16 / 9; }
.portada-tabloide .lider__texto { padding: 18px; }
.portada-tabloide .lider .titular--xl { font-size: min(clamp(2rem, 1.2rem + 3.4vw, 4.25rem), var(--letra-max)); line-height: 1.02; letter-spacing: -0.02em; }
@media (max-width: 1080px) { .portada-tabloide .lider .bajada { display: none; } }
@media (min-width: 1081px) {
  .portada-tabloide .lider__foto { max-height: 78svh; width: 100%; }
  .portada-tabloide .lider__texto { position: absolute; left: 0; bottom: 0; width: min(860px, 76%); padding: 28px 36px 24px 0; padding-left: 28px; }
}

/* ---------- 7. Pliego ---------- */
.portada-pliego .lider { display: grid; gap: 0; background: var(--papel-2); }
.portada-pliego .lider__foto { margin: 0; aspect-ratio: 4 / 3; }
.portada-pliego .lider__texto { padding: 20px; }
.portada-pliego .lider .titular--xl { font-size: min(clamp(1.875rem, 1.3rem + 2.4vw, 3.5rem), var(--letra-max)); }
@media (min-width: 761px) {
  .portada-pliego .lider { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
  .portada-pliego .lider__foto, .portada-pliego .portada:not(:has(.ultimo)) .lider__foto { aspect-ratio: auto; min-height: 460px; height: 100%; }
  .portada-pliego .lider__texto { align-self: center; padding: 40px clamp(24px, 4vw, 56px); }
}

/* ---------- 8. Teletipo ---------- */
.portada-teletipo .portada { grid-template-columns: minmax(0, 1fr); }
.teletipo { margin: 0; padding: 0; list-style: none; }
.teletipo__fila { display: grid; grid-template-columns: 62px minmax(0, 1fr); gap: 14px; padding-block: 14px; border-top: 1px solid var(--filete); }
.teletipo__fila:first-child { border-top: 0; padding-top: 0; }
.teletipo__fila--lider { padding-bottom: 22px; border-bottom: 3px solid var(--tinta); }
.teletipo__fila--lider + .teletipo__fila { border-top: 0; }
.teletipo time { display: grid; align-content: start; font: 500 var(--t-meta)/1.35 var(--sans); color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.teletipo time b { font-size: var(--t-base); font-weight: 700; color: var(--rojo); }
.teletipo .bajada { margin-top: 10px; }
@media (min-width: 761px) {
  .teletipo__fila { grid-template-columns: 96px minmax(0, 1fr); gap: 24px; }
  .teletipo__fila > div { max-width: 900px; }
  .teletipo__fila:not(.teletipo__fila--lider) .meta { margin-top: 4px; }
}

/* ---------- 9. Mosaico ---------- */
.portada-mosaico .portada { gap: 24px; }
.portada-mosaico .lista-ultimo { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 16px; }
.portada-mosaico .nota-mini:first-child, .portada-mosaico .nota-mini:nth-child(even):last-child { grid-column: 1 / -1; }
.portada-mosaico .nota-mini .titular--s { font-size: max(1rem, var(--letra-min)); }
.portada-mosaico .nota-mini .meta time { display: none; }
@media (min-width: 761px) { .portada-mosaico .portada { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); } }

/* ---------- 10. Escalera ---------- */
.portada-escalera .portada { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.portada-escalera .ultimo .titulo-bloque { display: none; }
.portada-escalera .lista-ultimo { display: grid; gap: 32px; }
.portada-escalera .nota-mini { grid-template-columns: minmax(0, 1fr); padding: 0; border: 0; gap: 12px; }
.portada-escalera .nota-mini__foto { order: -1; aspect-ratio: 16 / 9; }
.portada-escalera .nota-mini .titular--s { font-size: var(--t-l); line-height: 1.14; font-weight: 700; }
@media (min-width: 761px) {
  .portada-escalera .lider, .portada-escalera .nota-mini { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
  .portada-escalera .lider__foto, .portada-escalera .nota-mini__foto { margin: 0; aspect-ratio: 16 / 10; }
  .portada-escalera .lider .titular--xl { font-size: min(clamp(1.75rem, 1.2rem + 1.4vw, 2.625rem), var(--letra-max)); }
  .portada-escalera .nota-mini__foto { order: 1; }
  .portada-escalera .nota-mini:nth-child(even) .nota-mini__foto { order: -1; }
}

/* ---------- 11. Doble apertura ---------- */
.doble { display: grid; gap: 28px; }
.doble .lider .bajada { font-size: var(--t-s); }
@media (min-width: 761px) {
  .doble { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
  .doble .lider + .lider { padding-left: 40px; margin-left: -20px; border-left: 1px solid var(--filete); }
  .doble .titular--l { font-size: min(clamp(1.625rem, 1.2rem + 1.5vw, 2.5rem), var(--letra-max)); }
}

/* ---------- 12. Galería y 20. Cuarteto: sin una nota que mande ---------- */
:is(.portada-galeria, .portada-cuarteto) .portada { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
:is(.portada-galeria, .portada-cuarteto) .ultimo, :is(.portada-galeria, .portada-cuarteto) .lista-ultimo { display: contents; }
:is(.portada-galeria, .portada-cuarteto) .lider__foto { margin-bottom: 10px; }
:is(.portada-galeria, .portada-cuarteto) .lider .titular--xl { font-size: var(--t-s); line-height: 1.3; font-weight: 600; }
:is(.portada-galeria, .portada-cuarteto) .lider .bajada { display: none; }
@media (max-width: 760px) {
  :is(.portada-galeria, .portada-cuarteto) .lider { grid-column: 1 / -1; }
  :is(.portada-galeria, .portada-cuarteto) .lider .titular--xl { font-size: var(--t-l); line-height: 1.14; font-weight: 700; }
  :is(.portada-galeria, .portada-cuarteto) .nota-mini .meta time { display: none; }
}
@media (min-width: 761px) {
  .portada-galeria .portada { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 28px; }
  .portada-galeria .lider .titular--xl, .portada-galeria .nota-mini .titular--s { font-size: var(--t-m); line-height: 1.22; }
  .portada-cuarteto .portada { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 24px; }
}
@media (min-width: 1081px) { .portada-cuarteto .portada { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-bottom: 28px; border-bottom: 3px solid var(--tinta); } }
.portada:not(:has(.ultimo)) .lider { grid-column: 1 / -1; }

/* ---------- 13. Dominical ---------- */
.portada-dominical .portada { grid-template-columns: minmax(0, 1fr); gap: 40px; justify-items: center; padding-block: 44px 48px; }
.portada-dominical .lider { display: grid; justify-items: center; gap: 22px; width: 100%; max-width: 980px; text-align: center; }
.portada-dominical .lider__texto { display: grid; justify-items: center; gap: 14px; }
.portada-dominical .lider .titular--xl { font-size: min(clamp(2.25rem, 1.3rem + 3.8vw, 4.75rem), var(--letra-max)); line-height: 1.04; }
.portada-dominical .lider__foto { order: 1; width: 100%; margin: 0; aspect-ratio: 16 / 9; }
.portada-dominical .lider .bajada { margin: 0; }
.portada-dominical .lider .meta { justify-content: center; margin: 0; }
.portada-dominical .ultimo { width: 100%; max-width: 980px; }
.portada-dominical .ultimo .titulo-bloque { text-align: center; }
.portada-dominical .nota-mini { grid-template-columns: minmax(0, 1fr); text-align: center; }
.portada-dominical .nota-mini .meta { justify-content: center; }
.portada-dominical .nota-mini__foto { display: none; }
@media (min-width: 761px) {
  .portada-dominical .lista-ultimo { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 32px; }
  .portada-dominical .nota-mini { border: 0; padding: 0; }
}

/* ---------- 14. Lector ---------- */
.portada-lector .portada { grid-template-columns: minmax(0, 1fr); padding-block: 0 8px; border-bottom: 0; gap: 28px; }
.portada-lector .lider .titular--xl { font-size: min(clamp(1.75rem, 1.3rem + 1.8vw, 2.75rem), var(--letra-max)); }
.portada-lector .nota-mini { grid-template-columns: minmax(0, 1fr) 96px; padding-block: 18px; }
.portada-lector .nota-mini .titular--s { font-size: var(--t-m); line-height: 1.22; }
@media (min-width: 761px) { .portada-lector .nota-mini { grid-template-columns: minmax(0, 1fr) 200px; gap: 24px; } .portada-lector .nota-mini__foto { aspect-ratio: 16 / 10; } }

/* ---------- 15. Mercados ---------- */
.portada-mercados .portada { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 20px 28px; }
.portada-mercados .lider { order: -1; }
.portada-mercados .lider__foto { aspect-ratio: 16 / 9; margin-bottom: 12px; }
.portada-mercados .lider .titular--xl { font-size: var(--t-l); line-height: 1.14; }
.portada-mercados .lider .bajada { margin-top: 8px; font-size: var(--t-base); }
.portada-mercados .ultimo { padding: 0; border: 0; }
.portada-mercados .nota-mini { grid-template-columns: minmax(0, 1fr); padding: 9px 0; }
.portada-mercados .nota-mini__foto { display: none; }
.portada-mercados .nota-mini .titular--s { font-size: max(0.9375rem, var(--letra-min)); line-height: 1.28; }
.portada-mercados .nota-mini .meta { margin-top: 3px; font-size: max(0.75rem, var(--letra-min)); }
.portada-mercados .nota-mini .meta__seccion { display: none; }
.portada-mercados .secciones-portada__bloques { gap: 28px 24px; }
.portada-mercados .lista-titulares li { padding: 7px 0; font-size: max(0.9375rem, var(--letra-min)); }
@media (min-width: 1081px) {
  .portada-mercados .portada { grid-template-columns: minmax(0, 3fr) minmax(0, 5fr) minmax(0, 3fr); gap: 24px; }
  .portada-mercados .lider { order: 0; padding-inline: 24px; border-inline: 1px solid var(--filete); }
  .portada-mercados .portada:not(:has(.ultimo--b)) { grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); }
  .portada-mercados .ultimo--a { order: -1; }
}

/* ---------- 16. Por secciones ---------- */
.portada-porsecciones .portada { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 24px; }
.portada-porsecciones .ultimo { padding: 0; border: 0; }
.portada-porsecciones .nota-mini { grid-template-columns: minmax(0, 1fr); }
.portada-porsecciones .nota-mini__foto { display: none; }
.portada-porsecciones .secciones-portada__bloques { grid-template-columns: minmax(0, 1fr); gap: 32px; }
.portada-porsecciones .secciones-portada__bloques > .nota-media { padding-top: 14px; border-top: 1px solid var(--filete); }
@media (min-width: 761px) {
  .portada-porsecciones .lider { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: center; }
  .portada-porsecciones .lider__foto { margin: 0; }
  .portada-porsecciones .lider .titular--xl { font-size: min(clamp(1.75rem, 1.2rem + 1.4vw, 2.625rem), var(--letra-max)); }
  .portada-porsecciones .lista-ultimo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 32px; }
  .portada-porsecciones .nota-mini { border-top: 0; padding-top: 0; }
  .portada-porsecciones .seccion-bloque { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0 32px; align-items: start; }
  .portada-porsecciones .seccion-bloque .titulo-bloque { grid-column: 1 / -1; }
  .portada-porsecciones .seccion-bloque .lista-titulares { margin-top: 0; }
  .portada-porsecciones .seccion-bloque .lista-titulares li:first-child { border-top: 0; padding-top: 0; }
  .portada-porsecciones .secciones-portada__bloques:not(:has(.seccion-bloque)) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
}

/* ---------- 17. Tira ---------- */
.portada-tira .portada { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.portada-tira .ultimo { min-width: 0; }
.portada-tira .lista-ultimo { display: flex; gap: 16px; overflow-x: auto; padding-bottom: 12px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.portada-tira .nota-mini { flex: 0 0 min(72vw, 260px); scroll-snap-align: start; align-content: start; }
@media (min-width: 761px) {
  .portada-tira .lider { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: center; }
  .portada-tira .lider__foto { margin: 0; }
  .portada-tira .lider .titular--xl { font-size: min(clamp(1.75rem, 1.2rem + 1.4vw, 2.625rem), var(--letra-max)); }
  .portada-tira .nota-mini { flex-basis: 260px; }
}

/* ---------- 18. Retrato ---------- */
.portada-retrato .portada { gap: 24px; }
.portada-retrato .lider__foto { aspect-ratio: 4 / 5; max-height: 76svh; width: 100%; }
.portada-retrato .lider .titular--xl { font-size: min(clamp(1.875rem, 1.3rem + 1.3vw, 2.5rem), var(--letra-max)); }
.portada-retrato .nota-mini { grid-template-columns: minmax(0, 1fr); }
.portada-retrato .nota-mini__foto { display: none; }
@media (min-width: 761px) {
  .portada-retrato .portada { grid-template-columns: minmax(0, 9fr) minmax(0, 3fr); gap: 32px; }
  .portada-retrato .lider { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 4fr); gap: 32px; align-items: end; }
  .portada-retrato .lider__foto { margin: 0; }
  .portada-retrato .ultimo { padding-left: 24px; border-left: 1px solid var(--filete); }
}

/* ---------- 19. Portada de revista ---------- */
.portada-sumario .portada { gap: 28px; }
.portada-sumario .lider { position: relative; }
.portada-sumario .lider__foto { margin: 0; aspect-ratio: 4 / 3; }
.portada-sumario .lider__texto { padding: 18px; }
.portada-sumario .sumario { display: grid; gap: 24px; align-content: start; min-width: 0; }
.portada-sumario .ultimo { padding: 0; border: 0; }
.portada-sumario .nota-mini { grid-template-columns: minmax(0, 1fr); }
.portada-sumario .nota-mini__foto { display: none; }
.portada-sumario .nota-mini .titular--s { font-size: var(--t-m); line-height: 1.22; }
.sumario__revista { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px; background: var(--papel-2); font: 500 var(--t-meta)/1.4 var(--sans); }
.sumario__revista img { aspect-ratio: 210 / 297; object-fit: cover; }
.sumario__revista strong { display: block; margin-bottom: 4px; font: 600 var(--t-s)/1.3 var(--fuente-titular); }
.sumario__revista:hover strong { color: var(--rojo); }
@media (min-width: 761px) {
  .portada-sumario .portada { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; }
  .portada-sumario .lider__foto { aspect-ratio: 4 / 5; max-height: 86svh; width: 100%; }
  .portada-sumario .lider__texto { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 26px; }
  .portada-sumario .lider .titular--xl { font-size: min(clamp(1.75rem, 1.2rem + 2vw, 3rem), var(--letra-max)); }
}

/* ---------- Plantillas de noticia. Cada pieza se ubica igual en el sitio y dentro del .ed-bloque del editor. ---------- */
/* 5. Lectura pura, 10. Dos columnas y 6. Pliego: lo lateral baja */
:is(.noticia-lectura, .noticia-columnas, .noticia-pliego) .cuerpo-portada--articulo { grid-template-columns: minmax(0, 1fr); }
/* Lectura pura: la nota, lo que va arriba y abajo, y lo lateral comparten un solo ancho, para que nada se vea más angosto que lo demás */
.noticia-lectura .cuerpo-portada--articulo, .noticia-lectura .zona--arriba, .noticia-lectura .zona--abajo { max-width: 900px; margin-inline: auto; }
.noticia-lectura .articulo { width: 100%; max-width: none; }
.noticia-lectura .articulo__cuerpo { font-size: max(clamp(1.1875rem, 1.1rem + 0.3vw, 1.25rem), var(--letra-min)); line-height: 1.75; }
.noticia-lectura .articulo__cuerpo > * { max-width: none; }

/* 6. Pliego: foto fija a la izquierda y el texto corre al lado */
@media (min-width: 1081px) {
  .noticia-pliego .articulo { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 48px; max-width: none; align-items: start; }
  .noticia-pliego .articulo > * { grid-column: 2; min-width: 0; }
  .noticia-pliego .articulo > :is(.articulo__foto, .articulo__video, .ed-bloque:has(> .articulo__foto), .ed-bloque:has(> .articulo__video)) { grid-column: 1; grid-row: 1 / span 40; position: sticky; top: 24px; margin-top: 0; }
  .noticia-pliego .articulo .articulo__foto { margin-top: 0; aspect-ratio: 4 / 5; max-height: calc(100svh - 48px); }
  .noticia-pliego .articulo .articulo__foto:has(figcaption) { aspect-ratio: auto; }
  .noticia-pliego .articulo .articulo__foto:has(figcaption) .foto { aspect-ratio: 4 / 5; max-height: calc(100svh - 110px); }
}

/* 7. Portada: la foto abre y el titular entra en un panel oscuro; el crédito queda sobre la foto, donde el panel no lo tapa */
.noticia-portada .articulo__cabecera { position: relative; padding: 20px 18px 8px; }
.noticia-portada .zona--arriba .articulo__cabecera { max-width: none; }
.noticia-portada .meta--articulo { border-color: color-mix(in srgb, currentColor 35%, transparent); }
.noticia-portada .meta--articulo a { color: inherit; }
.noticia-portada .zona--arriba .articulo__foto { position: relative; margin-bottom: 0; }
.noticia-portada .zona--arriba .articulo__foto figcaption { position: absolute; top: 0; right: 0; max-width: 70%; margin: 0; padding: 4px 8px; background: var(--tinta); color: var(--papel); }
@media (min-width: 1081px) {
  .noticia-portada .zona--arriba .articulo__cabecera { width: min(900px, 80%); padding: 28px 32px 8px; }
  .noticia-portada .zona--arriba :is(.articulo__foto + .articulo__cabecera, .ed-bloque:has(.articulo__foto) + .ed-bloque .articulo__cabecera) { margin-top: -140px; }
}

/* 8. Al margen: lo esencial a la izquierda del texto */
@media (min-width: 1081px) {
  .noticia-margen .articulo:has(.lo-esencial) { display: grid; grid-template-columns: 200px minmax(0, 1fr); column-gap: 32px; align-items: start; max-width: none; }
  .noticia-margen .articulo:has(.lo-esencial) > * { grid-column: 2; min-width: 0; }
  .noticia-margen .articulo:has(.lo-esencial) > :is(.articulo__foto, .articulo__video, .ed-bloque:has(> .articulo__foto), .ed-bloque:has(> .articulo__video)) { grid-column: 1 / -1; }
  .noticia-margen .articulo:has(.lo-esencial) > :is(.lo-esencial, .ed-bloque:has(> .lo-esencial)) { grid-column: 1; grid-row: 2 / span 30; position: sticky; top: 24px; }
  .noticia-margen .lo-esencial { margin: 0; padding: 0; background: none; }
  .noticia-margen .lo-esencial ul { padding: 0; list-style: none; }
  .noticia-margen .lo-esencial li { padding-block: 10px; margin: 0; border-top: 1px solid var(--filete); font-size: max(0.9375rem, var(--letra-min)); }
  .noticia-margen .lo-esencial li:first-child { border-top: 0; padding-top: 0; }
}

/* 9. Esencial primero */
.noticia-esencial .lo-esencial { margin: 8px 0 24px; padding: 18px 20px 20px; border-left: 4px solid var(--rojo); }
.noticia-esencial .lo-esencial li { font-size: var(--t-m); line-height: 1.3; }

/* 10. Dos columnas, solo donde hay ancho para leerlas */
@media (min-width: 1081px) {
  .noticia-columnas .articulo { max-width: none; }
  .noticia-columnas .articulo__cuerpo { columns: 2; column-gap: 44px; column-rule: 1px solid var(--filete); }
  .noticia-columnas .articulo__cuerpo > * { max-width: none; }
  .noticia-columnas .articulo__cuerpo > :is(h2, blockquote, figure, table, .lee-tambien, .suscribir) { break-inside: avoid; }
  .noticia-columnas .articulo :is(.lo-esencial, .escuchar, .articulo__video--vertical) { max-width: 760px; }
}

/* 11. Letra grande: nunca menos que el piso del medio */
.noticia-letra .articulo__cuerpo { font-size: max(clamp(1.3125rem, 1.25rem + 0.3vw, 1.4375rem), var(--letra-min)); line-height: 1.65; }
.noticia-letra .bajada--articulo { font-style: normal; }
.noticia-letra .lo-esencial li { font-size: var(--t-m); }

/* 12. Capitular */
.noticia-capitular .zona--arriba .articulo__cabecera { margin-inline: auto; text-align: center; }
.noticia-capitular .zona--arriba .bajada { margin-inline: auto; font-style: normal; }
.noticia-capitular .zona--arriba :is(.meta--articulo, .compartir) { justify-content: center; }
.noticia-capitular .articulo:not(.formato-declaracion) .articulo__cuerpo > p:first-of-type::first-letter { float: left; padding: 0.06em 0.1em 0 0; font: 700 3.9em/0.82 var(--fuente-titular); color: var(--rojo); }

/* 13. Ficha técnica: lo que informa, arriba de la columna */
.noticia-ficha .lateral .lo-esencial { margin: 0; }
.noticia-ficha .lateral .ficha-mina { margin: 0; }
.noticia-ficha .lateral .ficha-mina dl { grid-template-columns: minmax(0, 1fr); }
.noticia-ficha .articulo__cuerpo { font-size: var(--t-cuerpo); }
.noticia-ficha .articulo .titular--xl { font-size: var(--t-l); }

/* 14. Columna a la izquierda */
@media (min-width: 1081px) {
  .noticia-izquierda .cuerpo-portada--articulo:has(> .lateral) { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); }
  .noticia-izquierda .cuerpo-portada--articulo > .lateral { order: -1; }
}

/* 15. Titular partido: lo que la persona agregue arriba, como un banner, sigue a todo lo ancho */
.noticia-partido .zona--arriba .articulo__foto { margin-top: 0; }
@media (min-width: 761px) {
  .noticia-partido .zona--arriba { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 0 32px; align-items: center; padding-top: 28px; }
  .noticia-partido .zona--arriba > * { grid-column: 1 / -1; min-width: 0; }
  .noticia-partido .zona--arriba > :is(.articulo__cabecera, .ed-bloque:has(> .articulo__cabecera)) { grid-column: 1; }
  .noticia-partido .zona--arriba > :is(.articulo__foto, .articulo__video, .ed-bloque:has(> .articulo__foto), .ed-bloque:has(> .articulo__video)) { grid-column: 2; }
  .noticia-partido .zona--arriba .articulo__cabecera { padding-top: 0; }
  .noticia-partido .zona--arriba .titular--xl { font-size: min(clamp(1.875rem, 1.2rem + 2vw, 3rem), var(--letra-max)); }
  .noticia-partido .zona--arriba .articulo__foto, .noticia-partido .zona--arriba .articulo__foto .foto { aspect-ratio: 4 / 3; }
  .noticia-partido .zona--arriba .articulo__foto:has(figcaption) { aspect-ratio: auto; }
}

/* ---------- Un nombre largo cabe en la cabecera, en cualquier ancho ---------- */
.cabecera__fila > .marca, .marca-h1 { min-width: 0; }
@media (min-width: 641px) and (max-width: 1240px) {
  .cabecera__fila { grid-template-columns: minmax(0, 1fr) minmax(0, auto) minmax(0, 1fr); }
  .marca { white-space: normal; overflow-wrap: break-word; font-size: min(clamp(1.75rem, 1rem + 3vw, 3.25rem), var(--letra-max)); }
  .cabecera-izquierda .cabecera__fila, .cabecera-compacta .cabecera__fila { grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto; }
  .cabecera-compacta .marca { font-size: min(clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem), var(--letra-max)); }
}

/* Lo lateral en dos columnas (tableta): un banner ancho no empuja la página hacia afuera */
@media (max-width: 1080px) {
  .lateral { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .anuncio, .auspiciador { min-width: 0; max-width: 100%; }
}
@media (max-width: 640px) { .lateral { grid-template-columns: minmax(0, 1fr); } }

/* Tarjetas con la foto al lado: en tableta no entran tres por fila */
.titular { overflow-wrap: break-word; }
@media (max-width: 1080px) { .tarjetas-lado .rejilla-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .tarjetas-lado .rejilla-3 { grid-template-columns: minmax(0, 1fr); } }

/* Con una sola nota publicada: la plantilla sigue armada, sin huecos */
.portada-sumario .portada:not(:has(.ultimo, .sumario__revista)) { grid-template-columns: minmax(0, 1fr); }
.portada-retrato .portada:not(:has(.ultimo)) .lider__foto { aspect-ratio: 4 / 5; }
.portada-retrato .portada:not(:has(.ultimo)) { grid-template-columns: minmax(0, 1fr); }
.portada-tabloide .portada:not(:has(.ultimo)) .lider__foto { aspect-ratio: 16 / 9; }

/* Lo lateral solo, sin centro al lado (medios con pocas notas): llena el ancho en lugar de dejar un hueco a la derecha */
@media (min-width: 1081px) {
  .cuerpo-zonas > .lateral:only-child { display: grid; columns: auto; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 40px; }
  .cuerpo-zonas > .lateral:only-child > * { margin-bottom: 0; }
  .cuerpo-zonas > .lateral:only-child > :last-child { position: static; }
  :is(.portada-galeria, .portada-dominical, .portada-porsecciones, .portada-cuarteto) .lateral,
  :is(.noticia-lectura, .noticia-pliego, .noticia-columnas) .lateral { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
}

/* Una tabla ancha dentro de una nota se desliza sola, sin mover la página */
@media (max-width: 760px) {
  .articulo__cuerpo table { display: block; max-width: 100%; overflow-x: auto; }
}

@media (min-width: 1081px) { .noticia-lectura .lateral { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }
