/* Extracted styles from africa.html (first custom <style> block) */

/* STYLES POUR LES ICONES SOCIALES DÉPLACÉS DANS footer.css POUR COHÉRENCE GLOBALE */

/* === STYLES ISOLÉS DU LOGO - LOGO CENTERED === */

/* Conteneur du branding - centré et avec hauteur fixe */
.site-branding {
	max-height: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.site-branding-center {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center;
	height: auto !important;
	min-height: 80px !important;
	flex: 1;
	padding: 10px 0;
}

.site-header.clone .site-branding-center {
	min-height: 60px !important;
	padding: 8px 0;
}

/* Styles pour l'image du logo - dimensions et positionnement */
.logo-image {
	max-height: 50px;
	width: auto;
	display: block !important;
	margin: 0 auto !important;
	opacity: 1 !important;
	visibility: visible !important;
	transition: all 0.3s ease;
	object-fit: contain;
}

/* Logo en mode normal (header transparent) */
.site-header:not(.clone) .logo-image {
	max-height: 50px;
	max-width: 100%;
}

/* Logo en mode scroll (header clone) */
.site-header.clone .logo-image {
	max-height: 45px;
	max-width: 100%;
}

/* Conteneur du titre du site */
.site-title {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 !important;
	padding: 0 !important;
}

.site-title a {
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.site-title a img {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
	max-width: 100%;
	height: auto;
	margin: 0 !important;
	padding: 0 !important;
}

/* Masquer le texte du logo */
.logo-text {
	display: none !important;
}

/* === STYLES MOBILES - LOGO CENTRÉ === */
@media screen and (max-width: 768px) {
	.elementor-element-7dcf136 {
		justify-content: flex-start !important;
	}

	.site-branding-center {
		min-height: 70px !important;
		padding: 0 0 !important;
		margin-top: 0px !important;
	}

	.logo-image {
		max-height: 45px;
		max-width: 90%;
		margin: 6px auto 0 !important;
	}

	.site-title {
		width: 100%;
	}

	.site-title a {
		width: 100%;
	}
}

@media screen and (max-width: 480px) {
	.site-branding-center {
		min-height: 60px !important;
		padding: 0 0 !important;
		margin-top: 0px !important;
	}

	.logo-image {
		max-height: 40px;
		max-width: 85%;
		margin: 6px auto 0 !important;
	}
}

/* STYLES FORCÉS POUR LES ONGLETS MOBILE - PRIORITÉ MAXIMALE */
@media screen and (max-width: 768px) {
	.qodef-tabs-horizontal-navigation {
		justify-content: center !important;
		margin-left: 0 !important;
		gap: 20px !important;
		flex-wrap: wrap !important;
	}

	.qodef-tab-title {
		text-align: center !important;
	}
}

@media screen and (max-width: 480px) {
	.qodef-tabs-horizontal-navigation {
		justify-content: center !important;
		margin-left: 0 !important;
		gap: 15px !important;
		flex-wrap: wrap !important;
	}

	.qodef-tab-title {
		text-align: center !important;
	}
}

/* --- AJOUT POUR LE TITRE SERVICES --- */
.qodef-m-title {
	font-size: 7vw;
	/* Responsive, s'adapte à la largeur de l'écran */
	white-space: nowrap;
	overflow-wrap: break-word;
	word-break: break-word;
	text-align: center;
	width: 110%;
	max-width: 100vw;
	overflow: visible;
}

.qodef-e-word-holder {
	display: inline-block;
	width: auto;
	max-width: 100vw;
	overflow: visible;
}

@media (max-width: 600px) {
	.qodef-m-title {
		font-size: 10vw;
	}
}

/* --- STYLES POUR LE BOUTON DE LANGUE --- */
.language-switcher {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin-left: auto;
	position: relative;
	z-index: 100;
}

/* --- STYLES POUR LE FOOTER --- */
/* Footer avec background noir comme le header */
.site-footer {
	background-color: #000000 !important;
}

.site-footer .site-info {
	background-color: #000000 !important;
	color: #ffffff !important;
}

/* S'assurer que le texte dans le footer reste blanc */
.site-footer .site-info p,
.site-footer .site-info a {
	color: #ffffff !important;
}

/* --- STYLES POUR L'ALIGNEMENT DU FOOTER --- */
/* Aligner les titres CONTACT US et LINKS avec leur contenu */
.elementor-element-f055c35 .qodef-m-title,
.elementor-element-d726f80 .qodef-m-title {
	text-align: left !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Aligner le titre OUR PROJECTS à gauche */
.elementor-element-701fde8 .qodef-m-title {
	text-align: left !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Aligner le titre MISSION & VISION à gauche */
.elementor-element-9678fe9 .qodef-m-title {
	text-align: left !important;
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* S'assurer que les conteneurs des titres sont alignés à gauche */
.elementor-element-f055c35 .elementor-widget-container,
.elementor-element-d726f80 .elementor-widget-container,
.elementor-element-701fde8 .elementor-widget-container,
.elementor-element-9678fe9 .elementor-widget-container {
	text-align: left !important;
}

/* Aligner spécifiquement les mots animés */
.elementor-element-f055c35 .qodef-e-word,
.elementor-element-d726f80 .qodef-e-word,
.elementor-element-701fde8 .qodef-e-word,
.elementor-element-9678fe9 .qodef-e-word {
	text-align: left !important;
	display: inline-block !important;
}

/* --- STYLES POUR LA COHÉRENCE DES COULEURS DES PROJETS --- */
/* Assurer que tous les éléments de projet dans le footer sont blancs */
.elementor-element-13e222f .elementor-heading-title,
.elementor-element-421a564 .elementor-heading-title,
.elementor-element-b8c769d .elementor-heading-title,
.elementor-element-0a2435e .elementor-heading-title,
.elementor-element-0541d16 .elementor-heading-title,
.elementor-element-heritage .elementor-heading-title,
.elementor-element-interior .elementor-heading-title,
.elementor-element-landscape .elementor-heading-title,
.elementor-element-strategy .elementor-heading-title {
	color: #ffffff !important;
	transition: color 0.3s ease !important;
}

/* Effet hover cohérent pour tous les éléments de projet - reste blanc */
.elementor-element-13e222f .elementor-heading-title:hover,
.elementor-element-421a564 .elementor-heading-title:hover,
.elementor-element-b8c769d .elementor-heading-title:hover,
.elementor-element-0a2435e .elementor-heading-title:hover,
.elementor-element-0541d16 .elementor-heading-title:hover,
.elementor-element-heritage .elementor-heading-title:hover,
.elementor-element-interior .elementor-heading-title:hover,
.elementor-element-landscape .elementor-heading-title:hover,
.elementor-element-strategy .elementor-heading-title:hover {
	color: #ffffff !important;
}

/* --- ESPACEMENTS POUR LES ÉLÉMENTS DE PROJET --- */
/* Ajouter des marges modérées entre les éléments de projet */
.elementor-element-heritage,
.elementor-element-interior,
.elementor-element-landscape,
.elementor-element-strategy {
	margin-top: 8px !important;
	margin-bottom: 3px !important;
}

/* Espacement général pour tous les éléments de projet */
.elementor-element-13e222f,
.elementor-element-421a564,
.elementor-element-b8c769d,
.elementor-element-0a2435e,
.elementor-element-0541d16,
.elementor-element-heritage,
.elementor-element-interior,
.elementor-element-landscape,
.elementor-element-strategy {
	margin-bottom: 6px !important;
}

/* --- STYLES POUR LA COHÉRENCE DES LIENS DANS LA SECTION LINKS --- */
/* Assurer que tous les liens dans la section LINKS sont blancs */
.elementor-element-74f5361 .elementor-heading-title a,
.elementor-element-16b69b6 .elementor-heading-title a,
.elementor-element-e90a0d1 .elementor-heading-title a,
.elementor-element-0c21dbe .elementor-heading-title a,
.elementor-element-rise-link .elementor-heading-title a,
.elementor-element-social-link .elementor-heading-title a,
.elementor-element-project-link .elementor-heading-title a,
.elementor-element-news-link .elementor-heading-title a,
.elementor-element-contact-link .elementor-heading-title a {
	color: #ffffff !important;
	text-decoration: none !important;
	transition: color 0.3s ease !important;
}

/* Effet hover cohérent pour tous les liens - reste blanc */
.elementor-element-74f5361 .elementor-heading-title a:hover,
.elementor-element-16b69b6 .elementor-heading-title a:hover,
.elementor-element-e90a0d1 .elementor-heading-title a:hover,
.elementor-element-0c21dbe .elementor-heading-title a:hover,
.elementor-element-rise-link .elementor-heading-title a:hover,
.elementor-element-social-link .elementor-heading-title a:hover,
.elementor-element-project-link .elementor-heading-title a:hover,
.elementor-element-news-link .elementor-heading-title a:hover,
.elementor-element-contact-link .elementor-heading-title a:hover {
	color: #ffffff !important;
	text-decoration: none !important;
}

/* Espacements pour les éléments de liens */
.elementor-element-rise-link,
.elementor-element-social-link,
.elementor-element-project-link,
.elementor-element-news-link,
.elementor-element-contact-link {
	margin-top: 8px !important;
	margin-bottom: 3px !important;
}

/* Styles pour le header - texte blanc par défaut */
.site-header:not(.clone) .nav-menu a,
.site-header:not(.clone) .menu-toggle .lines,
.site-header:not(.clone) .menu-toggle .lines:before,
.site-header:not(.clone) .menu-toggle .lines:after {
	color: #ffffff !important;
}

.site-header:not(.clone) .nav-menu a:hover {
	color: #000000 !important;
}

/* Styles pour l'élément actif - Noir */
.site-header .nav-menu .current-menu-item a,
.site-header.clone .nav-menu .current-menu-item a {
	color: #000000 !important;
}

.site-header .nav-menu .current-menu-item a:hover,
.site-header.clone .nav-menu .current-menu-item a:hover {
	color: #000000 !important;
}

/* Styles pour le bouton de langue - noir par défaut */
.language-btn {
	background: none;
	border: none;
	color: #ffffff;
	font-weight: bold;
	font-size: 14px;
	padding: 8px 16px;
	cursor: pointer;
	transition: all 0.3s ease;
	text-transform: uppercase;
	letter-spacing: 1px;
	min-width: 40px;
	text-align: center;
	white-space: nowrap;
}

.language-btn:hover {
	background: none;
	color: #ffffff;
	transform: none;
}

.language-btn.active {
	background: none;
	color: #ffffff;
}

/* Lang toggle showing both EN-FR with active highlight */
.language-btn .lang-part,
.menu-item-language .lang-part {
	opacity: 0.6;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.language-btn .lang-part.active,
.menu-item-language .lang-part.active {
	opacity: 1;
	color: #d4af37;
	/* highlight active language */
	font-weight: 700;
}

.language-btn .lang-sep,
.menu-item-language .lang-sep {
	display: inline-block;
	margin: 0 8px;
	/* small spacing around dash */
	opacity: 0.6;
}

/* Styles pour le header en mode scroll - texte blanc, header noir */
.site-header.clone .header-wrap:before {
	background: #000000 !important;
	opacity: 1 !important;
}

/* S'assurer que le header reste noir quand le menu est ouvert, même en mode scroll */
.is-menu-toggled-on .site-header.clone .header-wrap:before {
	background: #000000 !important;
	opacity: 1 !important;
}

/* Styles pour le hamburger en mode scroll quand le menu est ouvert */
.is-menu-toggled-on .site-header.clone .menu-toggle .lines,
.is-menu-toggled-on .site-header.clone .menu-toggle .lines:before,
.is-menu-toggled-on .site-header.clone .menu-toggle .lines:after {
	background-color: #ffffff !important;
}

/* S'assurer que le menu lui-même n'est pas affecté par l'animation du hamburger */
.is-menu-toggled-on .nav-menu {
	/* Le menu garde son comportement normal */
	display: block !important;
}

.is-menu-toggled-on .nav-menu ul {
	/* La liste du menu garde son comportement normal */
	display: block !important;
}

.is-menu-toggled-on .nav-menu li {
	/* Les éléments du menu gardent leur comportement normal */
	display: block !important;
}

.is-menu-toggled-on .nav-menu a {
	/* Les liens du menu gardent leur comportement normal */
	display: block !important;
}

/* Décalage de 30px vers la droite pour les titres du menu (desktop uniquement) */
@media screen and (min-width: 992px) {
	.site-header .nav-menu>ul#menu-mymenu {
		transform: translateX(90px);
	}
}

@media screen and (max-width: 991px) {
	.language-switcher {
		display: none !important;
	}

	.menu-item-language {
		display: block !important;
	}

	/* Styles pour le texte du header en mobile - Texte blanc */
	.site-header:not(.clone) .nav-menu a,
	.site-header:not(.clone) .menu-toggle .lines,
	.site-header:not(.clone) .menu-toggle .lines:before,
	.site-header:not(.clone) .menu-toggle .lines:after {
		color: #ffffff !important;
	}

	.site-header:not(.clone) .menu-toggle .lines,
	.site-header:not(.clone) .menu-toggle .lines:before,
	.site-header:not(.clone) .menu-toggle .lines:after {
		background-color: #ffffff !important;
	}

	/* Quand le menu est ouvert en mobile - Texte blanc */
	.is-menu-toggled-on .site-header:not(.clone) .nav-menu a,
	.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines,
	.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines:before,
	.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines:after {
		color: #ffffff !important;
	}

	.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines,
	.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines:before,
	.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines:after {
		background-color: #ffffff !important;
	}

	/* Animation d'entrée du menu - slide depuis la droite */
	.nav-menu {
		transform: translateX(100%);
		transition: transform 0.3s ease-in-out;
	}

	.is-menu-toggled-on .nav-menu {
		transform: translateX(0);
	}

	/* Suppression de l'overlay car le menu est plein écran noir */
	.is-menu-toggled-on::before {
		display: none !important;
	}
}

.site-header.clone .nav-menu a,
.site-header.clone .menu-toggle .lines,
.site-header.clone .menu-toggle .lines:before,
.site-header.clone .menu-toggle .lines:after {
	color: #ffffff !important;
}

.site-header.clone .nav-menu a:hover {
	color: #000000 !important;
}

/* Style pour le bouton quand on scrolle - blanc */
.site-header.clone .language-btn {
	color: #ffffff !important;
}

.site-header.clone .language-btn:hover {
	color: #d4af37 !important;
}

.site-header.clone .language-btn.active {
	color: #ffffff !important;
}

/* S'assurer que le logo reste blanc dans tous les cas */
.site-header:not(.clone) .logo-image,
.site-header.clone .logo-image {
	filter: brightness(0) invert(1) !important;
}

/* Forcer le positionnement à droite dans le header */
.layout-medium {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
}

.nav-menu {
	flex: 1;
	display: flex;
	justify-content: center;
}

.language-switcher {
	flex-shrink: 0;
}

/* Styles spécifiques pour africa.html - Menu burger à droite */
.menu-toggle {
	order: 1 !important;
	margin-left: auto !important;
}

.nav-menu {
	order: 2 !important;
}

.language-switcher {
	order: 3 !important;
}

/* Masquer le language switcher sur mobile et afficher l'option dans le menu */
@media screen and (max-width: 991px) {

	/* Suppression de l'overlay car le menu est plein écran noir */
	.is-menu-toggled-on::before {
		display: none !important;
	}
}

/* Afficher le language switcher sur desktop et masquer l'option dans le menu */
@media screen and (min-width: 992px) {
	.language-switcher {
		display: flex !important;
	}

	.menu-item-language {
		display: none !important;
	}
}

/* Styles pour le header quand le menu est ouvert - Header noir */
.is-menu-toggled-on .site-header:not(.clone) .header-wrap:before {
	background: #000000 !important;
	opacity: 1 !important;
}

/* Styles pour le hamburger quand le menu est ouvert - Texte blanc */
.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines,
.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines:before,
.is-menu-toggled-on .site-header:not(.clone) .menu-toggle .lines:after {
	background-color: #ffffff !important;
}

/* Isolation complète de l'animation du hamburger - ne s'applique qu'au bouton */
.is-menu-toggled-on .menu-toggle .lines {
	/* Animation spécifique au hamburger uniquement */
	background-color: transparent !important;
}

.is-menu-toggled-on .menu-toggle .lines:before {
	/* Animation spécifique au hamburger uniquement */
	top: 0 !important;
	transform: rotate(45deg) !important;
	background-color: #ffffff !important;
}

.is-menu-toggled-on .menu-toggle .lines:after {
	/* Animation spécifique au hamburger uniquement */
	bottom: 0 !important;
	transform: rotate(-45deg) !important;
	background-color: #ffffff !important;
}

/* Animation du hamburger pour fermer (X) */
.is-menu-toggled-on .menu-toggle .lines {
	background-color: transparent !important;
}

.is-menu-toggled-on .menu-toggle .lines:before {
	transform: rotate(45deg) translate(5px, 5px) !important;
	background-color: #ffffff !important;
}

.is-menu-toggled-on .menu-toggle .lines:after {
	transform: rotate(-45deg) translate(7px, -6px) !important;
	background-color: #ffffff !important;
}

/* Styles pour le language switcher quand le menu est ouvert */
.is-menu-toggled-on .site-header:not(.clone) .language-btn {
	color: #ffffff !important;
}

.is-menu-toggled-on .site-header:not(.clone) .language-btn:hover {
	color: #ffffff !important;
}

/* Styles de base pour le hamburger - Adapté de l'exemple */
.menu-toggle {
	position: relative;
	cursor: pointer;
	z-index: 1000;
	display: block;
	width: 30px;
	height: 30px;
}

.menu-toggle .lines {
	display: block;
	width: 25px;
	height: 2px;
	background-color: #ffffff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all 0.3s ease;
}

.menu-toggle .lines:before,
.menu-toggle .lines:after {
	content: '';
	position: absolute;
	width: 25px;
	height: 2px;
	background-color: #ffffff;
	transition: all 0.3s ease;
}

.menu-toggle .lines:before {
	top: -8px;
}

.menu-toggle .lines:after {
	bottom: -8px;
}

/* Animation du hamburger pour fermer (X) - Version corrigée selon l'exemple */
.is-menu-toggled-on .menu-toggle .lines {
	background-color: transparent !important;
}

.is-menu-toggled-on .menu-toggle .lines:before {
	top: 0 !important;
	transform: rotate(45deg) !important;
	background-color: #ffffff !important;
}

.is-menu-toggled-on .menu-toggle .lines:after {
	bottom: 0 !important;
	transform: rotate(-45deg) !important;
	background-color: #ffffff !important;
}

/* ------------------------------------------------------------
   Extracted from inline <style> blocks in africa.html (Round 2)
   - wp-emoji, classic theme, global styles
   - arkiz inline overrides
   - elementor lazy bg removal
   - africa map component
   - tabs alignment/responsive fixes
------------------------------------------------------------- */

/* From africa.html line ~664 */
img:is([sizes="auto" i], [sizes^="auto," i]) {
	contain-intrinsic-size: 3000px 1500px
}

/* Centrage du logo */
.site-branding-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

/* From africa.html wp-emoji styles (~686) */
img.wp-smiley,
img.emoji {
	display: inline !important;
	border: none !important;
	box-shadow: none !important;
	height: 1em !important;
	width: 1em !important;
	margin: 0 0.07em !important;
	vertical-align: -0.1em !important;
	background: none !important;
	padding: 0 !important;
}

/* From africa.html classic-theme-styles-inline-css (~700) */
/*! This file is auto-generated */
.wp-block-button__link {
	color: #fff;
	background-color: #32373c;
	border-radius: 9999px;
	box-shadow: none;
	text-decoration: none;
	padding: calc(.667em + 2px) calc(1.333em + 2px);
	font-size: 1.125em
}

.wp-block-file__button {
	background: #32373c;
	color: #fff;
	text-decoration: none
}

/* From africa.html global-styles-inline-css (~704) */
:root {
	--wp--preset--aspect-ratio--square: 1;
	--wp--preset--aspect-ratio--4-3: 4/3;
	--wp--preset--aspect-ratio--3-4: 3/4;
	--wp--preset--aspect-ratio--3-2: 3/2;
	--wp--preset--aspect-ratio--2-3: 2/3;
	--wp--preset--aspect-ratio--16-9: 16/9;
	--wp--preset--aspect-ratio--9-16: 9/16;
	--wp--preset--color--black: #000000;
	--wp--preset--color--cyan-bluish-gray: #abb8c3;
	--wp--preset--color--white: #ffffff;
	--wp--preset--color--pale-pink: #f78da7;
	--wp--preset--color--vivid-red: #cf2e2e;
	--wp--preset--color--luminous-vivid-orange: #ff6900;
	--wp--preset--color--luminous-vivid-amber: #fcb900;
	--wp--preset--color--light-green-cyan: #7bdcb5;
	--wp--preset--color--vivid-green-cyan: #00d084;
	--wp--preset--color--pale-cyan-blue: #8ed1fc;
	--wp--preset--color--vivid-cyan-blue: #0693e3;
	--wp--preset--color--vivid-purple: #9b51e0;
	--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgba(6, 147, 227, 1) 0%, rgb(155, 81, 224) 100%);
	--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
	--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgba(252, 185, 0, 1) 0%, rgba(255, 105, 0, 1) 100%);
	--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgba(255, 105, 0, 1) 0%, rgb(207, 46, 46) 100%);
	--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
	--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
	--wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
	--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
	--wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
	--wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
	--wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
	--wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
	--wp--preset--font-size--small: 13px;
	--wp--preset--font-size--medium: 20px;
	--wp--preset--font-size--large: 36px;
	--wp--preset--font-size--x-large: 42px;
	--wp--preset--spacing--20: 0.44rem;
	--wp--preset--spacing--30: 0.67rem;
	--wp--preset--spacing--40: 1rem;
	--wp--preset--spacing--50: 1.5rem;
	--wp--preset--spacing--60: 2.25rem;
	--wp--preset--spacing--70: 3.38rem;
	--wp--preset--spacing--80: 5.06rem;
	--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
	--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
	--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
	--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);
	--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);
}

:where(.is-layout-flex) {
	gap: 0.5em;
}

:where(.is-layout-grid) {
	gap: 0.5em;
}

body .is-layout-flex {
	display: flex;
}

.is-layout-flex {
	flex-wrap: wrap;
	align-items: center;
}

.is-layout-flex> :is(*, div) {
	margin: 0;
}

body .is-layout-grid {
	display: grid;
}

.is-layout-grid> :is(*, div) {
	margin: 0;
}

:where(.wp-block-columns.is-layout-flex) {
	gap: 2em;
}

:where(.wp-block-columns.is-layout-grid) {
	gap: 2em;
}

:where(.wp-block-post-template.is-layout-flex) {
	gap: 1.25em;
}

:where(.wp-block-post-template.is-layout-grid) {
	gap: 1.25em;
}

.has-black-color {
	color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
	color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
	color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
	color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
	color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
	color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
	color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
	color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
	color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
	color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
	color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
	color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-background-color {
	background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
	background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
	background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
	background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
	background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
	background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
	background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
	background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
	background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
	background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
	background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
	background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-border-color {
	border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
	border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
	border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
	border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
	border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
	border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
	border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
	border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
	border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
	border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
	border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
	border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
	background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
	background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
	background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
	background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
	background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
	background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
	background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
	background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
	background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
	background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
	background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
	background: var(--wp--preset--gradient--midnight) !important;
}

.has-small-font-size {
	font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
	font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
	font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
	font-size: var(--wp--preset--font-size--x-large) !important;
}

:where(.wp-block-post-template.is-layout-flex) {
	gap: 1.25em;
}

:where(.wp-block-post-template.is-layout-grid) {
	gap: 1.25em;
}

:where(.wp-block-columns.is-layout-flex) {
	gap: 2em;
}

:where(.wp-block-columns.is-layout-grid) {
	gap: 2em;
}

:root :where(.wp-block-pullquote) {
	font-size: 1.5em;
	line-height: 1.6;
}

/* From africa.html arkiz-style-inline-css (~727) */
.site-title {
	font-family: 'Onest';
}

.nav-menu,
.entry-meta,
.owl-nav,
label,
.page-links,
.navigation,
.entry-title i,
.site-info,
.filters {
	font-family: 'Jost';
}

.widget-title {
	font-family: 'TeXGyreAdventor', sans-serif;
}

h1,
.entry-title,
.footer-subscribe h3,
.widget_categories ul li,
.widget_recent_entries ul li a,
.widget_pages ul li,
.widget_nav_menu ul li,
.widget_archive ul li,
.widget_most_recommended_posts ul li a,
.widget_calendar table caption,
.tptn_title,
.nav-single a,
.widget_recent_comments ul li,
.widget_product_categories ul li,
.widget_meta ul li,
.widget_rss ul a.rsswidget {
	font-family: 'Onest';
}

h2,
h3,
h4,
h5,
h6,
blockquote,
.tab-titles {
	font-family: 'Onest';
}

.slider-box .entry-title {
	font-family: 'Now', sans-serif;
}

body {
	font-family: 'Onest';
}

.link-box .entry-title {
	font-family: 'Now', sans-serif;
}

.button,
button,
html .elementor-button,
html .ekit-wid-con .elementskit-btn,
html .ekit-wid-con .ekit_creative_button,
.more-link {
	font-family: 'Jost';
}

.top-bar {
	font-family: 'Jost';
}

@media screen and (min-width: 992px) {
	.site-header .site-title {
		font-size: 22px;
	}
}

@media screen and (min-width: 992px) {
	.is-header-smaller .site-header.clone .site-title {
		font-size: 20px;
	}
}

@media screen and (max-width: 991px) {
	.site-header .site-title {
		font-size: 14px;
	}
}

@media screen and (min-width: 992px) {
	.blog-small .entry-title {
		font-size: 19px;
	}
}

@media screen and (min-width: 992px) {
	h1 {
		font-size: 98px;
	}
}

@media screen and (min-width: 992px) {
	html {
		font-size: 16px;
	}
}

@media screen and (max-width: 991px) {
	html {
		font-size: 15px;
	}
}

@media screen and (min-width: 992px) {
	.nav-menu>ul {
		font-size: 13px;
	}
}

@media screen and (min-width: 992px) {
	.blog-stream .entry-content {
		font-size: 16px;
	}
}

@media screen and (min-width: 992px) {
	.blog-stream.blog-small .entry-content {
		font-size: 15px;
	}
}

.widget-title {
	font-size: 13px;
}

@media screen and (min-width: 992px) {
	.nav-menu ul ul {
		font-size: 12px;
	}
}

.top-bar {
	font-size: 12px;
}

.site-footer .site-info {
	font-size: 12px;
}

.site-title {
	font-weight: 700;
}

h1,
.entry-title,
.footer-subscribe h3 {
	font-weight: 900;
}

h2,
h3,
h4,
h5,
h6,
blockquote,
.comment-meta .fn {
	font-weight: 500;
}

.slider-box .entry-title {
	font-weight: 700;
}

.widget-title {
	font-weight: 700;
}

@media screen and (min-width: 992px) {
	.nav-menu>ul {
		font-weight: 500;
	}
}

@media screen and (min-width: 992px) {
	.nav-menu ul ul {
		font-weight: 500;
	}
}

.link-box .entry-title {
	font-weight: 700;
}

.top-bar {
	font-weight: 500;
}

.site-footer .site-info {
	font-weight: 500;
}

.entry-meta {
	font-weight: 500;
}

@media screen and (min-width: 992px) {
	.nav-menu>ul {
		letter-spacing: 0px;
	}
}

@media screen and (min-width: 992px) {
	.nav-menu ul ul {
		letter-spacing: 0px;
	}
}

.widget-title {
	letter-spacing: 3px;
}

.site-footer .site-info {
	letter-spacing: 3px;
}

h1,
.entry-title,
.footer-subscribe h3,
.widget_categories ul li,
.widget_recent_entries ul li,
.widget_pages ul li,
.widget_archive ul li,
.widget_calendar table caption,
.tptn_title,
.nav-single a {
	text-transform: uppercase;
}

@media screen and (min-width: 992px) {
	html {
		line-height: 1.7;
	}
}

@media screen and (min-width: 992px) {
	.header-bg-shape {
		height: 50px;
	}
}

.header-wrap:after {
	bottom: -1px;
}

@media screen and (min-width: 992px) {
	.site-title img {
		max-height: 44px;
	}
}

@media screen and (max-width: 991px) {
	.site-title img {
		max-height: 35px;
	}
}

.top-bar {
	line-height: 36px;
}

html .site-header .site-title a {
	padding: 12px 24px;
}

@media screen and (min-width: 992px) {
	.site {
		margin-top: 0px;
		margin-bottom: 0px;
	}
}

.layout-medium,
.is-header-row .header-wrap-inner,
.is-header-small .header-wrap-inner,
.is-menu-bar.is-menu-fixed-bg .menu-wrap,
.is-header-fixed-width .header-wrap,
.is-header-fixed-width.is-menu-bar .site-navigation,
.is-header-fixed-width.is-menu-bar .site-header .site-navigation,
.is-header-float-box:not(.is-header-float-box-menu) .site-header:not(.clone) .header-wrap,
.is-header-float-box.is-menu-bar .site-header:not(.clone) .site-navigation:not(.clone),
.is-body-boxed .site,
.is-body-boxed .header-wrap,
.is-body-boxed.is-menu-bar .site-navigation,
.is-body-boxed:not(.is-menu-bar) .site-header,
.is-middle-boxed .site-main,
.intro-content,
.is-footer-boxed .site-footer,
.is-content-boxed .site-main .layout-fixed,
.top-bar .top-bar-wrap,
.is-top-bar-fixed .top-bar,
.is-top-bar-fixed-bg .top-bar,
.is-menu-bottom.is-menu-bottom-overflow .site-header:not(.clone) .site-navigation:not(.clone) .menu-wrap,
.site-branding-wrap,
.is-header-border-fixed .header-wrap:after,
.is-header-border-fixed .menu-wrap:after,
html .tutor-container,
html .lp-content-area,
html .learn-press-breadcrumb {
	max-width: 1140px;
	margin-left: auto;
	margin-right: auto;
}

.layout-fixed,
.blog-list,
.blog-regular,
.is-content-boxed .single .site-content,
.is-content-boxed .page .site-content {
	max-width: 800px;
}

@media screen and (min-width: 992px) {

	.is-header-small .header-wrap,
	.is-menu-bar .nav-menu>ul>li,
	.is-header-vertical .nav-menu>ul>li {
		line-height: 80px;
	}

	.is-header-small .site-branding {
		max-height: 80px;
	}
}

@media screen and (min-width: 992px) {

	.is-header-small.is-header-smaller .site-header.clone .header-wrap,
	.is-header-row.is-header-smaller .site-header.clone .nav-menu>ul>li,
	.is-menu-bar.is-header-smaller .site-navigation.clone .nav-menu>ul>li,
	.is-menu-bar.is-header-smaller .site-header.clone .site-navigation .nav-menu>ul>li {
		line-height: 60px;
	}

	.is-header-small.is-header-smaller .site-header.clone .site-branding {
		max-height: 60px;
	}
}

/* From africa.html elementor lazy background removal (~938) */
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload),
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) * {
	background-image: none !important;
}

@media screen and (max-height: 1024px) {

	.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload),
	.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) * {
		background-image: none !important;
	}
}

@media screen and (max-height: 640px) {

	.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload),
	.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) * {
		background-image: none !important;
	}
}

/* From africa.html: Africa Map component (~1453) */
.africa-map-container {
	position: relative;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	background: transparent;
	border: 1px solid #000000;
	padding: 10px;
}

.africa-map {
	width: auto;
	height: auto;
	max-width: 1200px;
	max-height: 1200px;
	object-fit: contain;
	transition: transform 0.3s ease;
}

.africa-map:hover {
	transform: scale(1.05);
}

@media screen and (max-width: 768px) {
	.africa-map-container {
		width: fit-content;
		max-width: 90%;
		margin: 20px auto;
	}

	.africa-map {
		border-radius: 0;
		box-shadow: none;
	}

	.africa-map:hover {
		transform: scale(1.02);
	}
}

@media screen and (max-width: 480px) {
	.africa-map-container {
		width: fit-content;
		max-width: 95%;
		margin: 15px auto;
	}

	.africa-map {
		border-radius: 0;
		box-shadow: none;
	}
}

/* From africa.html: Tabs alignment and responsive (~1520) */
/* Ensure left alignment consistency between tab titles and content */
.elementor-element-1bbe67d4 {
	margin-left: 0 !important;
}

/* Accordion Fix - Prevent Overlap */
.qodef-qi-accordion .qodef-e-title-holder {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
	position: relative !important;
	margin: 0 !important;
	padding: 20px 0 !important;
	cursor: pointer;
	clear: both !important;
}

.qodef-qi-accordion .qodef-e-mark {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 24px !important;
	height: 24px !important;
	flex-shrink: 0 !important;
}

.qodef-qi-accordion .qodef-e-mark svg {
	width: 16px !important;
	height: 16px !important;
	fill: currentColor !important;
}

.qodef-qi-accordion .qodef-e-content {
	position: relative !important;
	height: auto !important;
	overflow: visible !important;
	clear: both !important;
	padding: 10px 0 20px 0 !important;
}

.qodef-qi-accordion .qodef-e-content-inner {
	display: block !important;
	position: relative !important;
}


/* Styles de base avec sélecteurs plus spécifiques */
.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-navigation {
	display: flex !important;
	justify-content: flex-start !important;
	gap: 30px !important;
	margin-left: 0 !important;
	/* align with content */
}

.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tab-title {
	white-space: nowrap !important;
}

.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tab-title .q-text {
	white-space: nowrap !important;
}

.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content>div {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content>div>div {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* Styles responsives pour mobile avec sélecteurs très spécifiques */
@media screen and (max-width: 768px) {

	/* Ajuster le conteneur principal pour mobile */
	.elementor-element-1bbe67d4 {
		margin-left: 0 !important;
		padding: 20px 0 !important;
	}

	/* Onglets en mobile: aligner les titres avec la description (à gauche) */
	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-navigation {
		width: 100% !important;
		flex-direction: row !important;
		justify-content: flex-start !important;
		gap: 20px !important;
		margin-left: 20px !important;
		/* Aligner avec le contenu */
		margin-bottom: 20px !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		padding-left: 0 !important;
		margin-right: 0 !important;
	}

	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-navigation li {
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-navigation li .qodef-tab-title,
	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-navigation li .qodef-tab-title a {
		display: inline-block !important;
		text-align: left !important;
	}

	/* Ajuster la taille des titres pour mobile */
	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tab-title {
		font-size: 16px !important;
		line-height: 1.4 !important;
		text-align: center !important;
	}

	/* Aligner le contenu avec les titres en mobile */
	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content {
		margin-left: 20px !important;
		padding-left: 0 !important;
	}

	/* Ajuster l'espacement du contenu */
	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content>div {
		margin-left: 0 !important;
		padding-left: 0 !important;
		gap: 20px !important;
	}

	/* Optimiser le texte pour la lecture mobile */
	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content p {
		font-size: 14px !important;
		line-height: 1.6 !important;
		margin-bottom: 15px !important;
	}
}

/* Styles pour très petits écrans */
@media screen and (max-width: 480px) {
	.elementor-element-1bbe67d4 {
		margin-left: 0 !important;
		padding: 15px 0 !important;
	}

	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-navigation {
		width: 100% !important;
		margin-left: 10px !important;
		/* Aligner avec contenu très petit écran */
		gap: 15px !important;
		justify-content: flex-start !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		padding-left: 0 !important;
		margin-right: 0 !important;
	}

	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-navigation li {
		text-align: left !important;
	}

	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tab-title {
		font-size: 15px !important;
		text-align: center !important;
	}

	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content {
		margin-left: 10px !important;
	}

	.qodef-shortcode.qodef-m.qodef-qi-tabs-horizontal .qodef-tabs-horizontal-content p {
		font-size: 13px !important;
		line-height: 1.5 !important;
	}
}

/* Fix pour les boutons du slider - s'assurer qu'ils sont cliquables */
.bdt-slide-btn {
	position: relative !important;
	z-index: 1000 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

.bdt-prime-slider-arrow-button {
	position: relative !important;
	z-index: 1000 !important;
	pointer-events: auto !important;
}

.bdt-prime-slider-button-wrapper {
	position: relative !important;
	z-index: 1001 !important;
	pointer-events: auto !important;
}

/* Force affichage des éléments animés */
.elementor-invisible {
	opacity: 1 !important;
	visibility: visible !important;
}

/* ==========================================================================
   DESIGN DU MENU MOBILE PLEIN ÉCRAN NOIR (RÉPONSE USER)
   ========================================================================== */
@media screen and (max-width: 991px) {

	/* Conteneur principal du menu quand ouvert */
	.is-menu-toggled-on .nav-menu {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100vh !important;
		background: #000000 !important;
		display: flex !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		padding-top: 140px !important;
		/* Espace pour logo et hamburger */
		z-index: 9999 !important;
		visibility: visible !important;
		opacity: 1 !important;
		overflow-y: auto !important;
	}

	/* Liste des menus */
	.is-menu-toggled-on .nav-menu ul {
		width: 100% !important;
		padding: 0 40px !important;
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
	}

	/* Éléments de liste */
	.is-menu-toggled-on .nav-menu li {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		list-style: none !important;
	}

	/* Liens du menu */
	.is-menu-toggled-on .nav-menu a {
		font-size: 20px !important;
		font-weight: 500 !important;
		text-transform: uppercase !important;
		letter-spacing: 2px !important;
		padding: 22px 0 !important;
		border-bottom: 1px solid #ffffff !important;
		/* Ligne blanche demandée */
		display: block !important;
		width: 100% !important;
		color: #ffffff !important;
		text-align: left !important;
		background: transparent !important;
		transition: all 0.3s ease !important;
	}

	.is-menu-toggled-on .nav-menu a:hover {
		padding-left: 10px !important;
		background: transparent !important;
	}

	/* Style spécial LANGUAGE */
	.is-menu-toggled-on .menu-item-language {
		margin-top: 20px !important;
	}

	.is-menu-toggled-on .menu-item-language a {
		border-bottom: none !important;
		font-size: 15px !important;
		color: #ffffff !important;
		opacity: 0.8 !important;
		padding: 15px 0 !important;
		letter-spacing: 1px !important;
	}

	.is-menu-toggled-on .menu-item-language .lang-part.active {
		color: #d4af37 !important;
		/* Or pour la langue active pour lisibilité */
		font-weight: 700 !important;
		opacity: 1 !important;
	}

	/* Hamburger Toggle (X) - S'assurer qu'il reste au dessus et à droite */
	.is-menu-toggled-on .menu-toggle {
		z-index: 10000 !important;
		position: fixed !important;
		top: 30px !important;
		right: 30px !important;
	}

	/* Branding (Logo) - S'assurer qu'il est visible au dessus du noir */
	.is-menu-toggled-on .site-branding {
		z-index: 10000 !important;
		position: fixed !important;
		top: 20px !important;
		left: 20px !important;
		width: auto !important;
		pointer-events: none !important;
	}

	.is-menu-toggled-on .site-branding a {
		pointer-events: auto !important;
	}
}