/* ==========================================================================
   Elementor Effects - CSS Animations & Parallax
   ========================================================================== */

/* --- Fade-In: Initial hidden state --- */
[data-ee-fadein] {
    opacity: 0;
    transition-property: opacity, transform;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: opacity, transform;
}

/* Direction-specific starting transforms */
[data-ee-fadein="fade-up"] {
    transform: translateY(40px);
}
[data-ee-fadein="fade-down"] {
    transform: translateY(-40px);
}
[data-ee-fadein="fade-left"] {
    transform: translateX(40px);
}
[data-ee-fadein="fade-right"] {
    transform: translateX(-40px);
}
[data-ee-fadein="fade-in"] {
    transform: none;
}
[data-ee-fadein="zoom-in"] {
    transform: scale(0.85);
}
[data-ee-fadein="zoom-out"] {
    transform: scale(1.15);
}
[data-ee-fadein="flip-up"] {
    transform: perspective(800px) rotateX(20deg);
}
[data-ee-fadein="flip-left"] {
    transform: perspective(800px) rotateY(20deg);
}
[data-ee-fadein="slide-up"] {
    transform: translateY(60px);
    opacity: 1;
}
[data-ee-fadein="slide-down"] {
    transform: translateY(-60px);
    opacity: 1;
}
[data-ee-fadein="slide-left"] {
    transform: translateX(60px);
    opacity: 1;
}
[data-ee-fadein="slide-right"] {
    transform: translateX(-60px);
    opacity: 1;
}

/* --- Fade-In: Visible (animated) state --- */
[data-ee-fadein].ee-visible {
    opacity: 1;
    transform: translateY(0) translateX(0) scale(1) rotateX(0) rotateY(0);
}

/* --- Parallax: Scroll Shift mode --- */
[data-ee-parallax="scroll"] {
    background-attachment: scroll !important;
    will-change: background-position;
}

/* --- Parallax: Fixed Background mode --- */
[data-ee-parallax="fixed"] {
    background-attachment: fixed !important;
    background-size: cover !important;
    background-position: center center !important;
}

/* --- Disable animations for users who prefer reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    [data-ee-fadein] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    [data-ee-parallax] {
        background-position: center center !important;
    }
}
