/* core/css/menu_mobile.css */
/* Gestion responsive du menu principal — commun à tous les layouts */

/* ======================================
   DESKTOP : hamburger caché
   ====================================== */
   @media (min-width: 1025px) {
    .btn_menu_principal,
    .btn_close_menu_principal, 
    .btn_menu_side,
    .btn_close_menu_side,
    .menu_side .entete_page  {
        display: none !important;
    }
}

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

    /* Header : hauteur auto */
    .menu_top {
        height: auto !important;
        max-width: 100% !important;
        padding: 0 10px;
    }

    /* Conteneur header */
    .menu_top .width_content_1600 {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        float: none !important;
        width: 100% !important;
    }

    /* BTN MENU MOBILE */
    .cont_btn_menu_mobile {
        display: flex;
        flex-direction: row; /* ← forcer horizontal */
        align-items: center;
        margin-left: auto;
        gap: var(--menu-mobile-btn-gap);
    }

    /* Bouton menu side */

    .btn_menu_side {
        display: flex !important;
        margin-left: auto;
        color: var(--menu-mobile-burger-color);
        font-size: var(--menu-mobile-burger-font-size);
    }

    /* Bouton hamburger */
    .btn_menu_principal {
        display: flex !important;
        margin-left: auto;
        margin-right: var(--menu-mobile-burger-margin-right);
        flex-shrink: 0;
        color: var(--menu-mobile-burger-color);
        font-size: var(--menu-mobile-burger-font-size);
        z-index: 1000;
    }

    /* Conteneur menu plein écran */
    .cont_menu_principal {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 9999;
        background: var(--menu-mobile-bg);
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100dvh;
    }

    /* Ouvert */
    .cont_menu_principal.menu_open {
        display: flex;
    }

    /* Neutraliser floats */
    .cont_menu_principal,
    .menu_principal,
    .menu_principal ul,
    .menu_principal li,
    .menu_principal .btn_page {
        float: none !important;
        width: auto !important;
    }

    /* Nav */
    .menu_principal {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100% !important;
    }

    /* Liste verticale — column-reverse pour contrebalancer les FRIGHT */
    .menu_principal ul {
        display: flex !important;
        flex-direction: column !important; 
        align-items: center;
        gap: var(--menu-mobile-links-gap);
        list-style: none;
        margin: 0;
        padding: 0;
    }

    /* Liens */
    .menu_principal .btn_page {
        font-size: var(--menu-mobile-link-font-size);
        padding: var(--menu-mobile-link-padding);
        color: var(--menu-mobile-link-color);
        margin: 0;
    }

    /* Bouton close */
    .btn_close_menu_principal {
        position: absolute;
        top: var(--menu-mobile-close-top);
        right: var(--menu-mobile-close-right);
        color: var(--menu-mobile-close-color);
        font-size: var(--menu-mobile-close-font-size);
    }

    /* Scroll bloqué quand menu ouvert */
    body.menu_mobile_open {
        overflow: hidden;
    }

    /*  MENU SIDE + btn menu_side*/
        /* Menu side : plein écran */
    .menu_side {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100%;
        z-index: 1000;
        color: var(--menu-mobile-side-bg, #fff);
        overflow-y: auto;
        padding: var(--menu-mobile-side-padding, 60px 20px 20px);
    }

    /* Ouvert */
    .menu_side.menu_side_open,    
    .menu_side.entete_page  {
        display: block;
    }

    /* Overlay body */
    body.menu_side_mobile_open {
        overflow: hidden;
    }

    /* Bouton close */
    .btn_close_menu_side {
        position: absolute;
        top: var(--menu-mobile-side-close-top);
        right: var(--menu-mobile-side-close-right);
        color: var(--menu-mobile-side-close-color);
        font-size: var(--menu-mobile-side-close-font-size);
    }
}