/**
 * Bloque "¿Cómo funciona?" — El pulso del mundial.
 *
 * Fondo rojo, título centrado y N pasos en fila. Cada paso lleva un
 * número en círculo; una línea de puntos los conecta por detrás. En
 * móvil los pasos se apilan y la línea desaparece.
 */

.pulso-como {
	color: var(--color-white, #fff);
	padding: 20px 20px 0 20px;
}

.pulso-como__inner {
	background: var(--primary-red, #da001c);
	margin: 0 auto;
	padding: 48px 40px 56px;
}

/* ----------------------------------------------------------------
 * Acordeón (móvil) / siempre desplegado (desktop)
 *
 * Implementación manual con <button> + <div panel> + clase .is-open
 * togglada por JS. NO usamos <details> porque Chrome moderno mueve
 * el contenido a shadow DOM y no se puede forzar visible desde CSS.
 *
 * - Móvil (≤768px): el panel arranca display:none. Click en el
 *   summary añade .is-open al contenedor → panel visible.
 * - Desktop (>768px): el panel siempre se ve (CSS no aplica el
 *   display:none ahí). El chevron se oculta y el summary se ve
 *   como un título normal sin pinta de botón.
 * ---------------------------------------------------------------- */

.pulso-como__accordion {
	width: 100%;
}

.pulso-como__summary {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin: 0 0 40px;
	width: 100%;
	background: none;
	border: 0;
	padding: 0;
	color: inherit;
	font: inherit;
	cursor: pointer;
	text-align: inherit;
}

.pulso-como__chevron {
	flex: 0 0 auto;
	line-height: 0;
	color: var(--color-white, #fff);
	transition: transform 0.2s ease-in-out;
}

.pulso-como__accordion.is-open .pulso-como__chevron {
	transform: rotate(180deg);
}

.pulso-como__titulo {
	text-align: center;
	font-family: var(--font-secondary, serif);
	font-size: clamp(26px, 3.4vw, 44px);
	font-weight: 700;
	text-transform: uppercase;
	margin: 0;
	/* el margen inferior va ya en el summary */
}

/* Fila de pasos */
.pulso-como__steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 24px;
	position: relative;
}

/* Línea de puntos que conecta los números (detrás de los círculos) */
.pulso-como__steps::before {
	content: "";
	position: absolute;
	top: 18px;
	/* centro vertical del círculo del número (36px / 2) */
	left: 12%;
	right: 12%;
	border-top: 2px dotted rgba(255, 255, 255, 0.55);
	z-index: 0;
}

.pulso-como__step {
	position: relative;
	z-index: 1;
	flex: 1 1 0;
	display: flex;
	flex-direction: column;
	gap: 24px;
	align-items: center;
	text-align: center;
}

/* Número en círculo — mismo método que el badge del marcador del
   "Juego del día": el número va en un <svg> (text-anchor=middle +
   dominant-baseline=central) y se centra por geometría de la fuente,
   idéntico en Chrome y Firefox. Sin números mágicos por navegador. */
.pulso-como__num {
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background: var(--primary-blue, #0a0541);
	color: var(--color-white, #fff);
	display: inline-block;
}

.pulso-como__num-inner {
	display: block;
	width: 100%;
	height: 100%;
}
.pulso-como__num-inner text {
	font-family: var(--font-secondary, serif);
	font-weight: 700;
	font-size: 60px;
	fill: currentColor;
}

/* Imagen del paso (alturas dispares centradas en un alto fijo) */
.pulso-como__img-wrap {
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pulso-como__img {
	max-height: 110px;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.pulso-como__texto {
	font-family: var(--font-primary, serif);
	font-size: clamp(16px, 2vw, 20px);
	line-height: 1.4;
	margin: 0;
	max-width: 28ch;
}

.pulso-como__nota {
	font-size: 14px;
	max-width: 24ch;

	a {
		color: var(--color-white, #fff);
		text-decoration: underline;
	}
}

/* Nota legal a pie del bloque (asterisco de empate + enlace a bases). */
.pulso-como__nota-legal {
	margin: 45px auto 0;
	max-width: 720px;
	text-align: center;
	font-family: var(--font-roboto, sans-serif);
	font-size: 13px;
	line-height: 1.5;
	color: #ffffff;
}

.pulso-como__nota-legal p {
	margin: 0;
}

.pulso-como__nota-legal a {
	color: var(--color-white, #fff);
	text-decoration: underline;
}

.pulso-como__nota-legal a:hover {
	opacity: 0.85;
}

/* Móvil: el acordeón aplica. El panel arranca oculto; se muestra cuando
   el contenedor tiene la clase .is-open (la pone el JS al clicar). */
@media (max-width: 768px) {
	.pulso-como__inner {
		padding: 28px 24px 32px;
	}

	.pulso-como__summary {
		margin: 0;
		/* sin margen inferior cuando está plegado */
		justify-content: space-between;
	}

	.pulso-como__accordion.is-open .pulso-como__summary {
		margin: 0 0 28px;
		/* recupera el aire bajo el título al desplegar */
	}

	.pulso-como__accordion:not(.is-open) .pulso-como__panel {
		display: none;
	}

	.pulso-como__steps {
		flex-direction: column;
		gap: 32px;
	}

	.pulso-como__steps::before {
		display: none;
	}

	.pulso-como__texto,
	.pulso-como__nota {
		max-width: 32ch;
	}
}

/* Desktop (>768px): el acordeón NO aplica. El panel se ve siempre (no
   hay regla que lo oculte aquí). Ocultamos chevron y quitamos pinta de
   botón al summary para que se lea como un título normal. */
@media (min-width: 769px) {
	.pulso-como__summary {
		cursor: default;
		pointer-events: none;
	}

	.pulso-como__chevron {
		display: none;
	}
}