/* Custom Animations for Smooth Accordions */
.content {
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out;
}

/* Active state for module cards (if reused) */
.module-card.active {
    border-color: #01249c; /* Brand Blue */
    background-color: #04153d; /* Dark Navy BG */
}

/* Reveal Animation Base */
.reveal, .reveal-left, .reveal-right {
    opacity: 0;
    transition: all 1s ease-out;
}

/* Default Up */
.reveal {
    transform: translateY(30px);
}

/* Left Entrance */
.reveal-left {
    transform: translateX(-30px);
}

/* Right Entrance */
.reveal-right {
    transform: translateX(30px);
}

/* Active State for All */
.reveal.active, .reveal-left.active, .reveal-right.active {
    opacity: 1;
    transform: translate(0, 0);
}

/* Stagger Delays for cleaner grid animations */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }
.delay-500 { transition-delay: 500ms; }

/* Ensure smooth scrolling works across browsers */
html {
    scroll-behavior: smooth;
}

/* Custom scrollbar optimization for Webkit */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #e7e7e7; 
}
::-webkit-scrollbar-thumb {
    background: #01249c; 
    border-radius: 0px;
}
::-webkit-scrollbar-thumb:hover {
    background: #001a75; 
}