/* GFC 24/09/2026 — panneaux du megamenu bornes a la hauteur de l ecran.

   Retour d Andy Yang (Voopoo), relaye par David : sur un portable, cliquer une entree du
   menu fait occuper presque tout l ecran par le panneau, qu on n arrive plus a refermer
   qu en visant une toute petite zone, et la molette ne sert a rien.

   Constat mesure sur la prod : les panneaux font de 207 a 2665 px de haut, sans hauteur
   maximale ni ascenseur (max-height:none, overflow:visible une fois ouverts). Sur un
   1366x768 il reste environ 436 px sous la barre de menu : 9 panneaux sur 12 debordent
   hors de l ecran. Comme le module ne referme le panneau que lorsque la souris QUITTE
   le menu, et que le panneau couvre tout, la souris n a nulle part ou aller.

   Ici on donne au panneau son propre ascenseur. La hauteur exacte est posee par
   66-gfc-megamenu-ecran-20260924.js (elle depend de la position du panneau, donc du
   defilement) ; la valeur ci-dessous n est qu un filet de securite si le JS ne tourne pas.

   Hors mode liste (.changestatus, tablette) : dans ce mode le module gere deja ses
   propres depliages et une hauteur bornee casserait l accordeon.
   Rollback : supprimer ce fichier et le JS 66. */

@media (min-width: 768px) {

    .ets_mm_megamenu:not(.changestatus) .mm_menus_ul > li.mm_has_sub .mm_columns_ul {
        max-height: calc(100vh - 210px);
        overflow-y: auto;
        overflow-x: hidden;
        /* la molette qui atteint le bas du panneau ne doit pas se mettre a faire
           defiler la page derriere */
        overscroll-behavior: contain;
    }

    /* ascenseur discret, pour ne pas alourdir un panneau deja dense */
    .ets_mm_megamenu:not(.changestatus) .mm_menus_ul > li.mm_has_sub .mm_columns_ul {
        scrollbar-width: thin;
        scrollbar-color: #c9c2ba transparent;
    }

    .ets_mm_megamenu:not(.changestatus) .mm_menus_ul > li.mm_has_sub .mm_columns_ul::-webkit-scrollbar {
        width: 9px;
    }

    .ets_mm_megamenu:not(.changestatus) .mm_menus_ul > li.mm_has_sub .mm_columns_ul::-webkit-scrollbar-track {
        background: transparent;
    }

    .ets_mm_megamenu:not(.changestatus) .mm_menus_ul > li.mm_has_sub .mm_columns_ul::-webkit-scrollbar-thumb {
        background: #c9c2ba;
        border-radius: 5px;
        border: 2px solid transparent;
        background-clip: content-box;
    }

    .ets_mm_megamenu:not(.changestatus) .mm_menus_ul > li.mm_has_sub .mm_columns_ul::-webkit-scrollbar-thumb:hover {
        background: #a89f95;
        background-clip: content-box;
    }
}

/* ------------------------------------------------------------------------- */
/* Voile de fond : suppression du clignotement signale par Andy Yang.

   Le voile n est pas bg_submenu (cette classe-la est bien inversee par le module mais
   n a plus d effet visible) : le vrai voile, dans megamenu.css, est
   `body.hover_menu .ets_mm_megamenu:before` + `body.hover_menu #footer:before`.
   Or megamenu.js pose hover_menu a l entree de CHAQUE onglet et l enleve a la sortie :
   en passant d un onglet au voisin on obtient un retrait suivi d un ajout, donc le fond
   s eclaircit puis se rassombrit -> le clignotement.

   On neutralise donc hover_menu et on redonne le meme voile sous notre propre classe
   gfc-mm-voile, que le JS 66 pose sur <body> tant qu un panneau est ouvert et retire
   seulement quand la souris quitte tout le menu. */

@media (min-width: 768px) {

    body.hover_menu .ets_mm_megamenu:before,
    body.hover_menu #footer:before {
        opacity: 0 !important;
    }

    body.gfc-mm-voile .ets_mm_megamenu:before,
    body.gfc-mm-voile #footer:before {
        opacity: 1 !important;
        transition: opacity .18s ease !important;
    }
}

/* ------------------------------------------------------------------------- */
/* Espace vide entre un onglet et son panneau (signale par Raph le 24/09).

   Le fond blanc de l onglet actif est porte par le <a>, pas par le <li>. Quand la
   barre est assez etroite pour que certains libelles passent sur DEUX lignes
   (« TOP E-LIQUIDES » a 1280 px), le <li> monte a 72 px tandis que le <a> d un
   libelle sur UNE ligne (« PUFF », « DIY ») reste a 56 px : il manque alors 16 px
   de blanc sous l onglet, et une bande sombre le separe de son panneau. Les
   libelles sur deux lignes, eux, touchent le panneau : d ou « Puff a un espace,
   Top E-liquides est bien rempli ».

   On donne donc au <a> toute la hauteur du <li>. Sans effet sur les grands ecrans,
   ou aucun libelle ne passe a la ligne (le <a> y fait deja la hauteur du <li>).
   Verifie : positions et largeurs des onglets inchangees. */

@media (min-width: 768px) {

    .ets_mm_megamenu:not(.changestatus) .mm_menus_ul > li.mm_menus_li > a {
        height: 100% !important;
        display: flex !important;
        align-items: center !important;
    }
}
