/* Capítulos — Tarjetas */

.elementor-widget-capitulos_cp5275 { width: 100%; align-self: stretch; }
.elementor-widget-capitulos_cp5275 > .elementor-widget-container { width: 100%; }

.cap {
	--cap-cols: 3;
	--cap-gap: 16px;
	--cap-alto: 280px;
	--cap-relleno: 24px;
	--cap-radio: 0px;
	--cap-fondo: #0a0a0a;
	--cap-foto: .4;
	--cap-foto-activa: .55;
	--cap-antetitulo: #ffd400;
	--cap-titulo: #ffffff;
	--cap-texto: #d4d4d4;
	--cap-etiqueta: #737373;
	--cap-encabezado: #111111;
	--cap-linea: #e5e5e5;

	width: 100%;
	min-width: 0;
}

.cap--linea { border-top: 1px solid var(--cap-linea); padding-top: 48px; }

.cap__etiqueta {
	display: block;
	margin: 0;
	font-size: 11.2px;
	font-weight: 600;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--cap-etiqueta);
}

.cap__titulo {
	margin: 16px 0 0;
	font-size: 30px;
	line-height: 1.2;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--cap-encabezado);
}

.cap__rejilla {
	display: grid;
	grid-template-columns: repeat(var(--cap-cols), minmax(0, 1fr));
	gap: var(--cap-gap);
	margin-top: 40px;
}

/* ---------- la tarjeta ---------- */
.cap__tarjeta {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: var(--cap-alto);
	padding: var(--cap-relleno);
	border-radius: var(--cap-radio);
	background: var(--cap-fondo);
	overflow: hidden;
	text-decoration: none;
	color: var(--cap-titulo);
}

.cap__foto {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
	opacity: var(--cap-foto);
	transition: opacity .3s ease;
}
a.cap__tarjeta:hover .cap__foto,
a.cap__tarjeta:focus-visible .cap__foto { opacity: var(--cap-foto-activa); }

.cap__velo {
	position: absolute;
	inset: 0;
	display: block;
	background: linear-gradient(to top, rgba(0,0,0,.96) 0%, rgba(0,0,0,.5) 50%, transparent 100%);
	background: linear-gradient(to top, var(--cap-fondo) 0%, color-mix(in srgb, var(--cap-fondo) 50%, transparent) 50%, transparent 100%);
}

.cap__cuerpo { position: relative; display: block; }

.cap__antetitulo {
	display: block;
	margin: 0;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 12px;
	line-height: 1.4;
	color: var(--cap-antetitulo);
}

.cap__nombre {
	display: block;
	margin: 8px 0 0;
	font-size: 20px;
	line-height: 1.25;
	font-weight: 700;
	letter-spacing: -0.025em;
	color: var(--cap-titulo);
}

.cap__pie {
	display: block;
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.55;
	color: var(--cap-texto);
}

a.cap__tarjeta:focus-visible { outline: 2px solid var(--cap-antetitulo); outline-offset: 3px; }

/* ----------------------------------------------------------------
 * Responsive. Aquí no se redefinen variables: Elementor escribe las
 * del panel en .elementor-element-xxx .cap, con más peso, y una media
 * query no suma especificidad. Se tocan las propiedades finales.
 * ------------------------------------------------------------- */
@media (max-width: 1024px) {
	.cap__rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cap--linea { padding-top: 40px; }
	.cap__titulo { font-size: 26px; }
}

@media (max-width: 600px) {
	.cap__rejilla { grid-template-columns: minmax(0, 1fr); margin-top: 28px; }
	.cap--linea { padding-top: 32px; }
	.cap__titulo { font-size: 23px; margin-top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	.cap__foto { transition: none; }
}
