.menu-item.imgml-language-item {
	position: relative;
}
.menu-item.imgml-language-item > .imgml-language-link {
	/* Divi applique déjà à tout lien direct du menu son display, sa
	 * hauteur de ligne et son padding-bottom. Ne pas transformer cet item
	 * en flex : cela agrandit la ligne et décale tout le menu. */
	display: block;
	padding-left: 10px;
	padding-right: 0;
	position: relative;
	text-decoration: none;
}
.menu-item.imgml-language-item > .imgml-language-link::after {
	background: #263943;
	border-radius: 4px;
	bottom: auto;
	color: #fff;
	content: attr(data-language);
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	left: 50%;
	line-height: 1;
	opacity: 0;
	padding: 6px 8px;
	pointer-events: none;
	position: absolute;
	top: calc(100% + 7px);
	text-transform: none;
	transform: translate(-50%, 3px);
	transition: opacity .15s ease, transform .15s ease;
	visibility: hidden;
	white-space: nowrap;
	z-index: 99999;
}
.menu-item.imgml-language-item > .imgml-language-link:hover::after,
.menu-item.imgml-language-item > .imgml-language-link:focus-visible::after {
	opacity: 1;
	transform: translate(-50%, 0);
	visibility: visible;
}
.menu-item.imgml-language-item .imgml-language-flag { display: inline-block; height: 14px; line-height: 1; vertical-align: middle; width: 24px; }
.menu-item.imgml-language-item .imgml-language-flag svg { display: block; height: 100%; width: 100%; }
.menu-item.imgml-language-item .imgml-language-flag--emoji { font-size: 1em; height: auto; width: auto; }
.menu-item.imgml-language-menu { position: relative; }
.menu-item.imgml-language-menu > .imgml-language-current { display: block; padding-left: 0; padding-right: 20px !important; }
.menu-item.imgml-language-menu .imgml-language-flag { display: inline-block; height: 14px; line-height: 1; vertical-align: middle; width: 24px; }
.menu-item.imgml-language-menu .imgml-language-flag svg { display: block; height: 100%; width: 100%; }
.menu-item.imgml-language-menu .imgml-language-flag--emoji { font-size: 1em; height: auto; width: auto; }
#top-menu .imgml-language-menu > .imgml-language-list { left: 50%; min-width: 165px; padding: 7px 0; transform: translateX(-50%); width: max-content; }
#top-menu .imgml-language-menu .imgml-language-choice { display: block; padding: 0; width: 100%; }
#top-menu .imgml-language-menu .imgml-language-choice > a { align-items: center; display: flex; gap: 9px; line-height: 1.25; padding: 8px 13px; white-space: nowrap; width: 100%; }
#top-menu .imgml-language-menu .imgml-language-name { font-size: 13px; font-weight: 600; text-transform: none; }
/* Le drapeau participe à la même ligne que le texte. Aucun déplacement du
 * lien, de la ligne de base ou du padding vertical de Divi n'est ajouté. */
/* Divi utilise normalement le glyphe "3" de sa police ETmodules pour ce
 * chevron. Sur un domaine de langue distinct, cette police peut être bloquée
 * par le navigateur. Ce chevron CSS ne dépend d'aucun fichier de police. */
#top-menu .menu-item-has-children > a:first-child::after {
	border: 0 !important;
	border-bottom: 2px solid currentColor !important;
	border-right: 2px solid currentColor !important;
	box-sizing: border-box;
	content: "" !important;
	font-family: inherit !important;
	height: 7px;
	margin-top: 0;
	top: .2em !important;
	transform: rotate(45deg);
	width: 7px;
}
@media (max-width: 767px) {
	.menu-item.imgml-language-item { top: 0; }
	.menu-item.imgml-language-item > .imgml-language-link { min-height: 36px; padding: .4rem .5rem; }
	.menu-item.imgml-language-item .imgml-language-flag { transform: none; }
	.menu-item.imgml-language-menu { display: block; top: 0; }
	.menu-item.imgml-language-menu > .imgml-language-current { min-height: 36px; padding: .4rem 1.8rem .4rem .5rem !important; }
	.menu-item.imgml-language-menu .imgml-language-flag { transform: none; }
	.menu-item.imgml-language-menu > .imgml-language-list { transform: none; width: 100%; }
}
