/**
 * Animaciones globales sobrias y reutilizables.
 *
 * @package Groowleck
 */

@keyframes groowleck-fade-in {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes groowleck-slide-up {
	from {
		opacity: 0;
		transform: translateY(var(--groowleck-space-4));
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes groowleck-pulse-soft {
	0%,
	100% {
		opacity: 1;
	}

	50% {
		opacity: 0.68;
	}
}

.animation-fade-in {
	animation: groowleck-fade-in var(--groowleck-duration-normal) var(--groowleck-easing-standard) both;
}

.animation-slide-up {
	animation: groowleck-slide-up var(--groowleck-duration-slow) var(--groowleck-easing-standard) both;
}

.animation-pulse-soft {
	animation: groowleck-pulse-soft 2s var(--groowleck-easing-standard) infinite;
}

@media (prefers-reduced-motion: reduce) {
	.animation-fade-in,
	.animation-slide-up,
	.animation-pulse-soft {
		animation: none;
	}
}
