/* CMS Block Animations */

/* Fade-in-up on scroll */
.cms-block-animate {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.cms-block-animate.animate-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Staggered children for grids */
.animate-child {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}

.cms-block-animate.animate-visible .animate-child:nth-child(1) { transition-delay: 0.1s; }
.cms-block-animate.animate-visible .animate-child:nth-child(2) { transition-delay: 0.2s; }
.cms-block-animate.animate-visible .animate-child:nth-child(3) { transition-delay: 0.3s; }
.cms-block-animate.animate-visible .animate-child:nth-child(4) { transition-delay: 0.4s; }
.cms-block-animate.animate-visible .animate-child:nth-child(5) { transition-delay: 0.5s; }
.cms-block-animate.animate-visible .animate-child:nth-child(6) { transition-delay: 0.6s; }

.cms-block-animate.animate-visible .animate-child {
    opacity: 1;
    transform: translateY(0);
}

/* Counter animation (used by stats block) */
.counter-value {
    display: inline-block;
}

/* Gradient mesh animation for hero */
@keyframes gradientShift {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Preview mode - disable animations */
.preview-mode .cms-block-animate {
    opacity: 1;
    transform: none;
    transition: none;
}
.preview-mode .animate-child {
    opacity: 1;
    transform: none;
    transition: none;
}
