/**
 * Menu mobile optimisé avec meilleures performances
 * - Utilisation de will-change pour optimiser les animations
 * - Réduction des requêtes et des transitions
 * - Support pour le menu responsive
 */

/* Container pour le menu responsive */
.mobile-menu-container {
    display: none;
}

@media (max-width: 1024px) {
    .mobile-menu-container {
        display: block;
    }
}

/* Styles de base du menu */
ul.menu[data-my-drilldown] {
    position: relative;
    width: 100%;
    max-height: 80vh; /* Limiter la hauteur à 80% de la hauteur de la fenêtre */
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0;
    margin: 0;
    list-style: none;
    visibility: visible;
    min-height: 300px; /* Réduire la hauteur minimale */
    will-change: height; /* Optimisation pour les animations de hauteur */
    transition: height 0.25s ease; /* Réduire le temps de transition */
}

/* Optimisation: regrouper les sélecteurs similaires */
ul.menu[data-my-drilldown] li,
ul.menu li.has-submenu {
    position: static; 
    margin: 0;
}

/* Sous-menus */
ul.menu[data-my-drilldown] ul.menu {
    position: absolute;
    top: 0;
    left: 100%;
    width: 100%; 
    padding: 0;
    margin: 0;
    list-style: none;
    overflow-y: auto;
	overflow-x: hidden;
    visibility: hidden;
    min-height: 400px; /* Réduire la hauteur minimale */
    will-change: left; /* Optimisation pour les animations horizontales */
    transition: left 0.25s ease; /* Accélérer la transition */
}

/* Menu actif */
ul.menu.is-active {
    left: 0 !important;
    visibility: visible !important;
}

/* Liens standard */
ul.menu li a {
    display: block;
    padding: 12px 15px; /* Ajuster pour zones tactiles plus larges */
	text-decoration: none;
    color: #191919;
    border-bottom: 1px solid #F7F7F7;
    font-weight: 600;
    white-space: nowrap; /* Éviter le retour à la ligne du texte */
    overflow: hidden;
    text-overflow: ellipsis; /* Ajouter des points de suspension si le texte est trop long */
	-webkit-tap-highlight-color: transparent;  /* Supprime l'effet de highlight sur iOS */
    outline: none;  /* Supprime l'outline par défaut */
    box-shadow: none;  /* Supprime toute ombre potentielle */
}

/* Optimisation: combiner les règles et réduire les sélecteurs */
ul.menu li:last-child a,
.js-drilldown-back a {
    border-bottom: none;
    color: #191919;
}

/* Arrière-plan différent pour boutons retour */
.js-drilldown-back a {
    background-color: #f7f7f7;
	border-radius: 15px;
    font-weight: 700;
	margin-bottom: 10px;
}

/* Flèches pour les sous-menus - utiliser FontAwesome 5 */
li.has-submenu > a::after {
    content: "\f0da"; /* Flèche droite */
    font-family: "Font Awesome 5 Free";
    font-weight: 900; /* Important pour FontAwesome 5 */
    font-size: 16px;
    float: right;
    margin-left: 8px;
    transition: transform 0.2s ease;
}

.js-drilldown-back a::before {
    content: "\f0d9"; /* Flèche gauche */
    font-family: "Font Awesome 5 Free";
    font-weight: 900; /* Important pour FontAwesome 5 */
    font-size: 16px;
    margin-right: 8px;
    vertical-align: middle;
}

/* Optimiser les tailles d'icônes */
.fa-bars:before,
.fa-times:before {
    font-size: 25px;
}

/* Optimisations tactiles pour mobiles */
@media (max-width: 768px) {
    ul.menu li a {
        padding: 14px 16px; /* Plus grand sur mobile pour faciliter la navigation */
    }
    
    .js-drilldown-back a {
        padding: 16px; /* Bouton retour plus grand */
    }
}

/* Amélioration des performances */
ul.menu[data-my-drilldown],
ul.menu[data-my-drilldown] ul.menu {
    -webkit-overflow-scrolling: touch; /* Défilement fluide sur iOS */
    transform: translateZ(0); /* Forcer l'accélération matérielle */
}

/* Animation harmonieuse sur les boutons et liens */
ul.menu li a {
    transition: background-color 0.2s ease;
	border-radius: 15px;
}

ul.menu li a:active {
    background-color: #F7F7F7; /* Effet de clic léger */
	border-radius: 15px;
}