/* Menu pop up (burger) : panneau latéral qui défile, entrées alignées à gauche, sous-menus en accordéon.
   Cible uniquement #myModal (GP element « Pop up », navigation « Menu principal - pop up »). */

#myModal .hystmodal__wrap {
	justify-content: flex-end;
	align-items: stretch;
	min-height: 100vh;
	min-height: 100dvh;
}

#myModal .hystmodal__window {
	width: min(420px, 100vw) !important;
	height: 100vh !important;
	height: 100dvh !important;
	max-height: none;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	overflow: hidden;
}

#myModal .hystmodal__window > .gb-inside-container {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	max-width: none;
}

/* Zone qui défile */
#myModal nav.menu-vertical {
	flex: 1 1 auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	width: 100%;
	padding: 64px 24px 16px;
	display: block;
}

#myModal nav.menu-vertical > ul {
	display: flex;
	flex-direction: column;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
	margin: 0;
	padding: 0;
}

#myModal nav.menu-vertical > ul > li {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin: 0 !important;
	padding: 0 !important;
	border-bottom: 1px solid #eaecf0;
	text-align: left;
}

#myModal nav.menu-vertical > ul > li:after {
	display: none !important;
}

#myModal nav.menu-vertical > ul > li > .wp-block-navigation-item__content,
#myModal nav.menu-vertical > ul > li > .wp-block-navigation-submenu__toggle {
	flex: 1 1 auto;
	display: block;
	padding: 14px 0 !important;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	text-align: left;
	color: #101828;
	background: none;
	border: 0;
	cursor: pointer;
}

#myModal nav.menu-vertical .wp-block-navigation-item__description {
	display: block;
	margin-top: 2px;
	font-size: 13px;
	font-weight: 400;
	color: #667085;
	text-align: left;
}

#myModal nav.menu-vertical .wp-block-navigation-item__content:focus:not(:focus-visible),
#myModal nav.menu-vertical .wp-block-navigation-submenu__toggle:focus:not(:focus-visible) {
	outline: none;
}

/* Chevron des sous-menus */
#myModal nav.menu-vertical .wp-block-navigation__submenu-icon {
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#myModal nav.menu-vertical .wp-block-navigation__submenu-icon svg {
	width: 14px;
	height: 14px;
	margin: 0;
}

/* Sous-menu : dans le flux, sous son titre (plus de liste flottante) */
#myModal nav.menu-vertical .wp-block-navigation__submenu-container {
	position: static !important;
	flex-basis: 100%;
	width: 100% !important;
	min-width: 0 !important;
	left: auto !important;
	top: auto !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

#myModal nav.menu-vertical .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	display: grid !important;
	grid-template-columns: 1fr;
	gap: 0 16px;
	height: auto !important;
	visibility: visible !important;
	opacity: 1 !important;
	overflow: visible !important;
	padding: 0 0 14px !important;
}

#myModal nav.menu-vertical .wp-block-navigation__submenu-container > li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	text-align: left;
}

#myModal nav.menu-vertical .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	display: block;
	padding: 10px 0 !important;
	font-size: 15px;
	font-weight: 500;
	text-align: left;
	color: #344054;
}

/* Sous-menu des villes : 2 colonnes, première entrée (toutes les formations) sur toute la largeur et en couleur */
#myModal nav.menu-vertical .adi-sub-villes .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	grid-template-columns: 1fr 1fr;
}

#myModal nav.menu-vertical .adi-sub-villes .wp-block-navigation__submenu-container > li:first-child {
	grid-column: 1 / -1;
}

#myModal nav.menu-vertical .adi-sub-villes .wp-block-navigation__submenu-container > li:first-child .wp-block-navigation-item__content {
	color: #ed7427;
	font-weight: 600;
}

/* Boutons d'action fixés en bas du panneau */
#myModal .adi-menu-cta {
	flex: 0 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 16px 24px calc(16px + env(safe-area-inset-bottom));
	border-top: 1px solid #eaecf0;
	background: #fff;
}

#myModal .adi-menu-cta a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 0 12px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	text-align: center;
	text-decoration: none;
}

#myModal .adi-menu-cta .adi-menu-cta-devis {
	background: #ed7427;
	color: #fff;
}

#myModal .adi-menu-cta .adi-menu-cta-tel {
	border: 1px solid #ed7427;
	color: #ed7427;
}

/* Survol : couleur du texte au lieu du fond orange hérité du thème */
#myModal nav.menu-vertical ul ul li:hover {
	background: transparent !important;
}

#myModal nav.menu-vertical .wp-block-navigation-item__content:hover {
	color: #ed7427 !important;
}

/* Bouton burger : zone de toucher de 44 px autour de l'icône de 20 px */
[data-hystmodal="#myModal"] {
	position: relative;
	cursor: pointer;
}

[data-hystmodal="#myModal"]::before {
	content: "";
	position: absolute;
	inset: -12px;
}
