/**
 * Animations & Micro-Interactions
 * Author: LIYAN IT SOLUTION
 */

/* Pulse Ring Animation */
@keyframes pulse-ring {
	0% {
		box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.7);
	}
	70% {
		box-shadow: 0 0 0 8px rgba(37, 99, 235, 0);
	}
	100% {
		box-shadow: 0 0 0 0 rgba(37, 99, 235, 0);
	}
}

/* Floating Animation */
@keyframes floating {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-8px);
	}
}

@keyframes floating-delayed {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(8px);
	}
}

.animate-float {
	animation: floating 4s ease-in-out infinite;
}

.animate-float-delayed {
	animation: floating-delayed 5s ease-in-out infinite 1s;
}

/* Scroll Entrance Animations */
.animate-fade-in-up {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

.animate-fade-in-up.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.animate-fade-in {
	opacity: 0;
	transition: opacity 0.8s ease;
}

.animate-fade-in.is-visible {
	opacity: 1;
}

/* Animation Delays */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }
.delay-500 { transition-delay: 0.5s; }
.delay-600 { transition-delay: 0.6s; }

/* Micro Card Hover Glow */
.plugin-card, .why-card, .ribbon-card, .blog-card {
	position: relative;
	overflow: hidden;
}

.plugin-card::before, .why-card::before, .blog-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(
		90deg,
		transparent,
		rgba(255, 255, 255, 0.2),
		transparent
	);
	transition: 0.6s;
	pointer-events: none;
}

.plugin-card:hover::before, .why-card:hover::before, .blog-card:hover::before {
	left: 100%;
}

/* Smooth Accordion Icon Spin */
.faq-question-btn svg {
	transition: transform 0.25s ease;
}

.faq-item.is-active .faq-question-btn svg {
	transform: rotate(90deg);
}
