/*
 * La Voz de Málaga — diseño.
 *
 * Montado sobre los valores de tokens.css, que es donde vive la identidad. Aquí
 * no debería aparecer ni un color ni una tipografía en crudo: si hace falta uno
 * nuevo, se añade allí primero.
 *
 * El orden del fichero sigue el de la página: base, cabecera, portada, módulos,
 * lateral, noticia, pie, y al final el móvil.
 */

/* ---------------------------------------------------------------- base --- */

*, *::before, *::after { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--lvm-papel);
	color: var(--lvm-tinta);
	font-family: var(--lvm-sans);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; }
a:hover { color: var(--lvm-acento); }

h1, h2, h3 { margin: 0; font-weight: 600; }
p { margin: 0; }

/* El foco tiene que verse: mucha gente navega con el teclado y el tema no es
   quién para quitárselo. */
:focus-visible {
	outline: 2px solid var(--lvm-acento);
	outline-offset: 2px;
}

.lvm-oculto {
	position: absolute;
	width: 1px; height: 1px;
	margin: -1px; padding: 0;
	overflow: hidden; clip-path: inset(50%);
	white-space: nowrap;
}

.lvm-saltar {
	position: absolute; left: -9999px;
	background: var(--lvm-tinta); color: var(--lvm-papel);
	padding: 12px 18px; z-index: 100;
}
.lvm-saltar:focus { left: 8px; top: 8px; }

.lvm-ancho {
	max-width: var(--lvm-ancho-maximo);
	margin-inline: auto;
	padding-inline: 24px;
}

/* ------------------------------------------------------------ la marca --- */

.lvm-monograma,
.lvm-sello {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	flex: none;
	width: var(--lado, 62px);
	height: var(--lado, 62px);
	background: var(--lvm-tinta);
	color: var(--lvm-papel);
	font-family: var(--lvm-serif);
	font-weight: 600;
	line-height: 1;
}

.lvm-monograma__letras { font-size: calc(var(--lado, 62px) * .40); letter-spacing: -.005em; }
.lvm-sello__nombre     { font-size: calc(var(--lado, 62px) * .315); letter-spacing: -.03em; line-height: .94; text-align: center; }

.lvm-monograma__regla,
.lvm-sello__regla {
	width: calc(var(--lado, 62px) * .33);
	height: max(2px, calc(var(--lado, 62px) * .022));
	margin-top: calc(var(--lado, 62px) * .085);
	background: var(--lvm-acento);
}
.lvm-sello__regla { width: calc(var(--lado, 62px) * .25); }

/* Por debajo de 40 px la regla deja de ser una línea y se convierte en una
   mancha. Se retira, tal y como dice el manual de identidad. */
.lvm-monograma--pequeno { --lado: 32px; }
.lvm-monograma--pequeno .lvm-monograma__regla { display: none; }

.lvm-logotipo { display: inline-flex; flex-direction: column; align-items: center; gap: .6em; }
.lvm-logotipo__nombre {
	font-family: var(--lvm-serif);
	font-size: 2.6rem; font-weight: 600;
	letter-spacing: var(--lvm-tracking-logotipo); line-height: 1;
}
.lvm-logotipo__bajada {
	display: flex; align-items: center; gap: .8em;
	font-size: .7rem; font-weight: 600; letter-spacing: var(--lvm-tracking-bajada);
}
.lvm-logotipo__bajada i { width: 2em; height: 2px; background: var(--lvm-acento); }

/* --------------------------------------------------------- la cabecera --- */

.lvm-cabecera {
	position: sticky; top: 0; z-index: 40;
	background: var(--lvm-papel);
	border-bottom: 1px solid var(--lvm-linea);
}

.lvm-cabecera__alta { border-bottom: 1px solid var(--lvm-linea); }

.lvm-cabecera__fila {
	display: flex; align-items: center; justify-content: space-between;
	gap: 24px; padding-block: 22px 18px;
}

.lvm-marca__enlace { display: flex; align-items: center; gap: 18px; }
.lvm-marca__enlace:hover { color: inherit; }
.lvm-marca__texto { display: flex; flex-direction: column; gap: 3px; }
.lvm-marca__nombre {
	font-family: var(--lvm-serif);
	font-size: 2.4rem; font-weight: 600;
	letter-spacing: -.026em; line-height: 1.02;
}
.lvm-marca__bajada {
	font-size: .625rem; font-weight: 600;
	letter-spacing: .22em; color: var(--lvm-tinta-suave);
}

.lvm-cabecera__derecha { display: flex; align-items: center; gap: 20px; }
.lvm-cabecera__fecha {
	font-size: .8rem; color: var(--lvm-tinta-suave);
	text-align: right;
}
/* Sólo la primera letra. `capitalize` dejaba «8 De Septiembre De 2026». */
.lvm-cabecera__fecha::first-letter { text-transform: uppercase; }

.lvm-buscador {
	display: flex; align-items: center; gap: 8px;
	border: 1px solid var(--lvm-linea);
	padding: 8px 14px; color: var(--lvm-apoyo);
}
.lvm-buscador input {
	border: 0; background: none; font: inherit; font-size: .8rem;
	color: var(--lvm-tinta); width: 8rem; padding: 0;
}
.lvm-buscador input:focus { outline: none; }
.lvm-buscador:focus-within { border-color: var(--lvm-acento); }

.lvm-boton {
	display: inline-block;
	font-size: .8rem; font-weight: 600;
	padding: 10px 18px; white-space: nowrap;
}
.lvm-boton--acento { background: var(--lvm-acento); color: var(--lvm-papel); }
.lvm-boton--acento:hover { background: var(--lvm-acento-oscuro); color: var(--lvm-papel); }
.lvm-boton--ancho { display: block; text-align: center; }

/* El menú de secciones. */
.lvm-menu__fila { display: flex; align-items: stretch; gap: 26px; height: 44px; }
.lvm-menu__lista {
	display: flex; align-items: stretch; gap: 26px;
	margin: 0; padding: 0; list-style: none; flex-grow: 1;
}
.lvm-menu__lista > li { display: flex; align-items: center; }
.lvm-menu__lista a { font: var(--lvm-menu); }
.lvm-menu__lista .current-menu-item a,
.lvm-menu__lista .current-category-ancestor a {
	box-shadow: inset 0 -3px 0 var(--lvm-acento);
	padding-block: 12px;
}
.lvm-menu__municipio {
	border: 0; background: none; cursor: pointer;
	font: var(--lvm-menu); color: var(--lvm-acento);
}

/* La franja de comarcas. */
.lvm-comarcas { background: var(--lvm-papel-hondo); border-top: 1px solid var(--lvm-linea); }
.lvm-comarcas__fila { display: flex; align-items: center; gap: 22px; height: 38px; overflow-x: auto; }
.lvm-comarcas__rotulo {
	font-size: .6875rem; font-weight: 700;
	letter-spacing: .14em; color: var(--lvm-apoyo); flex: none;
}
.lvm-comarcas__fila a { font-size: .8125rem; color: var(--lvm-tinta-suave); white-space: nowrap; }

/* Al bajar, la cabecera se encoge: el bloque alto se recoge y quedan el menú y
   la franja. Sin JavaScript. */
@media (min-width: 900px) {
	body.lvm-encogida .lvm-cabecera__alta { display: none; }
}

/* ----------------------------------------------------------- la página --- */

.lvm-principal { display: block; padding-bottom: 60px; }

.lvm-portada__columnas {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 48px;
	align-items: start;
}

.lvm-portada__cuerpo { display: flex; flex-direction: column; gap: 40px; min-width: 0; }

/* ------------------------------------------------------------ módulos --- */

.lvm-bloque { display: flex; flex-direction: column; gap: 20px; }

.lvm-bloque__titulo {
	font: var(--lvm-seccion);
	letter-spacing: var(--lvm-tracking-seccion);
	text-transform: uppercase;
	border-bottom: 2px solid var(--lvm-tinta);
	padding-bottom: 8px;
}

.lvm-rejilla { display: grid; gap: 28px; }
.lvm-rejilla--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lvm-rejilla--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lvm-rejilla--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.lvm-lista { display: flex; flex-direction: column; gap: 18px; }

/* Dentro de una lista, la destacada va apaisada: foto a la izquierda y texto a
   la derecha. Apilada ocuparía media pantalla para una sola noticia, que es
   justo lo que hace hoy la portada. */
.lvm-lista > .lvm-tarjeta--destacada {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 22px;
	align-items: start;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--lvm-linea);
}

/* Sin foto no hay dos columnas.
 *
 * En las secciones y las comarcas sólo llevan foto las cinco primeras; a partir
 * de ahí el texto se quedaba metido en la columna de 220 px de la foto, con
 * medio ancho vacío al lado. Pasa igual cuando una noticia no tiene imagen
 * destacada, que en el archivo antiguo es más común de lo que parece. */
.lvm-lista > .lvm-tarjeta--destacada.lvm-tarjeta--sin-foto {
	grid-template-columns: minmax(0, 1fr);
	gap: 10px;
}
.lvm-columna { display: flex; flex-direction: column; gap: 16px; }

/* --- la tarjeta, en sus cuatro tamaños --- */

.lvm-tarjeta { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.lvm-tarjeta__texto { display: flex; flex-direction: column; gap: 8px; }

/* Todas las fotos, la misma proporción.
 *
 * Lo que llega de agencia viene de todo: 1024x768, 750x500, verticales de
 * juzgado. Sin esto cada foto conserva la suya, las filas quedan desiguales y
 * la de apertura puede salir MÁS ESTRECHA que las dos de debajo juntas, porque
 * una imagen no se estira más allá de su tamaño real. Con el hueco en 16:9 y la
 * imagen recortada al centro, la rejilla cuadra sola y no hay que regenerar las
 * miniaturas de 27.000 entradas. */
.lvm-tarjeta__foto {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--lvm-papel-hondo);
}
.lvm-tarjeta__foto img {
	width: 100%; height: 100%;
	object-fit: cover; object-position: center;
}

.lvm-tarjeta__antetitulo {
	font: var(--lvm-antetitulo);
	letter-spacing: var(--lvm-tracking-antetitulo);
	text-transform: uppercase;
	color: var(--lvm-acento);
}

.lvm-tarjeta__titular {
	font-family: var(--lvm-serif);
	text-wrap: pretty;
}
.lvm-tarjeta__titular a:hover { color: var(--lvm-acento); }

.lvm-tarjeta--apertura .lvm-tarjeta__titular {
	font-size: 2.6rem; font-weight: 600;
	letter-spacing: var(--lvm-tracking-apertura); line-height: 1.06;
}
.lvm-tarjeta--destacada .lvm-tarjeta__titular {
	font-size: 1.35rem; font-weight: 600;
	letter-spacing: var(--lvm-tracking-titular); line-height: 1.14;
}
.lvm-tarjeta--titular .lvm-tarjeta__titular,
.lvm-tarjeta--breve .lvm-tarjeta__titular {
	font-size: 1.0625rem; font-weight: 500;
	letter-spacing: var(--lvm-tracking-lista); line-height: 1.28;
}

.lvm-tarjeta__entradilla {
	font-family: var(--lvm-serif);
	font-size: 1.15rem; color: var(--lvm-tinta-suave);
	line-height: 1.45; text-wrap: pretty; max-width: 46em;
}

.lvm-tarjeta__firma,
.lvm-tarjeta__hora {
	display: flex; align-items: center; gap: 9px;
	font-size: .75rem; color: var(--lvm-apoyo);
}
.lvm-tarjeta__hora time { font-weight: 700; color: var(--lvm-acento); font-variant-numeric: tabular-nums; }
.lvm-tarjeta__donde { font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

/* La apertura: una grande y dos debajo. */
.lvm-apertura { display: flex; flex-direction: column; gap: 26px; }
.lvm-apertura__secundarias {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px;
	border-top: 1px solid var(--lvm-linea); padding-top: 22px;
}

/* La franja de comarcas de la portada. */
.lvm-comarca-tarjeta { display: flex; flex-direction: column; gap: 10px; }
.lvm-comarca-tarjeta__nombre {
	font: var(--lvm-antetitulo);
	letter-spacing: var(--lvm-tracking-antetitulo);
	text-transform: uppercase;
	color: var(--lvm-tinta);
	border-bottom: 1px solid var(--lvm-linea);
	padding-bottom: 6px;
}

/* Opinión. Reservado; hoy no pinta nada porque no hay firmas propias. */
.lvm-firma { display: flex; flex-direction: column; gap: 8px; }
.lvm-firma__foto { border-radius: 50%; }
.lvm-firma__autor { font-size: .8125rem; font-weight: 600; }
.lvm-firma__titular {
	font-family: var(--lvm-serif); font-size: 1.2rem;
	font-style: italic; line-height: 1.2; text-wrap: pretty;
}

/* ------------------------------------------------------------ lateral --- */

.lvm-lateral { display: flex; flex-direction: column; gap: 32px; position: sticky; top: 140px; }
.lvm-lateral__bloque { display: flex; flex-direction: column; gap: 16px; }

.lvm-lateral__titulo {
	display: flex; align-items: baseline; justify-content: space-between;
	font: var(--lvm-seccion);
	letter-spacing: var(--lvm-tracking-seccion);
	text-transform: uppercase;
	border-bottom: 2px solid var(--lvm-tinta);
	padding-bottom: 8px;
}
.lvm-lateral__vivo {
	font-size: .6875rem; font-weight: 400; letter-spacing: 0;
	text-transform: none; color: var(--lvm-apoyo);
}

.lvm-breves { display: flex; flex-direction: column; }
.lvm-breves .lvm-tarjeta {
	padding-bottom: 14px;
	border-bottom: 1px solid var(--lvm-linea);
	margin-bottom: 14px;
}
.lvm-breves .lvm-tarjeta:last-child { border-bottom: 0; margin-bottom: 0; }

.lvm-ranking { margin: 0; padding: 0 0 0 1.4em; display: flex; flex-direction: column; gap: 12px; }
.lvm-ranking li { font-family: var(--lvm-serif); font-size: 1rem; line-height: 1.3; }
.lvm-ranking li::marker { font-family: var(--lvm-sans); font-weight: 700; color: var(--lvm-acento); }

.lvm-boletin { background: var(--lvm-papel-hondo); border: 1px solid var(--lvm-linea); padding: 20px; }
.lvm-boletin__texto { font-size: .875rem; color: var(--lvm-tinta-suave); }

/* --------------------------------------------------------- publicidad --- */

/* La altura va reservada desde el CSS: el hueco existe antes de que llegue el
   anuncio, y así la página no salta mientras carga. Es justo lo que hoy no
   pasa, con catorce unidades y varias a altura cero. */
.lvm-anuncio {
	min-height: var(--alto, 250px);
	display: flex; align-items: center; justify-content: center;
	background: var(--lvm-papel-hondo);
	overflow: hidden;
}
.lvm-anuncio__marca {
	font-size: .6875rem; font-weight: 600; letter-spacing: .14em;
	color: var(--lvm-apoyo);
}

/* ------------------------------------------- archivos, búsqueda y 404 --- */

.lvm-archivo__cabecera {
	display: flex; flex-direction: column; gap: 10px;
	padding-block: 34px 26px;
	border-bottom: 2px solid var(--lvm-tinta);
	margin-bottom: 32px;
}
.lvm-archivo__comarca {
	font: var(--lvm-antetitulo);
	letter-spacing: var(--lvm-tracking-antetitulo);
	text-transform: uppercase; color: var(--lvm-acento);
}
.lvm-archivo__titulo {
	font-family: var(--lvm-serif);
	font-size: clamp(2rem, 4vw, 3rem); font-weight: 600;
	letter-spacing: var(--lvm-tracking-apertura); line-height: 1.04;
}
.lvm-archivo__nota { font-size: .9375rem; color: var(--lvm-tinta-suave); max-width: 46em; }

/* Los municipios de una comarca, con su número de noticias. Es la puerta a los
   pueblos, y el número dice de un vistazo cuáles tienen vida. */
.lvm-municipios { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.lvm-municipios a {
	display: inline-flex; align-items: baseline; gap: 7px;
	border: 1px solid var(--lvm-linea);
	padding: 7px 13px; font-size: .875rem;
}
.lvm-municipios a:hover { border-color: var(--lvm-acento); color: var(--lvm-acento); }
.lvm-municipios span {
	font-size: .75rem; color: var(--lvm-apoyo);
	font-variant-numeric: tabular-nums;
}

.lvm-buscador--grande {
	max-width: 34em; padding: 0 0 0 16px; margin-top: 8px;
	border-color: var(--lvm-tinta);
}
.lvm-buscador--grande input { flex-grow: 1; width: auto; font-size: 1rem; padding-block: 14px; }
.lvm-buscador--grande .lvm-boton { padding-block: 14px; }

.lvm-404 { padding-block: 60px 80px; display: flex; flex-direction: column; gap: 14px; }
.lvm-404 .lvm-municipios { margin-top: 22px; }
.lvm-404__nota { font-size: 1rem; color: var(--lvm-tinta-suave); }

/* La paginación de WordPress. */
.pagination, .navigation.pagination { margin-top: 36px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.nav-links .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding-inline: 12px;
	border: 1px solid var(--lvm-linea);
	font-size: .875rem; font-variant-numeric: tabular-nums;
}
.nav-links .page-numbers.current {
	background: var(--lvm-tinta); color: var(--lvm-papel); border-color: var(--lvm-tinta);
}
.nav-links .page-numbers:hover:not(.current) { border-color: var(--lvm-acento); color: var(--lvm-acento); }
.nav-links .dots { border: 0; min-width: 0; }
.screen-reader-text {
	position: absolute; width: 1px; height: 1px;
	margin: -1px; overflow: hidden; clip-path: inset(50%);
}

/* ------------------------------------------------------------ noticia --- */

.lvm-noticia { padding-top: 32px; }

.lvm-noticia__cuerpo,
.lvm-noticia__etiquetas,
.lvm-noticia__aviso {
	max-width: var(--lvm-columna-lectura);
	margin-inline: auto;
}

/* La cabecera va más ancha que el cuerpo. Un titular de 3 rem en una columna de
   65 caracteres se parte en cuatro líneas y se lee a trompicones: la medida de
   lectura es para el cuerpo, no para el titular. */
.lvm-noticia__cabecera {
	max-width: 50rem;
	margin-inline: auto;
}

.lvm-noticia__cabecera { display: flex; flex-direction: column; gap: 14px; }

.lvm-noticia__antetitulo {
	font: var(--lvm-antetitulo);
	letter-spacing: var(--lvm-tracking-antetitulo);
	text-transform: uppercase; color: var(--lvm-acento);
}
.lvm-noticia__titular {
	font-family: var(--lvm-serif);
	font-size: clamp(2rem, 4vw, 3rem); font-weight: 600;
	letter-spacing: var(--lvm-tracking-apertura); line-height: 1.06;
	text-wrap: pretty;
}
.lvm-noticia__entradilla {
	font-family: var(--lvm-serif);
	font-size: 1.25rem; color: var(--lvm-tinta-suave);
	line-height: 1.45; text-wrap: pretty;
}
.lvm-noticia__firma {
	display: flex; gap: 12px; align-items: baseline;
	font-size: .8125rem; color: var(--lvm-apoyo);
	border-top: 1px solid var(--lvm-linea); padding-top: 12px;
}
.lvm-noticia__autor { font-weight: 600; color: var(--lvm-tinta); }

/* La foto sale de la columna de lectura: es lo único que se permite. */
.lvm-noticia__foto { margin: 28px auto; max-width: 900px; }
.lvm-noticia__foto figcaption {
	display: flex; flex-wrap: wrap; gap: 4px 10px;
	font-size: .8125rem; color: var(--lvm-tinta-suave);
	padding-top: 10px; line-height: 1.45;
}
.lvm-pie__archivo,
.lvm-pie__credito { color: var(--lvm-apoyo); }
.lvm-pie__credito::before { content: "·"; margin-right: 10px; }

.lvm-noticia__cuerpo { font: var(--lvm-cuerpo); }
.lvm-noticia__cuerpo p { margin-block: 0 1.15em; }
.lvm-noticia__cuerpo a { color: var(--lvm-acento); text-decoration: underline; text-underline-offset: 2px; }
.lvm-noticia__cuerpo h2,
.lvm-noticia__cuerpo h3 {
	font-family: var(--lvm-serif); font-size: 1.4rem;
	margin-block: 1.6em .4em; letter-spacing: var(--lvm-tracking-titular);
}

.lvm-noticia__etiquetas { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 28px; }
.lvm-noticia__etiquetas a {
	font-size: .8125rem;
	border: 1px solid var(--lvm-linea);
	padding: 6px 12px;
}
.lvm-noticia__etiquetas a:hover { border-color: var(--lvm-acento); color: var(--lvm-acento); }

.lvm-noticia__aviso {
	font-size: .8125rem; color: var(--lvm-apoyo);
	border-top: 1px solid var(--lvm-linea); padding-top: 14px; margin-bottom: 40px;
}

.lvm-bloque--mas { margin-bottom: 40px; }

/* ---------------------------------------------------------------- pie --- */

.lvm-pie { background: var(--lvm-tinta); color: var(--lvm-papel); margin-top: 60px; padding-block: 48px 24px; }
.lvm-pie a:hover { color: var(--lvm-acento-sobre-oscuro); }
.lvm-pie__fila { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 40px; }
.lvm-pie__nota { font-size: .875rem; color: rgba(251, 250, 247, .7); margin-top: 16px; max-width: 34em; }
.lvm-pie__titulo { font: var(--lvm-seccion); letter-spacing: var(--lvm-tracking-seccion); text-transform: uppercase; margin-bottom: 14px; }
.lvm-pie ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; font-size: .875rem; }
.lvm-pie__copyright {
	margin-top: 40px; padding-top: 20px;
	border-top: 1px solid rgba(251, 250, 247, .18);
	font-size: .8125rem; color: rgba(251, 250, 247, .6);
}
.lvm-logotipo--pie .lvm-logotipo__bajada i { background: var(--lvm-acento-sobre-oscuro); }

.lvm-vacio { padding: 60px 0; color: var(--lvm-tinta-suave); }

/* -------------------------------------------------------------- móvil --- */

@media (max-width: 1100px) {
	.lvm-rejilla--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.lvm-ancho { padding-inline: 16px; }

	.lvm-portada__columnas { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.lvm-lateral { position: static; }

	/* La cabecera se queda en una línea: monograma, nombre corto y el menú
	   deslizable. Hoy hay pantalla y media antes del primer titular. */
	.lvm-cabecera__fila { padding-block: 12px; }
	.lvm-cabecera__derecha, .lvm-marca__bajada { display: none; }
	.lvm-marca__nombre { font-size: 1.5rem; }
	.lvm-monograma { --lado: 34px; }
	.lvm-monograma__regla { display: none; }

	.lvm-menu__fila, .lvm-comarcas__fila { overflow-x: auto; scrollbar-width: none; }
	.lvm-menu__fila::-webkit-scrollbar, .lvm-comarcas__fila::-webkit-scrollbar { display: none; }

	.lvm-rejilla--2, .lvm-rejilla--3, .lvm-rejilla--4,
	.lvm-apertura__secundarias { grid-template-columns: minmax(0, 1fr); }

	.lvm-tarjeta--apertura .lvm-tarjeta__titular { font-size: 1.9rem; }
	.lvm-tarjeta--destacada .lvm-tarjeta__titular { font-size: 1.2rem; }

	/* En móvil sólo la apertura lleva foto: lo que hace falta en una pantalla
	   estrecha es densidad de titulares, no una foto por noticia. */
	.lvm-rejilla .lvm-tarjeta--destacada .lvm-tarjeta__foto { display: none; }
	.lvm-lista > .lvm-tarjeta--destacada { grid-template-columns: minmax(0, 1fr); gap: 10px; }

	.lvm-anuncio { min-height: var(--alto-movil, 250px); }
	.lvm-anuncio[style*="--alto-movil:0px"] { display: none; }

	.lvm-pie__fila { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}

@media (prefers-reduced-motion: reduce) {
	* { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
