/* =============================================================================
   Widget: Profic Slider de pasos (slug profic_pasos_auditoria)
   Figma Profic-Design (Mike): Desktop 494:5558 · Tablet 494:5730 · Mobile 494:5885
   Desktop: card activa 800×200 · colapsadas 170 · gap 10 · track desde x=20
   Tablet: misma composición al 90% · Mobile: card activa al ancho de pantalla
   con contenido apilado (el frame mobile de Figma reutiliza la card de 800).
   Figma Prueba-WPFIG (Contenido SEO): Desktop 2233:4559 · Tablet 2233:4777
   → variante .profic-pau--tablet-full. Títulos con salto de línea manual.
   ============================================================================= */

.profic-pau {
	--pau-pad: 20px;
	--pau-frame: 1280px;
	--pau-inset: max(var(--pau-pad), calc((100vw - var(--pau-frame)) / 2 + var(--pau-pad)));
	--pau-gap: 10px;
	--pau-card-w: 170px;
	--pau-card-active-max: 800px;
	--pau-peek: 20px;
	--pau-ease: cubic-bezier(0, 0, 0.58, 1);
	--pau-dur: 0.65s;
	position: relative;
	box-sizing: border-box;
	padding: 100px 0 135px;
	font-family: "Amsi Pro", sans-serif;
	-webkit-font-smoothing: antialiased;
}

/* Al dar la vuelta (8 → 1 / 1 → 8) Figma usa "ease in and out back" */
.profic-pau.is-wrapping {
	--pau-ease: cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

/* ---------------------------------------------------------------------------
   Encabezado
   --------------------------------------------------------------------------- */
.profic-pau__header {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 36px;
	text-align: center;
}

.profic-pau .profic-pau__title {
	margin: 0;
	max-width: 1040px;
	font-family: inherit;
	font-weight: 300;
	font-size: 45px;
	line-height: 54px;
	letter-spacing: 0;
	color: #e8e8e8;
}

.profic-pau .profic-pau__subtitle {
	margin: 0;
	max-width: 934px;
	font-family: inherit;
	font-weight: 300;
	font-size: 18px;
	line-height: 26.64px;
	letter-spacing: 0;
	color: #ffffff;
}

/* ---------------------------------------------------------------------------
   Track — arranca alineado al frame de 1280 centrado y sangra hasta el borde
   derecho del viewport, donde se cortan las cards
   --------------------------------------------------------------------------- */
.profic-pau__viewport,
.profic-pau__nav {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	box-sizing: border-box;
}

.profic-pau__viewport {
	margin-top: 110px;
	padding-left: var(--pau-inset);
	overflow-x: clip;
	overflow-y: visible;
	touch-action: pan-y;
}

.profic-pau .profic-pau__track {
	display: flex;
	align-items: stretch;
	gap: var(--pau-gap);
	margin: 0;
	padding: 0;
	list-style: none;
	transition: transform var(--pau-dur) var(--pau-ease);
	will-change: transform;
}

.profic-pau__card {
	position: relative;
	flex: 0 0 var(--pau-card-w);
	height: 200px;
	box-sizing: border-box;
	padding: 30px 55px;
	border: 1px solid transparent;
	border-radius: 21px;
	background: rgba(255, 255, 255, 0.04);
	overflow: hidden;
	cursor: pointer;
	transition:
		flex-basis var(--pau-dur) var(--pau-ease),
		padding var(--pau-dur) var(--pau-ease),
		border-color var(--pau-dur) var(--pau-ease),
		box-shadow var(--pau-dur) var(--pau-ease);
}

.profic-pau__card.is-active {
	flex-basis: var(--pau-active-w, var(--pau-card-active-max));
	padding: 30px 50px;
	border-color: #5d0fec;
	box-shadow: 0 4px 24.8px 1px rgba(93, 15, 236, 0.4);
	cursor: default;
}

.profic-pau__card:focus-visible {
	outline: 2px solid #5d0fec;
	outline-offset: 3px;
}

/* Ellipse 6 — #4D07E7, layer blur 183 */
.profic-pau__glow {
	position: absolute;
	left: -95px;
	bottom: -32px;
	width: 394px;
	height: 99px;
	border-radius: 50%;
	background: #4d07e7;
	filter: blur(91.5px);
	pointer-events: none;
	transition:
		width var(--pau-dur) var(--pau-ease),
		height var(--pau-dur) var(--pau-ease),
		bottom var(--pau-dur) var(--pau-ease);
}

.profic-pau__card.is-active .profic-pau__glow {
	width: 955px;
	height: 145px;
	bottom: -68px;
}

/* Fila: número · título · divisor · texto (ancho fijo: la card la recorta al crecer) */
.profic-pau__inner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 40px;
	width: 700px;
	height: 100%;
}

.profic-pau__num {
	flex: none;
	width: 60px;
	font-weight: 200;
	font-size: 86px;
	line-height: 1.1;
	text-align: center;
	color: #5d0fec;
}

.profic-pau .profic-pau__step-title {
	flex: none;
	margin: 0;
	padding: 12px 0;
	font-family: inherit;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	letter-spacing: 0;
	color: #ffffff;
	white-space: nowrap;
}

.profic-pau__divider {
	flex: none;
	align-self: center;
	width: 1px;
	height: 80px;
	background: rgba(217, 217, 217, 0.2);
}

.profic-pau .profic-pau__text {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-family: inherit;
	font-weight: 300;
	font-size: 17px;
	line-height: 1.5;
	letter-spacing: 0.01em;
	color: #ffffff;
}

.profic-pau__step-title,
.profic-pau__divider,
.profic-pau__text {
	opacity: 0;
	transition: opacity 0.2s ease-out;
}

.profic-pau__card.is-active .profic-pau__step-title,
.profic-pau__card.is-active .profic-pau__divider,
.profic-pau__card.is-active .profic-pau__text {
	opacity: 1;
	transition: opacity 0.35s ease-out 0.3s;
}

/* ---------------------------------------------------------------------------
   Navegación — Figma "Group 13/14": 70×70, hover violeta con glow
   --------------------------------------------------------------------------- */
.profic-pau__nav {
	display: flex;
	gap: 13px;
	margin-top: 30px;
	padding-left: calc(var(--pau-inset) + 40px);
}

.profic-pau .profic-pau__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	padding: 0;
	border: 1px solid #090511;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.07);
	color: #ffffff;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 0.3s ease-out, border-color 0.3s ease-out, box-shadow 0.3s ease-out;
}

.profic-pau .profic-pau__btn:hover,
.profic-pau .profic-pau__btn:focus-visible {
	background: rgba(93, 15, 236, 0.42);
	border-color: #5d0fec;
	box-shadow: 0 0 24.7px rgba(93, 15, 236, 0.6);
	outline: none;
}

.profic-pau__btn svg {
	display: block;
}

/* ---------------------------------------------------------------------------
   Tablet 800–1279 — composición desktop al 90%
   --------------------------------------------------------------------------- */
@media (min-width: 800px) and (max-width: 1279px) {
	.profic-pau {
		--pau-pad: 58px;
		--pau-gap: 9px;
		--pau-card-w: 153px;
		--pau-card-active-max: 720px;
		--pau-peek: 13px;
		padding-bottom: 131.5px;
	}

	.profic-pau .profic-pau__title {
		max-width: 560px;
		font-size: 36px;
		line-height: 43.2px;
	}

	/* Figma lo deja en una línea de 934px que se sale del frame: se limita al ancho del título */
	.profic-pau .profic-pau__subtitle {
		max-width: 640px;
		font-size: 14px;
		line-height: 20.44px;
	}

	.profic-pau__viewport {
		margin-top: 100px;
	}

	.profic-pau__card {
		height: 180px;
		padding: 27px 49.5px;
		border-radius: 18.9px;
	}

	.profic-pau__card.is-active {
		padding: 27px 45px;
		box-shadow: 0 3.6px 22.3px 0.9px rgba(93, 15, 236, 0.4);
	}

	.profic-pau__glow {
		left: -85.6px;
		bottom: -28.4px;
		width: 354.6px;
		height: 89.1px;
		filter: blur(82.4px);
	}

	.profic-pau__card.is-active .profic-pau__glow {
		width: 859.5px;
		height: 130.5px;
		bottom: -61.2px;
	}

	.profic-pau__inner {
		gap: 36px;
		width: 630px;
	}

	.profic-pau__num {
		width: 54px;
		font-size: 77.4px;
	}

	.profic-pau .profic-pau__step-title {
		padding: 10.8px 0;
		font-size: 18px;
		line-height: 1;
	}

	.profic-pau__divider {
		height: 72px;
	}

	.profic-pau .profic-pau__text {
		font-size: 15.3px;
	}

	.profic-pau__nav {
		gap: 11.7px;
		margin-top: 27px;
		padding-left: calc(var(--pau-inset) + 36px);
	}

	.profic-pau .profic-pau__btn {
		width: 63px;
		height: 63px;
	}

	/* Figma Contenido SEO (Prueba-WPFIG 2233:4777): cards a tamaño desktop, solo cambia la tipografía */
	.profic-pau--tablet-full {
		--pau-pad: 20px;
		--pau-gap: 10px;
		--pau-card-w: 170px;
		--pau-card-active-max: 800px;
		--pau-peek: 20px;
	}

	.profic-pau--tablet-full .profic-pau__card {
		height: 200px;
		padding: 30px 55px;
		border-radius: 21px;
	}

	.profic-pau--tablet-full .profic-pau__card.is-active {
		padding: 30px 50px;
		box-shadow: 0 4px 24.8px 1px rgba(93, 15, 236, 0.4);
	}

	.profic-pau--tablet-full .profic-pau__glow {
		left: -95px;
		bottom: -32px;
		width: 394px;
		height: 99px;
		filter: blur(91.5px);
	}

	.profic-pau--tablet-full .profic-pau__card.is-active .profic-pau__glow {
		width: 955px;
		height: 145px;
		bottom: -68px;
	}

	.profic-pau--tablet-full .profic-pau__inner {
		gap: 40px;
		width: 700px;
	}

	.profic-pau--tablet-full .profic-pau__num {
		width: 60px;
		font-size: 86px;
	}

	.profic-pau.profic-pau--tablet-full .profic-pau__step-title {
		padding: 12px 0;
		font-size: 17px;
		line-height: 1.3;
	}

	.profic-pau--tablet-full .profic-pau__divider {
		height: 80px;
	}

	.profic-pau.profic-pau--tablet-full .profic-pau__text {
		font-size: 15px;
	}

	.profic-pau--tablet-full .profic-pau__nav {
		gap: 13px;
		margin-top: 30px;
		padding-left: calc(var(--pau-inset) + 40px);
	}

	.profic-pau.profic-pau--tablet-full .profic-pau__btn {
		width: 70px;
		height: 70px;
	}
}

/* ---------------------------------------------------------------------------
   Mobile ≤799 — card activa al ancho de pantalla (asoma la siguiente)
   y contenido apilado: número + título / divisor / texto
   --------------------------------------------------------------------------- */
@media (max-width: 799px) {
	.profic-pau {
		--pau-card-w: 120px;
	}

	.profic-pau__header {
		padding: 0 16px;
	}

	.profic-pau .profic-pau__title {
		font-size: 34px;
		line-height: 40.8px;
	}

	/* El corte pensado para desktop parte cada línea otra vez en 375px */
	.profic-pau__title br {
		display: none;
	}

	.profic-pau .profic-pau__subtitle {
		max-width: 343px;
		font-size: 12px;
		line-height: 18px;
	}

	.profic-pau__card,
	.profic-pau__card.is-active {
		height: auto;
		min-height: 200px;
		padding: 30px 24px;
	}

	.profic-pau__card.is-active .profic-pau__inner {
		display: grid;
		grid-template-columns: auto 1fr;
		align-items: center;
		gap: 0 20px;
		width: 100%;
		height: auto;
	}

	.profic-pau__card.is-active .profic-pau__num {
		width: auto;
		font-size: 64px;
		line-height: 1;
	}

	.profic-pau__card.is-active .profic-pau__step-title {
		padding: 0;
		font-size: 16px;
		line-height: 1.3;
		white-space: normal;
	}

	.profic-pau__card.is-active .profic-pau__divider {
		grid-column: 1 / -1;
		width: 100%;
		height: 1px;
		margin: 20px 0;
	}

	.profic-pau__card.is-active .profic-pau__text {
		grid-column: 1 / -1;
		font-size: 14px;
	}

	/* Colapsadas: solo el número, centrado */
	.profic-pau__card:not(.is-active) .profic-pau__inner {
		position: absolute;
		inset: 0;
		width: auto;
		justify-content: center;
	}

	.profic-pau__card:not(.is-active) .profic-pau__step-title,
	.profic-pau__card:not(.is-active) .profic-pau__divider,
	.profic-pau__card:not(.is-active) .profic-pau__text {
		display: none;
	}

	.profic-pau__card:not(.is-active) .profic-pau__num {
		font-size: 64px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.profic-pau {
		--pau-dur: 0.01ms;
	}
}
