/**
 * Barra flotante: Anterior / Guardar / Siguiente — píldoras con chevrones y micro-interacciones.
 * Requiere .cgce-step-nav-panel (drawer) y clases cgce-prev-step, cgce-save-step, cgce-next-step.
 */

body.cgce-page-integridad .cgce-step-nav-panel,
body.page-programa-integridad .cgce-step-nav-panel,
body.cgce-page-persona-natural .cgce-step-nav-panel {
	--cgce-nav-accent: #1e40af;
	--cgce-nav-accent-hover: #1d4ed8;
	--cgce-nav-save: #047857;
	--cgce-nav-save-hover: #059669;
	--cgce-nav-muted: #64748b;
	--cgce-nav-shadow: 0 4px 14px rgba(30, 64, 175, 0.22);
	--cgce-nav-shadow-hover: 0 8px 22px rgba(30, 64, 175, 0.28);
	--cgce-nav-pill-radius: 999px;
	--cgce-nav-btn-min-h: 2.75rem;
	--cgce-nav-btn-tall-min-h: 3.5rem;
	align-items: stretch;
}

/* Misma altura en la fila cuando Siguiente lleva «Aceptar y Continuar» (2 líneas) */
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step),
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step),
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step),
body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step),
body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step),
body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step),
body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-prev-step),
body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-save-step),
body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-next-step) {
	display: flex !important;
	align-items: stretch !important;
	align-self: stretch !important;
}

body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step) > a,
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step) > button,
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step) > a,
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step) > button,
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step) > a,
body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step) > button,
body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step) > a,
body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step) > a,
body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step) > a,
body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-prev-step) > a,
body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-save-step) > a,
body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-next-step) > a {
	flex: 1 1 auto;
	align-self: stretch !important;
	height: 100% !important;
	min-height: 100% !important;
}

body.cgce-page-integridad .cgce-step-nav-panel--tall-row .cgce-prev-step,
body.cgce-page-integridad .cgce-step-nav-panel--tall-row .cgce-save-step,
body.cgce-page-integridad .cgce-step-nav-panel--tall-row .cgce-next-step,
body.page-programa-integridad .cgce-step-nav-panel--tall-row .cgce-prev-step,
body.page-programa-integridad .cgce-step-nav-panel--tall-row .cgce-save-step,
body.page-programa-integridad .cgce-step-nav-panel--tall-row .cgce-next-step,
body.cgce-page-persona-natural .cgce-step-nav-panel--tall-row .cgce-prev-step,
body.cgce-page-persona-natural .cgce-step-nav-panel--tall-row .cgce-save-step,
body.cgce-page-persona-natural .cgce-step-nav-panel--tall-row .cgce-next-step,
body.cgce-page-integridad .cgce-step-nav-panel--tall-row > *:has(> .cgce-prev-step) > a,
body.cgce-page-integridad .cgce-step-nav-panel--tall-row > *:has(> .cgce-save-step) > a,
body.cgce-page-integridad .cgce-step-nav-panel--tall-row > *:has(> .cgce-next-step) > a,
body.page-programa-integridad .cgce-step-nav-panel--tall-row > *:has(> .cgce-prev-step) > a,
body.page-programa-integridad .cgce-step-nav-panel--tall-row > *:has(> .cgce-save-step) > a,
body.page-programa-integridad .cgce-step-nav-panel--tall-row > *:has(> .cgce-next-step) > a,
body.cgce-page-persona-natural .cgce-step-nav-panel--tall-row > *:has(> .cgce-prev-step) > a,
body.cgce-page-persona-natural .cgce-step-nav-panel--tall-row > *:has(> .cgce-save-step) > a,
body.cgce-page-persona-natural .cgce-step-nav-panel--tall-row > *:has(> .cgce-next-step) > a {
	min-height: var(--cgce-nav-btn-tall-min-h) !important;
}

/* Base común: píldora, flex, transiciones */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step {
	position: relative;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	align-self: stretch !important;
	height: auto !important;
	min-height: var(--cgce-nav-btn-min-h) !important;
	padding: 0.55rem 1.15rem !important;
	border-radius: var(--cgce-nav-pill-radius) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em;
	line-height: 1.2 !important;
	text-decoration: none !important;
	border: none !important;
	box-shadow: var(--cgce-nav-shadow);
	cursor: pointer;
	overflow: hidden;
	isolation: isolate;
	-webkit-tap-highlight-color: transparent;
	transition:
		transform 0.22s cubic-bezier(0.34, 1.2, 0.64, 1),
		box-shadow 0.22s ease,
		background 0.22s ease,
		color 0.2s ease,
		opacity 0.2s ease,
		filter 0.2s ease;
}

/* Brillo al pasar el cursor */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step::after,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step::after,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(
		105deg,
		transparent 40%,
		rgba(255, 255, 255, 0.35) 50%,
		transparent 60%
	);
	transform: translateX(-120%);
	transition: transform 0.55s ease;
	pointer-events: none;
	z-index: 0;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step:hover::after,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:hover::after,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step:hover::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step:hover::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:hover::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step:hover::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step:hover::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:hover::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step:hover::after {
	transform: translateX(120%);
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step > *,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step > *,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step > *,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step > *,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step > *,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step > *,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step > *,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step > *,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step > * {
	position: relative;
	z-index: 1;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step:hover,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:hover,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step:hover,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step:hover,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:hover,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step:hover,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step:hover,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:hover,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step:hover {
	transform: translateY(-2px);
	box-shadow: var(--cgce-nav-shadow-hover);
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step:active,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:active,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step:active,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step:active,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:active,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step:active,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step:active,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:active,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step:active {
	transform: translateY(0) scale(0.97);
	transition-duration: 0.08s;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step:focus-visible,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:focus-visible,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step:focus-visible,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step:focus-visible,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:focus-visible,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step:focus-visible,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step:focus-visible,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:focus-visible,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step:focus-visible {
	outline: 2px solid var(--cgce-nav-accent);
	outline-offset: 3px;
}

/* Anterior: contorno + chevron izquierda */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step {
	padding-left: 1.35rem !important;
	color: var(--cgce-nav-accent) !important;
	background: #fff !important;
	border: 2px solid rgba(30, 64, 175, 0.35) !important;
	box-shadow: 0 2px 10px rgba(15, 23, 42, 0.08);
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step::before {
	content: "";
	flex-shrink: 0;
	width: 0.45rem;
	height: 0.45rem;
	margin-right: 0.15rem;
	border-left: 2.5px solid currentColor;
	border-bottom: 2.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step:hover::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step:hover::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step:hover::before {
	transform: rotate(45deg) translateX(-2px);
}

/* Guardar: misma píldora que Siguiente, acento verde (anula círculo/iconos de Bricks) */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step,
body.cgce-page-integridad .cgce-step-nav-panel a.cgce-save-step,
body.page-programa-integridad .cgce-step-nav-panel a.cgce-save-step,
body.cgce-page-persona-natural .cgce-step-nav-panel a.cgce-save-step {
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 2.75rem !important;
	max-height: none !important;
	aspect-ratio: auto !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	white-space: nowrap !important;
	color: #fff !important;
	background: linear-gradient(145deg, var(--cgce-nav-save-hover), var(--cgce-nav-save)) !important;
	box-shadow: 0 4px 14px rgba(4, 120, 87, 0.35);
}

/* Contenedor Bricks alrededor del botón Guardar */
body.cgce-page-integridad .cgce-step-nav-panel > *:has(.cgce-save-step),
body.page-programa-integridad .cgce-step-nav-panel > *:has(.cgce-save-step),
body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(.cgce-save-step) {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: 100% !important;
	align-self: stretch !important;
}

/* Iconos Bricks rotos o duplicados */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step > i,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step .icon,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step .brxe-icon,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step svg,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step > i,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step .icon,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step .brxe-icon,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step svg,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step > i,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step .icon,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step .brxe-icon,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step svg {
	display: none !important;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step .cgce-inline-save-msg,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step .cgce-inline-save-msg,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step .cgce-inline-save-msg {
	display: none !important;
}

/* Clase en contenedor Bricks (no en el <a>): quitar “círculo” del wrapper */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button),
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button),
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button) {
	display: inline-flex !important;
	align-items: center !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	overflow: visible !important;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::before,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::after {
	display: none !important;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.75rem !important;
	padding: 0.55rem 1.15rem !important;
	border-radius: var(--cgce-nav-pill-radius) !important;
	color: #fff !important;
	background: linear-gradient(145deg, var(--cgce-nav-save-hover), var(--cgce-nav-save)) !important;
	box-shadow: 0 4px 14px rgba(4, 120, 87, 0.35);
}

/* Check ✓ antes del texto (como chevron en Anterior/Siguiente) */
body.cgce-page-integridad .cgce-step-nav-panel a.cgce-save-step::before,
body.cgce-page-integridad .cgce-step-nav-panel button.cgce-save-step::before,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a::before,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button::before,
body.page-programa-integridad .cgce-step-nav-panel a.cgce-save-step::before,
body.page-programa-integridad .cgce-step-nav-panel button.cgce-save-step::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button::before,
body.cgce-page-persona-natural .cgce-step-nav-panel a.cgce-save-step::before,
body.cgce-page-persona-natural .cgce-step-nav-panel button.cgce-save-step::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button::before,
body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step::before {
	content: "";
	flex-shrink: 0;
	width: 0.4rem;
	height: 0.65rem;
	margin-right: 0.2rem;
	border: none;
	border-right: 2.5px solid currentColor;
	border-bottom: 2.5px solid currentColor;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
	transform: rotate(45deg) translateY(-1px);
	opacity: 1;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button)::before {
	display: none !important;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step.cgce-save-step--success-flash,
body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step.cgce-save-step--success-flash,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step.cgce-save-step--success-flash {
	animation: cgce-save-ok-pulse 0.65s ease;
}

@keyframes cgce-save-ok-pulse {
	0% {
		transform: scale(1);
		box-shadow: 0 4px 14px rgba(4, 120, 87, 0.35);
	}
	40% {
		transform: scale(1.04);
		box-shadow: 0 6px 20px rgba(16, 185, 129, 0.55);
	}
	100% {
		transform: scale(1);
		box-shadow: 0 4px 14px rgba(4, 120, 87, 0.35);
	}
}

/* Siguiente: píldora azul + chevron derecha (aspecto “flecha”) */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step {
	padding-right: 1.35rem !important;
	color: #fff !important;
	background: linear-gradient(145deg, var(--cgce-nav-accent-hover), var(--cgce-nav-accent)) !important;
}

/* «Aceptar y Continuar»: dos líneas; Anterior/Guardar se estiran con la fila */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label {
	white-space: normal !important;
	text-align: center;
	max-width: min(10.5rem, 36vw);
	line-height: 1.25 !important;
	padding-top: 0.5rem !important;
	padding-bottom: 0.5rem !important;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label::before {
	align-self: center;
	flex-shrink: 0;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step::before {
	content: "";
	flex-shrink: 0;
	order: 2;
	width: 0.45rem;
	height: 0.45rem;
	margin-left: 0.15rem;
	border-right: 2.5px solid currentColor;
	border-top: 2.5px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step:hover::before,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step:hover::before,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step:hover::before {
	transform: rotate(45deg) translateX(2px);
}

/* Siguiente bloqueado */
body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-locked,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-locked,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step.cgce-next-locked {
	opacity: 0.55 !important;
	cursor: not-allowed !important;
	filter: grayscale(0.2);
	transform: none !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.12) !important;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-locked:hover,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-locked:hover,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step.cgce-next-locked:hover {
	transform: none !important;
}

body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-locked::after,
body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-locked::after,
body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step.cgce-next-locked::after {
	display: none;
}

/* Entrada escalonada al montar la barra */
@keyframes cgce-nav-btn-in {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body.cgce-page-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-prev-step,
body.page-programa-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-prev-step,
body.cgce-page-persona-natural .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-prev-step {
	animation: cgce-nav-btn-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.05s;
}

body.cgce-page-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-save-step,
body.page-programa-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-save-step,
body.cgce-page-persona-natural .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-save-step {
	animation: cgce-nav-btn-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.12s;
}

body.cgce-page-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-next-step,
body.page-programa-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-next-step,
body.cgce-page-persona-natural .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-next-step {
	animation: cgce-nav-btn-in 0.45s cubic-bezier(0.22, 1, 0.36, 1) backwards;
	animation-delay: 0.19s;
}

/* Mensaje de guardado: fila completa bajo los 3 botones (no entre ellos) */
body.cgce-page-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel,
body.page-programa-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel,
body.cgce-page-persona-natural .cgce-step-nav-panel > .cgce-inline-save-msg--panel {
	order: 10;
	flex: 0 0 100%;
	width: 100%;
	margin: 0.1rem 0 0;
	padding: 0.2rem 0.5rem 0;
	font-size: 0.8rem;
	line-height: 1.35;
	text-align: center;
	color: var(--cgce-nav-muted);
}

body.cgce-page-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel:empty,
body.page-programa-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel:empty,
body.cgce-page-persona-natural .cgce-step-nav-panel > .cgce-inline-save-msg--panel:empty {
	display: none;
}

body.cgce-page-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel.is-success,
body.page-programa-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel.is-success,
body.cgce-page-persona-natural .cgce-step-nav-panel > .cgce-inline-save-msg--panel.is-success {
	color: var(--cgce-nav-save);
	font-weight: 600;
}

body.cgce-page-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel.is-error,
body.page-programa-integridad .cgce-step-nav-panel > .cgce-inline-save-msg--panel.is-error,
body.cgce-page-persona-natural .cgce-step-nav-panel > .cgce-inline-save-msg--panel.is-error {
	color: #b42318;
	font-weight: 600;
}

/* Legacy: mensaje pegado al botón (se migra con JS) */
body.cgce-page-integridad .cgce-step-nav-panel > .cgce-inline-save-msg:not(.cgce-inline-save-msg--panel),
body.page-programa-integridad .cgce-step-nav-panel > .cgce-inline-save-msg:not(.cgce-inline-save-msg--panel),
body.cgce-page-persona-natural .cgce-step-nav-panel > .cgce-inline-save-msg:not(.cgce-inline-save-msg--panel) {
	order: 10;
	flex: 0 0 100%;
	width: 100%;
	margin: 0;
	padding: 0.2rem 0.5rem;
	font-size: 0.8rem;
	text-align: center;
	color: var(--cgce-nav-muted);
}

@media (min-width: 640px) {
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step {
		min-width: 7.5rem;
		padding-left: 1.35rem !important;
		padding-right: 1.35rem !important;
	}
}

/*
 * Escritorio amplio (≥1600px): botones más grandes.
 * MacBook Air 13" suele quedar ~1280–1440px → mantiene el tamaño compacto de arriba.
 */
@media (min-width: 1600px) {
	body.cgce-page-integridad .cgce-step-nav-panel,
	body.page-programa-integridad .cgce-step-nav-panel,
	body.cgce-page-persona-natural .cgce-step-nav-panel {
		--cgce-nav-btn-min-h: 3.35rem;
		--cgce-nav-btn-tall-min-h: 4.1rem;
		gap: 0.65rem 0.85rem;
		padding: 0.9rem 1.35rem 1rem;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step {
		gap: 0.5rem;
		min-width: 9.5rem;
		padding: 0.7rem 1.75rem !important;
		font-size: 1rem !important;
		line-height: 1.3 !important;
	}

	body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step) > a,
	body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step) > button,
	body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step) > a,
	body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step) > button,
	body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step) > a,
	body.cgce-page-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step) > button,
	body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-prev-step) > a,
	body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-save-step) > a,
	body.page-programa-integridad .cgce-step-nav-panel > *:has(> .cgce-next-step) > a,
	body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-prev-step) > a,
	body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-save-step) > a,
	body.cgce-page-persona-natural .cgce-step-nav-panel > *:has(> .cgce-next-step) > a,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button {
		min-height: var(--cgce-nav-btn-min-h) !important;
		padding: 0.7rem 1.75rem !important;
		font-size: 1rem !important;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step {
		padding-left: 1.65rem !important;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step {
		padding-right: 1.65rem !important;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step::before,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step::before,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step::before {
		width: 0.55rem;
		height: 0.55rem;
		border-width: 3px;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step::before,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step::before,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step::before {
		width: 0.55rem;
		height: 0.55rem;
		border-width: 3px;
	}

	body.cgce-page-integridad .cgce-step-nav-panel a.cgce-save-step::before,
	body.cgce-page-integridad .cgce-step-nav-panel button.cgce-save-step::before,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > a::before,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:not(a):not(button) > button::before,
	body.page-programa-integridad .cgce-step-nav-panel a.cgce-save-step::before,
	body.page-programa-integridad .cgce-step-nav-panel button.cgce-save-step::before,
	body.cgce-page-persona-natural .cgce-step-nav-panel a.cgce-save-step::before,
	body.cgce-page-persona-natural .cgce-step-nav-panel button.cgce-save-step::before {
		width: 0.45rem;
		height: 0.75rem;
		border-width: 3px;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step.cgce-next-step--alt-label {
		max-width: min(12rem, 28vw);
		padding-top: 0.6rem !important;
		padding-bottom: 0.6rem !important;
		font-size: 0.975rem !important;
	}

	body.cgce-page-integridad .cgce-step-nav-host--floating,
	body.page-programa-integridad .cgce-step-nav-host--floating,
	body.cgce-page-persona-natural .cgce-step-nav-host--floating {
		width: min(calc(100% - 2rem), 1040px);
		max-width: 1040px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step {
		transition: opacity 0.15s ease, background 0.15s ease;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step::after,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step::after,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step::after,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step::after,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step::after,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step::after,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step::after,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step::after,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step::after,
	body.cgce-page-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-next-step,
	body.page-programa-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-prev-step,
	body.page-programa-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-save-step,
	body.page-programa-integridad .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-next-step,
	body.cgce-page-persona-natural .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-prev-step,
	body.cgce-page-persona-natural .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-save-step,
	body.cgce-page-persona-natural .cgce-step-nav-host--entered .cgce-step-nav-panel .cgce-next-step {
		animation: none;
	}

	body.cgce-page-integridad .cgce-step-nav-panel .cgce-prev-step:hover,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-save-step:hover,
	body.cgce-page-integridad .cgce-step-nav-panel .cgce-next-step:hover,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-prev-step:hover,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-save-step:hover,
	body.page-programa-integridad .cgce-step-nav-panel .cgce-next-step:hover,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-prev-step:hover,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-save-step:hover,
	body.cgce-page-persona-natural .cgce-step-nav-panel .cgce-next-step:hover {
		transform: none;
	}
}
