/**
 * vexel/eclipse-actualidad
 *
 * Medidas del nodo 3926:1840:
 *   sección 1440x696 · fondo #F2F6F7 · cabecera de 112 en y=120
 *   32 hasta la lista · dos tarjetas de 256 con 16 entre ellas
 *   64 hasta el botón de 208 · el contenido termina en 624 (72 de aire abajo)
 *   tarjeta: blanca, radio 24, padding 24, 32 entre imagen y texto
 *   imagen 206x208 con radio 16 · título Newsreader 24/32 · extracto 16/24
 *   pie 12/16: fecha en #4E506B y categoría en #628F99
 */

.vexel-eclipse-actualidad {
	--vexel-act-gap: 32px;
	--vexel-act-lista-gap: 64px;
	--vexel-act-tarjeta-gap: 16px;
	--vexel-act-padding-top: 120px;
	--vexel-act-padding-bottom: 72px;
	--vexel-act-cta: 208px;

	padding-top: var(--vexel-act-padding-top);
	padding-bottom: var(--vexel-act-padding-bottom);
}

.vexel-eclipse-actualidad.is-bg-bg    { background-color: var(--wp--preset--color--bg); }
.vexel-eclipse-actualidad.is-bg-soft  { background-color: var(--wp--preset--color--bg-soft); }
.vexel-eclipse-actualidad.is-bg-cream { background-color: var(--wp--preset--color--bg-cream); }
.vexel-eclipse-actualidad.is-bg-none  { background-color: transparent; }

.vexel-eclipse-actualidad__inner {
	display: flex;
	flex-direction: column;
	gap: var(--vexel-act-gap);
}

/* ------------------------------------------------------------------ Cabecera */
.vexel-eclipse-actualidad__cabecera {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

.vexel-eclipse-actualidad__kicker {
	margin: 0;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 24px;
	color: var(--wp--preset--color--secondary);
}

.vexel-eclipse-actualidad__filete {
	position: relative;
	display: block;
	width: 64px;
	height: 0;
}

.vexel-eclipse-actualidad__filete::before {
	content: "";
	position: absolute;
	/* -1 y no -0.5: con media unidad, Chrome resuelve la línea a la fila
	   siguiente y Figma a la anterior, y el filete salía 1px más abajo. */
	top: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--wp--preset--color--accent);
}

.vexel-eclipse-actualidad__heading {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--3-xl);
	font-weight: 500;
	line-height: 1;
	color: var(--wp--preset--color--secondary);
}

.vexel-eclipse-actualidad__heading em,
.vexel-eclipse-actualidad__heading i {
	font-style: italic;
	font-weight: inherit;
	color: var(--wp--preset--color--celeste-texto);
}

/* ------------------------------------------------------------- Lista y botón */
.vexel-eclipse-actualidad__bloque {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--vexel-act-lista-gap);
}

/*
 * Rejilla de dos y no fila flexible: con una sola entrada publicada la tarjeta
 * se estiraba a los 1104 del contenido y el texto quedaba en 818 en vez de 258,
 * así que ni el título se partía en dos líneas ni el extracto se recortaba.
 * En rejilla, una entrada ocupa una columna y conserva sus 544.
 */
.vexel-eclipse-actualidad__lista {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: var(--vexel-act-tarjeta-gap);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Una sola entrada: la tarjeta conserva sus 544 y se centra en la fila. */
.vexel-eclipse-actualidad.has-una .vexel-eclipse-actualidad__lista {
	grid-template-columns: minmax(
		0,
		calc((100% - var(--vexel-act-tarjeta-gap)) / 2)
	);
	justify-content: center;
}

.vexel-eclipse-actualidad__tarjeta {
	display: flex;
	align-items: flex-start;
	gap: 32px;
	min-width: 0;
	margin: 0;
	padding: 24px;
	border-radius: var(--wp--custom--radius--xl);
	background-color: var(--wp--preset--color--bg);
}

.vexel-eclipse-actualidad__media {
	display: block;
	flex-shrink: 0;
	width: 206px;
	height: 208px;
	border-radius: var(--wp--custom--radius--lg);
	overflow: hidden;
}

.vexel-eclipse-actualidad__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* El pie se queda abajo: el texto reparte el alto de la tarjeta. */
.vexel-eclipse-actualidad__texto {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	flex: 1 1 0;
	min-width: 0;
	align-self: stretch;
}

.vexel-eclipse-actualidad__grupo {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vexel-eclipse-actualidad__titulo {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 400;
	line-height: 32px;
	color: var(--wp--preset--color--secondary);
}

.vexel-eclipse-actualidad__titulo a {
	color: inherit;
	text-decoration: none;
}

.vexel-eclipse-actualidad__titulo a:hover,
.vexel-eclipse-actualidad__titulo a:focus-visible {
	color: var(--wp--preset--color--celeste-texto);
	text-decoration: underline;
}

/*
 * El extracto se recorta a tres líneas con puntos suspensivos, como en la
 * maqueta: la tarjeta tiene alto fijo (la imagen manda) y el pie con la fecha
 * va anclado abajo, así que un texto largo desplazaría el pie fuera de sitio.
 */
.vexel-eclipse-actualidad__extracto {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	margin: 0;
	font-size: var(--wp--preset--font-size--md);
	line-height: 24px;
	color: var(--wp--preset--color--secondary);
}

/* El título también, a dos líneas. */
.vexel-eclipse-actualidad__titulo {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
}

.vexel-eclipse-actualidad__meta {
	margin: 0;
	font-size: var(--wp--preset--font-size--xs);
	line-height: 16px;
	color: var(--wp--preset--color--celeste-texto);
}

.vexel-eclipse-actualidad__fecha {
	color: var(--wp--preset--color--secondary);
}

/* La barra separadora es decorativa: se pinta desde CSS para no meterla en el
   texto y que no la lean los lectores de pantalla. */
.vexel-eclipse-actualidad__categoria::before {
	content: " | ";
	color: var(--wp--preset--color--secondary);
}

.vexel-eclipse-actualidad__cta-wrap {
	margin: 0;
}

.vexel-eclipse-actualidad__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--vexel-act-cta);
	padding-inline: 16px;
	font-size: var(--wp--preset--font-size--sm);
	line-height: 24px;
}

/* --------------------------------------------------------------------- Móvil */
/* Sin maqueta de móvil: las tarjetas se apilan y, en pantallas estrechas, la
   imagen pasa encima del texto. Adaptación propia. */
@media (max-width: 1023px) {
	.vexel-eclipse-actualidad {
		padding-top: clamp(3.5rem, 8.333vw, var(--vexel-act-padding-top));
		padding-bottom: clamp(2.5rem, 5vw, var(--vexel-act-padding-bottom));
	}

	/* Apilado no hay nada que centrar, y el centrado de una sola tarjeta
	   (0,2,0) le ganaba a esta regla y la dejaba a media anchura. */
	.vexel-eclipse-actualidad__lista,
	.vexel-eclipse-actualidad.has-una .vexel-eclipse-actualidad__lista {
		grid-template-columns: minmax(0, 1fr);
		justify-content: stretch;
	}
}

@media (max-width: 767px) {
	.vexel-eclipse-actualidad__tarjeta {
		flex-direction: column;
		gap: var(--wp--preset--spacing--30);
	}

	.vexel-eclipse-actualidad__media {
		width: 100%;
		height: auto;
		aspect-ratio: 206 / 208;
	}
}
