/**
 * Styles CSS pour la barre de navigation
 * Utilisé sur toutes les pages du site SNT & Techno
 */

/* Variables spécifiques à la navigation */
:root {
    --nav-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --nav-text: #374151;
    --nav-hover-bg: #f3f4f6;
    --nav-accent: #0b2f8f;
    --nav-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Conteneur principal */
.course-menu {
    background: white;
    border-bottom: 1px solid #e5e7eb;
    padding: 0 20px;
    margin: 0 -14mm 8mm -14mm; /* S'étend sur toute la largeur */
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--nav-font);
    font-size: 0.95rem;
    height: 60px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Liens principaux */
.course-menu > a {
    color: var(--nav-accent);
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-weight: 600;
    transition: all 0.2s ease;
}
.course-menu > a:hover {
    background: var(--nav-hover-bg);
    color: var(--nav-accent);
}

/* Dropdowns */
.dropdown {
    position: relative;
    height: 100%;
    display: flex;
    align-items: center;
}

.dropdown > button {
    border: none;
    background: transparent;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    color: var(--nav-text);
    font-weight: 500;
    font-family: var(--nav-font);
    font-size: 0.95rem;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    gap: 6px;
}

/* Flèche bas */
.dropdown > button::after {
    content: '';
    display: inline-block;
    width: 0; 
    height: 0; 
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #9ca3af;
    transition: transform 0.2s;
}

.dropdown:hover > button {
    background: var(--nav-hover-bg);
    color: var(--nav-accent);
}
.dropdown:hover > button::after {
    border-top-color: var(--nav-accent);
    transform: rotate(180deg);
}

/* Menu déroulant */
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: white;
    border: 1px solid #e5e7eb;
    box-shadow: var(--nav-shadow);
    border-radius: 0 0 8px 8px;
    min-width: 220px;
    display: none;
    z-index: 1001;
    padding: 8px;
    animation: slideDown 0.2s ease-out;
    overflow: visible;
}

@keyframes slideDown {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.dropdown:hover .dropdown-menu,
.dropdown:focus-within .dropdown-menu { display: block; }

/* Liens dans le menu */
.dropdown-menu ul { padding: 0; margin: 0; list-style: none; }
.dropdown-menu li { position: relative; }

.submenu ul { padding: 0; margin: 0; list-style: none; }
.submenu li { position: relative; }

.dropdown-menu a,
.dropdown-menu .submenu-toggle {
    display: block;
    padding: 10px 12px;
    color: var(--nav-text);
    text-decoration: none;
    background: transparent;
    border: none;
    width: 100%;
    text-align: left;
    cursor: pointer;
    font-family: var(--nav-font);
    font-size: 0.9rem;
    border-radius: 6px;
    transition: background 0.1s;
}

.dropdown-menu a:hover,
.dropdown-menu .submenu-toggle:hover {
    background: var(--nav-hover-bg);
    color: var(--nav-accent);
}

/* Sous-menus (Niveau 2 et 3) */
.submenu, .submenu-level3 {
    position: absolute;
    top: 0;
    left: calc(100% - 8px);
    background: white;
    border: 1px solid #e5e7eb;
    box-shadow: var(--nav-shadow);
    border-radius: 8px;
    min-width: 240px;
    display: none;
    padding: 8px;
    z-index: 1002;
    margin-left: 0;
}

/* Flèche droite pour sous-menus */
.submenu-toggle { 
    display: flex !important; 
    justify-content: space-between; 
    align-items: center; 
}
.submenu-toggle::after { 
    content: '›'; 
    font-size: 1.2em; 
    line-height: 0.5;
    color: #9ca3af;
}

/* Affichage des sous-menus au survol */
.dropdown-menu li:hover > .submenu,
.dropdown-menu li:focus-within > .submenu,
.submenu li:hover > .submenu-level3,
.submenu li:focus-within > .submenu-level3 { display: block; }
.submenu { top: 0; }
.submenu-level3 { top: 0; }

/* Actions (Print, Dashboard) */
.course-menu .action { margin-left: auto; display: flex; gap: 8px; }
.course-menu button.print, 
.course-menu a[href*="prof.html"] button {
    border: 1px solid #e5e7eb;
    background: white;
    color: var(--nav-text);
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-family: var(--nav-font);
    font-weight: 500;
    transition: all 0.2s;
}
.course-menu button.print:hover,
.course-menu a[href*="prof.html"] button:hover {
    border-color: var(--nav-accent);
    color: var(--nav-accent);
    background: #f0f7ff;
}

/* --- FIL D'ARIANE --- */
nav[aria-label="Fil d'Ariane"] {
    background: transparent !important;
    border-bottom: none !important;
    padding: 0 0 20px 0 !important;
    margin-top: -10px;
    font-family: var(--nav-font) !important;
}
#breadcrumb {
    font-size: 0.85rem;
    color: #6b7280 !important;
}
#breadcrumb a {
    color: #6b7280 !important;
    font-weight: 500;
    transition: color 0.2s;
}
#breadcrumb a:hover {
    color: var(--nav-accent) !important;
    text-decoration: underline;
}
#breadcrumb li:last-child {
    color: #111827 !important;
    font-weight: 600;
}

/* Masquer la navbar à l'impression */
@media print {
    .course-menu, nav[aria-label="Fil d'Ariane"], .action { 
        display: none !important; 
    }
}

