/* =========================================================
 * BDDGend — Menu Visual
 * Source : bddgend-menu-visual.php
 * Bloc CSS #1
 * CSS externalisé — Phase 7F
 * ========================================================= */

:root {
    --bmv-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;

    --bmv-h-from:#0b1a33;
    --bmv-h-mid:#153a6f;
    --bmv-h-to:#1f5fa8;

    --bmv-b900:#102a52;
    --bmv-b800:#153a6f;
    --bmv-b700:#1f5fa8;
    --bmv-b600:#2f74d0;
    --bmv-b500:#60a5fa;
    --bmv-b400:#60a5fa;
    --bmv-b200:#bfdbfe;
    --bmv-b100:#dbeafe;
    --bmv-b50:#eff6ff;

    --bmv-s900:#0f172a;
    --bmv-s800:#1e293b;
    --bmv-s700:#334155;
    --bmv-s600:#475569;
    --bmv-s500:#64748b;
    --bmv-s400:#94a3b8;
    --bmv-s300:#cbd5e1;
    --bmv-s200:#e2e8f0;
    --bmv-s100:#f1f5f9;
    --bmv-s50:#f9fcff;

    --bmv-white:#ffffff;

    --bmv-r-xs:6px;
    --bmv-r-sm:10px;
    --bmv-r-md:14px;
    --bmv-r-lg:18px;
    --bmv-r-xl:24px;
    --bmv-r-2xl:30px;

    --bmv-sh-header:0 8px 32px rgba(8,17,32,.30),0 2px 6px rgba(8,17,32,.18);
    --bmv-sh-panel:0 32px 80px rgba(8,17,32,.22),0 8px 24px rgba(8,17,32,.12);
    --bmv-sh-card:0 2px 8px rgba(15,23,42,.08);
    --bmv-sh-hover:0 6px 20px rgba(47,116,208,.16),0 2px 6px rgba(47,116,208,.09);
}

/* Header uniquement : la top bar est gérée par bddgend-menu-actions.php */
#site-header,
#site-header-inner,
.site-header,
#masthead {
    background:
        radial-gradient(ellipse 55% 80% at 15% 0%, rgba(59,130,246,.22) 0%, transparent 65%),
        linear-gradient(160deg, var(--bmv-h-from) 0%, var(--bmv-h-mid) 55%, var(--bmv-h-to) 100%) !important;
    box-shadow:var(--bmv-sh-header) !important;
    border:0 !important;
    border-bottom:0 !important;
}

#site-logo #site-logo-inner a,
#site-logo a,
.site-title a {
    color:var(--bmv-white) !important;
    font-weight:700 !important;
}

#mega-menu-wrap-main_menu,
#mega-menu-wrap-mobile_menu {
    background:transparent !important;
    position:relative !important;
    z-index:999 !important;
}

/* Ne pas forcer display:flex ici : Max Mega Menu calcule déjà ses largeurs */
#mega-menu-wrap-main_menu #mega-menu-main_menu,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu {
    background:transparent !important;
    text-align:center !important;
}

/* Niveau 1 */
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu > li.mega-menu-item > a.mega-menu-link {
    font-family:var(--bmv-font) !important;
    font-size:13.5px !important;
    font-weight:650 !important;
    line-height:1.3 !important;
    height:auto !important;
    min-height:0 !important;
    padding:8px 16px !important;
    margin:0 3px !important;
    border-radius:999px !important;
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    color:rgba(255,255,255,.92) !important;
    letter-spacing:.01em !important;
    white-space:nowrap !important;
    text-decoration:none !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14) !important;
    transition:background .17s ease,color .17s ease,border-color .17s ease,box-shadow .17s ease,transform .17s ease !important;
    position:relative !important;
}

#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item:hover > a.mega-menu-link,
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-current-menu-ancestor > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu > li.mega-menu-item:hover > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu > li.mega-current-menu-ancestor > a.mega-menu-link {
    background:var(--bmv-white) !important;
    color:var(--bmv-b700) !important;
    border-color:transparent !important;
    box-shadow:0 4px 18px rgba(5,12,28,.24),0 1px 4px rgba(5,12,28,.12) !important;
    transform:translateY(-1px) !important;
}

/* Panneau principal */
#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu,
#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-flyout ul.mega-sub-menu {
    background:var(--bmv-white) !important;
    border:1px solid var(--bmv-s200) !important;
    border-radius:var(--bmv-r-xl) !important;
    box-shadow:var(--bmv-sh-panel) !important;
    padding:20px !important;
    margin-top:10px !important;
    overflow:hidden !important;
    animation:bmv-drop .22s cubic-bezier(.22,1,.36,1) forwards !important;
    transform-origin:top center !important;
}

#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu::before {
    content:'' !important;
    position:absolute !important;
    top:0;
    left:0;
    right:0 !important;
    height:3px !important;
    background:linear-gradient(90deg,var(--bmv-b600),var(--bmv-b400),var(--bmv-b600)) !important;
    border-radius:var(--bmv-r-xl) var(--bmv-r-xl) 0 0 !important;
    opacity:.7 !important;
}

@keyframes bmv-drop {
    from { opacity:0; transform:translateY(-10px) scale(.96); }
    to { opacity:1; transform:translateY(0) scale(1); }
}

/* Colonnes principales : Auditions, Investigations, Réquisitions, etc. */
#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item {
    background:transparent !important;
    border:0 !important;
    border-radius:0 !important;
    padding:0 10px 10px !important;
    margin:0 0 10px !important;
}

/* Titres de colonnes uniquement s'ils sont sans vraie page */
#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.bddgend-menu-no-page > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.bddgend-menu-no-page > a.mega-menu-link {
    font-family:var(--bmv-font) !important;
    background:linear-gradient(135deg,var(--bmv-s900) 0%,var(--bmv-b900) 100%) !important;
    color:rgba(255,255,255,.96) !important;
    border:0 !important;
    border-bottom:2px solid rgba(96,165,250,.55) !important;
    border-radius:var(--bmv-r-md) var(--bmv-r-md) 0 0 !important;
    padding:10px 14px 9px !important;
    margin:0 !important;
    font-size:10px !important;
    font-weight:750 !important;
    text-transform:uppercase !important;
    letter-spacing:.16em !important;
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    line-height:1.2 !important;
    height:auto !important;
    min-height:0 !important;
    pointer-events:none !important;
    cursor:default !important;
    box-shadow:0 4px 12px rgba(5,12,28,.22) !important;
    position:relative !important;
    z-index:1 !important;
}

#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.bddgend-menu-no-page > a.mega-menu-link::before,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.bddgend-menu-no-page > a.mega-menu-link::before {
    content:'' !important;
    flex-shrink:0 !important;
    width:5px !important;
    height:5px !important;
    border-radius:50% !important;
    background:var(--bmv-b400) !important;
    box-shadow:0 0 6px 2px rgba(96,165,250,.55) !important;
}

/* Bloc sous les titres de colonnes */
#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.bddgend-menu-no-page > ul.mega-sub-menu,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.bddgend-menu-no-page > ul.mega-sub-menu {
    background:var(--bmv-s50) !important;
    border:1px solid var(--bmv-s200) !important;
    border-top:0 !important;
    border-radius:0 0 var(--bmv-r-md) var(--bmv-r-md) !important;
    padding:6px 8px 8px !important;
    margin:0 !important;
    box-shadow:none !important;
    animation:none !important;
}

/* Sous-catégories internes sans page : VICTIME, MEC, CARENCE, etc. */
#mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu ul.mega-sub-menu li.bddgend-menu-no-page > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu ul.mega-sub-menu li.bddgend-menu-no-page > a.mega-menu-link {
    font-family:var(--bmv-font) !important;
    background:linear-gradient(135deg,var(--bmv-b100),var(--bmv-b50)) !important;
    color:var(--bmv-b900) !important;
    border:1px solid var(--bmv-b200) !important;
    border-left:4px solid var(--bmv-b500) !important;
    border-radius:999px !important;
    padding:7px 10px !important;
    margin:8px 0 6px !important;
    font-size:10.5px !important;
    font-weight:850 !important;
    text-transform:uppercase !important;
    letter-spacing:.09em !important;
    line-height:1.2 !important;
    height:auto !important;
    min-height:0 !important;
    pointer-events:none !important;
    cursor:default !important;
    box-shadow:0 2px 8px rgba(37,99,235,.10) !important;
}

/* Reset sous-menus internes */
#mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu > li > ul.mega-sub-menu ul.mega-sub-menu,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu > li > ul.mega-sub-menu ul.mega-sub-menu {
    padding:0 !important;
    margin:0 !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    animation:none !important;
}

/* Pages réelles, y compris pages directes dans Clôture */
#mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link {
    font-family:var(--bmv-font) !important;
    font-size:13px !important;
    font-weight:560 !important;
    line-height:1.35 !important;
    height:auto !important;
    min-height:0 !important;
    background:var(--bmv-white) !important;
    color:var(--bmv-s700) !important;
    border:1px solid var(--bmv-s200) !important;
    border-left:3px solid var(--bmv-s300) !important;
    border-radius:var(--bmv-r-sm) !important;
    padding:8px 10px 8px 11px !important;
    margin:4px 0 !important;
    display:flex !important;
    align-items:center !important;
    gap:7px !important;
    text-decoration:none !important;
    box-shadow:var(--bmv-sh-card) !important;
    transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease !important;
    position:relative !important;
}

/* Flèche uniquement sur vraies pages */
#mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link::after,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link::after {
    content:'→' !important;
    margin-left:auto !important;
    font-size:11px !important;
    color:var(--bmv-b600) !important;
    opacity:0 !important;
    transform:translateX(-5px) !important;
    transition:opacity .15s ease, transform .15s ease !important;
    flex-shrink:0 !important;
}

#mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link:hover,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link:hover {
    background:var(--bmv-b50) !important;
    color:var(--bmv-b700) !important;
    border-color:var(--bmv-b100) !important;
    border-left-color:var(--bmv-b600) !important;
    box-shadow:var(--bmv-sh-hover) !important;
    transform:translateX(3px) !important;
}

#mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link:hover::after,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link:hover::after {
    opacity:1 !important;
    transform:translateX(0) !important;
}

/* Page courante */
#mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu li.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu li.bddgend-current-url > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu li.mega-current-menu-item > a.mega-menu-link,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu li.bddgend-current-url > a.mega-menu-link {
    background:linear-gradient(135deg,var(--bmv-b700),var(--bmv-b500)) !important;
    color:var(--bmv-white) !important;
    border-color:var(--bmv-b200) !important;
    border-left-color:var(--bmv-white) !important;
    box-shadow:var(--bmv-sh-hover) !important;
    font-weight:650 !important;
}

/* Nettoyage p/span internes */
#mega-menu-wrap-main_menu a.mega-menu-link span:not(.mega-indicator),
#mega-menu-wrap-mobile_menu a.mega-menu-link span:not(.mega-indicator),
#mega-menu-wrap-main_menu a.mega-menu-link p,
#mega-menu-wrap-mobile_menu a.mega-menu-link p {
    display:inline !important;
    margin:0 !important;
    padding:0 !important;
    font:inherit !important;
    color:inherit !important;
    line-height:inherit !important;
    background:transparent !important;
    border:0 !important;
}

/* Ne pas doubler les indicateurs Max Mega Menu */
#mega-menu-wrap-main_menu .mega-indicator,
#mega-menu-wrap-mobile_menu .mega-indicator {
    opacity:.7 !important;
}

/* Toggle mobile */
#mega-menu-wrap-main_menu .mega-menu-toggle,
#mega-menu-wrap-mobile_menu .mega-menu-toggle {
    background:rgba(255,255,255,.10) !important;
    border:1px solid rgba(255,255,255,.20) !important;
    border-radius:var(--bmv-r-md) !important;
    color:var(--bmv-white) !important;
    transition:background .16s !important;
}

#mega-menu-wrap-main_menu .mega-menu-toggle:hover,
#mega-menu-wrap-mobile_menu .mega-menu-toggle:hover {
    background:rgba(255,255,255,.20) !important;
}

/* Mobile */
@media(max-width:768px) {
    #mega-menu-wrap-main_menu #mega-menu-main_menu,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu {
        background:var(--bmv-white) !important;
        border:1px solid var(--bmv-s200) !important;
        border-radius:var(--bmv-r-xl) !important;
        box-shadow:0 20px 50px rgba(5,12,28,.18) !important;
        padding:12px !important;
        margin:6px 0 0 !important;
        max-height:75vh !important;
        overflow-y:auto !important;
        -webkit-overflow-scrolling:touch !important;
        text-align:left !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu > li.mega-menu-item {
        width:100% !important;
        margin:0 0 6px !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item > a.mega-menu-link,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu > li.mega-menu-item > a.mega-menu-link {
        width:100% !important;
        border-radius:var(--bmv-r-lg) !important;
        padding:12px 14px !important;
        background:var(--bmv-s50) !important;
        color:var(--bmv-s800) !important;
        border:1px solid var(--bmv-s200) !important;
        box-shadow:var(--bmv-sh-card) !important;
        font-size:14px !important;
        font-weight:750 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu,
    #mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-flyout ul.mega-sub-menu,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-flyout ul.mega-sub-menu {
        position:static !important;
        width:100% !important;
        left:auto !important;
        margin:6px 0 0 !important;
        padding:10px !important;
        border-radius:var(--bmv-r-lg) !important;
        background:var(--bmv-s50) !important;
        border:1px solid var(--bmv-s200) !important;
        box-shadow:none !important;
        animation:none !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu::before,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu::before {
        display:none !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item {
        width:100% !important;
        max-width:100% !important;
        padding:0 !important;
        margin:0 0 10px !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu li.bddgend-menu-no-page > a.mega-menu-link,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu li.bddgend-menu-no-page > a.mega-menu-link {
        pointer-events:auto !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu ul.mega-sub-menu li.mega-menu-item:not(.bddgend-menu-no-page) > a.mega-menu-link {
        margin:4px 0 !important;
        padding:10px 11px !important;
        font-size:13px !important;
        border-radius:var(--bmv-r-sm) !important;
    }
}

@media(max-width:420px) {
    #mega-menu-wrap-main_menu #mega-menu-main_menu,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu {
        border-radius:var(--bmv-r-lg) !important;
    }

    #mega-menu-wrap-main_menu #mega-menu-main_menu > li.mega-menu-item > a.mega-menu-link,
    #mega-menu-wrap-mobile_menu #mega-menu-mobile_menu > li.mega-menu-item > a.mega-menu-link {
        font-size:13.5px !important;
    }
}

/* =========================================================
   BDDGend — Autorité visuelle unique top-bar + mégamenu
========================================================= */
#top-bar-wrap,
#top-bar,
#site-header,
header#site-header {
    background:
        radial-gradient(circle at 10% 0%, rgba(59,130,246,.20), transparent 36%),
        linear-gradient(135deg,#0b1a33 0%,#153a6f 48%,#1f5fa8 100%) !important;
    border:0 !important;
    border-top:0 !important;
    border-bottom:0 !important;
}

#top-bar-inner,
#top-bar-content,
#site-header-inner,
#site-navigation-wrap,
#site-navigation,
.navigation,
.main-navigation,
#mega-menu-wrap-main_menu,
#mega-menu-wrap-main_menu #mega-menu-main_menu,
#mega-menu-wrap-mobile_menu,
#mega-menu-wrap-mobile_menu #mega-menu-mobile_menu {
    background:transparent !important;
    border:0 !important;
    border-top:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
}

#top-bar-wrap,
#top-bar {
    box-shadow:none !important;
}

#site-header,
header#site-header {
    box-shadow:0 8px 26px rgba(2,6,23,.22) !important;
}

#top-bar-wrap::before,
#top-bar-wrap::after,
#top-bar::before,
#top-bar::after,
#site-header::before,
#site-header::after,
#site-header-inner::before,
#site-header-inner::after,
#site-navigation-wrap::before,
#site-navigation-wrap::after {
    display:none !important;
    content:none !important;
    border:0 !important;
    box-shadow:none !important;
}
