/* === Ajouts pour Desktop/Mobile — VERSION FINALE === */

/* Desktop */
/* === PATCH PUISSANT : Correction définitive du survol L1 === */
@media screen and (min-width:1025px) {

    /* L1 COURANT NON SURVOLÉ : fond blanc + barre bleue claire */
    .nav > ul > li.current:not(:hover) > .desktop-only.nolink {
        background-color:#ffffff !important;
        color:#275f94 !important;
        border-bottom:5px solid #a5c2df !important;
    }

    .desktop-only { display: inline-block !important; }
    .mobile-only { display: none !important; }

    /* Empêcher le clic */
    .nolink {
        cursor: default !important;
        pointer-events: none !important;
        text-decoration: none !important;
    }

    /* Style visuel L1 */
    .nolink {
        color: #384145;
        background-color: #fff;
        padding: 0 20px;
        height: 75px;
        line-height: 75px;
        display: inline-block;
        font-size: 13.5pt;
        font-weight: 400;
        text-align: center;
        border-bottom: 5px solid transparent;
    }
    
    
        /* === L1 : hover bleu foncé SANS barre bleue claire === */
    .nav > ul > li:hover > .desktop-only.nolink {
        background-color:#275f94 !important;   /* bleu foncé */
        color:#ffffff !important;              /* texte blanc */
      
    }


    /* === L2 parent : style L2 mais SANS hover foncé === */
    .submenu > li > .desktop-only.nolink {
        display:block !important;
        height:55px !important;
        line-height:55px !important;
        padding-left:28px !important;
        padding-right:60px !important;
        font-size:13.5pt !important;
        color:#fffffe !important;
        background-color:#275f94 !important;
        border-bottom:1px solid rgba(255,255,255,0.6) !important;
        text-align:left !important;
        white-space:nowrap !important;
    }

    /* Neutraliser le hover foncé sur L2 parent */
    .submenu > li:hover > .desktop-only.nolink {
        background-color:#275f94 !important;
        color:#fffffe !important;
    }

    /* Chevron L2 restauré */
    .submenu > li.has-flyout > .desktop-only.nolink:after {
        content:'\f105';
        font-family:'FontAwesome';
        opacity: 1;
        margin-left:8px;
        display:inline-block;
        vertical-align:middle;
        position:relative;
        top:-2px;
        color: rgba(255,255,255,0.6);
    }
}

/* Mobile */
@media screen and (max-width:1024px) {
    .desktop-only { display: none !important; }
    .mobile-only { display: block !important; }
}


/* === TON FICHIER ORIGINAL COMMENCE ICI === */

@charset "UTF-8";
/* MENU */
.header {
    position:fixed;
    top:0;
    left:0;
    width:265px;
    height:75px;
    z-index:2010;
}
.header h1.logo {
    display:block;
    width:265px;
    padding:0;
    font-size:1em;
}
.header h1 a.logo {
    display:inline-block;
    padding:0;
    width:225px;
    height:75px;
    margin:0 -3px;
    vertical-align:top;
}
.header h1 a.logo,
.header h1 a.logo div {
    background:rgba(31,61,90,0) url(/img/logo-public.png) left center no-repeat;
    background-size:225px 75px;
}
.header h1 a.logo div {
    display:none;
}
.header h1 a.logo span strong {
    color:#f74643;
}
.navmobile {
    position:fixed;
    top:-100px;
    right:0;
    width:50px;
    height:50px;
    text-align:center;
    z-index:2012;
}
.nav ul,
.nav li {
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: "Roboto";
}

/* === Ellipsis ciblé === */
.nav a span,
.submenu a,
.header h1 a.logo,
.header h1 a.logo div {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Desktop : L1 affiche le texte complet sauf Accueil */
@media screen and (min-width:1025px) {
    .nav > ul > li > a {
        white-space: normal;
        overflow: visible;
        text-overflow: clip;
    }

    /* Masquer le texte "Accueil" */
    .nav li.home a span {
        display: none !important;
    }
}

/* Mobile : conserver l'ellipsis */
@media screen and (max-width:1024px) {
    .nav > ul > li > a {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

#pagecache,
.header h1 a.logo {
    transition: background-color .25s ease;
}

/* DESKTOP >=1025 */
@media screen and (min-width: 1025px) {

.header {
    background-color: #fff;
}

.nav {
    position:fixed;
    top:0;
    left:0 !important;
    width:100%;
    height:76px;
    background-color: #fff;
    border-bottom:1px solid rgba(33,33,33,.15);
    transition: left 0s ease, visibility 0s ease;
    z-index:2005;
}

.nav > ul {
    width:auto;
    height:75px;
    background-color: #fff;
    text-align:center;
}

.nav > ul > li {
    display:inline-block;
    margin:0 -3px;
    white-space:nowrap;
    position: relative;
    width:auto;
    vertical-align:top;
}

.nav a {
    background-color: #fff;
    color:#384145;
    display: block;
    font-size:13.5pt;
    font-weight:400;
    padding: 0 20px;
    height:75px;
    line-height:75px;
    text-align: center;
    text-decoration: none;
}

/* L1 — icône Accueil restaurée */
.nav li.home a:before {
    content:'\f015';
    font-family:'FontAwesome';
    margin-right:10px;
    display:inline-block;
    vertical-align:middle;
    position:relative;
    top:-1px;
}

/* L1 — chevrons statiques */
.nav li a.subnext:after {
    content: '\f107';
    font-family: 'FontAwesome';
    opacity: .6;
    margin-left: 8px;
    display: inline-block;
    vertical-align: middle;
    transform: none !important;
    transition: none !important;
}

/* Supprimer toute rotation dynamique */
.nav li.open > a.subnext:after,
.nav > ul > li.current > a.subnext:after,
.nav li:hover a.subnext:after {
    transform: none !important;
}

/* Icône déconnexion restaurée */
.nav li.logout a.deco:before {
    content:'\f08b';
    font-family:'FontAwesome';
    font-size:24px;
    display:inline-block;
    vertical-align:middle;
    position:relative;
    top:-1px;
}

.nav li.logout {
    position:absolute;
    right:15px;
    top:13px;
}

.nav li.logout a.deco {
    display:inline-block;
    vertical-align:middle;
    background-color:rgba(247,70,67,1);
    width:49px;
    height:49px;
    line-height:46px;
    padding:0;
    border-bottom:none !important;
    border-radius:50px;
    color:#fff;
    text-align:center;
    opacity:.75;
}

.nav > ul > li.current a,
.nav > ul > li.home.current a,
.nav > ul > li.current a.subnext {
    background-color:#fffffe;
    border-bottom:5px solid #a5c2df;
    color:#275f94;
}

.nav li a:hover,
.nav li a:focus,
.nav > ul > li.current:hover a {
    background-color:#fffffe;
    border-bottom:5px solid #a5c2df;
    color:#275f94;
}

.nav li:hover a.subnext,
.nav > ul > li.current:hover a.subnext {
    background-color:#275f94;
    border-bottom:none !important;
    color:#fffffe;
}

/* Subnav (L2 container) */
.subnav {
    position: absolute;
    left: 0;
    right:0;
    min-width:300px;
    text-align:left;
    top: 75px;
    z-index: 2006;
    display: none;
}

li:hover .subnav {
    display: block;
}


    /* L2 — STYLE IDENTIQUE AU L3 (desktop) */
    .submenu {
        position:absolute;
        margin:0;
        padding:0;
        left:0;
        background-color:#275f94;
        box-shadow: 0px 0px .5em rgba(33,33,33,.15);
        z-index:2006;
        min-width:260px;
    }

    .submenu li {
        float:none;
        width:100%;
    }

    .submenu li a {
        display:block;
        height:55px;
        line-height:55px;
        padding-left:28px;        /* aligné à gauche */
        padding-right:60px;
        font-size:13.5pt;
        color:#fffffe;
        background-color:#275f94;
        text-decoration:none;
        border-bottom:1px solid rgba(255,255,255,0.6); /* Lignes blanches restaurées */
        transition:background-color .18s ease, color .18s ease;
        text-align:left;
        white-space:nowrap;
    }

    /* Dernier élément L2 sans ligne */
    .submenu > li:last-child > a {
        border-bottom:none !important;
    }

    /* Hover L2 = Hover L3 */
    .submenu li a:hover {
        background-color:#1F3D5A !important;
        color:#ffffff !important;
        border-bottom:1px solid rgba(255,255,255,0.6) !important; /* conserver la ligne blanche */
    }

    /* Neutralisation de L1.current sur les L2 */
    .nav > ul > li.current .submenu li a {
        background-color:#275f94;
        color:#fffffe;
        border-bottom:1px solid rgba(255,255,255,0.6);
    }
    .nav > ul > li.current .submenu li a:hover {
        background-color:#1F3D5A;
        color:#ffffff;
    }

    /* Pas de style actif L2 */
    .submenu li.current > a {
        background-color:#275f94 !important;
        color:#fffffe !important;
    }

    /* L2 — chevrons statiques + alignement vertical corrigé */
    .submenu > li.has-flyout > a:after {
        content: '\f105';
        font-family: 'FontAwesome';
        opacity: .6;
        margin-left: 8px;
        display: inline-block;
        vertical-align: middle;
        position: relative;
        top: -2px; /* correction d’alignement vertical */
        transform: none !important;
        transition: none !important;
    }

    /* Supprimer toute rotation dynamique */
    .submenu > li.has-flyout:hover > a:after,
    .submenu > li.has-flyout.open-l3 > a:after {
        transform: none !important;
    }

    /* Indentation desktop */
    .submenu li a {
        padding-left:28px !important;
    }
    .submenu-l3.flyout a {
        padding-left:28px !important; /* L3 aligné comme L2 */
    }
}

/* MID / SMALL DESKTOP */
@media screen and (max-width: 1366px) {
    .header { width:125px; }
    .header h1 a.logo {
        padding:0;
        width:75px;
        height:75px;
        margin-top:0;
        margin-left:0;
    }
}


/* MOBILE <=1024 */
@media screen and (max-width: 1024px) {

    #pagecache.menuopen { left:0; }

    .header {
        width:100%;
        height:50px;
        background-color:#fffffe;
        border-bottom:1px solid rgba(33,33,33,.15);
    }

    .header h1 a.logo {
        position:relative;
        height:50px;
        width:auto;
        min-width:150px;
        background-size:150px 50px;
        vertical-align:top;
    }

    .header h1 a.logo div {
        display:none;
        height:44px;
        line-height:44px;
        margin-top:3px;
        background-image:url(/img/logo-public.png);
        background-position:left center;
        opacity:1;
    }

    /* Burger */
    .navmobile { top:0; }
    .navmobile a.menu {
        display:inline-block;
        width:50px;
        height:50px;
        line-height:51px;
        margin:0 -3px;
        color:rgba(197,199,201,1);
        cursor:pointer;
    }
    .navmobile a.menu:after {
        content:'\f0c9';
        font-family:'FontAwesome';
        font-size:24px !important;
    }
    .navmobile a.menu.close:after {
        content:'\f00d';
        font-size:26px !important;
    }

    .nav {
        position:fixed;
        width:100%;
        max-width:482px;
        min-width:240px;
        left:-500px;
        top:50px;
        bottom:0;
        overflow:auto;
        background-color:#fffffe;
        box-shadow:0 .25em .25em rgba(33,33,33,.35);
        z-index:10000;
    }

    .nav li a {
        display:block;
        height:50px;
        line-height:50px;
        padding:0 16px;
        color:#384145;
        text-decoration:none;
        font-size:13pt;
        font-weight:400;
        border-bottom:1px solid #f2f2f2;
    }

    .nav > ul > li.current > a,
    .nav > ul > li.current > a:hover,
    .nav > ul > li.current:hover > a.subnext {
        background-color:#fffffe;
        color:#275F94;
    }

    .submenu li a,
    .nav > ul > li.current .subnav li a {
        font-weight:400;
        padding-left:32px !important; /* corrigé (ancien 28px) */
        color:#384145;
    }

    .nav li a:hover,
    .nav li:hover a.subnext {
        color:#275F94;
    }

    .submenu li a:hover,
    .nav > ul > li.current .subnav li a:hover {
        color:#275F94;
    }

    /* Chevron mobile L1 */
    .nav > ul > li > a.subnext:after {
        content:'\f107';
        font-family:'FontAwesome';
        float:right;
        margin-left:8px;
        opacity:.6;
        transition:transform .18s ease;
    }
    .nav > ul > li.open > a.subnext:after {
        transform:rotate(90deg);
    }

    /* Chevron mobile L2 */
    .submenu > li.has-flyout > a:after {
        content:'\f105';
        font-family:'FontAwesome';
        float:right;
        margin-left:8px;
        opacity:.6;
        transition:transform .18s ease;
    }
    .submenu > li.open-l3 > a:after {
        transform:rotate(90deg);
    }

    /* Indentation mobile corrigée */
    .submenu li a {
        padding-left:32px !important; /* L2 */
    }
    .submenu-l3 a {
        padding-left:48px !important; /* L3 */
    }

    /* L2 mobile */
    .subnav {
        position:static;
        display:none;
        box-shadow:none;
    }
    .nav li.open > .subnav {
        display:block;
    }

    /* L3 mobile */
    .submenu-l3 {
        display:none;
    }
    .submenu > li.open-l3 > .submenu-l3 {
        display:block;
    }
}

/* === Niveau 3 minimal fallback (mobile inline) === */
.submenu-l3 {
    position: static;
    display: block;
    margin: 0;
    padding: 6px 0 6px 18px;
    list-style: none;
    background: transparent;
    box-shadow: none;
    z-index: auto;
    min-width: 0;
}

.submenu-l3 > li {
    float: none;
    width: 100%;
    padding: 0;
    margin: 0;
}

.submenu-l3 a {
    display: block;
    height: 44px;
    line-height: 44px;
    padding-right: 20px;
    padding-left: 6px;
    color: #fffffe;
    background-color: transparent;
    text-decoration: none;
    font-size: 13.5pt;
}

/* === Flyout droit (desktop) === */
@media screen and (min-width:1025px) {

    .submenu > li.has-flyout {
        position: relative;
    }

    .submenu-l3.flyout {
        position: absolute;
        top: 0;
        left: 100%;
        min-width: 260px;
        background: #275f94;
        box-shadow: 0 0 .5em rgba(33,33,33,.15);
        display: none;
        z-index: 2007;
        padding: 0;
        white-space: nowrap;
    }

    .submenu > li.has-flyout:hover > .submenu-l3.flyout,
    .submenu > li.has-flyout:focus-within > .submenu-l3.flyout {
        display: block;
    }

    .submenu-l3.flyout > li {
        width:100%;
        float:none;
        margin:0;
        padding:0;
    }

    .submenu-l3.flyout a {
        display:block;
        height:55px;
        line-height:55px;
        padding:0 20px;
        padding-left:28px !important;
        color:#fffffe;
        background-color:#275f94;
        text-decoration:none;
        font-size:13.5pt;
        border-bottom:1px solid rgba(255,255,255,0.6);
        text-align:left !important;
        white-space:nowrap;
    }

    .submenu-l3.flyout a:hover {
        background-color:#1F3D5A;
        color:#ffffff;
    }

    .submenu-l3.flyout li:last-child a {
        border-bottom:none;
    }
}

/* === Mobile adjustments === */
@media screen and (max-width:1024px) {

    .submenu-l3 {
        position: static !important;
        background: transparent !important;
        box-shadow: none !important;
        padding-left:32px; /* corrigé (ancien 28px) */
    }

    .submenu-l3 a,
    .submenu li a,
    .nav > ul > li.current .subnav li a {
        color: #384145;
    }

    .submenu-l3 a {
        height:44px;
        line-height:44px;
        padding-left:48px; /* corrigé (ancien 44px) */
    }
}

/* Remove default list markers */
.submenu,
.submenu-l3,
.submenu li,
.submenu-l3 li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Remove pseudo bullets */
.submenu li a:before,
.submenu-l3 li a:before {
    display: none !important;
    content: none !important;
}

/* Small padding bottom */
.submenu {
    padding-bottom: 6px;
}

/* Harmonisation L3 = L2 (desktop) */
@media screen and (min-width:1025px) {

    .submenu-l3.flyout a {
        font-size: 13.5pt !important;
        height: 55px !important;
        line-height: 55px !important;
        padding-right: 60px !important;
        background-color:#275f94 !important;
        color:#fffffe !important;
        border-bottom:1px solid rgba(255,255,255,0.6) !important;
    }

    .submenu-l3.flyout a:hover {
        background-color:#1F3D5A !important;
        color:#ffffff !important;
    }

    .submenu-l3.flyout li:last-child a {
        border-bottom:none !important;
    }
}

/* Largeur auto du L3 */
@media screen and (min-width:1025px) {
    .submenu-l3.flyout {
        min-width: 140px !important;
        width: auto !important;
    }
}

/* Suppression des zones non-hover */
@media screen and (min-width:1025px) {

    .submenu-l3.flyout {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .submenu-l3.flyout > li {
        margin: 0 !important;
        padding: 0 !important;
    }

    .submenu-l3.flyout a {
        display: block !important;
    }
}

/* Largeur automatique du L3 selon le contenu (desktop) */
@media screen and (min-width:1025px) {
    .submenu-l3.flyout {
        min-width: 140px !important;
        width: auto !important;
    }
}

/* Suppression des zones non-hover en haut et en bas du L3 (desktop) */
@media screen and (min-width:1025px) {

    .submenu-l3.flyout {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .submenu-l3.flyout > li {
        margin: 0 !important;
        padding: 0 !important;
    }

    .submenu-l3.flyout a {
        display: block !important;
        height: 55px !important;
        line-height: 55px !important;
        padding-left: 28px !important;
        text-align: left !important;
    }
}

/* === PATCH FINAL : INDENTATION MOBILE L2/L3 === */
@media screen and (max-width:1024px) {

    /* L2 */
    .submenu > li > a {
        padding-left: 32px !important;
    }

    /* L3 — sélecteur plus spécifique que L2 */
    .submenu > li > .submenu-l3 > li > a {
        padding-left: 48px !important;
    }
}



/* End of file */

