:root {
    --aec-blue: #003366;
    --aec-blue-light: #004080;
    --aec-gold: #FFD700;
    --top-bar-bg: #f8f9fa;
    --top-bar-text: #333;
    --nav-bg: #003366;
    --nav-text: #ffffff;
    --footer-bg: #1a1a1a;
    --footer-text: #e0e0e0;
}

[data-theme='dark'] {
    --aec-blue: #001a33;
    --aec-blue-light: #00264d;
    --top-bar-bg: #121212;
    --top-bar-text: #e0e0e0;
    --nav-bg: #001a33;
    --footer-bg: #000000;
}

body {
    transition: background-color 0.3s, color 0.3s;
}

.mega-menu {
    display: none;
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 60;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.group:hover .mega-menu {
    display: block;
}

/* Mobile specific menu styles */
@media (max-width: 1024px) {
    .group:hover .mega-menu {
        display: none;
    }
    
    .mega-menu {
        position: static;
        display: none;
        max-height: 80vh;
        overflow-y: auto;
        width: 100% !important;
    }

    .group.mobile-submenu-open .mega-menu {
        display: block !important;
    }
}

/* Navigation & Menu Components */
.mega-menu-item {
    display: block;
    padding: 0.5rem 1rem;
    color: #374151; /* text-gray-700 */
    transition: all 0.2s;
}

.mega-menu-item:hover {
    background-color: #f3f4f6; /* bg-gray-100 */
    color: var(--aec-blue);
}

[data-theme='dark'] .mega-menu-item {
    color: #d1d5db; /* text-gray-300 */
}

[data-theme='dark'] .mega-menu-item:hover {
    background-color: #374151; /* bg-gray-700 */
    color: var(--aec-gold);
}

/* Accessibility: Font size classes */
.font-size-sm { font-size: 0.875rem; }
.font-size-base { font-size: 1rem; }
.font-size-lg { font-size: 1.125rem; }
.font-size-xl { font-size: 1.25rem; }
