/**
 * Animaciones al scroll (sin librerías): entrada/salida según dirección.
 * Clases: .colegio-tae-sr, .colegio-tae-sr--v0…v11, .is-visible, .is-leaving, data-sr-enter, data-sr-exit
 *
 * @package Colegio_TAE
 */

@media (prefers-reduced-motion: reduce) {
	.colegio-tae-sr {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		clip-path: none !important;
		animation: none !important;
		pointer-events: auto !important;
	}
}

/* Oculto pero aún en el flujo: sin capturar clics (evita “huecos” invisibles en la rejilla). */
.colegio-tae-sr {
	opacity: 0;
	pointer-events: none;
	will-change: transform, opacity;
	backface-visibility: hidden;
}

.colegio-tae-sr.is-visible {
	opacity: 1;
	pointer-events: auto;
}

.colegio-tae-sr.is-leaving {
	opacity: 1;
	pointer-events: none;
}

/* Rescate JS: visible al instante si el observer no activó (sin parpadeo ni capa invisible). */
.colegio-tae-sr.colegio-tae-sr--instant.is-visible {
	animation: none !important;
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	clip-path: none !important;
	pointer-events: auto !important;
}

/* —— Keyframes: 12 variantes × (entrada abajo/arriba + salida abajo/arriba) —— */

@keyframes cta_sr_in_d_0 {
	from {
		opacity: 0;
		transform: translate3d(0, 2.75rem, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_0 {
	from {
		opacity: 0;
		transform: translate3d(0, -2.75rem, 0);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_0 {
	to {
		opacity: 0;
		transform: translate3d(0, 2rem, 0);
	}
}
@keyframes cta_sr_out_u_0 {
	to {
		opacity: 0;
		transform: translate3d(0, -2rem, 0);
	}
}

@keyframes cta_sr_in_d_1 {
	from {
		opacity: 0;
		transform: translate3d(-3.5rem, 0, 0);
		filter: blur(8px);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		filter: blur(0);
	}
}
@keyframes cta_sr_in_u_1 {
	from {
		opacity: 0;
		transform: translate3d(3.5rem, 0, 0);
		filter: blur(8px);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0);
		filter: blur(0);
	}
}
@keyframes cta_sr_out_d_1 {
	to {
		opacity: 0;
		transform: translate3d(0, 2.25rem, 0);
		filter: blur(6px);
	}
}
@keyframes cta_sr_out_u_1 {
	to {
		opacity: 0;
		transform: translate3d(0, -2.25rem, 0);
		filter: blur(6px);
	}
}

@keyframes cta_sr_in_d_2 {
	from {
		opacity: 0;
		transform: translate3d(3.25rem, 1.5rem, 0) scale(0.92);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}
@keyframes cta_sr_in_u_2 {
	from {
		opacity: 0;
		transform: translate3d(-3.25rem, -1.5rem, 0) scale(0.92);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) scale(1);
	}
}
@keyframes cta_sr_out_d_2 {
	to {
		opacity: 0;
		transform: translate3d(-1rem, 2.5rem, 0) scale(0.94);
	}
}
@keyframes cta_sr_out_u_2 {
	to {
		opacity: 0;
		transform: translate3d(1rem, -2.5rem, 0) scale(0.94);
	}
}

@keyframes cta_sr_in_d_3 {
	from {
		opacity: 0;
		transform: scale(0.78) translate3d(0, 2rem, 0);
	}
	to {
		opacity: 1;
		transform: scale(1) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_3 {
	from {
		opacity: 0;
		transform: scale(0.78) translate3d(0, -2rem, 0);
	}
	to {
		opacity: 1;
		transform: scale(1) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_3 {
	to {
		opacity: 0;
		transform: scale(0.88) translate3d(0, 3rem, 0);
	}
}
@keyframes cta_sr_out_u_3 {
	to {
		opacity: 0;
		transform: scale(0.88) translate3d(0, -3rem, 0);
	}
}

@keyframes cta_sr_in_d_4 {
	from {
		opacity: 0;
		transform: rotate(-5deg) translate3d(0, 2.5rem, 0);
	}
	to {
		opacity: 1;
		transform: rotate(0deg) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_4 {
	from {
		opacity: 0;
		transform: rotate(5deg) translate3d(0, -2.5rem, 0);
	}
	to {
		opacity: 1;
		transform: rotate(0deg) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_4 {
	to {
		opacity: 0;
		transform: rotate(4deg) translate3d(0, 2rem, 0);
	}
}
@keyframes cta_sr_out_u_4 {
	to {
		opacity: 0;
		transform: rotate(-4deg) translate3d(0, -2rem, 0);
	}
}

@keyframes cta_sr_in_d_5 {
	from {
		opacity: 0;
		transform: skewX(-8deg) translate3d(0, 2rem, 0);
	}
	to {
		opacity: 1;
		transform: skewX(0deg) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_5 {
	from {
		opacity: 0;
		transform: skewX(8deg) translate3d(0, -2rem, 0);
	}
	to {
		opacity: 1;
		transform: skewX(0deg) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_5 {
	to {
		opacity: 0;
		transform: skewX(6deg) translate3d(0, 2.25rem, 0);
	}
}
@keyframes cta_sr_out_u_5 {
	to {
		opacity: 0;
		transform: skewX(-6deg) translate3d(0, -2.25rem, 0);
	}
}

@keyframes cta_sr_in_d_6 {
	from {
		opacity: 0;
		clip-path: inset(100% 0 0 0);
		transform: translate3d(0, 0.5rem, 0);
	}
	to {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_6 {
	from {
		opacity: 0;
		clip-path: inset(0 0 100% 0);
		transform: translate3d(0, -0.5rem, 0);
	}
	to {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_6 {
	to {
		opacity: 0;
		clip-path: inset(0 0 100% 0);
	}
}
@keyframes cta_sr_out_u_6 {
	to {
		opacity: 0;
		clip-path: inset(100% 0 0 0);
	}
}

@keyframes cta_sr_in_d_7 {
	from {
		opacity: 0;
		clip-path: inset(0 100% 0 0);
		transform: translate3d(-0.75rem, 0, 0);
	}
	to {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_7 {
	from {
		opacity: 0;
		clip-path: inset(0 0 0 100%);
		transform: translate3d(0.75rem, 0, 0);
	}
	to {
		opacity: 1;
		clip-path: inset(0 0 0 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_7 {
	to {
		opacity: 0;
		clip-path: inset(0 0 0 100%);
	}
}
@keyframes cta_sr_out_u_7 {
	to {
		opacity: 0;
		clip-path: inset(0 100% 0 0);
	}
}

@keyframes cta_sr_in_d_8 {
	from {
		opacity: 0;
		filter: blur(16px) grayscale(0.35);
		transform: translate3d(0, 1.5rem, 0) scale(0.97);
	}
	to {
		opacity: 1;
		filter: blur(0) grayscale(0);
		transform: translate3d(0, 0, 0) scale(1);
	}
}
@keyframes cta_sr_in_u_8 {
	from {
		opacity: 0;
		filter: blur(16px) grayscale(0.35);
		transform: translate3d(0, -1.5rem, 0) scale(0.97);
	}
	to {
		opacity: 1;
		filter: blur(0) grayscale(0);
		transform: translate3d(0, 0, 0) scale(1);
	}
}
@keyframes cta_sr_out_d_8 {
	to {
		opacity: 0;
		filter: blur(10px);
		transform: translate3d(0, 2rem, 0);
	}
}
@keyframes cta_sr_out_u_8 {
	to {
		opacity: 0;
		filter: blur(10px);
		transform: translate3d(0, -2rem, 0);
	}
}

@keyframes cta_sr_in_d_9 {
	from {
		opacity: 0;
		transform: rotate(14deg) scale(0.35) translate3d(0, 2rem, 0);
	}
	to {
		opacity: 1;
		transform: rotate(0deg) scale(1) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_9 {
	from {
		opacity: 0;
		transform: rotate(-14deg) scale(0.35) translate3d(0, -2rem, 0);
	}
	to {
		opacity: 1;
		transform: rotate(0deg) scale(1) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_9 {
	to {
		opacity: 0;
		transform: rotate(-10deg) scale(0.85) translate3d(0, 2.5rem, 0);
	}
}
@keyframes cta_sr_out_u_9 {
	to {
		opacity: 0;
		transform: rotate(10deg) scale(0.85) translate3d(0, -2.5rem, 0);
	}
}

@keyframes cta_sr_in_d_10 {
	from {
		opacity: 0;
		transform: translate3d(-45%, 1.25rem, 0) rotate(-7deg);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
}
@keyframes cta_sr_in_u_10 {
	from {
		opacity: 0;
		transform: translate3d(45%, -1.25rem, 0) rotate(7deg);
	}
	to {
		opacity: 1;
		transform: translate3d(0, 0, 0) rotate(0deg);
	}
}
@keyframes cta_sr_out_d_10 {
	to {
		opacity: 0;
		transform: translate3d(35%, 2rem, 0) rotate(5deg);
	}
}
@keyframes cta_sr_out_u_10 {
	to {
		opacity: 0;
		transform: translate3d(-35%, -2rem, 0) rotate(-5deg);
	}
}

@keyframes cta_sr_in_d_11 {
	from {
		opacity: 0;
		transform: perspective(720px) rotateX(22deg) translate3d(0, 2.5rem, -80px);
	}
	to {
		opacity: 1;
		transform: perspective(720px) rotateX(0deg) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_in_u_11 {
	from {
		opacity: 0;
		transform: perspective(720px) rotateX(-22deg) translate3d(0, -2.5rem, -80px);
	}
	to {
		opacity: 1;
		transform: perspective(720px) rotateX(0deg) translate3d(0, 0, 0);
	}
}
@keyframes cta_sr_out_d_11 {
	to {
		opacity: 0;
		transform: perspective(600px) rotateX(-16deg) translate3d(0, 2rem, -40px);
	}
}
@keyframes cta_sr_out_u_11 {
	to {
		opacity: 0;
		transform: perspective(600px) rotateX(16deg) translate3d(0, -2rem, -40px);
	}
}

/* Duración y curvas por variante (ligeras diferencias) */
.colegio-tae-sr--v0.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_0 0.78s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.colegio-tae-sr--v0.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_0 0.78s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.colegio-tae-sr--v0.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_0 0.52s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
.colegio-tae-sr--v0.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_0 0.52s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

.colegio-tae-sr--v1.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_1 0.82s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.colegio-tae-sr--v1.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_1 0.82s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.colegio-tae-sr--v1.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_1 0.55s ease-out forwards;
}
.colegio-tae-sr--v1.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_1 0.55s ease-out forwards;
}

.colegio-tae-sr--v2.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_2 0.76s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}
.colegio-tae-sr--v2.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_2 0.76s cubic-bezier(0.34, 1.2, 0.64, 1) forwards;
}
.colegio-tae-sr--v2.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_2 0.5s cubic-bezier(0.55, 0, 0.85, 0.45) forwards;
}
.colegio-tae-sr--v2.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_2 0.5s cubic-bezier(0.55, 0, 0.85, 0.45) forwards;
}

.colegio-tae-sr--v3.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_3 0.74s cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
}
.colegio-tae-sr--v3.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_3 0.74s cubic-bezier(0.2, 0.9, 0.2, 1) forwards;
}
.colegio-tae-sr--v3.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_3 0.48s ease-in forwards;
}
.colegio-tae-sr--v3.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_3 0.48s ease-in forwards;
}

.colegio-tae-sr--v4.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_4 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.colegio-tae-sr--v4.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_4 0.8s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
.colegio-tae-sr--v4.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_4 0.53s ease-out forwards;
}
.colegio-tae-sr--v4.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_4 0.53s ease-out forwards;
}

.colegio-tae-sr--v5.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_5 0.77s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.colegio-tae-sr--v5.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_5 0.77s cubic-bezier(0.33, 1, 0.68, 1) forwards;
}
.colegio-tae-sr--v5.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_5 0.51s forwards;
}
.colegio-tae-sr--v5.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_5 0.51s forwards;
}

.colegio-tae-sr--v6.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_6 0.85s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
.colegio-tae-sr--v6.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_6 0.85s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
.colegio-tae-sr--v6.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_6 0.56s cubic-bezier(0.4, 0, 1, 1) forwards;
}
.colegio-tae-sr--v6.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_6 0.56s cubic-bezier(0.4, 0, 1, 1) forwards;
}

.colegio-tae-sr--v7.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_7 0.83s cubic-bezier(0.17, 1, 0.28, 1) forwards;
}
.colegio-tae-sr--v7.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_7 0.83s cubic-bezier(0.17, 1, 0.28, 1) forwards;
}
.colegio-tae-sr--v7.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_7 0.54s forwards;
}
.colegio-tae-sr--v7.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_7 0.54s forwards;
}

.colegio-tae-sr--v8.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_8 0.88s cubic-bezier(0.2, 1, 0.35, 1) forwards;
}
.colegio-tae-sr--v8.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_8 0.88s cubic-bezier(0.2, 1, 0.35, 1) forwards;
}
.colegio-tae-sr--v8.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_8 0.57s ease-out forwards;
}
.colegio-tae-sr--v8.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_8 0.57s ease-out forwards;
}

.colegio-tae-sr--v9.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_9 0.79s cubic-bezier(0.34, 1.4, 0.64, 1) forwards;
}
.colegio-tae-sr--v9.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_9 0.79s cubic-bezier(0.34, 1.4, 0.64, 1) forwards;
}
.colegio-tae-sr--v9.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_9 0.5s cubic-bezier(0.55, 0, 0.85, 0.35) forwards;
}
.colegio-tae-sr--v9.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_9 0.5s cubic-bezier(0.55, 0, 0.85, 0.35) forwards;
}

.colegio-tae-sr--v10.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_10 0.81s cubic-bezier(0.18, 1, 0.32, 1) forwards;
}
.colegio-tae-sr--v10.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_10 0.81s cubic-bezier(0.18, 1, 0.32, 1) forwards;
}
.colegio-tae-sr--v10.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_10 0.53s ease-in-out forwards;
}
.colegio-tae-sr--v10.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_10 0.53s ease-in-out forwards;
}

.colegio-tae-sr--v11.is-visible[data-sr-enter="down"] {
	animation: cta_sr_in_d_11 0.86s cubic-bezier(0.15, 1, 0.35, 1) forwards;
}
.colegio-tae-sr--v11.is-visible[data-sr-enter="up"] {
	animation: cta_sr_in_u_11 0.86s cubic-bezier(0.15, 1, 0.35, 1) forwards;
}
.colegio-tae-sr--v11.is-leaving[data-sr-exit="down"] {
	animation: cta_sr_out_d_11 0.58s cubic-bezier(0.45, 0, 0.55, 1) forwards;
}
.colegio-tae-sr--v11.is-leaving[data-sr-exit="up"] {
	animation: cta_sr_out_u_11 0.58s cubic-bezier(0.45, 0, 0.55, 1) forwards;
}
