/* style.css - VERSION FINALE */

:root {
    --brand-dark-blue: #142a45;
    --brand-gold: #eeb609;
    --brand-bg: #f4f7fa;
    --navbar-height: 80px;      
    --sidebar-width: 280px;
}

body {
    font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    background-color: var(--brand-bg);
    padding-top: var(--navbar-height);
    margin: 0;
}

/* NAVBAR */
.navbar { height: var(--navbar-height); z-index: 1030; }
.bg-brand-dark { background-color: var(--brand-dark-blue) !important; border-bottom: 3px solid var(--brand-gold); }
.nav-logo { height: 55px; width: 55px; border-radius: 50%; border: 2px solid var(--brand-gold); background: #fff; }

/* TITRES CENTRES (MÊME TAILLE) */
.navbar-title {
    font-weight: 600; 
    font-size: 0.9rem; /* Taille raisonnable pour les deux */
    color: #fff;
    line-height: 1.25; 
    letter-spacing: 0.5px;
}

/* --- SIDEBAR & MOBILE --- */
@media (min-width: 992px) {
    .sidebar {
        position: fixed; top: var(--navbar-height); bottom: 0; left: 0; z-index: 1000;
        width: var(--sidebar-width); overflow-y: auto; background-color: #fff;
        border-right: 1px solid #e0e0e0;
        display: block !important;
    }
    .main-content { margin-left: var(--sidebar-width); padding: 20px 40px; }
}

@media (max-width: 991.98px) {
    .sidebar { width: 300px !important; background-color: #fff !important; }
    .main-content { margin-left: 0; padding: 15px; }
    .offcanvas-body { overflow-y: auto; height: 100%; }
    .navbar-title { font-size: 0.8rem; }
}

/* MENU ELEMENTS */
.accordion-item, .accordion-button, .list-group-item { background-color: #fff; border-color: #eee; }
.accordion-button { color: var(--brand-dark-blue); }
.accordion-button:not(.collapsed) { background-color: #f0f7ff; color: var(--brand-dark-blue); }
.list-group-item { border: none; border-bottom: 1px solid #fcfcfc; padding: 12px 20px; }

.page-active { background-color: #fffdf2 !important; border-left: 5px solid var(--brand-gold) !important; }
.page-active .menu-mg { color: #000 !important; }
.menu-mg { color: var(--brand-dark-blue); font-size: 0.9rem; }
.menu-fr { color: #888; font-size: 0.75rem; display: block; }
.check-read { color: var(--brand-gold); font-weight: bold; }

/* CONTENU */
.cours-content {
    background: white; padding: 30px; border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05); max-width: 1000px; margin: 0 auto;
}

/* CACHE LES TITRES H1 DANS LE CONTENU */
.lang-mg:has(h1), .lang-fr:has(h1) { display: none !important; }
.lang-mg h1, .lang-fr h1 { display: none !important; }

/* BOITES LANGUES */
.lang-mg, .lang-fr { 
    display: block; width: 100%; padding: 25px; margin-bottom: 25px;
    border-radius: 8px; border: 1px solid #eee; background-color: #fcfcfc;
}
.lang-mg { border-left: 6px solid var(--brand-dark-blue); background-color: #f0f7ff; }
.lang-mg h2, .lang-mg h3, .lang-mg strong { color: var(--brand-dark-blue); }

.lang-fr { border-left: 6px solid var(--brand-gold); background: #f9f9f9; }
.lang-fr h2, .lang-fr h3, .lang-fr strong { color: #d4a000; }

img { max-width: 100%; height: auto; border-radius: 8px; margin: 15px auto; display: block; }
.btn-brand-gold { background-color: var(--brand-gold); color: #000; border: none; }