/**
 * Elementor Animation Fix CSS
 * Ensures fade-in effects work even with JavaScript errors
 */

/* Force fade-in animations to work */
.elementor-element[data-aos] {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

/* Fix Elementor widget animations */
.elementor-widget-container {
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

/* Ensure elements are visible */
.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
}

/* Override Elementor's default hidden state */
.elementor-element[data-settings*="animation"] {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Fix for AOS (Animate On Scroll) */
[data-aos][data-aos][data-aos-easing="fade"] {
    transition: opacity 0.6s ease-in-out;
}

[data-aos][data-aos][data-aos-easing="fade-up"] {
    transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

/* Force animations on mobile */
@media (max-width: 768px) {
    .elementor-element[data-aos] {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Fallback for JavaScript errors */
.no-js .elementor-element[data-aos] {
    opacity: 1 !important;
    transform: none !important;
}

/* Ensure smooth transitions */
.elementor-element {
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

/* Fix for specific Elementor animations */
.elementor-element[data-settings*="fadeIn"] {
    animation: fadeIn 0.6s ease-in-out;
    opacity: 1 !important;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Ensure content is visible immediately */
.elementor-section,
.elementor-container,
.elementor-widget {
    opacity: 1 !important;
    visibility: visible !important;
}
