/**
 * Modern Animations for Elementor
 * CSS styles for animations
 */

/* Ensure elements with animations are visible */
[data-modern-animation] {
    will-change: transform, opacity;
}

/* Prevent flash of unstyled content */
[data-modern-animation-enable="yes"] {
    opacity: 0;
}

/* Parallax view specific styles */
[data-modern-animation="parallax-view"] {
    transform-style: preserve-3d;
}

/* Split text animation styles */
[data-modern-animation="split-text"] .split-line {
    display: block;
    overflow: hidden;
}

[data-modern-animation="split-text"] .split-word {
    display: inline-block;
}

/* Word and character animation styles */
[data-modern-animation="word-anim"] .split-word,
[data-modern-animation="char-anim"] .split-char {
    display: inline-block;
}

/* Flip animation 3D support */
[data-modern-animation="flip-x"],
[data-modern-animation="flip-y"] {
    transform-style: preserve-3d;
    perspective: 1000px;
}

/* Rotate animation styles */
[data-modern-animation="rotate-in"] {
    transform-style: preserve-3d;
}

/* Smooth transitions for all animated elements */
[data-modern-animation] * {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
}

/* Performance optimizations */
[data-modern-animation] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Ensure text remains readable during animations */
[data-modern-animation="split-text"],
[data-modern-animation="word-anim"],
[data-modern-animation="char-anim"] {
    overflow: visible;
}

/* Prevent layout shift */
[data-modern-animation] img {
    max-width: 100%;
    height: auto;
}

/* RTL support */
.rtl [data-modern-animation="parallax-view"][data-animation-direction="left"] {
    direction: rtl;
}

.rtl [data-modern-animation="parallax-view"][data-animation-direction="right"] {
    direction: ltr;
}

/* Mobile optimizations */
@media (max-width: 768px) {
    /* Reduce animation intensity on mobile */
    [data-modern-animation] {
        transform: none !important;
    }
    
    /* Disable parallax on mobile for better performance */
    [data-modern-animation="parallax-view"] {
        transform: none !important;
    }
}

/* Print styles - disable animations */
@media print {
    [data-modern-animation] {
        animation: none !important;
        transform: none !important;
        opacity: 1 !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    [data-modern-animation] {
        animation: none !important;
        transform: none !important;
        transition: opacity 0.3s ease !important;
    }
    
    [data-modern-animation] * {
        animation: none !important;
        transform: none !important;
    }
}
