/**
 * Micro-animations and Transitions Module
 *
 * @package Tech_Chartered
 * @since 1.0.0
 */

/* Keyframe Animations */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes scaleUp {
	from {
		opacity: 0;
		transform: scale(0.95);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes slideInLeft {
	from {
		opacity: 0;
		transform: translateX(-30px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* Helper Animation classes */
.tm-animate-fade-in-up {
	animation: fadeInUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.tm-animate-fade-in {
	animation: fadeIn 0.8s ease-out forwards;
}

.tm-animate-scale-up {
	animation: scaleUp 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.tm-animate-slide-left {
	animation: slideInLeft 0.6s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* Stagger delay classes */
.tm-delay-1 { animation-delay: 100ms; }
.tm-delay-2 { animation-delay: 200ms; }
.tm-delay-3 { animation-delay: 300ms; }
.tm-delay-4 { animation-delay: 400ms; }

/* Micro-interaction on Hovers */
.tm-hover-grow {
	transition: var(--transition-smooth);
}

.tm-hover-grow:hover {
	transform: scale(1.05);
}

.tm-hover-lift {
	transition: var(--transition-smooth);
}

.tm-hover-lift:hover {
	transform: translateY(-5px);
}
