/* AOS (Animate On Scroll) Custom Animations & Enhancements */

/* Ensure AOS elements have proper starting state */
[data-aos] {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 800ms ease, transform 800ms ease;
}

/* After AOS animation completes */
[data-aos].aos-animate {
    opacity: 1;
    transform: translateY(0);
}

/* Fade Up Animation */
[data-aos="fade-up"] {
    opacity: 0;
    transform: translateY(40px);
}

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

/* Fade Down Animation */
[data-aos="fade-down"] {
    opacity: 0;
    transform: translateY(-40px);
}

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

/* Fade Left Animation */
[data-aos="fade-left"] {
    opacity: 0;
    transform: translateX(40px);
}

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

/* Fade Right Animation */
[data-aos="fade-right"] {
    opacity: 0;
    transform: translateX(-40px);
}

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

/* Zoom In Animation */
[data-aos="zoom-in"] {
    opacity: 0;
    transform: scale(0.85);
}

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

/* Bounce Animation */
[data-aos="bounce"] {
    opacity: 0;
    transform: translateY(30px);
    animation: aos-bounce 0.8s ease-out forwards;
}

@keyframes aos-bounce {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }
    60% {
        opacity: 1;
        transform: translateY(-10px);
    }
    80% {
        transform: translateY(5px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Flip Left Animation */
[data-aos="flip-left"] {
    opacity: 0;
    transform: perspective(1000px) rotateY(90deg);
}

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

/* Slide Up Animation */
[data-aos="slide-up"] {
    opacity: 0;
    transform: translateY(50px);
}

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

/* Package Card Specific Animations */
.package-card[data-aos] {
    transition: all 800ms cubic-bezier(0.23, 1, 0.320, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.package-card[data-aos].aos-animate {
    box-shadow: 0 8px 25px rgba(10, 59, 104, 0.12);
}

/* Section Header Animations */
.section-header[data-aos] {
    transition: all 1000ms ease-out;
}

/* Guide Info Section Animations */
.guide-info-section[data-aos] {
    transition: all 1000ms ease-out;
}

/* Image Animations */
img[data-aos] {
    max-width: 100%;
    height: auto;
}

/* Ensure smooth animation on multiple triggers */
[data-aos].aos-animate {
    will-change: auto;
}

/* Responsive adjustments for mobile */
@media (max-width: 768px) {
    [data-aos] {
        opacity: 0;
        transform: translateY(20px);
    }
    
    [data-aos].aos-animate {
        opacity: 1;
        transform: translateY(0);
    }
}
