/**
 * Premium Animations
 *
 * @package Vessel_Charter
 * @since   1.2.0
 */

/* Zoom on hover for cards */
.zoom-hover {
	transition: transform var(--transition);
}

.zoom-hover:hover {
	transform: scale(1.02);
}

/* Slide up reveal */
.slide-up {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.7s ease, transform 0.7s ease;
}

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

/* Zoom in reveal */
.zoom-in {
	opacity: 0;
	transform: scale(0.95);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.zoom-in.is-visible {
	opacity: 1;
	transform: scale(1);
}

/* Floating animation for hero cards */
@keyframes float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

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

/* Parallax-lite backgrounds */
.parallax-bg {
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
}

@media (max-width: 991.98px) {
	.parallax-bg {
		background-attachment: scroll;
	}
}

/* Button pulse on focus for accessibility */
.vc-btn:focus-visible {
	outline: 3px solid var(--vc-gold);
	outline-offset: 2px;
}

/* Extend fade animations observer targets */
.slide-up,
.zoom-in {
	will-change: opacity, transform;
}

@media (prefers-reduced-motion: reduce) {
	.slide-up, .zoom-in {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.float-animation {
		animation: none;
	}
	.parallax-bg {
		background-attachment: scroll;
	}
}
