/* VIA Custom Animations */

/* Base state for animated elements */
.via-anim-ready {
	/* defaults */
	--via-anim-duration: 600ms;
	--via-anim-delay: 0ms;

	/* Setup transition */
	transition-property: transform, opacity;
	transition-duration: var(--via-anim-duration);
	transition-delay: var(--via-anim-delay);
	transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1); /* mượt mà */
    
	/* hide by default */
	opacity: 0;
	will-change: transform, opacity;
}

/* 1. Slide Up */
.via-anim-slide-up {
	transform: translateY(50px);
}

/* 2. Slide Down */
.via-anim-slide-down {
	transform: translateY(-50px);
}

/* 3. Fade In (mờ ảo) - chỉ cần opacity, không cần transform */
.via-anim-fade-in {
	transform: translateY(0);
}

/* 4. Zoom In */
.via-anim-zoom-in {
	transform: scale(0.9);
}

/* Active State (Khi ở trong khung nhìn viewport) */
.via-anim-ready.is-visible {
	opacity: 1;
	transform: translate(0, 0) scale(1);
}

/* Show normally in Elementor Editor to avoid invisibility during edit */
body.elementor-editor-active .via-anim-ready {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}