/* =======================================================
   BLUR ANIMATIONS CSS - Para Páginas Especiais
   ======================================================= */

/* Animações variadas com blur */
@keyframes blurInUp {
    from {
        opacity: 0;
        filter: blur(20px);
        transform: translateY(60px);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }
}

@keyframes blurInDown {
    from {
        opacity: 0;
        filter: blur(20px);
        transform: translateY(-60px);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }
}

@keyframes blurInLeft {
    from {
        opacity: 0;
        filter: blur(20px);
        transform: translateX(-80px);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: translateX(0);
    }
}

@keyframes blurInRight {
    from {
        opacity: 0;
        filter: blur(20px);
        transform: translateX(80px);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: translateX(0);
    }
}

@keyframes blurInZoom {
    from {
        opacity: 0;
        filter: blur(30px);
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        filter: blur(0);
        transform: scale(1);
    }
}

@keyframes blurOut {
    from {
        opacity: 1;
        filter: blur(0);
    }
    to {
        opacity: 0;
        filter: blur(20px);
        transform: translateY(-40px);
    }
}

/* Classes para aplicar as animações */
.anim-efx {
    opacity: 0;
    filter: blur(20px);
}

.anim-efx.visible {
    animation-duration: 0.9s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}

.anim-efx.visible.anim-up {
    animation-name: blurInUp;
}

.anim-efx.visible.anim-down {
    animation-name: blurInDown;
}

.anim-efx.visible.anim-left {
    animation-name: blurInLeft;
}

.anim-efx.visible.anim-right {
    animation-name: blurInRight;
}

.anim-efx.visible.anim-zoom {
    animation-name: blurInZoom;
}

.anim-efx.hidden {
    animation: blurOut 0.6s ease-in forwards;
}

/* Classe para desabilitar animações */
.semanimacao {
    opacity: 1 !important;
    filter: none !important;
    transform: none !important;
    animation: none !important;
}

/* Responsive adjustments for animations */
@media (prefers-reduced-motion: reduce) {
    .anim-efx {
        opacity: 1;
        filter: none;
        animation: none !important;
    }
}