/* ADDED: Animate On Scroll (AOS) CSS for Global Availability */
@import url('https://unpkg.com/aos@2.3.1/dist/aos.css');

/* 1. TOP BAR */
.top-bar { background-color: #001f3f !important; color: white !important; padding: 10px 2% !important; font-size: 13px !important; display: flex !important; justify-content: space-between !important; width: 100% !important; }

/* 2. HEADER MAIN ENGINE */
.header-main { 
    background: rgba(255, 255, 255, 0.88) !important; 
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border-bottom: 2px solid #D4AF37 !important;
    width: 100% !important;
    padding: 10px 0 !important;
    position: sticky !important; 
    top: 0 !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08) !important;
    z-index: 1000 !important; 
}

.header-wrapper {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 2% !important;
}

.brand-container img { height: 50px !important; width: auto !important; }

.sub-toggle { display: none !important; }

.navbar-nav .nav-link:hover {
    color: #cc0000 !important; /* Arjuna Red */
    transition: 0.3s ease !important;
}

.navbar-nav .nav-link.active {
    color: #cc0000 !important;
}

/* 3. DESKTOP NAVIGATION (992px+) */
@media (min-width: 992px) {
    .mobile-label, #menu-toggle { display: none !important; }
    .menu-container { flex-grow: 1 !important; display: flex !important; justify-content: center !important; }
    .nav-list { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex !important; }
    
    .nav-list > li { position: static !important; margin: 0 4px !important; padding-bottom: 20px !important; margin-bottom: -20px !important; }
    
    .nav-list > li > label, .nav-list > li > a { 
        color: #001f3f !important; 
        font-weight: 700 !important; 
        text-transform: uppercase !important; 
        font-size: 12.5px !important; 
        padding: 15px 6px !important; 
        white-space: nowrap !important; 
        text-decoration: none !important; 
        display: block !important; 
        cursor: pointer; 
        letter-spacing: 0.2px;
    }

    .nav-list > li:hover > label, .nav-list > li:hover > a { color: #cc0000 !important; }

    .mega-menu {
        position: absolute !important; 
        top: 90% !important; 
        left: 5% !important; 
        right: 5% !important;
        width: 90% !important; 
        margin: 0 auto !important;
        background: white !important; 
        display: none; 
        z-index: 9999 !important; 
        box-shadow: 0 25px 60px rgba(0,0,0,0.18) !important; 
        border-top: 4px solid #D4AF37 !important; 
        padding: 50px !important; 
        border-radius: 0 0 20px 25px !important;
    }
    
    .nav-list li:hover .mega-menu { display: block !important; animation: menuFadeUp 0.25s ease-out; }
    
    /* COLUMN STYLING */
    .mega-col { padding: 0 30px; border-right: 1px solid #f0f0f0; }
    .mega-col:last-child { border-right: none; }
    
    .mega-title { 
        color: #001f3f !important; 
        font-weight: 800 !important; 
        text-transform: uppercase !important; 
        font-size: 13.5px !important; 
        margin-bottom: 25px !important; 
        display: flex !important; 
        align-items: center;
        gap: 10px;
        letter-spacing: 1px;
    }
    
    .mega-link { 
        display: block !important; 
        color: #555 !important; 
        text-decoration: none !important; 
        padding: 10px 0 !important; 
        font-size: 14.5px !important; 
        font-weight: 500;
        transition: 0.3s; 
    }
    .mega-link:hover { color: #cc0000 !important; transform: translateX(5px); }
    
    .mega-photo { width: 100%; height: 210px; object-fit: cover; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.12); border: 1px solid #eee; }
}

/* 4. MOBILE NAVIGATION & MOBILE FIXES */
#menu-toggle { display: none; }
.mobile-label { display: none; font-size: 32px; color: #001f3f; cursor: pointer; padding: 5px; }

@media (max-width: 991px) {
    .mobile-label { display: block !important; }
    .button-container { display: none !important; }
    #menu-toggle:checked ~ .menu-container { display: block !important; }
    .menu-container { display: none; position: absolute !important; top: 100% !important; left: 0 !important; width: 100% !important; background: white !important; z-index: 9999 !important; box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important; border-top: 2px solid #D4AF37 !important; max-height: 75vh; overflow-y: auto; }
    .nav-list { flex-direction: column !important; width: 100% !important; padding: 0 !important; }
    .nav-list > li { width: 100% !important; border-bottom: 1px solid #eee !important; }
    
    /* FIX 1: UNIFORM UPPERCASE & FONT FOR MOBILE NAV */
    .nav-list > li > a, .nav-list > li > label { 
        padding: 18px 20px !important; 
        font-size: 16px !important; 
        color: #001f3f !important; 
        text-decoration: none !important; 
        font-weight: 700 !important; 
        display: flex !important; 
        justify-content: space-between !important; 
        cursor: pointer; 
        text-transform: uppercase !important;
    }

    .mega-menu { display: none !important; background: #fcfcfc !important; padding: 10px 20px !important; }
    .sub-toggle:checked ~ .mega-menu { display: block !important; }
    .mega-title { color: #D4AF37 !important; font-weight: 700 !important; font-size: 14px !important; margin-top: 15px !important; display: block !important; text-transform: uppercase !important; }
    .mega-link { display: block !important; padding: 12px 0 !important; color: #444 !important; text-decoration: none !important; font-size: 15px !important; border-bottom: 1px solid #f0f0f0; text-transform: uppercase !important; }

    /* FIX 2: PREVENT HERO BANNER FROM COLLAPSING */
    #home, .hero-banner, .page-header, .carousel, .carousel-inner, .carousel-item, section[class*="banner"], section[class*="hero"] {
        height: auto !important;
        min-height: 500px !important; 
        max-height: none !important;
        padding-top: 30px !important;
        padding-bottom: 30px !important;
        display: flex !important;
        align-items: center !important;
    }

    /* FIX 3: REPAIR TESTIMONIALS LAYOUT OVERLAP (Stop 2 Layers from collapsing) */
    .news-card, .event-card, .card, .testimonial-slider {
        height: auto !important;
        min-height: 0 !important;
        padding-bottom: 10px !important;
        margin-bottom: 10px !important;
    }
    
    /* Clears the gold box layer constraint */
    .testi-card {
        min-height: 480px !important;
        height: auto !important;
        margin-bottom: 35px !important;
    }
    
    #testimonials, .testimonial-section, #testimonials-section {
        padding-bottom: 140px !important;
        margin-bottom: 0 !important;
        display: block !important;
        clear: both !important;
        height: auto !important;
    }
    
    .testi-indicators {
        bottom: -45px !important;
        position: absolute !important;
    }

    .news-recent-events .card-body { padding-bottom: 5px !important; }
    
    /* Forces the floating contact block and layout grids to drop into 1 uniform column beneath the content */
    footer, .site-footer, #footer-placeholder, .footer-top, .footer-bottom { 
        margin-top: 50px !important; 
        padding-top: 20px !important; 
        position: relative !important; 
        clear: both !important; 
        display: block !important;
        float: none !important;
        width: 100% !important;
    }
}

@keyframes menuFadeUp { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
