

[data-aos] {
    pointer-events: auto;
    transition-property: transform, opacity;
    transition-duration: 0.6s;
    transition-timing-function: ease-out;
}

[data-aos="fade-up"] {
    transform: translate3d(0, 40px, 0);
    opacity: 0;
}

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

[data-aos="fade-down"] {
    transform: translate3d(0, -40px, 0);
    opacity: 0;
}

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

[data-aos="fade-left"] {
    transform: translate3d(-40px, 0, 0);
    opacity: 0;
}

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

[data-aos="fade-right"] {
    transform: translate3d(40px, 0, 0);
    opacity: 0;
}

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

[data-aos="zoom-in"] {
    transform: scale(0.9);
    opacity: 0;
}

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

[data-aos="slide-up"] {
    transform: translate3d(0, 60px, 0);
    opacity: 0;
}

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

.title-animation {
    overflow: hidden;
}

[data-aos="title-reveal"] {
    transform: translateY(100%);
}

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

.music-widget-container,
.event-card,
.video-card,
.news-card,
.gallery-item {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.music-widget-container:hover,
.event-card:hover,
.video-card:hover,
.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3);
}

[data-aos-delay="100"] { transition-delay: 0.1s; }
[data-aos-delay="200"] { transition-delay: 0.2s; }
[data-aos-delay="300"] { transition-delay: 0.3s; }
[data-aos-delay="400"] { transition-delay: 0.4s; }
[data-aos-delay="500"] { transition-delay: 0.5s; }

.section-animate {
    position: relative;
    overflow: hidden;
    opacity: 0;
    transform: translateY(20px); 
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.section-animate::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.02) 0%, rgba(255, 255, 255, 0) 100%);
    opacity: 0;
    transition: opacity 0.8s ease;
    pointer-events: none;
    z-index: 1;
}

.section-animate.aos-animate {
    opacity: 1;
    transform: translateY(0);
}

.section-animate.aos-animate::before {
    opacity: 1;
}

#upcoming-events, #media-modern, #about {
    position: relative;
    z-index: 10; 
    transition: none !important; 
}

#upcoming-events {
    background: none !important; 
    position: relative;
    z-index: 10;
}

#upcoming-events::before {
    content: ''; 
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: transparent; 
    z-index: -1;
}

#media-modern::before, #about::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: none !important; 
    z-index: -1; 
}

.section-animate {
    opacity: 1 !important;
    transform: translateY(0) !important;
    z-index: 10;
}

#upcoming-events .text-reveal {
    opacity: 1 !important; 
    transform: translateY(0) !important; 
    z-index: 10; 
}

#upcoming-events .title-animation {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

#upcoming-events .reveal-text {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

#upcoming-events .text-reveal-mask {
    opacity: 1 !important; 
    transform: translateY(0) !important; 
    z-index: 10; 
}

#upcoming-events .text-reveal-mask .reveal-text {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

* {
    transition: transform 0.3s ease, opacity 0.3s ease;
}

[data-aos="icon-bounce"] {
    transform: scale(0.3) rotate(-45deg);
    opacity: 0;
}

[data-aos="icon-bounce"].aos-animate {
    transform: scale(1) rotate(0deg);
    opacity: 1;
}

.aos-duration-600 { transition-duration: 0.6s !important; }
.aos-duration-800 { transition-duration: 0.8s !important; }
.aos-duration-1000 { transition-duration: 1s !important; }
.aos-duration-1200 { transition-duration: 1.2s !important; }

.aos-easing-smooth { transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94) !important; }
.aos-easing-bounce { transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55) !important; }

