/* ============================================================
   Menu principal Divi — effet "soulignement qui se déploie"
   Cible : .et_pb_menu .et-menu (desktop) + .et_mobile_menu (mobile)
   ============================================================ */

/* Masque l'icône de recherche (loupe) du menu Divi
   On cible toutes les variantes possibles + on force visibility en plus
   de display, pour passer outre les overrides de Divi en spécificité forte. */
.et_pb_menu .et_pb_menu__search-button,
.et_pb_menu .et_pb_menu__search,
.et_pb_menu .et_pb_menu__search-container,
.et_pb_menu .et_pb_menu__close-search-button,
button.et_pb_menu__search-button,
button.et_pb_menu__icon.et_pb_menu__search-button {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* --- Desktop --- */

.et_pb_menu .et-menu > li > a {
	position: relative;
	display: inline-block;
	padding: 4px 0;
	cursor: pointer;
	text-decoration: none !important; /* tue le soulignement natif ; on garde la barre ::after animée */
	transition: color 0.25s ease,
				transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Barre de soulignement, créée en CSS pur via ::after */
.et_pb_menu .et-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 100%;
	height: 1px;
	background: var(--color-secondary);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
	pointer-events: none;
}

/* Survol : changement de couleur + léger soulèvement (letter-spacing inchangé pour éviter le saut) */
.et_pb_menu .et-menu > li > a:hover {
	color: var(--color-secondary);
	transform: translateY(-2px);
}

.et_pb_menu .et-menu > li > a:hover::after {
	transform: scaleX(1);
}

/* NB : le marquage de la section active est géré par scroll-active.js
   (classe .vo-menu-active) + scroll-effects.css. On NE force PAS scaleX(1)
   ici sur .current-menu-item / .current_page_item : depuis que les liens ont
   de vraies URLs, WordPress marque l'item de la page courante, ce qui ferait
   apparaître la barre jaune en permanence. */

/* --- Menu mobile --- */

/* ⚠️ Divi applique un `filter` (avec valeurs neutres) sur le module menu via
   le preset `.preset--module--divi-menu--default`. Or `filter` non-`none` fait
   du module un containing block pour les descendants en position:fixed, ce qui
   décale le menu mobile à droite (la position du module dans la rangée).
   On annule le filter (aucun impact visuel, valeurs déjà identité). */
.preset--module--divi-menu--default.et_pb_menu,
.et_pb_menu_0_tb_header.et_pb_menu {
	filter: none !important;
	-webkit-filter: none !important;
}

/* Idem prudence : on neutralise tout filter/transform sur la chaîne d'ancêtres
   du menu mobile dans le header. */
.et_pb_menu_0_tb_header .et_pb_menu_inner_container,
.et_pb_menu_0_tb_header .et_pb_menu__wrap,
.et_pb_menu_0_tb_header .et_mobile_nav_menu,
.et_pb_menu_0_tb_header .mobile_nav {
	filter: none !important;
	transform: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

.et_pb_menu .et_mobile_nav_menu,
.et_pb_menu .mobile_nav {
	position: static !important;
}

.et_pb_menu .et_mobile_menu {
	position: fixed !important;
	/* --vo-mobile-menu-top = bas réel du header, mesuré en JS (scroll-active.js).
	   Repli sur --vo-header-height si le JS n'a pas encore tourné. */
	top: var(--vo-mobile-menu-top, var(--vo-header-height, 76px)) !important;
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	box-sizing: border-box;
}

/* Alignement des liens du menu mobile sur le côté droit (sous le burger).
   La marge à droite est réglable via --vo-mobile-menu-pad-right. */
.et_pb_menu .et_mobile_menu,
.et_pb_menu .et_mobile_menu li {
	--vo-mobile-menu-pad-right: 20px; /* = gouttière contenu mobile (≤767px) */
	text-align: right;
}

.et_mobile_menu li a {
	position: relative;
	display: block;
	cursor: pointer;
	text-decoration: none !important; /* tue le soulignement natif sur mobile aussi */
	padding-right: var(--vo-mobile-menu-pad-right) !important;
	text-align: right;
	transition: color 0.25s ease, padding-right 0.25s ease;
}

.et_mobile_menu li a:hover {
	color: var(--color-secondary);
	padding-right: calc(var(--vo-mobile-menu-pad-right) + 6px) !important;
}

/* Bouton burger mobile */
.mobile_menu_bar {
	cursor: pointer;
}
