/* Animation Styles */

/* Fade In Animation */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Fade In Up Animation */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Fade In Down Animation */
@keyframes fadeInDown {
    from {
        opacity: 0;
        transform: translateY(-30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Fade In Left Animation */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Fade In Right Animation */
@keyframes fadeInRight {
    from {
        opacity: 0;
        transform: translateX(30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Zoom In Animation */
@keyframes zoomIn {
    from {
        opacity: 0;
        transform: scale(0.8);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

/* Flip Left Animation */
@keyframes flipLeft {
    from {
        opacity: 0;
        transform: perspective(1000px) rotateY(-90deg);
    }
    to {
        opacity: 1;
        transform: perspective(1000px) rotateY(0);
    }
}

/* Slide In Animation */
@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(-100%);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* AOS Animation Classes */
[data-aos] {
    pointer-events: none;
}

[data-aos].aos-animate {
    pointer-events: auto;
}

/* Fade animations */
[data-aos="fade"] {
    opacity: 0;
    transition: opacity 0.6s ease;
}

[data-aos="fade"].aos-animate {
    opacity: 1;
}

[data-aos="fade-up"] {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="fade-up"].aos-animate {
    opacity: 1;
    transform: translateY(0);
}

[data-aos="fade-down"] {
    opacity: 0;
    transform: translateY(-30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="fade-down"].aos-animate {
    opacity: 1;
    transform: translateY(0);
}

[data-aos="fade-left"] {
    opacity: 0;
    transform: translateX(-30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="fade-left"].aos-animate {
    opacity: 1;
    transform: translateX(0);
}

[data-aos="fade-right"] {
    opacity: 0;
    transform: translateX(30px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="fade-right"].aos-animate {
    opacity: 1;
    transform: translateX(0);
}

[data-aos="fade-in"] {
    opacity: 0;
    transition: opacity 0.8s ease;
}

[data-aos="fade-in"].aos-animate {
    opacity: 1;
}

/* Zoom animations */
[data-aos="zoom-in"] {
    opacity: 0;
    transform: scale(0.8);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="zoom-in"].aos-animate {
    opacity: 1;
    transform: scale(1);
}

[data-aos="zoom-out"] {
    opacity: 0;
    transform: scale(1.2);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="zoom-out"].aos-animate {
    opacity: 1;
    transform: scale(1);
}

/* Flip animations */
[data-aos="flip-left"] {
    opacity: 0;
    transform: perspective(1000px) rotateY(-90deg);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="flip-left"].aos-animate {
    opacity: 1;
    transform: perspective(1000px) rotateY(0);
}

[data-aos="flip-right"] {
    opacity: 0;
    transform: perspective(1000px) rotateY(90deg);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

[data-aos="flip-right"].aos-animate {
    opacity: 1;
    transform: perspective(1000px) rotateY(0);
}

/* Slide animations */
[data-aos="slide-up"] {
    transform: translateY(100px);
    transition: transform 0.6s ease;
}

[data-aos="slide-up"].aos-animate {
    transform: translateY(0);
}

[data-aos="slide-down"] {
    transform: translateY(-100px);
    transition: transform 0.6s ease;
}

[data-aos="slide-down"].aos-animate {
    transform: translateY(0);
}

[data-aos="slide-left"] {
    transform: translateX(100px);
    transition: transform 0.6s ease;
}

[data-aos="slide-left"].aos-animate {
    transform: translateX(0);
}

[data-aos="slide-right"] {
    transform: translateX(-100px);
    transition: transform 0.6s ease;
}

[data-aos="slide-right"].aos-animate {
    transform: translateX(0);
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }
    
    [data-aos].aos-animate {
        opacity: 1 !important;
        transform: none !important;
    }
}

/* Smooth Scroll */
html {
    scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }
}

