/* =========================================================================
   css/pages/service/main.css
   Auto-split from css/pages/service.css.
   ========================================================================= */

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

.site-branding-center {
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
}

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

.logo-image {
	max-height: 20px;
	width: auto;
	display: block;
	margin: 0 auto;
}

@media screen and (max-width: 991px) {
	.logo-image {
		max-height: 16px;
	}
}

/* STYLE DE TITRE FIX RESPONSIVE */
.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;
		white-space: normal !important;
	}
}

/* --- STYLES SPÉCIFIQUES POUR LE HEADER SERVICE - NOIR EN PERMANENCE --- */
/* Exception spéciale : "Services" est noir par défaut (sur fond blanc) en desktop */
@media screen and (min-width: 992px) {

	.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;
	}
}

/* Bouton de langue blanc en permanence */
.aboutus-language-btn {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	border: none !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	outline-width: 0 !important;
	color: #ffffff !important;
	font-weight: bold !important;
	font-size: 14px !important;
	padding: 8px 16px !important;
	cursor: pointer !important;
	transition: none !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	min-width: 40px !important;
	text-align: center !important;
	white-space: nowrap !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	display: inline-block !important;
	vertical-align: middle !important;
	line-height: 1 !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	border-radius: 0 !important;
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
}

/* EN-FR toggle parts + active highlight */
.aboutus-language-btn .lang-part,
.menu-item-language .lang-part {
	opacity: 0.6;
	transition: color 0.2s ease, opacity 0.2s ease;
}

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

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

/* S'assurer que le logo reste blanc (car c'est logoblanc.png) */

/* Surcharger les styles génériques pour le logo - desktop uniquement */
@media screen and (min-width: 992px) {
	.site-header .site-title img {
		max-height: 46px !important;
		width: auto !important;
		display: block !important;
		margin: 0 auto !important;
		transform: translateY(14px) !important;
	}
}

/* Logo en mobile - décalé de 14px vers le bas */
@media screen and (max-width: 991px) {
	.site-header .site-title img {
		max-height: 46px !important;
		width: auto !important;
		display: block !important;
		margin: 0 auto !important;
		transform: translateY(14px) !important;
	}
}

/* Logo en mode scroll (clone) - décalé de 3px vers le bas en desktop */
@media screen and (min-width: 992px) {
	.site-header.clone .site-title img {
		max-height: 46px !important;
		width: auto !important;
		display: block !important;
		margin: 0 auto !important;
		transform: translateY(3px) !important;
	}
}

/* Logo en mode scroll (clone) - position identique en mobile */
@media screen and (max-width: 991px) {
	.site-header.clone .site-title img {
		max-height: 46px !important;
		width: auto !important;
		display: block !important;
		margin: 0 auto !important;
		transform: translateY(14px) !important;
	}
}

@media screen and (max-width: 991px) {

	.site-header .logo-image,
	.site-header.clone .logo-image,
	.site-header .site-title img,
	.site-header.clone .site-title img {
		max-height: 30px !important;
	}
}

.aboutus-language-btn:hover {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: #ffffff !important;
	transform: none !important;
	border: none !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	outline-width: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	border-radius: 0 !important;
}

.aboutus-language-btn.active {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	color: #ffffff !important;
	border: none !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	outline-width: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	border-radius: 0 !important;
}

.aboutus-language-btn:focus {
	border: none !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	outline-width: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	border-radius: 0 !important;
}

.aboutus-language-btn:active {
	border: none !important;
	border-width: 0 !important;
	border-style: none !important;
	border-color: transparent !important;
	outline: none !important;
	outline-width: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-shadow: none !important;
	-webkit-box-shadow: none !important;
	-moz-box-shadow: none !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	border-radius: 0 !important;
}

/* Fix for Hover State: Keep active language gold */
.aboutus-language-btn:hover .lang-part.active,
.menu-item-language a:hover .lang-part.active {
	color: #d4af37 !important;
}

/* Services title shift */
@media screen and (min-width: 992px) {
	.elementor-element-8839b51 .qodef-m-title {
		position: relative !important;
		left: -70px !important;
	}
}

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

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

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

/* Décalage de 90px 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);
	}
}

/* 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 {
	pointer-events: auto;
}

.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;
}

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

.is-menu-toggled-on .site-header:not(.clone) .aboutus-language-btn:hover {
	color: #ffffff !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;
}

/* Styles pour aligner le bouton de langue à droite comme dans le blog */
.layout-medium {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	width: 100% !important;
}

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

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

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

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

@media screen and (max-width: 991px) {

	/* ====== HEADER & MENU MOBILE FIX ====== */
	.language-switcher {
		display: none !important;
	}

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

	.menu-item-language a {
		pointer-events: auto !important;
		cursor: pointer !important;
	}

	/* Forcer le menu-toggle à être visible en mobile */
	.menu-toggle {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 30px !important;
		height: 30px !important;
		cursor: pointer !important;
		position: relative !important;
		z-index: 1000 !important;
	}

	/* === Base hamburger styles (copie exacte du comportement aboutus) === */
	.menu-toggle {
		position: relative !important;
		cursor: pointer !important;
		z-index: 1000 !important;
		display: block !important;
		width: 30px !important;
		height: 30px !important;
	}

	.menu-toggle .lines {
		display: block !important;
		width: 28px !important;
		/* slightly larger than aboutus per your request */
		height: 2px !important;
		background-color: #ffffff !important;
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		transition: all 0.3s ease !important;
	}

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

	.menu-toggle .lines:before {
		top: -8px !important;
		bottom: auto !important;
	}

	.menu-toggle .lines:after {
		bottom: -8px !important;
		top: auto !important;
	}

	.is-menu-toggled-on .menu-toggle .lines {
		background-color: transparent !important;
	}

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

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

	/* === Normalisation de l'espacement haut (suppression du gap) === */
	.site {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.site-main {
		padding-top: 0 !important;
	}

	.elementor>.elementor-section.elementor-top-section:first-of-type,
	[data-elementor-type="wp-page"]>.elementor>.elementor-section.elementor-top-section:first-of-type {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	/* === Centrage du header - identique à aboutus.html === */
	.site-header .header-wrap-inner {
		display: flex !important;
		align-items: center !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/* Centrage vertical du site-branding */
	.site-header .site-branding {
		display: flex !important;
		align-items: center !important;
	}

	/* Position identique à aboutus: pousse à droite dans la ligne du header */
	.menu-toggle {
		height: 30px !important;
		width: 30px !important;
		display: block !important;
		order: 1 !important;
		margin-left: auto !important;
	}

	.menu-wrap {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		min-height: 56px !important;
		display: flex !important;
		align-items: center !important;
	}

	.site-header .nav-menu>ul#menu-mymenu {
		transform: none !important;
	}

	.site-header .header-wrap:before {
		opacity: 1 !important;
	}

	.site-header.clone .header-wrap:before {
		opacity: 1 !important;
	}

	/* Forcer les lignes du hamburger à être visibles */
	.menu-toggle .lines {
		display: block !important;
		width: 25px !important;
		height: 2px !important;
		background-color: #ffffff !important;
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		transform: translate(-50%, -50%) !important;
		transition: all 0.3s ease !important;
	}

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

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

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

	/* Forcer le layout-medium à avoir les bons styles flexbox en mobile */
	.layout-medium {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
	}

	/* Masquer le nav-menu par défaut en mobile */
	.nav-menu {
		display: none !important;
	}

	/* Quand le menu est ouvert, afficher le nav-menu */
	.is-menu-toggled-on .nav-menu {
		display: flex !important;
	}

	/* Styles pour le texte du header en mobile - Texte blanc pour être visible */
	.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 (identique à aboutus.html) */
	.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 noir total qui bloquait la vue du background */
	/* .is-menu-toggled-on::before { ... } supprimé car l'utilisateur ne veut pas de background noir fixe */

	/* Styles pour le menu mobile quand il est ouvert - Plein écran noir */
	.is-menu-toggled-on .nav-menu {
		position: fixed !important;
		top: 0 !important;
		right: 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;
		/* clear the top area for logo and hamburger */
		z-index: 10100 !important;
		transform: translateX(0) !important;
		transition: transform 0.3s ease !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.is-menu-toggled-on .nav-menu ul {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0 !important;
		padding: 0 40px;
		width: 100%;
		margin: 0 !important;
		/* avoid any theme default margin-top */
	}

	.is-menu-toggled-on .nav-menu li {
		display: block;
		width: 100%;
	}

	.is-menu-toggled-on .nav-menu a {
		color: #ffffff !important;
		font-size: 20px !important;
		font-weight: 500 !important;
		text-transform: uppercase !important;
		letter-spacing: 2px !important;
		text-decoration: none;
		transition: all 0.3s ease;
		display: block;
		padding: 22px 0 !important;
		border-bottom: 1px solid #ffffff !important;
	}

	.is-menu-toggled-on .nav-menu a:hover {
		color: #ffffff !important;
		opacity: 0.8;
		padding-left: 10px !important;
	}

	/* Style spécial pour l'élément language dans le menu */
	.is-menu-toggled-on .menu-item-language a {
		border-bottom: none;
		font-weight: 600;
		color: #cccccc !important;
	}

	/* Animation des éléments du menu - apparition progressive */
	.is-menu-toggled-on .nav-menu li {
		opacity: 0;
		transform: translateX(20px);
		animation: slideInMenu 0.3s ease forwards;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(1) {
		animation-delay: 0.1s;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(2) {
		animation-delay: 0.2s;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(3) {
		animation-delay: 0.3s;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(4) {
		animation-delay: 0.4s;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(5) {
		animation-delay: 0.5s;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(6) {
		animation-delay: 0.6s;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(7) {
		animation-delay: 0.7s;
	}

	.is-menu-toggled-on .nav-menu li:nth-child(8) {
		animation-delay: 0.8s;
	}

	@keyframes slideInMenu {
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}

	/* FIX CONFLICTS MOBILE MENU - Raising Header Above Drawer */
	.is-menu-toggled-on .site-header {
		z-index: 10500 !important;
	}

	.is-menu-toggled-on .site-header .site-branding {
		position: fixed !important;
		top: 20px !important;
		left: 20px !important;
		z-index: 10510 !important;
		pointer-events: none !important;
		display: flex !important;
		justify-content: flex-start !important;
		width: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
	}

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

	.is-menu-toggled-on .menu-toggle {
		z-index: 10520 !important;
		position: fixed !important;
		top: 10px !important;
		right: 15px !important;
	}

	/* Burger Animation to X */
	.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;
		position: absolute !important;
		z-index: 10530 !important;
		width: 28px !important;
		display: block !important;
	}

	.is-menu-toggled-on .menu-toggle .lines:after {
		bottom: 0 !important;
		transform: rotate(-45deg) !important;
		background-color: #ffffff !important;
		position: absolute !important;
		z-index: 10530 !important;
		width: 28px !important;
		display: block !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;
	}
}

.elementor-element-83346e1 .elementor-element-f055c35 .qodef-m-title,
.elementor-element-83346e1 .elementor-element-701fde8 .qodef-m-title,
.elementor-element-83346e1 .elementor-element-d726f80 .qodef-m-title,
.elementor-element-83346e1 .elementor-element-9678fe9 .qodef-m-title {
	white-space: nowrap !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	font-family: 'Onest', sans-serif !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.2 !important;
	text-align: left !important;
}

.elementor-element-83346e1 .elementor-element-f055c35 .elementor-widget-container,
.elementor-element-83346e1 .elementor-element-701fde8 .elementor-widget-container,
.elementor-element-83346e1 .elementor-element-d726f80 .elementor-widget-container,
.elementor-element-83346e1 .elementor-element-9678fe9 .elementor-widget-container {
	text-align: left !important;
}

.elementor-element-83346e1 .elementor-element-f055c35 .qodef-e-word,
.elementor-element-83346e1 .elementor-element-701fde8 .qodef-e-word,
.elementor-element-83346e1 .elementor-element-d726f80 .qodef-e-word,
.elementor-element-83346e1 .elementor-element-9678fe9 .qodef-e-word {
	text-align: left !important;
	display: inline-block !important;
}

.elementor-element-83346e1 .elementor-element-7dcf136 {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 10px !important;
	margin-left: auto !important;
	width: fit-content !important;
	flex-wrap: nowrap !important;
}

.elementor-element-83346e1 .elementor-element-7dcf136.e-con,
.elementor-element-83346e1 .elementor-element-7dcf136.e-flex {
	flex-direction: row !important;
	flex-wrap: nowrap !important;
}

.elementor-element-83346e1 .elementor-element-7dcf136>.elementor-element,
.elementor-element-83346e1 .elementor-element-7dcf136 .elementor-widget,
.elementor-element-83346e1 .elementor-element-7dcf136 .elementor-widget-container {
	width: auto !important;
	display: block !important;
	flex: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-element-83346e1 .elementor-element-7dcf136 a {
	margin-left: 0 !important;
}

/* --- STYLES PRE-FOOTER SECTION - DESIGN COMME AFRICA.HTML --- */
/* Fond noir pour la section pre-footer */
.elementor-element-83346e1 {
	background-color: #000000 !important;
	background: #000000 !important;
	padding-bottom: 100px !important;
}

.elementor-element-83346e1 .e-con-inner {
	background: transparent !important;
}

/* Tous les titres en blanc */
.elementor-element-83346e1 .qodef-m-title,
.elementor-element-83346e1 .qodef-e-word,
.elementor-element-83346e1 h1,
.elementor-element-83346e1 h2,
.elementor-element-83346e1 h3,
.elementor-element-83346e1 h4,
.elementor-element-83346e1 h5,
.elementor-element-83346e1 h6 {
	color: #ffffff !important;
}

/* Tous les textes en blanc */
.elementor-element-83346e1 .elementor-heading-title,
.elementor-element-83346e1 .elementor-widget-container p,
.elementor-element-83346e1 p {
	color: #ffffff !important;
}

/* Tous les liens en blanc */
.elementor-element-83346e1 a,
.elementor-element-83346e1 .elementor-heading-title a {
	color: #ffffff !important;
	text-decoration: none !important;
	transition: opacity 0.3s ease !important;
}

.elementor-element-83346e1 a:hover,
.elementor-element-83346e1 .elementor-heading-title a:hover {
	color: #ffffff !important;
	opacity: 0.8 !important;
}

/* Icônes des réseaux sociaux avec fond noir et icône blanche (comme africa.html) */
.elementor-element-83346e1 .elementor-element-7dcf136 a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 40px !important;
	height: 40px !important;
	margin: 0 !important;
	background-color: #000000 !important;
	border-radius: 12px !important;
	border: none !important;
}

.elementor-element-83346e1 .elementor-element-7dcf136 svg,
.elementor-element-83346e1 .elementor-element-7dcf136 svg path {
	fill: #ffffff !important;
}

/* Espacement des icônes sociales - sans gap */
.elementor-element-83346e1 .elementor-element-7dcf136 {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 0 !important;
	flex-wrap: nowrap !important;
}

.elementor-element-83346e1 .elementor-element-7dcf136 .elementor-widget,
.elementor-element-83346e1 .elementor-element-7dcf136 .elementor-widget-container,
.elementor-element-83346e1 .elementor-element-7dcf136 .elementor-element {
	margin: 0 !important;
	padding: 0 !important;
}

/* Conteneurs internes sans background */
.elementor-element-83346e1 .e-con,
.elementor-element-83346e1 .e-con-full {
	background: transparent !important;
}

/* Responsive mobile */
@media (max-width: 768px) {
	.elementor-element-83346e1 {
		padding-bottom: 80px !important;
	}

	.elementor-element-83346e1 .elementor-element-7dcf136 {
		justify-content: flex-start !important;
	}
}

/* Ligne de séparation blanche en bas du header du footer (Logo + Social) */
.elementor-element-83346e1 .elementor-element-c7ccbf0 {
	border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
	padding-bottom: 10px !important;
	/* Réduit pour rapprocher de la ligne */
	margin-bottom: 30px !important;
	display: flex !important;
	align-items: flex-end !important;
	/* Pousse les éléments (logo et social) vers le bas */
}

/* Ajuster spécifiquement le conteneur social pour qu'il touche presque la ligne */
.elementor-element-83346e1 .elementor-element-7dcf136 {
	margin-bottom: -5px !important;
	/* Ajustement fin pour l'alignement visuel */
}

/* --- ESPACEMENT REDUIT POUR LES MENUS OUR PROJECTS & LINKS (Comme africa.html) --- */

/* 1. Gérer le conteneur flex/grid */
.elementor-element-83346e1 .elementor-element-1c03fac,
.elementor-element-83346e1 .elementor-element-a876615 {
	gap: 0 !important;
	/* On gère l'espace via margin pour être sûr */
	display: flex !important;
	flex-direction: column !important;
}

/* 2. Réduire l'espacement sur TOUS les widgets dans ces colonnes */
.elementor-element-83346e1 .elementor-element-1c03fac .elementor-widget,
.elementor-element-83346e1 .elementor-element-a876615 .elementor-widget {
	margin-bottom: 5px !important;
	margin-top: 0 !important;
	padding: 0 !important;
}

/* 3. Exception pour les TITRES (plus d'espace en bas) */
.elementor-element-83346e1 .elementor-element-701fde8,
.elementor-element-83346e1 .elementor-element-d726f80 {
	margin-bottom: 25px !important;
}

/* S'assurer que les titres h3/h4/p dans les widgets n'ont pas de marge parasite */
.elementor-element-83346e1 .elementor-element-1c03fac .elementor-heading-title,
.elementor-element-83346e1 .elementor-element-a876615 .elementor-heading-title {
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}
