/* Paquete "Básicas" — Animaciones Globales para Elementor
   Contrato: .egm-run[data-egm-anim="ID"] { animation-name: ... }  */

/* 1. Desenfoque */
.egm-run[data-egm-anim="blur-in"] { animation-name: egm-blur-in; }
@keyframes egm-blur-in {
	from { opacity: 0; filter: blur(14px); transform: translateY(18px); }
	to   { opacity: 1; filter: blur(0); transform: none; }
}

/* 2. Enfoque de cámara */
.egm-run[data-egm-anim="focus-in"] { animation-name: egm-focus-in; }
@keyframes egm-focus-in {
	from { opacity: 0; filter: blur(10px) brightness(1.15); transform: scale(1.18); }
	to   { opacity: 1; filter: blur(0) brightness(1); transform: none; }
}

/* 3. Cortina hacia arriba */
.egm-run[data-egm-anim="clip-up"] { animation-name: egm-clip-up; }
@keyframes egm-clip-up {
	from { clip-path: inset(100% -20px -20px -20px); transform: translateY(28px); }
	to   { clip-path: inset(-20px -20px -20px -20px); transform: none; }
}

/* 4. Cortina lateral */
.egm-run[data-egm-anim="clip-right"] { animation-name: egm-clip-right; }
@keyframes egm-clip-right {
	from { clip-path: inset(-20px 100% -20px -20px); transform: translateX(-24px); }
	to   { clip-path: inset(-20px -20px -20px -20px); transform: none; }
}

/* 5. Revelado circular */
.egm-run[data-egm-anim="circle-reveal"] { animation-name: egm-circle-reveal; }
@keyframes egm-circle-reveal {
	from { clip-path: circle(0% at 50% 50%); opacity: .4; }
	60%  { opacity: 1; }
	to   { clip-path: circle(90% at 50% 50%); opacity: 1; }
}

/* 6. Inclinación 3D */
.egm-run[data-egm-anim="tilt-3d"] { animation-name: egm-tilt-3d; transform-origin: 50% 100%; }
@keyframes egm-tilt-3d {
	from { opacity: 0; transform: perspective(900px) rotateX(32deg) translateY(50px) scale(.94); }
	to   { opacity: 1; transform: perspective(900px) rotateX(0) translateY(0) scale(1); }
}

/* 7. Volteo de tarjeta */
.egm-run[data-egm-anim="flip-up"] { animation-name: egm-flip-up; transform-origin: 50% 100%; backface-visibility: hidden; }
@keyframes egm-flip-up {
	from { opacity: 0; transform: perspective(700px) rotateX(88deg); }
	30%  { opacity: 1; }
	to   { opacity: 1; transform: perspective(700px) rotateX(0); }
}

/* 8. Puerta */
.egm-run[data-egm-anim="door-open"] { animation-name: egm-door-open; transform-origin: 0 50%; }
@keyframes egm-door-open {
	from { opacity: 0; transform: perspective(1100px) rotateY(-78deg); }
	40%  { opacity: 1; }
	to   { opacity: 1; transform: perspective(1100px) rotateY(0); }
}

/* 9. Barrido sesgado */
.egm-run[data-egm-anim="skew-slide"] { animation-name: egm-skew-slide; }
@keyframes egm-skew-slide {
	from { opacity: 0; transform: translateX(-70px) skewX(22deg); }
	65%  { opacity: 1; transform: translateX(6px) skewX(-5deg); }
	to   { opacity: 1; transform: none; }
}

/* 10. Gelatina */
.egm-run[data-egm-anim="stretch-pop"] { animation-name: egm-stretch-pop; }
@keyframes egm-stretch-pop {
	0%   { opacity: 0; transform: scale(.3, .3); }
	35%  { opacity: 1; transform: scale(1.12, .86); }
	55%  { transform: scale(.92, 1.08); }
	72%  { transform: scale(1.04, .97); }
	88%  { transform: scale(.99, 1.01); }
	100% { opacity: 1; transform: none; }
}
