/* Simple fade-in animation for price cards */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes priceTitleFadeIn {
    0% {
        opacity: 0;
        transform: translateY(30px) scale(0.95);
    }

    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.page-title-animate {
    animation: fadeInUp 1s cubic-bezier(0.23, 1, 0.32, 1) 0.1s both;
}

/* Animation class for price cards */
.price-card-animate {
    opacity: 0;
    animation: fadeInUp 0.8s ease forwards;
    will-change: opacity, transform;
}

/* Animation delays for staggered effect */
.price-card-animate.delay-1 { animation-delay: 0.1s; }
.price-card-animate.delay-2 { animation-delay: 0.3s; }
.price-card-animate.delay-3 { animation-delay: 0.5s; }

/* Set opacity to 1 after animation for accessibility */
.price-card-animate[style*="animation-play-state: paused"],
.price-card-animate.animated {
    opacity: 1;
}

/* Respect user reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
    .price-card-animate,
    .price-card-animate.delay-1,
    .price-card-animate.delay-2,
    .price-card-animate.delay-3 {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
}
