/*
 * Eventos (T-023) · dirección B «Editorial».
 *
 * Se carga solo en /eventos/, en las fichas de evento y en las páginas que usan
 * [lestrella_eventos] o [lestrella_proximo_evento] (inc/eventos.php, lestrella_eventos_recursos()).
 * Diseño: docs/diseno/eventos-maqueta.html (v2, B). Guía: docs/diseno/guia-estilo.md §0.
 *
 * Regla 3: sin colores sueltos. Todo sale de los tokens --lestrella-* de style.css;
 * las transparencias se hacen con color-mix() sobre esos tokens.
 */

/* ==========================================================================
   0. Tokens propios del bloque y reajustes del contenedor
   ========================================================================== */

.lestrella-ev,
.lestrella-eventos,
.lestrella-franja {
	--lestrella-ev-f-titulo: var(--e-global-typography-primary-font-family, "Lexend"), system-ui, sans-serif;
	--lestrella-ev-f-cuerpo: var(--e-global-typography-text-font-family, "DM Sans"), system-ui, sans-serif;
	--lestrella-ev-radio: 14px;
	--lestrella-ev-sombra: color-mix(in srgb, var(--lestrella-noche) 55%, transparent);
	--lestrella-ev-blanco-86: color-mix(in srgb, var(--lestrella-blanco) 86%, transparent);
	--lestrella-ev-blanco-60: color-mix(in srgb, var(--lestrella-blanco) 60%, transparent);
	--lestrella-ev-blanco-35: color-mix(in srgb, var(--lestrella-blanco) 35%, transparent);
	--lestrella-ev-blanco-12: color-mix(in srgb, var(--lestrella-blanco) 12%, transparent);
	--lestrella-ev-blanco-8: color-mix(in srgb, var(--lestrella-blanco) 8%, transparent);
	/* Fondo «cielo»: respaldo si un evento no tiene foto, y llamadas a donar. */
	--lestrella-ev-cielo:
		radial-gradient(1.2px 1.2px at 12% 22%, color-mix(in srgb, var(--lestrella-blanco) 75%, transparent) 50%, transparent 51%),
		radial-gradient(1px 1px at 28% 68%, color-mix(in srgb, var(--lestrella-blanco) 55%, transparent) 50%, transparent 51%),
		radial-gradient(1.4px 1.4px at 46% 30%, color-mix(in srgb, var(--lestrella-blanco) 70%, transparent) 50%, transparent 51%),
		radial-gradient(1px 1px at 63% 78%, color-mix(in srgb, var(--lestrella-blanco) 50%, transparent) 50%, transparent 51%),
		radial-gradient(1.6px 1.6px at 78% 18%, color-mix(in srgb, var(--lestrella-oro) 90%, transparent) 50%, transparent 51%),
		radial-gradient(1px 1px at 88% 60%, color-mix(in srgb, var(--lestrella-blanco) 60%, transparent) 50%, transparent 51%),
		radial-gradient(120% 90% at 85% 10%, color-mix(in srgb, var(--lestrella-noche-2), var(--lestrella-blanco) 10%) 0%, transparent 60%),
		var(--lestrella-noche-2);
	font-family: var(--lestrella-ev-f-cuerpo);
	color: var(--lestrella-texto);
}

/* Envoltorio de TEC en la ficha: sin márgenes ni ancho propios. Astra pone .ast-container en flex:
   la lista y la ficha ocupan todo el ancho. */
.single-tribe_events #tribe-events-pg-template,
.single-tribe_events .tribe-events-pg-template,
.lestrella-ev-pagina {
	flex: 1 1 100%;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

/* Indicador de carga de las vistas AJAX de TEC: aquí no hay vistas AJAX (su CSS ya no se carga). */
.single-tribe_events .tribe-events-ajax-loading,
.post-type-archive-tribe_events .tribe-events-ajax-loading {
	display: none;
}

/* La llamada de HFE (plantilla 201, sección 53badde) se oculta en eventos: la lista y la ficha
   ya llevan su llamada a donar (mismo criterio que en la portada, decisión del 2026-11-07). */
body.post-type-archive-tribe_events .elementor-201 .elementor-element-53badde,
body.single-tribe_events .elementor-201 .elementor-element-53badde {
	display: none;
}

.lestrella-ev *,
.lestrella-eventos * {
	box-sizing: border-box;
}

.lestrella-ev h1,
.lestrella-ev h2,
.lestrella-ev h3,
.lestrella-eventos h2,
.lestrella-eventos h3 {
	font-family: var(--lestrella-ev-f-titulo);
	font-weight: 600;
	line-height: 1.15;
	color: var(--lestrella-tinta);
	margin: 0;
}

.lestrella-ev p,
.lestrella-eventos p {
	margin: 0;
}

.lestrella-ev img,
.lestrella-eventos img {
	display: block;
	max-width: 100%;
}

.lestrella-ev-wrap {
	max-width: 1200px;
	margin-inline: auto;
	padding-inline: 20px;
}

.lestrella-ev-cielo {
	background: var(--lestrella-ev-cielo);
}

.lestrella-ev-cielo--relleno {
	display: block;
	width: 100%;
	height: 100%;
}

/* ==========================================================================
   1. Piezas comunes: botones, antetítulo, fecha, etiqueta, sello
   ========================================================================== */

.lestrella-ev-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	min-height: 44px;
	padding: 0.85em 1.4em;
	border: 2px solid transparent;
	border-radius: 999px;
	font: 700 15px/1 var(--lestrella-ev-f-titulo);
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s, transform 0.15s;
}

/* Los <button> heredan el botón de Astra (mayúsculas, espaciado, fondo): se neutraliza. */
body button.lestrella-ev-btn,
body summary.lestrella-ev-btn,
body button.lestrella-ev-chip {
	text-transform: none;
	letter-spacing: normal;
	line-height: 1;
	box-shadow: none;
}

/* Chips <button> (Compartir…, Copiar enlace): sin el relleno, el radio ni los colores de foco de Astra (T-041). */
body button.lestrella-ev-chip,
body button.lestrella-ev-chip:hover,
body button.lestrella-ev-chip:focus {
	padding: 0 14px;
	border: 1px solid var(--lestrella-linea);
	border-radius: 999px;
	background: var(--lestrella-papel);
	color: var(--lestrella-tinta);
	font: 600 14px/1 var(--lestrella-ev-f-cuerpo);
}

body button.lestrella-ev-chip:hover {
	border-color: var(--lestrella-noche);
}

body button.lestrella-ev-btn--c {
	background: transparent;
	border-color: var(--lestrella-noche);
	color: var(--lestrella-noche);
}

body button.lestrella-ev-btn--c:hover {
	background: var(--lestrella-noche);
	color: var(--lestrella-blanco);
}

body button.lestrella-ev-btn--p {
	background: var(--lestrella-accion);
	border-color: transparent;
	color: var(--lestrella-tinta);
}

body .lestrella-video__marco button.lestrella-ev-btn--p:hover {
	background: var(--lestrella-accion-hover-osc);
	color: var(--lestrella-tinta);
}

body button.lestrella-ev-btn--peq {
	font-size: 13px;
	padding: 0.7em 1.1em;
}

body button.lestrella-video__play {
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--lestrella-accion);
	color: var(--lestrella-tinta);
}

body button.lestrella-video__play:hover {
	background: var(--lestrella-accion-hover-osc);
	color: var(--lestrella-tinta);
}

.lestrella-ev-btn--p,
.lestrella-ev-btn--p:visited {
	background: var(--lestrella-accion);
	color: var(--lestrella-tinta);
}

.lestrella-ev-btn--p:hover,
.lestrella-ev-btn--p:focus-visible {
	background: var(--lestrella-accion-hover);
	color: var(--lestrella-tinta);
}

.lestrella-oscuro .lestrella-ev-btn--p:hover,
.lestrella-oscuro .lestrella-ev-btn--p:focus-visible,
.lestrella-video__marco .lestrella-ev-btn--p:hover {
	background: var(--lestrella-accion-hover-osc);
}

.lestrella-ev-btn--c,
.lestrella-ev-btn--c:visited {
	background: transparent;
	border-color: var(--lestrella-noche);
	color: var(--lestrella-noche);
}

.lestrella-ev-btn--c:hover {
	background: var(--lestrella-noche);
	color: var(--lestrella-blanco);
}

.lestrella-ev-btn--co,
.lestrella-ev-btn--co:visited {
	background: transparent;
	border-color: var(--lestrella-ev-blanco-60);
	color: var(--lestrella-blanco);
}

.lestrella-ev-btn--co:hover {
	border-color: var(--lestrella-accion);
	color: var(--lestrella-accion);
}

.lestrella-ev-btn--peq {
	font-size: 13px;
	padding: 0.7em 1.1em;
}

.lestrella-ev-btn--ancho {
	width: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	.lestrella-ev-btn--p:hover {
		transform: translateY(-1px);
	}
}

.lestrella-ev-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.lestrella-ev-acciones--centro {
	justify-content: center;
}

.lestrella-ev-antetitulo {
	font: 600 13px/1.3 var(--lestrella-ev-f-cuerpo);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--lestrella-enlace);
}

.lestrella-oscuro .lestrella-ev-antetitulo {
	color: var(--lestrella-accion);
}

.lestrella-ev-fecha {
	font: 700 13px/1.3 var(--lestrella-ev-f-titulo);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lestrella-enlace);
}

.lestrella-ev-etq {
	display: inline-block;
	align-self: flex-start;
	padding: 5px 8px;
	border-radius: 5px;
	background: var(--lestrella-linea);
	color: var(--lestrella-texto);
	font: 600 11px/1 var(--lestrella-ev-f-cuerpo);
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.lestrella-ev-etq--prox {
	background: var(--lestrella-oro);
	color: var(--lestrella-tinta);
}

.lestrella-ev-sello {
	display: inline-grid;
	justify-items: center;
	align-content: center;
	min-width: 72px;
	padding: 10px 12px 9px;
	border: 1px solid var(--lestrella-linea);
	border-radius: 12px;
	background: var(--lestrella-blanco);
	text-align: center;
	line-height: 1;
}

.lestrella-ev-sello__m {
	font: 700 12px/1 var(--lestrella-ev-f-titulo);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--lestrella-enlace);
}

.lestrella-ev-sello__d {
	margin: 4px 0 3px;
	font: 700 32px/1 var(--lestrella-ev-f-titulo);
	color: var(--lestrella-tinta);
}

.lestrella-ev-sello__d--txt {
	margin: 6px 0 5px;
	font-size: 24px;
	letter-spacing: 0.02em;
}

.lestrella-ev-sello__a {
	font: 600 11px/1 var(--lestrella-ev-f-cuerpo);
	color: var(--lestrella-texto);
}

/* ==========================================================================
   2. Tarjetas y rejilla ([lestrella_eventos], /eventos/, «Otros eventos»)
   ========================================================================== */

.lestrella-ev-anio {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 6px 0 16px;
	font: 700 14px/1.2 var(--lestrella-ev-f-titulo);
	letter-spacing: 0.06em;
	color: var(--lestrella-tinta);
}

.lestrella-ev-anio::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--lestrella-linea);
}

.lestrella-ev-rejilla {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
}

.lestrella-ev-rejilla + .lestrella-ev-anio {
	margin-top: 32px;
}

.lestrella-ev-tarjeta {
	position: relative;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--lestrella-linea);
	border-radius: var(--lestrella-ev-radio);
	background: var(--lestrella-blanco);
	transition: transform 0.2s, box-shadow 0.2s;
}

@media (prefers-reduced-motion: no-preference) {
	.lestrella-ev-tarjeta:hover {
		transform: translateY(-3px);
	}
}

.lestrella-ev-tarjeta:hover {
	box-shadow: 0 18px 36px -24px var(--lestrella-ev-sombra);
}

.lestrella-ev-tarjeta__img {
	position: relative;
	aspect-ratio: 16 / 10;
	background: var(--lestrella-linea);
}

.lestrella-ev-tarjeta__img > img,
.lestrella-ev-tarjeta__img > .lestrella-ev-cielo {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Cartel entero (tema hijo 1.5.7): vertical o cuadrado (ancho / alto < 1,2, inc/eventos.php).
   La caja sigue en 16:10 (16:9 en la portada en móvil) y el cartel va centrado, sin recorte,
   sobre noche 2. La imagen va en absolute: si no, la caja crecería con la altura del cartel. */
.lestrella-ev-tarjeta__img.lestrella-ev-tarjeta__img--cartel,
.lestrella-ev-prox__img.lestrella-ev-prox__img--cartel {
	background: var(--lestrella-noche-2);
}

/* Doble clase: las reglas del destacado (.lestrella-ev-prox__img, más abajo) pondrían fondo línea y cover. */
.lestrella-ev-tarjeta__img.lestrella-ev-tarjeta__img--cartel > img,
.lestrella-ev-prox__img.lestrella-ev-prox__img--cartel > img {
	position: absolute;
	inset: 0;
	object-fit: contain;
}

/* Hueco del sello (tema hijo 1.5.8). El sello va abajo a la izquierda en las tarjetas y arriba
   a la izquierda en el destacado; con carteles cuadrados o casi cuadrados las bandas laterales
   son estrechas y el sello tapaba una esquina del cartel. El cartel se centra en la zona a la
   derecha de una franja reservada al sello (posición + ancho del sello + 10 px de aire), así que
   el sello queda siempre sobre la banda noche 2. Los carteles verticales no se reducen (caben de
   sobra); solo los más anchos (hasta 1,2) pierden unos píxeles. Con un rango de fechas
   («19–20»), el sello es más ancho y la franja crece. Sin :has() (navegadores antiguos) se usa
   la franja normal: en el peor caso, unos píxeles de solape, como antes. */
.lestrella-ev-tarjeta__img.lestrella-ev-tarjeta__img--cartel,
.lestrella-ev-prox__img.lestrella-ev-prox__img--cartel {
	--lestrella-ev-sello-hueco: 96px; /* 14 + 72 + 10 */
}

.lestrella-ev-prox__img.lestrella-ev-prox__img--cartel {
	--lestrella-ev-sello-hueco: 100px; /* 18 + 72 + 10 */
}

.lestrella-ev-tarjeta__img.lestrella-ev-tarjeta__img--cartel:has(.lestrella-ev-sello__d--txt) {
	--lestrella-ev-sello-hueco: 122px;
}

.lestrella-ev-prox__img.lestrella-ev-prox__img--cartel:has(.lestrella-ev-sello__d--txt) {
	--lestrella-ev-sello-hueco: 126px;
}

.lestrella-ev-tarjeta__img.lestrella-ev-tarjeta__img--cartel > img,
.lestrella-ev-prox__img.lestrella-ev-prox__img--cartel > img {
	left: var(--lestrella-ev-sello-hueco);
	width: calc(100% - var(--lestrella-ev-sello-hueco));
}

.lestrella-ev-tarjeta__img .lestrella-ev-sello {
	position: absolute;
	left: 14px;
	bottom: -26px;
	box-shadow: 0 8px 18px -10px var(--lestrella-ev-sombra);
}

.lestrella-ev-tarjeta__medios {
	position: absolute;
	right: 10px;
	bottom: 10px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 9px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--lestrella-noche) 82%, transparent);
	color: var(--lestrella-blanco);
	font: 600 12px/1.3 var(--lestrella-ev-f-cuerpo);
}

.lestrella-ev-tarjeta__cuerpo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 36px 20px 22px;
}

.lestrella-ev .lestrella-ev-tarjeta__titulo,
.lestrella-eventos .lestrella-ev-tarjeta__titulo {
	font-size: 20px;
}

.lestrella-ev-tarjeta__titulo a,
.lestrella-ev-tarjeta__titulo a:visited {
	color: inherit;
	text-decoration: none;
}

/* Toda la tarjeta es el enlace del título (un solo enlace por tarjeta). */
.lestrella-ev-tarjeta__titulo a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 3;
}

body .lestrella-ev-tarjeta__titulo a:focus-visible {
	outline: 0;
	box-shadow: none;
}

.lestrella-ev-tarjeta:has(.lestrella-ev-tarjeta__titulo a:focus-visible) {
	outline: var(--lestrella-foco-ancho) solid var(--lestrella-foco);
	outline-offset: var(--lestrella-foco-separacion);
}

.lestrella-ev-tarjeta__texto {
	font-size: 15px;
	line-height: 1.55;
}

.lestrella-ev-tarjeta__mas {
	margin-top: auto;
	padding-top: 6px;
	font-weight: 700;
	font-size: 15px;
	color: var(--lestrella-enlace);
}

.lestrella-ev-tarjeta__mas::after {
	content: " \2192";
}

/* Portada: rejilla de 3 sin recuento de fotos. */
.lestrella-eventos--portada .lestrella-ev-tarjeta__texto {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

/* Estado vacío. */
.lestrella-ev-vacio {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 22px;
	padding: 28px;
	border: 1px solid var(--lestrella-linea);
	border-radius: var(--lestrella-ev-radio);
	background: var(--lestrella-blanco);
}

.lestrella-ev .lestrella-ev-vacio__titulo,
.lestrella-eventos .lestrella-ev-vacio__titulo {
	margin-bottom: 6px;
	font-size: clamp(22px, 2.6vw, 28px);
}

/* ==========================================================================
   3. Página /eventos/
   ========================================================================== */

.lestrella-ev-cab {
	padding: 56px 0 72px;
	color: var(--lestrella-blanco);
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--lestrella-noche) 92%, transparent), color-mix(in srgb, var(--lestrella-noche) 82%, transparent)),
		var(--lestrella-ev-fondo, none) center 40% / cover no-repeat,
		var(--lestrella-noche);
}

.lestrella-ev .lestrella-ev-cab__titulo {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 8px 0 12px;
	font-size: clamp(36px, 5vw, 56px);
	color: var(--lestrella-blanco);
}

.lestrella-ev-cab__titulo .lestrella-icono {
	color: var(--lestrella-accion);
}

.lestrella-ev-cab__titulo .lestrella-icono__acento {
	fill: none;
}

.lestrella-ev-cab__texto {
	max-width: 60ch;
	font-size: 17px;
	color: var(--lestrella-ev-blanco-86);
}

.lestrella-ev-anclas {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 22px;
}

.lestrella-ev-anclas a,
.lestrella-ev-anclas a:visited {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 9px 16px;
	border: 1px solid var(--lestrella-ev-blanco-35);
	border-radius: 999px;
	color: var(--lestrella-blanco);
	font: 600 14px/1 var(--lestrella-ev-f-cuerpo);
	text-decoration: none;
}

.lestrella-ev-anclas a:hover {
	border-color: var(--lestrella-accion);
	color: var(--lestrella-accion);
}

.lestrella-ev-anclas b {
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--lestrella-ev-blanco-12);
	font: 700 12px/1 var(--lestrella-ev-f-titulo);
}

.lestrella-ev-destacado-zona {
	position: relative;
	z-index: 1;
	margin-top: -36px;
	scroll-margin-top: 60px;
}

.lestrella-ev-prox {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	overflow: hidden;
	border: 1px solid var(--lestrella-linea);
	border-radius: var(--lestrella-ev-radio);
	background: var(--lestrella-blanco);
}

.lestrella-ev-prox__img {
	position: relative;
	min-height: 300px;
	background: var(--lestrella-linea);
}

.lestrella-ev-prox__img > img,
.lestrella-ev-prox__img > .lestrella-ev-cielo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lestrella-ev-prox__img .lestrella-ev-sello {
	position: absolute;
	left: 18px;
	top: 18px;
}

.lestrella-ev-prox__cuerpo {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 28px;
}

.lestrella-ev .lestrella-ev-prox__titulo {
	font-size: clamp(24px, 2.8vw, 32px);
}

.lestrella-ev-datos-mini {
	display: grid;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 15px;
}

.lestrella-ev-datos-mini li {
	display: flex;
	gap: 10px;
}

.lestrella-ev-datos-mini .lestrella-icono {
	margin-top: 2px;
	color: var(--lestrella-enlace);
}

.lestrella-ev-prox .lestrella-ev-acciones {
	margin-top: auto;
	padding-top: 8px;
}

.lestrella-ev-sec {
	padding: 56px 0;
	scroll-margin-top: 16px;
}

.lestrella-ev-sec__tit {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 22px;
}

.lestrella-ev-sec__tit .lestrella-icono {
	color: var(--lestrella-enlace);
}

.lestrella-ev .lestrella-ev-sec__tit h2 {
	font-size: clamp(26px, 3.2vw, 36px);
}

.lestrella-ev-suscribe {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: 30px;
	padding: 16px 18px;
	border: 1px dashed var(--lestrella-linea);
	border-radius: 12px;
	font-size: 15px;
}

.lestrella-ev-suscribe > .lestrella-icono {
	color: var(--lestrella-enlace);
}

.lestrella-ev-cal--linea {
	position: relative;
}

.lestrella-ev-cal--linea summary {
	color: var(--lestrella-enlace);
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}

.lestrella-ev-cal--linea ul {
	position: absolute;
	z-index: 5;
	min-width: 240px;
}

.lestrella-ev-cta {
	padding: 64px 20px;
	text-align: center;
	color: var(--lestrella-blanco);
}

.lestrella-ev .lestrella-ev-cta h2 {
	margin: 8px 0 10px;
	font-size: clamp(26px, 3.4vw, 38px);
	color: var(--lestrella-blanco);
}

.lestrella-ev-cta > p:not(.lestrella-ev-antetitulo) {
	max-width: 58ch;
	margin: 0 auto 22px;
	color: var(--lestrella-ev-blanco-86);
}

/* ==========================================================================
   4. Ficha (B · Editorial)
   ========================================================================== */

.lestrella-ev-hero {
	padding: 8px 0 40px;
}

.lestrella-ev-hero__rej {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	align-items: center;
	gap: 40px;
}

.lestrella-ev-migas {
	padding: 14px 0;
	font-size: 14px;
}

.lestrella-ev-migas a,
.lestrella-ev-migas a:visited {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	color: var(--lestrella-enlace);
	font-weight: 600;
	text-decoration: none;
}

.lestrella-ev-migas a:hover {
	text-decoration: underline;
}

.lestrella-ev-hero__fila {
	display: flex;
	align-items: flex-start;
	gap: 22px;
}

.lestrella-ev .lestrella-ev-hero__titulo {
	max-width: 24ch;
	margin: 8px 0 12px;
	font-size: clamp(30px, 3.8vw, 48px);
	text-wrap: balance;
}

.lestrella-ev-entradilla {
	max-width: 58ch;
	font-size: 18px;
}

.lestrella-ev-aviso {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 14px !important;
	padding: 12px 16px;
	border: 1px solid color-mix(in srgb, var(--lestrella-info) 28%, var(--lestrella-blanco));
	border-radius: 12px;
	background: color-mix(in srgb, var(--lestrella-info) 10%, var(--lestrella-blanco));
	color: var(--lestrella-tinta);
	font-size: 15px;
}

.lestrella-ev-aviso .lestrella-icono {
	margin-top: 2px;
	color: var(--lestrella-info);
}

.lestrella-ev-hero__media {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: var(--lestrella-ev-radio);
	background: var(--lestrella-linea);
	box-shadow: 0 26px 50px -34px var(--lestrella-ev-sombra);
}

.lestrella-ev-hero__media > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Con imagen entera, la columna de la imagen se ciñe al cartel (máx. 588 px) y el texto se queda
   todo el ancho sobrante: evita el hueco central y los títulos partidos en 5-6 líneas.
   Solo en escritorio (> 900 px): este selector con :has() pesa más que el
   `.lestrella-ev-hero__rej` de una columna del bloque ≤ 900 y, sin la media query, en móvil y
   tableta dejaba dos columnas y el cartel encogido a una miniatura en el borde (1.5.12). */
@media (min-width: 901px) {
	.lestrella-ev-hero__rej:has(> .lestrella-ev-hero__media--entera) {
		grid-template-columns: minmax(0, 1fr) fit-content(588px);
	}
}

/* Imagen entera, sin recorte (tema hijo 1.5.6). Muchas imágenes de evento son carteles verticales
   o cuadrados de Instagram con texto: la caja toma la proporción de la imagen (no 3:2 recortado) y
   se limita el alto. Las fotos 3:2 quedan igual que antes (588 × 392 a 1440). Sin fondo de relleno:
   la caja se ciñe a la imagen. Ver docs/diseno/2026-11-08-ficha-carteles-enteros.md. */
.lestrella-ev-hero__media--entera {
	--lestrella-ev-hero-alto: min(560px, 75vh);
	justify-self: end;
	max-width: 100%;
	aspect-ratio: auto;
}

.lestrella-ev-hero__media--entera > img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: var(--lestrella-ev-hero-alto);
	object-fit: contain;
}

.lestrella-ev-cuerpo {
	position: relative;
	z-index: 1;
	padding: 0 0 56px;
}

/* El panel va antes en el HTML (móvil); en escritorio, a la derecha. */
.lestrella-ev-cuerpo__rej {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	align-items: start;
	gap: 40px;
}

.lestrella-ev-panel {
	position: sticky;
	top: 24px;
	grid-column: 2;
	grid-row: 1;
	display: grid;
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--lestrella-linea);
	border-radius: var(--lestrella-ev-radio);
	background: var(--lestrella-blanco);
	box-shadow: 0 18px 40px -30px var(--lestrella-ev-sombra);
}

.lestrella-ev .lestrella-ev-panel__titulo {
	font-size: 18px;
}

.lestrella-ev-datos {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lestrella-ev-datos li {
	display: grid;
	grid-template-columns: 40px 1fr;
	align-items: start;
	gap: 12px;
}

.lestrella-ev-datos__ic {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--lestrella-niebla);
	color: var(--lestrella-noche);
}

.lestrella-ev-datos__k {
	display: flex;
	align-items: center;
	gap: 8px;
	font: 600 12px/1.4 var(--lestrella-ev-f-cuerpo);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.lestrella-ev-datos__v {
	font-weight: 600;
	line-height: 1.4;
	color: var(--lestrella-tinta);
}

.lestrella-ev-datos__v small {
	display: block;
	font-size: 14px;
	font-weight: 400;
	color: var(--lestrella-texto);
}

.lestrella-ev-datos__enlace,
.lestrella-ev-datos__enlace:visited {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 32px;
	color: var(--lestrella-enlace);
	font-weight: 600;
}

/* «Añadir al calendario» (details nativo). */
.lestrella-ev-cal summary {
	list-style: none;
}

.lestrella-ev-cal summary::-webkit-details-marker {
	display: none;
}

.lestrella-ev-cal[open] summary.lestrella-ev-btn {
	background: var(--lestrella-noche);
	color: var(--lestrella-blanco);
}

.lestrella-ev-cal ul {
	margin: 8px 0 0;
	padding: 0;
	overflow: hidden;
	list-style: none;
	border: 1px solid var(--lestrella-linea);
	border-radius: 12px;
	background: var(--lestrella-blanco);
}

.lestrella-ev-cal li a,
.lestrella-ev-cal li a:visited {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border-top: 1px solid var(--lestrella-linea);
	color: var(--lestrella-tinta);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.lestrella-ev-cal li:first-child a {
	border-top: 0;
}

.lestrella-ev-cal li a:hover {
	background: var(--lestrella-niebla);
}

.lestrella-ev-compartir {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.lestrella-ev-compartir > .lestrella-ev-datos__k {
	width: 100%;
}

.lestrella-ev-chip,
.lestrella-ev-chip:visited {
	display: inline-flex;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid var(--lestrella-linea);
	border-radius: 999px;
	background: var(--lestrella-papel);
	color: var(--lestrella-tinta);
	font: 600 14px/1 var(--lestrella-ev-f-cuerpo);
	text-decoration: none;
	cursor: pointer;
}

.lestrella-ev-chip:hover {
	border-color: var(--lestrella-noche);
	color: var(--lestrella-tinta);
}

.lestrella-ev-chip[hidden] {
	display: none;
}

/* «Compartir…» (menú del sistema, Web Share API): fila entera, en azul noche (T-041). */
.lestrella-ev-chip--compartir,
.lestrella-ev-chip--compartir:visited,
body button.lestrella-ev-chip--compartir {
	flex-basis: 100%;
	background: var(--lestrella-noche);
	border-color: var(--lestrella-noche);
	color: var(--lestrella-blanco);
}

.lestrella-ev-chip--compartir:hover,
.lestrella-ev-chip--compartir:focus,
body button.lestrella-ev-chip--compartir:hover,
body button.lestrella-ev-chip--compartir:focus {
	background: var(--lestrella-tinta);
	border-color: var(--lestrella-tinta);
	color: var(--lestrella-blanco);
}

.lestrella-ev-chip .lestrella-icono {
	display: inline-flex;
}

.lestrella-ev-compartir__aviso {
	width: 100%;
	font-size: 14px;
	line-height: 1.45;
	color: var(--lestrella-enlace);
}

.lestrella-ev-compartir__aviso:empty {
	display: none;
}

/* «Síguenos en Instagram»: enlace al perfil, separado del compartir por una línea (T-041). */
.lestrella-ev-social,
.lestrella-ev-social:visited {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	margin-top: 12px;
	padding-top: 12px;
	border-top: 1px solid var(--lestrella-linea);
	color: var(--lestrella-enlace);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	text-decoration: none;
}

.lestrella-ev-social:hover {
	color: var(--lestrella-enlace);
	text-decoration: underline;
}

.lestrella-ev-social:focus-visible {
	outline: 3px solid var(--lestrella-foco);
	outline-offset: 2px;
}

.lestrella-ev-social small {
	font-weight: 400;
	font-size: 14px;
	color: var(--lestrella-texto);
}

/* Contenido del editor. */
.lestrella-ev-contenido {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	font-size: 17px;
	line-height: 1.7;
}

.lestrella-ev .lestrella-ev-contenido > * + * {
	margin-top: 14px;
}

.lestrella-ev .lestrella-ev-contenido > h2 {
	margin-top: 34px;
	margin-bottom: 4px;
	font-size: clamp(22px, 2.4vw, 28px);
}

.lestrella-ev .lestrella-ev-contenido > h2:first-child {
	margin-top: 0;
}

.lestrella-ev .lestrella-ev-contenido > h3 {
	margin-top: 26px;
	font-size: 20px;
}

.lestrella-ev-contenido > p,
.lestrella-ev-contenido > ul,
.lestrella-ev-contenido > ol {
	max-width: 68ch;
}

.lestrella-ev-contenido a:not(.lestrella-ev-btn) {
	color: var(--lestrella-enlace);
}

.lestrella-ev-contenido .wp-block-image img {
	border-radius: var(--lestrella-ev-radio);
}

/* Llamada a donar dentro de la ficha. */
.lestrella-ev-fcta {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 18px;
	margin-top: 36px !important;
	padding: 28px;
	border-radius: var(--lestrella-ev-radio);
	color: var(--lestrella-blanco);
}

.lestrella-ev .lestrella-ev-fcta h2 {
	margin: 0 0 4px;
	font-size: 22px;
	color: var(--lestrella-blanco);
}

.lestrella-ev-fcta p {
	color: var(--lestrella-ev-blanco-86);
	font-size: 16px;
}

.lestrella-ev-otros {
	padding-top: 0;
}

.lestrella-ev-barra {
	display: none;
}

/* ==========================================================================
   5. Galería (bloque Galería nativo; tramos según el número de fotos)
   ========================================================================== */

.lestrella-ev-contenido .wp-block-gallery.has-nested-images.lestrella-galeria {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 150px;
	gap: 8px;
}

.lestrella-ev-contenido .wp-block-gallery.has-nested-images.lestrella-galeria figure.wp-block-image:not(#individual-image) {
	position: relative;
	width: auto;
	height: 100%;
	margin: 0;
	overflow: hidden;
	border-radius: 10px;
	background: var(--lestrella-linea);
}

.lestrella-ev-contenido .wp-block-gallery.has-nested-images.lestrella-galeria figure.wp-block-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

.lestrella-ev-contenido .lestrella-galeria--n1 {
	grid-template-columns: 1fr !important;
	grid-auto-rows: auto !important;
}

.lestrella-ev-contenido .lestrella-galeria--n1 figure.wp-block-image:not(#individual-image) {
	aspect-ratio: 16 / 9;
}

.lestrella-ev-contenido .lestrella-galeria--n2,
.lestrella-ev-contenido .lestrella-galeria--n4 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-auto-rows: 220px !important;
}

.lestrella-ev-contenido .lestrella-galeria--n3 {
	grid-template-columns: 2fr 1fr !important;
	grid-auto-rows: 170px !important;
}

.lestrella-ev-contenido .lestrella-galeria--n3 > figure:first-child {
	grid-row: span 2;
}

.lestrella-ev-contenido .lestrella-galeria--muchas > figure:first-child {
	grid-column: span 2;
	grid-row: span 2;
}

/* Fotos de la décima en adelante: ocultas por el JS (no se descargan hasta abrir el visor). */
.lestrella-ev-contenido .lestrella-galeria figure.lestrella-galeria__oculta {
	display: none !important;
}

.lestrella-ev-contenido .lestrella-galeria figure.lestrella-galeria__mas::after {
	content: attr(data-mas);
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	background: color-mix(in srgb, var(--lestrella-noche) 72%, transparent);
	color: var(--lestrella-blanco);
	font: 700 22px/1 var(--lestrella-ev-f-titulo);
	pointer-events: none;
}

.lestrella-galeria-pie {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 18px;
	margin-top: 12px !important;
	font-size: 14px;
}

.lestrella-galeria-pie [hidden] {
	display: none;
}

.lestrella-ev-permiso {
	font-size: 13px;
}

/* Visor nativo de WordPress («Ampliar al hacer clic»): fondo tinta, botones redondos, foco turquesa. */
.single-tribe_events .wp-lightbox-overlay {
	--lestrella-foco: var(--lestrella-accion);
	--lestrella-foco-halo: var(--lestrella-tinta);
}

.single-tribe_events .wp-lightbox-overlay .scrim {
	background-color: color-mix(in srgb, var(--lestrella-tinta) 96%, transparent) !important;
}

.single-tribe_events .wp-lightbox-overlay .wp-lightbox-close-button,
.single-tribe_events .wp-lightbox-overlay .wp-lightbox-navigation-button {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid var(--lestrella-ev-blanco-35, color-mix(in srgb, var(--lestrella-blanco) 35%, transparent));
	border-radius: 50%;
	background: color-mix(in srgb, var(--lestrella-blanco) 6%, transparent);
	fill: var(--lestrella-blanco) !important;
}

.single-tribe_events .wp-lightbox-overlay .wp-lightbox-close-button:hover,
.single-tribe_events .wp-lightbox-overlay .wp-lightbox-navigation-button:hover {
	border-color: var(--lestrella-accion);
	fill: var(--lestrella-accion) !important;
}

.single-tribe_events .wp-lightbox-overlay .wp-lightbox-close-button {
	width: 44px;
	height: 44px;
}

/* ==========================================================================
   6. Vídeo (bloque Incrustado de YouTube → fachada)
   ========================================================================== */

.lestrella-video {
	margin-inline: 0;
}

.lestrella-video__marco {
	--lestrella-foco: var(--lestrella-blanco);
	--lestrella-foco-halo: var(--lestrella-noche);
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--lestrella-ev-radio);
	background-color: var(--lestrella-noche);
	color: var(--lestrella-blanco);
}

.lestrella-video__miniatura {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.lestrella-video__velo {
	position: absolute;
	inset: 0;
	background: linear-gradient(color-mix(in srgb, var(--lestrella-noche) 25%, transparent), color-mix(in srgb, var(--lestrella-noche) 55%, transparent));
}

.lestrella-video--bloq .lestrella-video__velo,
.lestrella-video:not(.lestrella-video--fachada):not(.lestrella-video--cargado) .lestrella-video__velo {
	background: color-mix(in srgb, var(--lestrella-noche) 86%, transparent);
}

.lestrella-video__bloqueo {
	position: absolute;
	inset: 0;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 12px;
	padding: 20px;
	text-align: center;
}

.lestrella-video__bloqueo p {
	max-width: 46ch;
	font-size: 15px;
	line-height: 1.5;
	color: color-mix(in srgb, var(--lestrella-blanco) 92%, transparent);
}

.lestrella-video__bloqueo strong {
	color: var(--lestrella-blanco);
}

.lestrella-video [hidden] {
	display: none !important;
}

.lestrella-video__play {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	margin: auto;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--lestrella-accion);
	color: var(--lestrella-tinta);
	cursor: pointer;
	box-shadow: 0 12px 30px -10px color-mix(in srgb, var(--lestrella-tinta) 60%, transparent);
	transition: transform 0.2s, background-color 0.2s;
}

.lestrella-video__play:hover {
	background: var(--lestrella-accion-hover-osc);
}

@media (prefers-reduced-motion: no-preference) {
	.lestrella-video__play:hover {
		transform: scale(1.06);
	}
}

.lestrella-video__play .lestrella-icono {
	margin-left: 5px;
}

.lestrella-video__titulo {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 14px;
	font: 600 14px/1.3 var(--lestrella-ev-f-cuerpo);
	text-shadow: 0 1px 3px color-mix(in srgb, var(--lestrella-tinta) 70%, transparent);
}

.lestrella-video__marco iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.lestrella-video__pie {
	margin-top: 8px;
	font-size: 13px;
}

/* ==========================================================================
   6b. Franja del próximo evento ([lestrella_proximo_evento], portada bajo el bloque inicial)
   Variante A «franja ampliada con cartel» (tema hijo 1.5.9), ajustada en 1.5.10 (2026-11-09):
   - Ya no es una banda pegada al bloque inicial oscuro (se confundía con él): el <aside> es
     una franja blanca, del mismo blanco que la historia que va debajo, y dentro va una
     TARJETA noche 2 con radio 14 px (el común de la guía), de 1200 px como máximo (el ancho
     de las secciones de Elementor). El blanco de arriba marca el corte con el bloque inicial;
     por debajo no lleva relleno: el aire lo pone la sección de la historia (80 / 48 px).
   - Sello de fecha SIEMPRE: el mismo .lestrella-ev-sello de las tarjetas (72 px, blanco,
     borde línea), pegado al texto. Con cartel, el cartel en miniatura (80 px) va a su
     izquierda (--cartel); sin cartel, solo el sello (--sello).
   Sin evento, el shortcode no pinta nada: no hay reglas para el estado vacío.
   ========================================================================== */

.lestrella-franja {
	--lestrella-franja-cartel: 80px;
	box-sizing: border-box;
	padding: 32px 20px 0;
	background: var(--lestrella-blanco);
}

.lestrella-franja__caja {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 14px 24px;
	box-sizing: border-box;
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 32px;
	border-radius: var(--lestrella-ev-radio);
	background: var(--lestrella-noche-2);
	color: var(--lestrella-blanco);
}

.lestrella-franja--cartel .lestrella-franja__caja {
	grid-template-columns: var(--lestrella-franja-cartel) auto minmax(0, 1fr) auto;
}

/* Cartel: entero (sin recorte), 80 px de ancho y hasta 120 px de alto; sombra suave para
   despegarlo del azul. Decorativo (alt vacío): el nombre del evento va al lado. */
.lestrella-franja__cartel {
	display: flex;
	justify-content: center;
}

.lestrella-franja .lestrella-franja__img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 120px;
	object-fit: contain;
	border-radius: 6px;
	box-shadow: 0 10px 22px -12px rgba(0, 0, 0, 0.7), 0 0 0 1px var(--lestrella-ev-blanco-12);
}

/* Sello: el de las tarjetas, sin cambios de tamaño. Solo se le quita el borde línea, que
   sobre el azul no aporta nada. */
.lestrella-franja .lestrella-franja__sello {
	border-color: transparent;
}

.lestrella-franja__texto {
	min-width: 0;
}

.lestrella-franja .lestrella-franja__etq {
	padding: 6px 10px;
	font-size: 12px;
	font-weight: 700;
}

.lestrella-franja .lestrella-franja__titulo {
	margin: 10px 0 0;
	font: 600 23px/1.2 var(--lestrella-ev-f-titulo);
	color: var(--lestrella-blanco);
	text-wrap: balance;
}

.lestrella-franja .lestrella-franja__datos {
	margin: 6px 0 0;
	font: 700 14px/1.35 var(--lestrella-ev-f-titulo);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lestrella-accion);
}

.lestrella-ev-btn.lestrella-franja__btn {
	min-height: 52px;
	padding: 1em 1.8em;
	font-size: 16px;
}

/* ==========================================================================
   7. Móvil
   ========================================================================== */

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

	.lestrella-ev-cuerpo__rej {
		grid-template-columns: minmax(0, 1fr);
	}

	.lestrella-ev-panel {
		position: static;
		grid-column: 1;
		grid-row: auto;
	}

	.lestrella-ev-contenido {
		grid-column: 1;
		grid-row: auto;
	}

	.lestrella-ev-hero__rej {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.lestrella-ev-hero__media {
		order: -1;
	}

	.lestrella-ev-hero__media--entera {
		justify-self: center;
	}
}

@media (max-width: 760px) {
	.lestrella-ev-wrap {
		padding-inline: 18px;
	}

	.lestrella-ev-cab {
		padding: 36px 0 60px;
		background:
			linear-gradient(color-mix(in srgb, var(--lestrella-noche) 88%, transparent), color-mix(in srgb, var(--lestrella-noche) 88%, transparent)),
			var(--lestrella-ev-fondo, none) center / cover no-repeat,
			var(--lestrella-noche);
	}

	.lestrella-ev-vacio,
	.lestrella-ev-prox {
		grid-template-columns: minmax(0, 1fr);
	}

	.lestrella-ev-vacio {
		padding: 22px;
	}

	.lestrella-ev-prox__img {
		min-height: 200px;
	}

	.lestrella-ev-rejilla {
		grid-template-columns: minmax(0, 1fr);
	}

	.lestrella-ev-sec {
		padding: 44px 0;
	}

	/* Ficha en móvil: la foto va a sangre pegada a la cabecera del sitio, sin la raya de 8 px (T-041). */
	.lestrella-ev-hero {
		padding-top: 0;
	}

	.lestrella-ev-hero__media {
		margin-inline: -18px;
		aspect-ratio: 4 / 3;
		border-radius: 0;
	}

	/* Imagen entera en móvil: sigue a sangre bajo la cabecera; si es más estrecha que la pantalla
	   (cartel vertical en un móvil bajo), las bandas laterales son azul noche, como la cabecera. */
	.lestrella-ev-hero__media--entera {
		--lestrella-ev-hero-alto: 70vh;
		display: flex;
		justify-content: center;
		justify-self: stretch;
		max-width: none;
		aspect-ratio: auto;
		background: var(--lestrella-noche);
		box-shadow: none;
	}

	@supports (height: 1svh) {
		.lestrella-ev-hero__media--entera {
			--lestrella-ev-hero-alto: 70svh;
		}
	}

	.lestrella-ev-hero__fila {
		flex-direction: column;
		gap: 14px;
	}

	.lestrella-ev-entradilla {
		font-size: 16px;
	}

	.lestrella-ev-contenido {
		font-size: 16px;
	}

	.lestrella-ev-contenido .wp-block-gallery.has-nested-images.lestrella-galeria,
	.lestrella-ev-contenido .lestrella-galeria--n2,
	.lestrella-ev-contenido .lestrella-galeria--n3,
	.lestrella-ev-contenido .lestrella-galeria--n4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-rows: 130px !important;
	}

	.lestrella-ev-contenido .lestrella-galeria--n3 > figure:first-child,
	.lestrella-ev-contenido .lestrella-galeria--media > figure:first-child,
	.lestrella-ev-contenido .lestrella-galeria--muchas > figure:first-child {
		grid-column: span 2;
		grid-row: span 1;
	}

	.single-tribe_events .wp-lightbox-overlay .wp-lightbox-navigation-button {
		top: auto;
		bottom: 56px;
		transform: none;
	}

	.lestrella-video__play {
		width: 68px;
		height: 68px;
	}

	.lestrella-video__bloqueo p {
		font-size: 13px;
	}

	.lestrella-video__bloqueo .lestrella-icono--circulo {
		display: none;
	}

	.lestrella-ev-fcta {
		grid-template-columns: minmax(0, 1fr);
		padding: 22px;
	}

	.lestrella-ev-btn {
		white-space: normal;
		text-align: center;
	}

	.lestrella-ev-barra {
		position: sticky;
		bottom: 0;
		z-index: 5;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
		padding: 10px 16px;
		border-top: 1px solid var(--lestrella-linea);
		background: var(--lestrella-blanco);
		box-shadow: 0 -10px 24px -18px var(--lestrella-ev-sombra);
	}

	.lestrella-ev-barra .lestrella-ev-fecha {
		font-size: 12px;
	}

	.lestrella-ev-barra b {
		display: block;
		font: 600 14px/1.2 var(--lestrella-ev-f-titulo);
		color: var(--lestrella-tinta);
	}
}

/* Franja del próximo evento en móvil: tarjeta con 20 px de blanco por encima.
   Fila 1: cartel (56 px, si lo hay), sello y «Próximo evento»; debajo, a todo el ancho de la
   tarjeta, el nombre (3 líneas como máximo), «fecha · hora · municipio» (sin la sala) y el
   botón. El bloque de texto se deshace (display: contents) para colocar sus piezas en la
   rejilla: así el nombre no queda encajonado en una columna estrecha junto al cartel. */
@media (max-width: 760px) {
	.lestrella-franja {
		--lestrella-franja-cartel: 56px;
		padding: 20px 16px 0;
	}

	.lestrella-franja__caja,
	.lestrella-franja--cartel .lestrella-franja__caja {
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-areas:
			"sello etq"
			"titulo titulo"
			"datos datos"
			"btn btn";
		align-items: center;
		gap: 0 14px;
		padding: 18px 18px 20px;
	}

	.lestrella-franja--cartel .lestrella-franja__caja {
		grid-template-columns: var(--lestrella-franja-cartel) auto minmax(0, 1fr);
		grid-template-areas:
			"cartel sello etq"
			"titulo titulo titulo"
			"datos datos datos"
			"btn btn btn";
	}

	.lestrella-franja__cartel {
		grid-area: cartel;
	}

	.lestrella-franja .lestrella-franja__img {
		max-height: 84px;
	}

	.lestrella-franja .lestrella-franja__sello {
		grid-area: sello;
	}

	.lestrella-franja__texto {
		display: contents;
	}

	.lestrella-franja .lestrella-franja__etq {
		grid-area: etq;
		align-self: center;
		justify-self: start;
		font-size: 11px;
	}

	.lestrella-franja .lestrella-franja__titulo {
		grid-area: titulo;
		display: -webkit-box;
		overflow: hidden;
		margin-top: 14px;
		-webkit-line-clamp: 3;
		-webkit-box-orient: vertical;
		font-size: 19px;
	}

	.lestrella-franja .lestrella-franja__datos {
		grid-area: datos;
		font-size: 12px;
	}

	.lestrella-franja__sala {
		display: none;
	}

	.lestrella-ev-btn.lestrella-franja__btn {
		grid-area: btn;
		width: 100%;
		min-height: 48px;
		margin-top: 16px;
		padding: 0.9em 1.2em;
		font-size: 15px;
	}
}

/* Eventos de la portada en móvil: carrusel horizontal con scroll-snap, sin librerías.
   Cada tarjeta ocupa el 85 % y se ve el borde de la siguiente; con el dedo o con el
   teclado (al tabular, el navegador desplaza la tarjeta enfocada a la vista).
   Solo .lestrella-eventos--portada: /eventos/ y «Otros eventos» siguen en columna. */
@media (max-width: 760px) {
	.lestrella-eventos--portada .lestrella-ev-rejilla {
		display: flex;
		gap: 14px;
		margin-inline: -20px;
		padding: 8px 20px 12px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-padding-inline: 20px;
		scrollbar-width: thin;
	}

	.lestrella-eventos--portada .lestrella-ev-tarjeta {
		flex: 0 0 85%;
		scroll-snap-align: start;
	}

	.lestrella-eventos--portada .lestrella-ev-tarjeta:only-child {
		flex-basis: 100%;
	}

	/* min-height: 0 (1.5.7): sin él, la foto 800 × 500 estiraba la caja a 16:10 (tamaño mínimo
	   automático de aspect-ratio) y los carteles, en absolute, sí quedaban en 16:9. */
	.lestrella-eventos--portada .lestrella-ev-tarjeta__img {
		min-height: 0;
		aspect-ratio: 16 / 9;
	}

	.lestrella-eventos--portada .lestrella-ev-tarjeta__cuerpo {
		gap: 6px;
		padding: 34px 16px 18px;
	}

	.lestrella-eventos--portada .lestrella-ev-tarjeta__texto {
		-webkit-line-clamp: 2;
	}
}

@media (max-width: 760px) and (prefers-reduced-motion: no-preference) {
	.lestrella-eventos--portada .lestrella-ev-rejilla {
		scroll-behavior: smooth;
	}
}
