
    :root {
        --text: #565656;
--links: #252bbe;
--titles: #000000;
--page-background: #fcf6f1;
--highlight: #ffffff;
--boxes-background: #FFFFFF;
--boxes-border: #CBD2DB;
--section-titles: #142E7B;
--section-titles-background: #F6F8FB;
--header-background: #252BBE;
--header-links: #000000;
--footer-background: #FFFFFF;
--footer-links: #0F79D0;
--titles-font-family: "Degular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
--titles-h1-font-size: 2.2143rem;
--titles-h1-font-weight: 700;
--titles-h1-color: #000000;
--titles-h2-font-size: 1.5714rem;
--titles-h2-font-weight: 700;
--titles-h2-color: #000000;
--titles-h3-font-size: 1.2857rem;
--titles-h3-font-weight: 700;
--titles-h3-color: #000000;
--texts-font-family: "Degular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
--texts-primary-font-size: 1.1429rem;
--texts-primary-color: #565656;
--texts-secondary-font-size: 1.0000rem;
--texts-secondary-color: #565656;
--texts-link-color: #252bbe;
    }
    
:root { --react-body-font-family: "Degular", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }

/* --- IMPORTATION DES POLICES --- */
.ods-mapbuilder__container {
margin-top: 100px;
}
.ods-front-header__languages {
    background: 
#252BBE;
    border-radius: 64px;
    padding: 6px 8px;
    border: solid 1px 
#E5E5E5;
}
.ods-front-header__language {
    color: 
#ffffff;
}
.ods-front-header__language__choice {
    color: grey;
    padding: 4px 12px;
}
.ods-front-header__link--active{ 
    color: white;
    background: 
#BCA12A;
    padding: 4px 12px;
    border-radius: 64px;

}

.ods-front-header__menu-item-link {
    opacity: 1;
    color: #fff;
}
.ods-front-header__menu-item-link:hover {
    opacity: 1;
    font-weight:bold;
}
.ods-front-header__management-menu-item-link {
    padding-bottom: .33rem;
    color: #FFF;
}
/* --- RESET ET STRUCTURE GLOBALE --- */
.custom-header-container {
    height: 60px !important;
    background: #252BBE;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    padding: 0;
    margin-bottom: 100px;
}
.ods-responsive-menu-collapsible__content {
    display: flex;
    flex-direction: column; /* Force l'affichage en deux lignes (étages) */
    width: 100%;
}
/* --- ÉTAGE 1 : BANDEAU DU HAUT (FIN) --- */
.header-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 50px; /* Hauteur fine */
    background-color: 
#f8f8f8; /* Gris très clair pour distinguer */
    padding: 0 40px;
    border-bottom: 1px solid 
#e0e0e0;
}
.top-row-left, .top-row-right {
    display: flex;
    align-items: center;
    gap: 15px; /* Espace entre les icones */
}
/* Images et Icones du haut */
.bnetza-link img {
    height: 30px; /* Taille du logo BNetzA */
    width: auto;
    margin-right: 15px;
}
.top-icon-link {
    color: 
#373737;
    font-size: 1.6rem;
    text-decoration: none;
    transition: color 0.2s;
}
/* Gestion du menu profil ODS (secondary-menu) */
.ods-profile-wrapper .ods-front-header__management-menu {
    position: static !important; /* Annule le positionnement absolu d'ODS */
    margin: 0 !important;
    line-height: normal !important;
}
/* --- ÉTAGE 2 : BANDEAU DU BAS (MENU + LOGO + RECHERCHE) --- */
.header-bottom-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px; /* Plus haut pour le logo principal */
    padding: 0 40px;
    background-color: 
#252BBE;
        border-bottom: 1px solid 
#e0e0e0;
}
/* Force le menu ODS à être propre */
.header-bottom-row .ods-front-header__menu {
    margin: 0;
    display: flex;
    align-items: center;
}
.header-bottom-row .ods-front-header__menu-item-link {
    font-size: 16px;
    padding: 10px 15px;
}
/* Zone 2 : Logo Centre (SMARD) */
.bottom-row-center {
    flex: 1;
    display: flex;
    justify-content: left;
}
.smard-logo {
    max-height: 60px;
    width: auto;
    padding-top: 10px;
}
/* Zone 3 : Recherche (Droite) */
.bottom-row-right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}
/* Ajustement de la barre de recherche ODS (quick-find) */
.ods-search-box {
    margin-bottom: 0 !important;
}
.header-bottom-row .ods-front-header__menu {
    margin: 0;
    display: inline;
    align-items: center;
}
.ods-front-header__menu-item-link {
    line-height: normal;
    border-radius: 12px;
}
.ods-front-header__menu-item-link--active {
    border-bottom: solid 1px #fff;
    text-decoration: bold;
    opacity: 1;
}
.header-bottom-row .ods-front-header__menu-item-link {
    font-weight: 500;
    opacity: 0.8;
    font-size: 16px;
    padding: 12px 12px;
}
.header-bottom-row .ods-front-header__menu-item-link:hover {
    color: #fff;
    opacity: 1;
}
.header-bottom-row .ods-front-header__menu-item-link:active {
    color: #fff;
    opacity: 1;
}
.ods-front-header__management-menu-item {
    display: inline-block;
    margin: 0 10px;
    line-height: 0;
}
.JPfOh4yNzXLA_hpQ490Z.bA52P6cV06oSiEcmfI3A {
    position: sticky;
    top: 0px;
    z-index: 1020;
    margin-top: 70px;
}
.k5IvYAfq8yJGeFSXlPp6 {
    margin-top: 70px;
}
.ods-responsive-menu-collapsible .ods-front-header__languages { 
    display: block;
}
.main--chartbuilder {
    margin: 100px 10px;
}
.ods-tabs__pane--active{
    margin-top:50px;
}
.site-header {
    background-color: 
#252BBE;
    padding: 15px 40px;
}
.ods-front-header__menu-item-link {
    font-size: 15px;
    padding: 0px;
    padding-right: 20px;
}
.ods-front-header__languages {
    background: 
#ffffff;
    border-radius: 64px;
    padding: 6px 8px;
    border: solid 1px 
#E5E5E5;
}
.ods-front-header__language {
    color: 
#ffffff;
}
.ods-front-header__language__choice {
    color: grey;
    padding: 4px 12px;
}
.ods-front-header__link--active{ 
    color: white;
    background: 
#FC5E3C;
    padding: 4px 12px;
    border-radius: 64px; 
}
.site-header nav {
    display: flex;
    justify-content: flex-end; /* alignement à droite */
    align-items: center;
}
.ods-responsive-menu-collapsible .ods-front-header__languages {
    display: block;
}
.ods-front-header__management-menu-item--backoffice {
    background: white;
    color: black;
}
.ods-front-header__management-menu-item-link {
    color: black;
}
.site-header a {
    font-size: 2px;
    font-weight: 700; /* gras */
    color: 
#FCF6F1;
    text-decoration: none;
    margin-left: 24px;
    font-family: Degular;
}
.ods-front-header__menu-item--active {
    text-decoration: bold;
}
.ods-front-header__menu {
    margin-left: 32px;
}
.ods-front-header__menu-item-link--active{
    border-bottom: none;
}
ods-front-header__languages ng-scope{
    display: inline-block;
}
.ods-front-header__menu-item-link--active{
    opacity: 1 !important;
}
.ods-responsive-menu-collapsible .ods-front-header__languages {
    display: inline-block;
    margin-left:64px;
    width:fit-content;
}

/* =====================================================================
   RESPONSIVE — à coller À LA FIN de vos "Règles de style supplémentaires"
   Corrige l'affichage de l'en-tête sur mobile / tablette (≤ 1000px),
   c'est-à-dire quand ODS replie le menu derrière le bouton hamburger.
   Le HTML n'a pas besoin d'être modifié.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1) Petite correction utile sur desktop : font-size: 2px est un bug
   --------------------------------------------------------------------- */
.site-header a {
    font-size: 15px; /* était 2px -> texte invisible */
}

/* ---------------------------------------------------------------------
   2) MOBILE & TABLETTE (≤ 1000px) : on passe tout en colonne
   --------------------------------------------------------------------- */
@media (max-width: 1000px) {

    /* La hauteur doit suivre le contenu, plus de hauteur figée à 50px */
    .custom-header-container {
        height: auto;
        margin-bottom: 0;
    }

    /* Le panneau déroulant occupe toute la largeur, fond bleu cohérent */
    .ods-responsive-menu-collapsible,
    .ods-responsive-menu-collapsible__content {
        flex-direction: column;
        width: 100%;
        background-color: #252BBE;
    }

    /* --- Bandeau du haut : aide + profil --- */
    .header-top-row {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
        height: auto;
        gap: 16px;
        padding: 12px 16px;
        background-color: transparent;          /* pas de bandeau gris dans le panneau bleu */
        border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    }
    .top-icon-link {
        color: #fff;                            /* lisible sur fond bleu */
        font-size: 1.4rem;
    }

    /* --- Bandeau du bas : logo + menu + langue empilés --- */
    .header-bottom-row {
        flex-direction: column;
        align-items: stretch;
        height: auto;
        padding: 16px;
        gap: 16px;
    }

    /* Logo centré en haut du panneau */
    .bottom-row-center {
        flex: none;
        justify-content: center;
    }
    .smard-logo {
        max-height: 44px;
        padding-top: 0;
    }

    /* Menu principal : liens pleine largeur, cibles tactiles confortables */
    .bottom-row-left {
        width: 100%;
    }
    .header-bottom-row .ods-front-header__menu {
        margin: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .header-bottom-row .ods-front-header__menu-item {
        display: block;
        width: 100%;
        margin: 0;
    }
    .header-bottom-row .ods-front-header__menu-item-link {
        display: block;
        width: 100%;
        padding: 14px 8px;                      /* ~48px de hauteur tactile */
        font-size: 17px;
        opacity: 1;
        border-radius: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    }

    /* Sélecteur de langue : centré, marge gauche annulée */
    .bottom-row-right {
        flex: none;
        justify-content: center;
    }
    .ods-responsive-menu-collapsible .ods-front-header__languages {
        display: inline-block;
        margin-left: 0;
        width:fit-content;
    }

    /* Menu profil (secondary-menu) lisible et empilé proprement */
    .ods-profile-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        align-items: center;
    }
    .ods-front-header__management-menu-item {
        margin: 0;
    }

    /* On réduit les grandes marges « pousse-contenu » sur petit écran */
    .ods-mapbuilder__container,
    .main--chartbuilder,
    .k5IvYAfq8yJGeFSXlPp6 {
        margin-top: 24px;
    }
    .ods-tabs__pane--active {
        margin-top: 16px;
    }
}

/* ---------------------------------------------------------------------
   3) TRÈS PETITS ÉCRANS (≤ 480px) : on resserre encore
   --------------------------------------------------------------------- */
@media (max-width: 480px) {
    .header-top-row,
    .header-bottom-row {
        padding-left: 12px;
        padding-right: 12px;
    }
    .smard-logo {
        max-height: 38px;
    }
    .header-bottom-row .ods-front-header__menu-item-link {
        font-size: 16px;
    }
}


.ods-responsive-menu-placeholder__toggle{
    color: #fff;
}
    
    
    
.ods-responsive-menu-placeholder__toggle:hover{
    background-color:  #252BBE;
}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}