/*---------------------------------------------------------------------------------
Theme Name:   Divi Child
Theme URI:    https://www.elegantthemes.com/
Description:  Divi Child theme by Web Hors Piste
Author:       Web Hors Piste
Author URI:   https://www.webhorspiste.com/
Template:     Divi
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
-----------------------------------------------------------------------------------
TABLE DES MATIÈRES
-----------------------------------------------------------------------------------
01. Helpers globaux
02. Boutons
03. Header & navigation
04. Accueil
05. Pistes / cards services
06. Références logos
07. Partenaires confiance
08. Blog home
09. Footer
10. Galeries / pages cas client
11. Formation
12. Piste verte
13. Nous rejoindre
14. Formation
15. Contact
16. Articles
17. Page blog listing
18. Animations d'entrée

-----------------------------------------------------------------------------------
Typo titres — desktop / tablette≤980 / mobile≤767
  Line-height (ratio, tous écrans) :
    H1 pages 1.2 | H1 hero home 1.1 | H2 1.1 | H3 1.25
  Font-size cible :
    H1 hero : 80 → 64 → 48–52
    H1 pages : 65 → 48 → 40–44 (ex. 36 trop petit)
    H2 section : 56 → 44 → 32
    H3 section / .h3 : 36 → 28 → 22 (ou 20–22)
    H3 carte Divi : 24 → 20 → 18–20 (pas 24 en mobile)
  Ancien (réf.) :
    H1 hero 80/84→56/62→40/44 | H1 pages 65/78→48/58→36/43
    H2 56/67→40/48→28/34 | H3 Divi 24/36→20/36→18/28
    .h3 36/40→28/36→22/28 | .h4 24/36→20/28→18/24
-----------------------------------------------------------------------------------*/
textarea {
	resize: vertical;
	min-height: 150px !important;
	max-height: 300px !important;
}

/*===============================================================================
01. Helpers globaux
===============================================================================*/

.text-center {
	text-align: center;
}

.d-none {
	display: none;
}

.line-height-normal {
	line-height: normal;
}

.ft-weight-bolder {
	font-weight: bolder;
}

.ft-weight-bold {
	font-weight: bold;
}

.fw-800 {
	font-weight: 800;
}

.fs-24 {
	font-size: 24px;
}

.fs-18 {
	font-size: 18px;
}

.fs-16 {
	font-size: 16px;
}

.w-fit {
	width: fit-content;
}

.h-fit {
	height: fit-content;
}

.d-flex {
	display: flex;
}

.flex-column {
	flex-direction: column;
}

.flex-wrap {
	flex-wrap: wrap;
}

.flex-1 {
	flex: 1;
}

.justify-center {
	justify-content: center;
}

.justify-between {
	justify-content: space-between;
}

.flex-shrink-0 {
	flex-shrink: 0 !important;
}

.flex-grow-1 {
	flex-grow: 1 !important;
}

.spec-flex>.et_pb_row {
	display: flex;
}

.spec-wrap>.et_pb_row {
	flex-wrap: wrap;
}

.spec-gap-50>.et_pb_row {
	gap: 50px;
}

.spec-after-none>.et_pb_row:after {
	display: none;
}

.spec-justif-center>.et_pb_row {
	justify-content: center;
}

.align-center {
	align-items: center;
}

.marginx-auto {
	margin-left: auto;
	margin-right: auto;
}

.flex-50 {
	flex: 0 0 50%;
}

.gap-5 {
	gap: 5px;
}

.gap-10 {
	gap: 10px;
}

.gap-20 {
	gap: 20px;
}

.gap-30 {
	gap: 30px;
}

.m-0 {
	margin: 0 !important;
}

.mt-0 {
	margin-top: 0 !important;
}

.p-0 {
	padding: 0 !important;
}

.pb-0 {
	padding-bottom: 0px !important;
}

.pt-10 {
	padding-top: 10px !important;
}

.pt-20 {
	padding-top: 20px !important;
}

.pb-5 {
	padding-bottom: 5px !important;
}

.pb-10 {
	padding-bottom: 10px !important;
}

.pb-20 {
	padding-bottom: 20px !important;
}

.py-5 {
	padding-bottom: 5px !important;
	padding-top: 5px !important;
}

.bb-2 {
	border-bottom: 2px solid #D5D5D5
}

.max-w-550 {
	max-width: 550px;
}

.resume-image-fit .et_pb_main_blurb_image {
	width: fit-content !important;
	vertical-align: middle;
}

.resume-img-mb0 .et_pb_main_blurb_image {
	margin-bottom: 0px;
}

.resume-image-flex .et_pb_main_blurb_image {
	display: flex;
}

.resume-img-mb20 .et_pb_main_blurb_image {
	margin-bottom: 20px;
}

.resume-img-width-auto .et_pb_main_blurb_image {
	width: auto !important;
}

.resume-flex .et_pb_blurb_content {
	display: flex;
}

.resume-gap-10 .et_pb_blurb_content {
	gap: 10px !important;
}

.resume-text-center .et_pb_blurb_content {
	align-items: center;
}

.resume-fit {
	width: fit-content !important;
}

.resume-img-m10 .et_pb_main_blurb_image {
	margin-bottom: 10px !important;
}

.accordeon-icon-all>.et_pb_module {
	padding: 0 !important;
}

.accordeon-icon-all>.et_pb_module>h3 {
	padding: 20px;
	padding-right: 70px;
}

.accordeon-icon-all>.et_pb_module>h3:before {
	right: 20px;
}

.accordeon-icon-all>.et_pb_module>.et_pb_toggle_content {
	padding: 0 20px 20px;
}

.texte-gradient,
.texte-gradient-jaune,
.texte-gradient-rouge,
.texte-gradient-vert,
.texte-gradient-bleu,
.texte-gradient-noir {
	-webkit-background-clip: text !important;
	background-clip: text !important;
	-webkit-text-fill-color: transparent !important;
	color: transparent !important;
	/* display: inline-block; */
	display: inline;
	/* line-height: 1.1; */
	line-height: inherit;
	padding-right: .04em;
	padding-bottom: .04em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.texte-gradient {
	background-image: linear-gradient(to right, #00CC8F, #1F5AF9);
}

.texte-gradient-jaune {
	background-image: linear-gradient(to bottom, #F3D90F, #F5B400);
}

.texte-gradient-rouge {
	background-image: linear-gradient(to bottom, #FF8074, #E84C3D);
}

.texte-gradient-bleu {
	background-image: linear-gradient(to bottom, #539EFF, #006FFF);
}

.texte-gradient-vert {
	background-image: linear-gradient(to bottom, #68D286, #31C266);
}

.texte-gradient-noir {
	background-image: linear-gradient(to bottom, #737373, #252525);
}

.texte-gradient-violet-vertical {
	background: linear-gradient(to bottom, #8188f8 0%, #5C7CFB 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.texte-gradient-violet {
	background: linear-gradient(90deg, #afb4ff 0%, #5C7CFB 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

ul.list-none {
	list-style: none;
}

ul.list-icon {
	list-style: none;
	padding-left: 0;
	margin-left: 0;
}

ul.list-icon li {
	position: relative;
	padding-left: 30px;
	padding-bottom: 5px;
	list-style-type: none;
}

ul.list-icon li:before {
	content: "\26";
	font-family: 'ETmodules';
	position: absolute;
	left: 0;
	top: 0;
	color: #40B97C;
	font-size: 16px;
}

ul.list-icon.arrow-red li:before {
	color: #e84c3d;
}

ul.list-icon.arrow-bleu li:before {
	color: #006FFF;
}

ul.list-icon.arrow-noir li:before {
	color: #252525;
}

ul.list-icon.check {
	padding-left: 0 !important;
}

ul.list-icon.check li {}

ul.list-icon.check li:before {
	content: "\4e";
	color: #e84c3d;
	font-size: 13px;
}

body:not(.single-post) blockquote {
	padding: 0;
	margin: 0;
}

@media (min-width: 981px) {
	.et_pb_column_single {
		padding: 0;
	}
}

/* Trigger */
.hr-trigger {
	display: #4A90E2;
	font-weight: bold;
	cursor: pointer;
	border-bottom: 2px dashed #4A90E2;
	position: relative;
	display: inline-block;
}

.hr-tooltip {
	display: none;
	position: absolute;
	bottom: 125%;
	left: 50%;
	transform: translateX(-50%) translateY(10px);
	background: #ffffff;
	color: #333;
	padding: 15px 20px;
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
	width: 250px;
	font-size: 14px;
	line-height: 1.4;
	z-index: 999;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	pointer-events: none;
}

.hr-tooltip::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin-left: -8px;
	border-width: 8px;
	border-style: solid;
	border-color: #ffffff transparent transparent transparent;
}

.hr-trigger:hover .hr-tooltip {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.ft-30 {
	font-size: 30px;
}

.float-left {
	float: left;
}

.float-right {
	float: right;
}

.w-350 {
	width: 350px !important;
}

/* Hauteur image = colonne : wraps image + <img> seulement (pas * → wrappers Divi VB) */
.img-height-100.et_pb_image,
.img-height-100 .et_pb_image,
.img-height-100.et_pb_image .et_pb_module_inner,
.img-height-100 .et_pb_image .et_pb_module_inner,
.img-height-100 .et_pb_image_wrap,
.img-height-100 img {
	height: 100% !important;
}

.img-height-100 img {
	object-fit: cover;
	width: 100%;
}

.h1 {}

.h2,
.resume-title-h2 .et_pb_module_header {
	font-size: 56px !important;
	line-height: 67px !important;
}

.h3 {
	font-size: 36px !important;
	line-height: 40px !important;
	letter-spacing: -0.5px !important;
}

.h4,
.resume-title-h4 .et_pb_module_header {
	font-size: 24px !important;
	line-height: 36px !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	padding-bottom: 0;
}

h3,
h4,
h5,
h6 {
	letter-spacing: -0.5px !important;
}

/*.et_pb_section_0{padding-top:167px!important;}*/
@media (max-width: 980px) {
	h1 {
		letter-spacing: -1px !important;
	}
}

/* Offset contenu vs hauteur réelle du header (menu mobile) */
:root {
	--whp-header-offset: 167px;
	--whp-header-pad-top: 40px;
	--whp-header-bar: 167px;
	/* hauteur header avec padding-top */
	--whp-menu-gap: 0px;
	/* écart sous le header → #mobile_menu1 (0 = collé) */
}

#et-main-area .et_pb_section_0 {
	padding-top: var(--whp-header-offset) !important;
}

body.single-post #et-main-area .et_pb_section_0 {
	padding-top: 0px !important;
}

body.single-post.is-category-recrutement #et-main-area .et_pb_section_0 {
	padding-top: var(--whp-header-offset) !important;
}

/* Page protégée : Divi sort une section sans et_pb_section_0 → offset + pleine largeur */
#et-main-area .et_pb_section:has(.et_password_protected_form),
#main-content .et_pb_section:has(.et_password_protected_form) {
	padding-top: var(--whp-header-offset) !important;
	width: 100%;
}

.et_password_protected_form {
	max-width: 800px;
	margin: 0 auto;
	padding: 40px 24px 60px;
	box-sizing: border-box;
	text-align: center;
}

.et_password_protected_form h1,
.et_password_protected_form>p {
	text-align: center;
	margin-bottom: 20px;
}

.et_password_protected_form form {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.et_password_protected_form form>p {
	margin: 0;
	width: 100%;
	text-align: center;
	display: flex;
	justify-content: center;
}

.et_password_protected_form label {
	display: none;
}

.et_password_protected_form input[type="password"] {
	width: 100%;
}

.et_password_protected_form .et_submit_button.et_pb_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	padding: 14px 40px !important;
}

.et_password_protected_form .et_submit_button.et_pb_button:hover {
	color: #ffffff !important;
	background-color: #0a0a0a !important;
	border-radius: 0 !important;
}

.et_password_protected_form .et_submit_button.et_pb_button:after {
	display: flex !important;
	margin-left: 0px !important;
	position: relative !important;
	opacity: 1 !important;
}

@media (max-width: 980px) {
	:root {
		/* Contenu: 130px | Header mesuré: 127px (107px scrolled sans pad-top) */
		--whp-header-offset: 130px;
		--whp-header-pad-top: 20px;
		--whp-header-bar: 127px;
	}

	/* Header moins haut : 40px → 20px (Divi injecte 40px fixe) */
	#header-section.et_pb_section,
	.et_pb_section_0_tb_header.et_pb_section {
		padding-top: 20px !important;
		padding-bottom: 20px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.w-100-mobile {
		width: 100% !important;
	}

	.h2,
	.resume-title-h2 .et_pb_module_header {
		font-size: 40px !important;
		line-height: 48px !important;
	}

	.h3 {
		font-size: 28px !important;
		line-height: 36px !important;
	}

	.h4,
	.resume-title-h4 .et_pb_module_header {
		font-size: 20px !important;
		line-height: 28px !important;
	}

	#et-main-area .et_pb_section_0 {
		padding-top: var(--whp-header-offset) !important;
	}

	body.single-post #et-main-area .et_pb_section_0 {
		padding-top: 0px !important;
	}

	body.single-post.is-category-recrutement #et-main-area .et_pb_section_0 {
		padding-top: var(--whp-header-offset) !important;
	}
}

@media (max-width: 767px) {
	:root {
		/* Contenu: 120px | Header mesuré: 111px (99px scrolled sans pad-top) */
		--whp-header-offset: 120px;
		--whp-header-pad-top: 12px;
		--whp-header-bar: 111px;
	}

	#header-section.et_pb_section,
	.et_pb_section_0_tb_header.et_pb_section {
		padding-top: 12px !important;
		padding-bottom: 12px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.h2,
	.resume-title-h2 .et_pb_module_header {
		font-size: 28px !important;
		line-height: 34px !important;
	}

	.h3 {
		font-size: 22px !important;
		line-height: 28px !important;
	}

	.h4,
	.resume-title-h4 .et_pb_module_header {
		font-size: 18px !important;
		line-height: 24px !important;
	}

	#et-main-area .et_pb_section_0 {
		padding-top: var(--whp-header-offset) !important;
	}

	body.single-post #et-main-area .et_pb_section_0 {
		padding-top: 0px !important;
	}

	body.single-post.is-category-recrutement #et-main-area .et_pb_section_0 {
		padding-top: var(--whp-header-offset) !important;
	}

	/*#et-main-area .et_pb_section_0{padding-top:117px!important;}
	body.single-post #content-area:not(:has(.category-recrutement)) .et_pb_section_0{padding-top:0px!important;}*/
}

.icon-div:before {
	content: "\52";
	font-family: 'ETmodules';

	font-size: 12px;
	vertical-align: middle;
	font-weight: normal;
}

.icon-check:before {
	content: "\4e";
}

.icon-check {
	color: white;
	background-color: #006fff;
	height: 20px;
	width: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
}

.argument-recrutement .rejoindre-argu-content {
	padding-left: 30px;
	padding-bottom: 20px;
	position: relative;
}

.argument-recrutement .rejoindre-argu-content .fa-solid {
	color: #e84c3d;
	position: absolute;
	left: 0px;
	top: 11px;
	font-size: 10px;
	z-index: 2;
}

.argument-recrutement .et_pb_text_inner {
	position: relative;
}

.argument-recrutement .et_pb_text_inner:before {
	content: "";
	/* Indispensable pour que le pseudo-élément s'affiche */
	position: absolute;
	top: 12px;
	bottom: 0;
	/* Top 0 + Bottom 0 force la ligne à faire toute la hauteur */
	left: 4px;
	/* Positionnée à exactement 4 cm de la gauche */
	width: 2px;
	/* L'épaisseur de votre ligne */
	background-color: #d5d5d5;
	/* Votre couleur grise (à ajuster selon vos goûts) */
	z-index: 1;
}

/*===============================================================================
02. Boutons
===============================================================================*/
.btn-full.btn-primary,
.btn-full.btn-secondary {
	width: 100%;
}

a.et_pb_button:not([class*="bg-anim-after"]):after {
	margin-left: 15px !important;
}

a.et_pb_button {
	line-height: 1em !important;
}

/* BTN PRIMARY */
body.et-db #page-container .et_pb_row .et_pb_column .btn-primary {
	border: 2px solid black !important;
}

.btn-primary {
	display: flex !important;
	width: fit-content;
	justify-content: center;
	border: 2px solid black !important;
}

.btn-primary-border-white {
	border: 2px solid white !important;
}

.btn-primary:after {
	position: relative !important;
}

.btn-anim-icones:hover:after {
	transform: rotate(-45deg);
}

/* BTN SECONDARY */
.btn-secondary {
	position: relative;
	z-index: 1;
	border: 2px solid #D5D5D5;
	background: transparent !important;
	transition: all 0.3s ease;
	/*border-radius: 20px!important;*/
}

.bg-anim-before:before,
.bg-anim-after:after,
.bg-anim-btn-form a:after {
	display: block !important;
	content: "" !important;
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	z-index: -1;
	border-radius: 15px;
	background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #00CC8F, #1F5AF9);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	border: 2px solid transparent;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	margin: 0 !important
}

.bg-anim-before:hover:before,
.bg-anim-after:hover:after,
.bg-anim-btn-form a:hover:after {
	opacity: 1;
}

.border-anim:hover {
	border-color: transparent;
}

.form-btn-left form .et_contact_bottom_container {
	float: left !important;
}

form .et_contact_bottom_container {
	margin-top: 0 !important;
}

form .et_contact_bottom_container button:hover:after {
	transform: rotate(-45deg);
}

/*===============================================================================
03. Header & navigation
===============================================================================*/
.et_mobile_menu li a:hover,
.nav ul li a:hover {
	background-color: transparent;
	opacity: 1;
}

#header-section {
	transition: all 0.5s ease;
	z-index: 999
}

/* Gagne sur les padding !important responsive (20px / 12px) */
#header-section.scrolled,
#header-section.scrolled.et_pb_section,
.et_pb_section_0_tb_header.et_pb_section.scrolled {
	padding-top: 0 !important;
}

#header-section>.et_pb_row {
	display: flex;
	align-items: center;
	box-shadow: 0 8px 24px rgba(11, 27, 58, 0.08);
	/*backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);*/
}

#header-section>.et_pb_row::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: inherit;
	pointer-events: none;
}

#header-section>.et_pb_row>.et_pb_column:first-child {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: fit-content;
	margin: 0 !important;
}

#header-section>.et_pb_row>.et_pb_column:nth-child(2) {
	flex: 1 1 auto !important;
	width: auto !important;
	margin: 0 !important;
}

#header-section>.et_pb_row>.et_pb_column:last-child {
	flex: 0 0 auto !important;
	width: auto !important;
	white-space: nowrap;
	display: flex !important;
	gap: 15px;
}

#header-section .btn-colonne {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 25px;
}

/* Header - Mega menu desktop */
#menu-header-principal>li {
	height: 79px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

/* Items menu sans lien (classe no-link) : pas de clic, n’ferme pas le menu */
#menu-header-principal li.no-link,
#menu-header-principal li.no-link>a,
#mobile_menu1 li.no-link,
#mobile_menu1 li.no-link>a {
	pointer-events: none;
	cursor: default;
}

#menu-header-principal>li.agence.menu-item-has-children>ul {
	border: 0;
	border-radius: 25px;
	/*width:260px;*/
}

#menu-header-principal>li.agence.menu-item-has-children>ul>li>a,
#mobile_menu1>li.agence.menu-item-has-children>ul.sub-menu>li>a {
	gap: 10px;
	display: flex;
	align-items: center;
	padding-left: 10px;
}

#menu-header-principal>li.agence.menu-item-has-children>ul>li>a:before,
#mobile_menu1>li.agence.menu-item-has-children>ul.sub-menu>li>a:before {
	content: "\e01d";
	font-family: 'ETmodules';
	margin-right: 0;
	color: #111111;
	font-size: 20px;
	vertical-align: middle;
	font-weight: normal;
	flex-shrink: 0;
}

#menu-header-principal>li.agence.menu-item-has-children>ul>li.icon-left.icon-user>a:before,
#mobile_menu1>li.agence.menu-item-has-children>ul.sub-menu>li.icon-left.icon-user>a:before {
	content: "\e08a";
}

#menu-header-principal>li.agence.menu-item-has-children>ul>li.icon-left.icon-action>a:before,
#mobile_menu1>li.agence.menu-item-has-children>ul.sub-menu>li.icon-left.icon-action>a:before {
	content: "\e021";
}

#menu-header-principal>li.agence.menu-item-has-children>ul>li.icon-left.icon-outil>a:before,
#mobile_menu1>li.agence.menu-item-has-children>ul.sub-menu>li.icon-left.icon-outil>a:before {
	content: "\e035";
}

#menu-header-principal>li.menu-item-has-children a:after {
	transition: all 0.5s ease;
}

#menu-header-principal>li.menu-item-has-children:hover>a:after {
	transform: rotate(180deg);

}

#menu-header-principal>li.mega-menu>ul.sub-menu {
	border: 0;
	border-radius: 25px;
	display: flex;
	gap: 20px;
	min-width: 900px;
	pointer-events: none;
}

#menu-header-principal>li.mega-menu.et-hover>ul.sub-menu,
#menu-header-principal>li.mega-menu:hover>ul.sub-menu {
	pointer-events: auto;
	background: linear-gradient(to right, #FFFFFF 0%, #FFFFFF 66.6%, #FAFAFA 66.6%, #FAFAFA 100%);
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>a {
	display: none;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children:not(.img-container)>ul.sub-menu {
	height: 100%;
	gap: 20px;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li {
	flex: 1;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item>a,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item>a {
	display: flex;
	border-radius: 25px;
	padding: 20px;
	flex-wrap: wrap;
	font-size: 20px;
	line-height: 22px;
	font-weight: 700;
	row-gap: 10px;
	transition: all 0.5s ease;
	overflow: hidden;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.seo>a,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.seo>a {
	background-color: rgb(49 194 102 / 2%);
	border: 1px solid #C6F3D7;
	color: #31C266 !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.seo>a:hover {
	border: 1px solid #31C266;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a {
	background-color: rgb(0 110 255 / 2%);
	border: 1px solid #D6E8FF;
	color: #006FFF !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a:hover {
	border: 1px solid #006FFF;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.dev>a,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.dev>a {
	background-color: rgba(232, 76, 61, 0.02);
	border: 1px solid #FFD7D3;
	color: #E84C3D !important;
}

#menu-header-principal>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item>a {
	height: 100%;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.dev>a:hover {
	border: 1px solid #E84C3D;

}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.tracking>a,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.tracking>a {
	background-color: rgba(18, 18, 18, 0.02);
	border: 1px solid #E8E8E8;
	color: #121212 !important;

}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.tracking>a:hover {
	border: 1px solid #121212;
}

#menu-header-principal>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item>a:before,
#mobile_menu1>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item>a:before {
	content: "\e01d";
	font-family: 'ETmodules';
	margin-right: 10px;
	color: #111111;
	font-size: 20px;
	vertical-align: middle;
	font-weight: normal;
	transition: all 0.5s ease;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a:before,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a:before {
	content: "\e106" !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.seo>a:hover:before {
	color: #31C266 !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a {
	content: "\e106" !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.sea>a:hover:before {
	color: #006FFF !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.dev>a:before,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.dev>a:before {
	content: "\6a" !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.dev>a:hover:before {
	color: #E84C3D !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.tracking>a:before,
#mobile_menu1>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.tracking>a:before {
	content: "\e0e9" !important;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item.tracking>a:hover:before {
	color: #121212 !important;
}

#menu-header-principal>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item>a:after {
	content: "";
	width: 100%;
	height: 0px;
	border-top: 1px solid rgba(0, 0, 0, .1);
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: 10;
	border-top-color: transparent;
	border-top-width: 5px;

}

#menu-header-principal>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item.seo>a:hover:after {

	border-top-color: #31C266;
}

#menu-header-principal>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item.sea>a:hover:after {
	border-top-color: #006FFF;
}

#menu-header-principal>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item.dev>a:hover:after {
	border-top-color: #E84C3D;
}

#menu-header-principal>li>ul.sub-menu>li.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item.tracking>a:hover:after {
	border-top-color: #121212;
}

#menu-header-principal>li>ul.sub-menu>.menu-item-has-children>ul.sub-menu>li.menu-item>a>.menu-desc {
	font-size: 14px;
	line-height: 18px;
	font-weight: 500;
	color: #92989F;
	width: 100%;
	margin-left: 30px;
}

#menu-header-principal .img-container>.sub-menu,
#mobile_menu1 .img-container>.sub-menu {
	background-color: transparent !important;
}

#menu-header-principal .img-container .btn-formation a,
#mobile_menu1 .img-container .btn-formation a {
	border-radius: 15px;
	height: 54px;
	display: flex;
	align-items: center;
	border: 2px solid #D5D5D5;
	width: fit-content !important;
	font-size: 15px;
	font-weight: 700;
	justify-content: center;
	width: 100% !important;
	transition: all 300ms ease 0ms;
	position: relative;
}

#menu-header-principal .img-container .btn-formation a:hover,
#mobile_menu1 .img-container .btn-formation a:hover {
	border: 2px solid transparent;
}

#menu-header-principal .img-container .btn-formation a:before,
#mobile_menu1 .img-container .btn-formation a:before {
	content: "\e022";
	font-family: 'ETmodules';
	margin-right: 10px;
	color: #111111;
	font-size: 13px;
	vertical-align: middle;
	font-weight: normal;
	flex-shrink: 0;
}

/* Header - Menu mobile */
@media (max-width: 1200px) {
	body.no-scroll {
		overflow: hidden;
	}

	#header-section>.et_pb_row>.et_pb_column:nth-child(2) .et_pb_menu__wrap {
		justify-content: flex-end;
	}

	#header-section>.et_pb_row>.et_pb_column:last-child {
		display: none !important;
	}

	#header-section .et_pb_menu__menu {
		display: none !important;
	}

	#header-section .et_mobile_nav_menu {
		display: block !important;
	}

	.et_pb_menu .et_mobile_menu,
	.et_pb_menu .et_mobile_menu ul {
		list-style: none !important;
		text-align: left;

	}

	.et_pb_menu .et_mobile_menu {
		top: 100%;
		padding: 5%;
	}

	#header-section>.et_pb_row>.et_pb_column:first-child {
		z-index: 999999999;
	}

	#header-section .mobile_menu_bar {
		z-index: 999999999;
		transform: none;
	}

	#mobile_menu1 {
		position: fixed;
		top: 0;
		bottom: 10px;
		max-height: 100% !important;
		/* Hauteur réelle du header + écart (pas l’offset contenu) */
		margin-top: calc(var(--whp-header-bar) + var(--whp-menu-gap));
		width: auto;
		overflow-y: auto;
		border: 0;
		border-radius: 10px;
		left: 40px;
		right: 40px;
		padding: 10px;
	}

	/* Scrolled: padding-top → 0, on retire pad-top mais on garde le même gap */
	#header-section.scrolled #mobile_menu1 {
		margin-top: calc(var(--whp-header-bar) - var(--whp-header-pad-top) + var(--whp-menu-gap)) !important;
	}

	#mobile_menu1>li {
		border-bottom: 1px solid rgba(0, 0, 0, .1);
		position: relative;
	}

	#mobile_menu1>li.menu-item-has-children:after {
		content: "\33";
		font-family: 'ETmodules';
		margin-right: 0px;
		color: #111111;
		font-size: 25px;
		vertical-align: middle;
		font-weight: normal;
		position: absolute;
		right: 0;
		top: 0;
		transform: translateY(3px);
		z-index: -1;
		background-color: #000000;
		height: 40px;
		width: 40px;
		color: white;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 15px;
	}

	#mobile_menu1>li.menu-item-has-children.open:after {
		content: "\4b";
	}

	#mobile_menu1>li>a {
		background-color: transparent;
		padding: 15px 5px;
		line-height: 16px;
		border-radius: 0px;
		margin: 10px 0;

	}

	#mobile_menu1>li>span.submenu-toggle {
		background-color: transparent;
		font-weight: 700;
		font-size: 16px;
		letter-spacing: 0px;
		padding: 15px 5px;
		display: block;
		cursor: pointer;
		position: relative;
		border-radius: 0px;
		line-height: 16px;
		margin: 10px 0;
	}

	#mobile_menu1>li>ul.sub-menu {
		max-height: 0;
		overflow: hidden;
		transition: all 0.5s ease;
		background-color: transparent !important
	}

	#mobile_menu1>li.mega-menu>ul.sub-menu>li>a {
		display: none;
	}

	.et_mobile_menu li li {
		padding: 0;
	}

	.et_pb_menu .et_mobile_menu li ul {
		padding: 0;
	}

	#mobile_menu1>li.mega-menu>ul.sub-menu>li>ul>li>a>.menu-desc {
		display: none;
	}

	#mobile_menu1>li>ul.sub-menu>.menu-item-has-children:not(.img-container)>ul.sub-menu>li.menu-item>a {
		margin: 10px 0;
		font-size: 16px;
		padding-bottom: 15px;
		padding-top: 15px;
	}

	#mobile_menu1 .img-container .btn-formation {
		margin-bottom: 16px;
	}
}

@media (max-width: 980px) {
	#mobile_menu1 {
		left: 20px;
		right: 20px;
	}
}

@media (max-width: 767px) {
	#mobile_menu1 {
		left: 10px;
		right: 10px;
	}
}


/*===============================================================================
04. Accueil
===============================================================================*/

/* Accueil - Marquee hero */
.marquee-container {
	display: flex;
	overflow: hidden;
	width: 100%;
	padding: 0;
}

.marquee-container .et_pb_column {
	display: flex !important;
	flex-direction: row !important;
	width: auto !important;
	flex-shrink: 0;
	animation: scroll-infinite 30s linear infinite;
}

.marquee-container img,
.marquee-container .et_pb_image {
	width: 250px !important;
	height: 230px !important;
	max-width: 380px !important;
	flex-shrink: 0;
	object-fit: cover;
	margin: 0 10px !important;
	border-radius: 25px;
}

@keyframes scroll-infinite {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

/* Accueil - Faites appel à nous pour ...
   display:none front only — visible dans le Visual Builder (body.et-fb) */
body:not(.et-fb) #gagner-visibilite {
	display: flex;
}

body:not(.et-fb) #creer-site-web,
body:not(.et-fb) #booster-ventes,
body:not(.et-fb) #optimiser-seo {
	display: none;
}

body.et-fb #gagner-visibilite,
body.et-fb #creer-site-web,
body.et-fb #booster-ventes,
body.et-fb #optimiser-seo {
	display: flex !important;
}

#creer-site-web:after,
#booster-ventes:after,
#optimiser-seo:after,
#gagner-visibilite:after {
	display: none;
}

@media (max-width: 980px) {

	#creer-site-web .et_pb_column:first-child,
	#booster-ventes .et_pb_column:first-child,
	#optimiser-seo .et_pb_column:first-child,
	#gagner-visibilite .et_pb_column:first-child {
		margin-bottom: 0 !important;
	}

	#creer-site-web,
	#booster-ventes,
	#optimiser-seo,
	#gagner-visibilite {
		flex-direction: column-reverse;
		gap: 30px;
	}


}

/* Accueil - Logos certification hero */
.logo-certif {
	display: flex;
	align-items: center;
	justify-content: space-between;
	row-gap: 20px;
}

.logo-certif:after {
	display: none;
}

.logo-certif .et_pb_column {
	margin: 0 !important;
	width: fit-content !important;
}

@media (max-width: 767px) {
	.logo-certif .et_pb_column {
		width: 50% !important;
	}
}


/*===============================================================================
05. Pistes / cards services
===============================================================================*/

/* Pistes - Layout colonnes */
.pistes-ligne {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: center;
}

.pistes-ligne>.et_pb_column {
	/* max-width: 320px; */
}

.pistes-ligne:after {
	display: none;
}

@media (min-width: 981px) {
	.pistes-ligne {
		display: grid;
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}

	.pistes-ligne>.et_pb_column {
		width: 100% !important;
	}
}

@media (min-width: 981px) and (max-width: 1400px) {
	.pistes-ligne {

		grid-template-columns: auto auto;
	}
}

@media (max-width: 981px) {
	.pistes-ligne>.et_pb_column {
		min-width: 300px;
	}

	.pistes-ligne>.et_pb_column {
		width: calc(50% - 6px) !important;
	}
}

/* Mobile : pistes en pleine largeur (comme formations), override Divi 50% */
@media (max-width: 760px) {
	.pistes-ligne {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.pistes-ligne>.et_pb_column,
	.pistes-ligne>.et_pb_column.et_pb_column_1_4,
	.pistes-ligne>.et_pb_column.et_pb_column_1_5 {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: 0 !important;
		flex: 1 1 100%;
	}
}

/* Pistes - Tags */
.tags-container>.et_pb_text_inner>p,
.tags-container>.et_pb_text_inner>div {
	display: flex;
	flex-wrap: wrap;
}

.tags-pistes {
	border-radius: 6px;
	padding: 3px 11px;
	background-color: rgb(49 194 102 / 12%);
	margin: 5px !important;
}

.tags-bleu .tags-pistes {
	background-color: rgb(0 111 255 / 10%);
}

.tags-rouge .tags-pistes {
	background-color: rgb(232 76 61 / 10%);
}

.tags-noir .tags-pistes {
	background-color: rgb(18 18 18/0.1);
}

.tags-jaune .tags-pistes {
	background-color: rgb(255 187 0/0.12);
}

.tags-grey .tags-pistes {
	background-color: rgba(17, 17, 17, 0.12);
}

.tags-violet .tags-pistes {
	background-color: rgb(129 136 248 / 0.12);
}

/* Pistes - Décoration recherche / ChatGPT */
.custom-fake-search-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	position: relative;
	padding: 20px 0;
}

.fake-search-bar {
	display: flex;
	align-items: center;
	border: 2px solid #000;
	border-radius: 50px;
	padding-left: 10px;
	width: 145px;
	height: 38px;
	position: relative;
	background: #fff;
	user-select: none;
	transform: rotate(-3deg);
}

.search-icon {
	margin-right: 5px;
	color: #888;
	font-size: 14px;
}

.search-text {
	color: #888;
	font-family: sans-serif;
	font-size: 14px;
	line-height: 24px;
}

.hand-pointer {
	position: absolute;
	top: -25px;
	right: -15px;
	pointer-events: none;
	transform: rotate(16deg);
	width: 42px;
}

.hand-pointer img {
	width: 100%;
	height: auto;
}

.chatgpt-logo img {
	width: auto;
	display: block;
	width: 69px;
}

.pistes-ligne>.et_pb_column .custom-fake-search-wrapper div {
	transition: all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.pistes-ligne>.et_pb_column:hover .fake-search-bar {
	transform: rotate(0deg) scale(1.05);
	border-color: #74aa9c;
}

.pistes-ligne>.et_pb_column:hover .hand-pointer {
	transform: translate(-10px, 15px) rotate(5deg);
}

.pistes-ligne>.et_pb_column:hover .chatgpt-logo {
	transform: rotate(10deg) scale(1.1);
}

/* Pistes - Bouton angle bas droite */
.colonne-angle-special {
	position: relative !important;
	/*overflow: visible !important;*/
	border-bottom-right-radius: 0 !important;
	padding-bottom: 100px !important;
}

.custom-btn-vert {
	position: absolute !important;
	bottom: 0 !important;
	right: 0 !important;
	margin: 0 !important;
	width: 55px !important;
	height: 55px !important;
	background-color: #67c17b !important;
	border-radius: 20px !important;
	z-index: 10;
	box-shadow: 0 0 0 10px #f6f7ff !important;
}

.custom-btn-vert.btn-bleu {
	background-color: #006fff !important;
}

.custom-btn-vert.btn-rouge {
	background-color: #e84c3d !important;
}

.custom-btn-vert.btn-noir {
	background-color: #121212 !important;
}

.custom-btn-vert.btn-jaune {
	background-color: #FFBB00 !important;
}

.custom-btn-vert a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 100% !important;
	text-decoration: none !important;
}

.custom-btn-vert .et-pb-icon {
	font-size: 22px !important;
	color: #ffffff !important;
	line-height: 1 !important;
	transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.custom-btn-vert a:hover .et-pb-icon {
	transform: scale(1.2);
}

.custom-btn-vert::before {
	content: "";
	position: absolute;
	top: -30px;
	right: -10px;
	width: 20px;
	height: 20px;
	background-color: transparent;
	border-radius: 0 0 20px 0;
	box-shadow: 10px 10px 0 0 #f6f7ff;
	pointer-events: none;
	z-index: 5;
}

.custom-btn-vert::after {
	content: "";
	position: absolute;
	bottom: -10px;
	left: -30px;
	width: 20px;
	height: 20px;
	background-color: transparent;
	border-radius: 0 0 20px 0;
	box-shadow: 10px 10px 0 0 #f6f7ff;
	pointer-events: none;
	z-index: 5;
}

/* Pistes - Réseaux sociaux */
.social-icons-wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	height: 100px;
}

.icon-item {
	width: 60px;
	position: relative;
	transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
	margin: 0 -5px;
	z-index: 1;
}

.icon-item.tik-tok {
	width: 36px;
	transform: rotate(10deg)
}

.icon-item.facebook {
	width: 50px;
	transform: translate(10px, 20px) rotate(-10deg);
}

.icon-item.google {
	width: 38px;
	transform: translate(-10px, -10px) rotate(10deg);
}

.icon-item.linkedin {
	width: 46px;
	transform: translate(-15px, 15px) rotate(15deg);
}

.icon-item.instagram {
	width: 38px;
	transform: translate(-5px, 0px) rotate(-13deg);
}

.icon-item img {
	width: 100%;
	height: auto;
	display: block;
}

.pistes-ligne>.et_pb_column:hover .icon-item {
	margin: 0 2px;
}

.pistes-ligne>.et_pb_column:hover .icon-item.tik-tok {
	transform: rotate(5deg) scale(1.05);
}

.pistes-ligne>.et_pb_column:hover .icon-item.facebook {
	transform: translate(5px, 10px) rotate(-5deg) scale(1.05);
}

.pistes-ligne>.et_pb_column:hover .icon-item.google {
	transform: translate(-5px, -5px) rotate(5deg) scale(1.05);
}

.pistes-ligne>.et_pb_column:hover .icon-item.linkedin {
	transform: translate(-8px, 8px) rotate(8deg) scale(1.05);
}

.pistes-ligne>.et_pb_column:hover .icon-item.instagram {
	transform: translate(-3px, 0px) rotate(-6deg) scale(1.05);
}

.icon-item:hover {
	/*transform: scale(1.2) rotate(0deg) !important;*/
	/*z-index: 10;*/
}

.img-analytics {
	transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.pistes-ligne>.et_pb_column:hover .img-analytics {
	transform: scale(1.05) rotate(2deg);
}

.img-analytics:hover {
	transform: scale(1.1) rotate(0deg) !important;
}

/* Pistes - Logos site web UX */
.container-logos-hp {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 30px;
}

.container-logos-hp img {
	max-width: 100px;
	height: auto;
	transition: transform 0.3s ease;
}

.container-logos-hp img.wordpress-logo {
	transform: rotate(-13deg) translate(-10px, -40px);
	opacity: 44%;
}

.pistes-ligne .colonne-angle-special:hover .container-logos-hp img.wordpress-logo {
	transform: rotate(13deg) translate(-10px, -40px);
}

.container-logos-hp img.bootstrap-logo {
	transform: rotate(22deg) translate(20px, 30px);
	opacity: 44%;
}

.pistes-ligne .colonne-angle-special:hover .container-logos-hp img.bootstrap-logo {
	transform: rotate(-22deg) translate(20px, 30px);
}

.container-logos-hp img.w-logo {
	transform: rotate(-15deg) translate(20px, 10px);
	max-width: 105px;
}

.pistes-ligne .colonne-angle-special:hover .container-logos-hp img.w-logo {
	transform: rotate(15deg) translate(20px, 10px);

}

@media (max-width: 767px) {
	.container-logos-hp {
		gap: 20px;
	}

	.container-logos-hp img {
		max-width: 100px;
	}
}

/* Pistes - Formations */
.colonne-formations {
	display: flex;
	gap: 12px;
	justify-content: center;
}

@media (max-width: 981px) {
	.colonne-formations {
		/* max-width: 662px !important; */
		flex-wrap: wrap;

	}
}

@media (max-width: 724px) {}

.colonne-formations:after {
	display: none;
}

.text-img-colonnes .et_pb_text_inner {
	display: flex;
}

.text-img-colonnes .et_pb_text_inner>ul {
	margin-right: 10px;
}

.text-img-colonnes .et_pb_text_inner .formations-img {
	max-height: 100px;

	position: relative;
	width: fit-content;
	margin: 0 auto;
}


@media (max-width: 767px) {
	.text-img-colonnes .et_pb_text_inner {
		flex-direction: column;
	}

	.text-img-colonnes .et_pb_text_inner .formations-img {
		justify-content: center;
	}
}

.text-img-colonnes .et_pb_text_inner .formations-img img.icon-form-tableau {
	max-width: 130px;
}

.text-img-colonnes .et_pb_text_inner .formations-img img.icon-form-googads {
	position: absolute;
	bottom: 0;
	right: 10px;
	transform: translateY(60%);
	transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);

}

.colonne-formations .col-formation-texte:hover img.icon-form-googads {
	transform: translateY(60%) rotate(45deg);
}

.img-pistes,
.img-pistes>.et_pb_image_wrap,
.img-pistes>.et_pb_image_wrap>img {
	height: 100%;
	min-height: 300px;
}

.img-pistes>.et_pb_image_wrap>img {
	object-fit: cover;
}

.icon-alarm {
	width: 48px !important;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);

}

.formations-stats {
	width: fit-content !important;
	top: 30%;
	right: 5%;
	transition: all 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
}

@media (max-width: 767px) {
	.formations-stats {
		max-width: 200px;
	}
}

.colonne-formations .col-formation-image:hover .formations-stats {
	transform: scale(1.1);
}

.colonne-formations .col-formation-image:hover .icon-alarm {
	transform: scale(1.1);
}

/* Pistes - Pourquoi nous */
.phrase-interactive {
	font-size: 24px;
	font-weight: bold;
	font-family: sans-serif;
}

.dropdown-texte {
	font-size: inherit;
	font-weight: inherit;
	letter-spacing: inherit;
	border: 1px solid #ccc !important;
	border-radius: 20px;
	padding: 0px 15px;
	cursor: pointer;
	background-color: transparent;
	appearance: none;
	-webkit-appearance: none;
	outline: none;
	color: #111111 !important;
	height: auto;
	vertical-align: middle;

	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 5px center;
	background-size: 35px;
	padding-right: 40px;
	margin-left: 10px;
}

@media (max-width: 767px) {
	.dropdown-texte {
		background-size: 25px;
		padding-right: 30px;
	}
}

.dropdown-texte option {
	font-family: inherit;
	color: #111111;
	background-color: #fff;
}

/* Dropdown custom (liste stylable) — le déclencheur garde la taille du H2 */
.phrase-interactive,
.et_pb_text:has(.whp-objectif-dd),
.et_pb_column:has(.whp-objectif-dd),
.et_pb_row:has(.whp-objectif-dd) {
	position: relative;
	z-index: 30;
	overflow: visible !important;
}

.whp-objectif-dd {
	position: relative;
	z-index: 40;
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
}

.whp-objectif-dd .dropdown-texte.whp-objectif-native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	border: 0 !important;
	white-space: nowrap !important;
}

.whp-objectif-trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	margin: 0;
	/* Un peu d’air vertical : les jambages (g, p, y) ne collent plus la bordure */
	padding: 1px 45px 3px 15px;
	border: 1px solid #ccc;
	border-radius: 20px;
	background-color: transparent;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 5px center;
	background-size: 35px;
	font-size: inherit;
	font-weight: inherit;
	font-family: inherit;
	letter-spacing: inherit;
	line-height: 1.10;
	color: #111111;
	cursor: pointer;
	text-align: left;
}

.whp-objectif-dd.is-open .whp-objectif-trigger {
	border-color: #111111;
}

/* Reset CSS listes Divi (.et_pb_text ul / #left-area ul, etc.) */
.et_pb_text ul.whp-objectif-menu,
#left-area ul.whp-objectif-menu,
.entry-content ul.whp-objectif-menu,
.et-l--body ul.whp-objectif-menu,
.et-l--footer ul.whp-objectif-menu,
.et-l--header ul.whp-objectif-menu,
ul.whp-objectif-menu {
	position: absolute;
	left: 0;
	top: calc(100% + 10px);
	z-index: 9999;
	min-width: max(100%, 280px);
	margin: 0 !important;
	padding: 10px !important;
	list-style: none !important;
	list-style-type: none !important;
	line-height: normal !important;
	background: #ffffff;
	border: 1px solid #e5e5e5;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(17, 17, 17, 0.12);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

ul.whp-objectif-menu[hidden] {
	display: none !important;
}

.et_pb_text ul.whp-objectif-menu>li,
#left-area ul.whp-objectif-menu>li,
ul.whp-objectif-menu>li {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: normal !important;
}

ul.whp-objectif-menu>li::before,
ul.whp-objectif-menu>li::marker {
	content: none !important;
	display: none !important;
}

.whp-objectif-option {
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 10px 12px;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: #555555;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	/* Pas de transition sur color/font-weight : seul le ::after (opacity) s’anime */
}

/* Même gradient sélection / pulse — opacity animée (les gradients ne morphent pas en CSS) */
.whp-objectif-option::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: 12px;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(0, 204, 143, 0.12), rgba(31, 90, 249, 0.12));
	opacity: 0;
	transition: opacity 0.7s ease;
}

.whp-objectif-option.is-pulse::after,
.whp-objectif-option.is-selected::after {
	opacity: 1;
}

.whp-objectif-option.is-pulse,
.whp-objectif-option.is-selected {
	color: #111111;
}

.whp-objectif-dd.is-intro ul.whp-objectif-menu {
	animation: whpObjectifMenuIn 0.28s ease;
}

@keyframes whpObjectifMenuIn {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.whp-objectif-dd.is-intro .whp-objectif-trigger {
	border-color: #1f5af9;
	box-shadow: 0 0 0 3px rgba(31, 90, 249, 0.18);
}

.whp-objectif-option::before {
	content: "";
	position: relative;
	z-index: 1;
	flex: 0 0 36px;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background-color: #f4f4f4;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 18px;
	transition: background-color 0.3s ease;
}

.whp-objectif-option[data-value="gagner-visibilite"]::before {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8S1 12 1 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
}

.whp-objectif-option[data-value="creer-site-web"]::before {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='3' width='20' height='14' rx='2'/%3E%3Cpath d='M8 21h8M12 17v4'/%3E%3C/svg%3E");
}

.whp-objectif-option[data-value="booster-ventes"]::before {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8'/%3E%3Cpath d='M14 7h7v7'/%3E%3C/svg%3E");
}

.whp-objectif-option[data-value="optimiser-seo"]::before {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23111111' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
}

.whp-objectif-option:hover,
.whp-objectif-option:focus-visible {
	color: #111111;
	outline: none;
}

.whp-objectif-option:hover:not(.is-selected):not(.is-pulse)::after,
.whp-objectif-option:focus-visible:not(.is-selected):not(.is-pulse)::after {
	background: #f4f4f4;
	opacity: 1;
}

.whp-objectif-option:hover::before,
.whp-objectif-option:focus-visible::before,
.whp-objectif-option.is-pulse::before,
.whp-objectif-option.is-selected::before {
	background-color: #ffffff;
}

.whp-objectif-dd.is-intro .whp-objectif-option.is-selected::after {
	opacity: 0;
}

.whp-objectif-dd.is-intro .whp-objectif-option.is-selected {
	color: #555555;
}

.whp-objectif-dd.is-intro .whp-objectif-option.is-selected::before {
	background-color: #f4f4f4;
}

@media (max-width: 767px) {
	.whp-objectif-trigger {
		background-size: 20px;
		padding-right: 30px;
	}

	ul.whp-objectif-menu {
		min-width: min(100vw - 40px, 320px);
	}
}

.phrase-interactive {
	position: relative;
	display: inline-block;
}

.nous-colonne-visi {
	display: flex;
}

.nous-colonne-visi .image-visi {
	position: absolute;
	right: 0;
	bottom: 0;
	top: auto;
}

.objectifs-resume .et_pb_blurb_content {
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.objectifs-resume .et_pb_blurb_content .et_pb_main_blurb_image {
	margin: 0;
}

.objectifs-resume .et_pb_blurb_content .et_pb_module_header {
	padding: 0;
}

/* Pistes - Actions qui comptent */
.actions-btn {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.cas-whp>.et_pb_column {
	min-height: 300px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	max-width: 500px;
}

@media (max-width: 981px) {
	.actions-btn {
		justify-content: flex-start;
	}

	.cas-whp {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

}

.cate-usecase {
	font-size: 11px;
	border: 1px solid white;
	font-weight: bold;
	width: fit-content;
	border-radius: 9px;
	padding: 0px 10px;
	margin-top: 5px;
}

.cas-whp>div.et_pb_column:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: linear-gradient(10deg, #006fff 20%, rgba(0, 102, 255, 0.4) 60%, rgba(0, 0, 0, 0.3) 80%, rgba(0, 0, 0, 0.3) 100%);

	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	z-index: -1;
}

.cas-whp>div.et_pb_column:hover:before {
	opacity: 1;
}

.btn-voir-cas {
	width: 85px;
	height: 85px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 500;
	border: 2px solid white;
	border-radius: 100%;


	/*Ajout*/
	height: 0;
	width: 0;
	margin-top: 0;
	opacity: 0;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

.cas-whp>div.et_pb_column:hover .btn-voir-cas {
	height: 85px;
	width: 85px;
	margin-top: 20px;
	opacity: 1;
}

.uses-case-listing>article:hover .btn-voir-cas {}


.uses-case-listing .et_pb_salvattore_content {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	align-items: start;
	justify-content: stretch;
}

.uses-case-listing .et_pb_salvattore_content .column,
.uses-case-listing .column.size-1of3,
.uses-case-listing .column.size-1of2,
.uses-case-listing .column.size-1of1 {
	display: contents !important;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	min-height: 0 !important;
}

.uses-case-listing article.whp-filter-hide {
	display: none !important;
}

@media (max-width: 980px) {
	.uses-case-listing .et_pb_salvattore_content {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 767px) {
	.uses-case-listing .et_pb_salvattore_content {
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

.uses-case-listing article .entry-title {
	display: none;
}

.uses-case-listing article {
	padding: 0 !important;
	margin: 0 !important;
	position: relative;
	border: none !important;
}

.uses-case-listing article .et_pb_image_container,
.uses-case-listing article .et_pb_image_container a {
	margin: 0;
}

.uses-case-listing article .et_pb_image_container a img {
	height: 300px !important;
	object-fit: cover !important;
	object-position: center;
}

body .uses-case-listing article .et_pb_image_container a .et_overlay {
	opacity: 1;
	z-index: 3;
	background: transparent !important;
}

body .uses-case-listing article .et_pb_image_container a .et_overlay:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(0, 40, 90, .82) 0%, rgba(0, 111, 255, .35) 42%, rgba(255, 255, 255, 0) 72%);
	opacity: 1;
	transition: all 0.5s ease-in-out;
	z-index: -1;
	transform: none;
}

body .uses-case-listing article .et_pb_image_container a .et_overlay:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(0, 25, 70, .92) 0%, rgba(0, 102, 255, .55) 48%, rgba(0, 0, 0, .25) 100%);
	opacity: 0;
	transition: opacity 0.5s ease-in-out;
	z-index: 2;
}

body .uses-case-listing article:hover .et_pb_image_container a .et_overlay:after {
	opacity: 1;
}

body .uses-case-listing article:hover .et_pb_image_container a .et_overlay:before {
	/*opacity: 0; */
}

.uses-case-listing article .post-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 5;
	pointer-events: none;

	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	transition: all 0.5s ease-in-out;
}

.uses-case-listing article .more-link {
	opacity: 0;
	visibility: hidden;
	height: 0px;
	transition: all 0.4s ease-in-out;

	color: #ffffff;
	font-size: 18px;
	font-weight: 900;
	position: relative;
	padding-bottom: 4px;
	text-align: center;

	display: flex;
	align-items: center;
	justify-content: center;
}

.uses-case-listing article:hover .more-link {
	opacity: 1;
	visibility: visible;
	height: 80px;
}

.uses-case-listing article .more-link {
	font-size: 0;
	/* cache le texte original */
}

.uses-case-listing article .more-link::before {
	content: "Voir le cas";
	font-size: 18px;
	color: #fff;
	text-decoration: underline;
	font-weight: 900;
}

.uses-case-listing article .more-link::after {
	font-family: 'ETmodules' !important;
	font-size: 16px;
	color: white;
	content: "\26";
	padding-left: 5px;
	transition: all 0.4s ease-in-out;
}

.uses-case-listing article .more-link:hover {
	opacity: 0.9;

}

.uses-case-listing article .more-link:hover:after {
	transform: rotate(45deg);
}

/*.uses-case-listing article .more-link::after {
content: '';
position: absolute;
left: 0;
bottom: 35px;
width: 80px;
height: 2px; 
background-color: #ffffff;
transition: transform 0.3s ease;
transform-origin: right;
}

.uses-case-listing article .more-link:hover::after {
transform: scaleX(0.8);
transform-origin: left;
}*/
.uses-case-listing article .post-content .custom-project-data-wrapper {
	padding: 0 22px 22px;
	text-align: center;
}

.uses-case-listing article .post-content .custom-project-data-wrapper .project-meta-top {
	display: block;
	margin-bottom: 14px;
}

.uses-case-listing article .project-logo-container {
	display: none !important;
}

.uses-case-listing article .project-key-stat {
	color: white;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	max-width: 100%;
}

.uses-case-listing article .stat-number {
	font-size: 34px !important;
	font-weight: 800;
	letter-spacing: -0.5px;
	line-height: 1.05 !important;
}

.uses-case-listing article .stat-text {
	font-size: 14px !important;
	line-height: 1.25 !important;
	font-weight: 600;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.uses-case-listing article .project-tags-listing {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 11px;
}

body.page-id-612 #page-container .uses-case-listing article .project-tag,
.uses-case-listing article .project-tag {
	display: inline-flex !important;
	align-items: center;
	margin: 0 !important;
	border-radius: 20px;
	padding: 3px 9px !important;
	border: 1px solid rgba(255, 255, 255, .7);
	background: transparent !important;
	color: white !important;
	font-weight: 600;
	font-size: 10px !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	white-space: nowrap;
	height: auto !important;
}

.uses-case-listing article .project-tag-more {
	border-style: dashed;
	opacity: .85;
	font-weight: 700;
}

/*===============================================================================
06. Références logos
===============================================================================*/
.whp-logo-cloud-dense {
	--cols: 5;
	display: grid;
	grid-template-columns: repeat(var(--cols), 1fr);

	max-width: 100%;
	margin: 30px auto;
}

.whp-logo-cloud-dense .logo-item {
	min-height: 120px;
	display: grid;
	place-items: center;
}

.whp-logo-cloud-dense img {
	max-width: 130px;
	max-height: 60px;
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: .80;
	/* Un peu plus bas pour les logos blancs purs, c'est plus élégant */

	/* Cette combinaison force N'IMPORTE QUEL logo à devenir blanc avec ses nuances */
	filter: brightness(0) invert(1);

	transition: all .45s ease;
}

.whp-logo-cloud-dense .logo-item:hover img {
	opacity: 1;
	/*filter: none;*/
	transform: scale(1.08);
}

.whp-logo-cloud-dense .logo-item.is-changing img {
	opacity: 0;
	transform: scale(.96);
}

/* Références - nb de cases visibles selon viewport */
.whp-logo-cloud-dense .logo-item:nth-child(n+16) {
	display: none;
	/* desktop 5×3 = 15 */
}

@media (max-width: 980px) {
	.whp-logo-cloud-dense {
		--cols: 4;
	}

	.whp-logo-cloud-dense .logo-item:nth-child(n+13) {
		display: none;
		/* 4×3 = 12 */
	}
}

@media (max-width: 760px) {
	.whp-logo-cloud-dense {
		--cols: 3;
	}

	.whp-logo-cloud-dense .logo-item:nth-child(n+10) {
		display: none;
		/* 3×3 = 9 */
	}
}

@media (max-width: 600px) {
	.whp-logo-cloud-dense {
		--cols: 2;
	}

	.whp-logo-cloud-dense .logo-item {
		min-height: 95px;
	}

	.whp-logo-cloud-dense img {
		max-width: 95px;
	}

	.whp-logo-cloud-dense .logo-item:nth-child(n+7) {
		display: none;
		/* 2×3 = 6 */
	}

	.whp-logo-cloud-dense .logo-item:nth-child(4n) {
		border-right: 1px solid rgba(255, 255, 255, .12);
	}

	.whp-logo-cloud-dense .logo-item:nth-child(2n) {
		border-right: 0;
	}
}

/*===============================================================================
07. Partenaires confiance
===============================================================================*/

/* Structure & Animation du Marquee */
.partenaires-ligne .et_pb_column {
	--card-width: 400px;
	--card-gap: 20px;
	--marquee-duration: 30s;
	overflow: hidden;
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}

.marquee-track {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	width: max-content;
	animation: scroll-left var(--marquee-duration) linear infinite;
}

.deuxieme-ligne .marquee-track {
	animation: scroll-right var(--marquee-duration) linear infinite;
}

.partenaires-ligne:hover .marquee-track {
	animation-play-state: paused;
}

/* Style des Cartes Témoignages */
.marquee-track .testi-grid {
	flex: 0 0 var(--card-width);
	margin: 0 calc(var(--card-gap) / 2);
	padding: 40px 30px;
	background-color: white;
	border-radius: 25px;
	border: 1px solid #d6e2ff;
	display: flex;
	flex-direction: column;
	gap: 15px;
	max-width: 100%;
}

.testi-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.testi-info {
	display: flex;
	flex-direction: column;
}

.testi-info .testi-name {
	margin: 0;
	font-weight: 700;
	font-size: 16px;
}

.testi-info .role {
	font-size: 16px;
	color: #1F5AF9;
	font-weight: 500;
}

.testi-img img {
	max-width: 150px;
	height: auto;
	max-height: 50px;
	object-fit: contain;
	width: auto;
}

.testi-avis {
	font-style: italic;
	line-height: 1.5;
}

/* Keyframes Animations */
@keyframes scroll-left {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

@keyframes scroll-right {
	0% {
		transform: translateX(-50%);
	}

	100% {
		transform: translateX(0);
	}
}

/* Responsive */
@media (max-width: 980px) {
	.partenaires-ligne .et_pb_column {
		--card-width: 300px;
	}

	.testi-head {
		flex-direction: column;
	}

	.testi-info {
		text-align: center;
	}

	.testi-img img {
		max-width: 100px;
	}
}

@media (max-width: 600px) {
	.partenaires-ligne .et_pb_column {
		--card-width: 200px;
		--card-gap: 10px;
	}

	.marquee-track .testi-grid {
		padding: 15px;
	}
}

/*===============================================================================
08. Blog home
===============================================================================*/
.blog-highlight {
	border-radius: 25px;
}

.blog-highlight article {
	margin: 0;
	display: flex;
	flex-direction: column;
}

.blog-highlight article>a {
	order: 1;
}


.blog-highlight article a img {
	border-radius: 25px;
	height: 372px;
	object-fit: cover;
}

.blog-highlight article h3.entry-title {
	margin-bottom: 15px;
	order: 3;
	padding: 0;
	margin: 0;
}

body .blog-highlight article .post-meta {
	order: 2;
	font-size: 0 !important;
	flex-direction: row-reverse;
	display: flex !important;
	justify-content: flex-end;
	margin-bottom: 20px;
}

.blog-highlight article .post-meta .published {
	font-size: 16px;
	color: #111111;
	margin-left: 20px;
	display: flex;
	align-items: center;
}

@media (max-width: 980px) {
	.blog-highlight article .post-meta .published {
		font-size: 14px;
	}
}

@media (max-width: 760px) {
	.blog-highlight article .post-meta .published {
		font-size: 12px;
	}
}

.blog-highlight article .post-meta a,
.blog-liste article .post-meta a {
	padding: 3px 11px;
	border-radius: 10px;
	background-color: rgb(0 0 0 / 8%);
	font-weight: 500;
	color: black !important;
	font-size: 12px;
	margin: 0 10px;
}

.blog-highlight article .post-meta a:last-child {
	margin-left: 0;
}

.blog-liste article.et_pb_post {
	margin: 0 !important;
	display: flex;
	flex-direction: column-reverse;
	padding-left: 0;
}

.blog-liste article .post-meta {
	font-size: 0 !important;
}

.blog-liste article .post-meta a:first-child {
	margin-left: 0;
}

.blog-liste article h3 {
	padding: 0;
}

.blog-listing .et_pb_image_container {
	margin: 0 !important;
}

.blog-listing article {}

@media (max-width: 980px) {
	.blog-listing article {
		padding: 20px;
	}
}

/*===============================================================================
09. Footer
===============================================================================*/
footer .container-footer {
	display: flex;
	justify-content: space-between;
}

@media (max-width: 981px) {
	footer .container-footer {
		flex-direction: column;
		justify-content: center;
		text-align: center;
		gap: 30px;
	}
}

.footer-section-gradient {
	/*background: radial-gradient(circle at top right, #1e3c3c, #0a141a 60%, #050a0e 100%);*/
	background-image:
		radial-gradient(circle at top right, rgba(49, 194, 102, 0.35) 0%, transparent 60%),
		radial-gradient(circle at bottom left, rgba(49, 194, 102, 0.1) 0%, transparent 40%);
}

/* Liens footer : soulignement animé gauche → droite (hors #contact-form & réseaux) */
footer .et_builder_inner_content>.et_pb_section:not(#contact-form) a:not(.et_pb_button):not(.icon),
.et-l--footer .et_builder_inner_content>.et_pb_section:not(#contact-form) a:not(.et_pb_button):not(.icon) {
	position: relative;
	display: inline-block;
	text-decoration: none !important;
	background-image: none !important;
}

footer .et_builder_inner_content>.et_pb_section:not(#contact-form) a:not(.et_pb_button):not(.icon)::after,
.et-l--footer .et_builder_inner_content>.et_pb_section:not(#contact-form) a:not(.et_pb_button):not(.icon)::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: currentColor;
	opacity: 0.85;
	transition: width 0.25s ease;
}

footer .et_builder_inner_content>.et_pb_section:not(#contact-form) a:not(.et_pb_button):not(.icon):hover::after,
.et-l--footer .et_builder_inner_content>.et_pb_section:not(#contact-form) a:not(.et_pb_button):not(.icon):hover::after {
	width: 100%;
}

/* Réseaux sociaux footer : lift + halo léger (icônes blanches) */
footer .et_pb_social_media_follow .et_pb_social_icon a.icon,
.et-l--footer .et_pb_social_media_follow .et_pb_social_icon a.icon {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 0 !important;
	background: transparent !important;
	color: #ffffff !important;
	transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

footer .et_pb_social_media_follow .et_pb_social_icon a.icon:before,
.et-l--footer .et_pb_social_media_follow .et_pb_social_icon a.icon:before {
	transition: inherit;
}

footer .et_pb_social_media_follow .et_pb_social_icon a.icon:hover,
.et-l--footer .et_pb_social_media_follow .et_pb_social_icon a.icon:hover {
	transform: translateY(-3px);
	background: rgba(255, 255, 255, 0.12) !important;
	color: #ffffff !important;
}

/* Bouton contact footer : aligné sur les autres .et_pb_button (radius 25px + icône) */
footer #contact-form .et_pb_contact_submit.et_pb_button,
.et-l--footer #contact-form .et_pb_contact_submit.et_pb_button,
footer .et_pb_contact_form_0_tb_footer .et_pb_contact_submit.et_pb_button,
.et-l--footer .et_pb_contact_form_0_tb_footer .et_pb_contact_submit.et_pb_button {
	border-radius: 25px !important;
	display: flex;
}

footer #contact-form .et_pb_contact_submit.et_pb_button:hover,
.et-l--footer #contact-form .et_pb_contact_submit.et_pb_button:hover,
footer .et_pb_contact_form_0_tb_footer .et_pb_contact_submit.et_pb_button:hover,
.et-l--footer .et_pb_contact_form_0_tb_footer .et_pb_contact_submit.et_pb_button:hover {
	border-radius: 0px !important;
}

footer #contact-form .et_pb_contact_submit.et_pb_button:after,
.et-l--footer #contact-form .et_pb_contact_submit.et_pb_button:after,
footer .et_pb_contact_form_0_tb_footer .et_pb_contact_submit.et_pb_button:after,
.et-l--footer .et_pb_contact_form_0_tb_footer .et_pb_contact_submit.et_pb_button:after {
	margin-left: 15px !important;
	display: flex;
	position: relative;
}

/* Contact footer : labels Divi en display:none → Lighthouse échoue.
   On les garde invisibles mais accessibles (sr-only). */
footer .et_pb_contact_form .et_pb_contact_form_label,
.et-l--footer .et_pb_contact_form .et_pb_contact_form_label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
	display: block !important;
}

/* Formulaire candidature - Dépôt de fichier */
body.et-db form .et_pb_files_container {
	border-radius: 20px;
}

body.et-db form .et_pb_file_upload_button {
	background: transparent !important;
	color: #333333 !important;
	border: 2px solid #d5d5d5 !important;
	border-radius: 15px !important;
	letter-spacing: 1%;
	font-weight: 600 !important;
	font-size: 14px !important;
	padding: 10px 20px !important;
	position: relative;
	transition: all 300ms ease 0ms;
	z-index: 1;
}

body.et-db form .et_pb_file_upload_button:hover {
	border-color: transparent !important;
}

body.et-db form .et_pb_file_upload_button:after,
.et_pb_file_upload_button:before {
	display: none;
}

body.et-db form .et_pb_file_upload_button:before {
	display: block !important;
	content: "" !important;
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	z-index: -1;
	border-radius: 15px;
	background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #00CC8F, #1F5AF9);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	border: 2px solid transparent;
	opacity: 0;
	margin: 0 !important;
	transition: all 300ms ease 0ms;
	font-size: 0 !important;
}

body.et-db form .et_pb_contact_field .et_pb_file_upload_button:hover:before {
	opacity: 1;
}

/*===============================================================================
10. Galeries / pages cas client
===============================================================================*/

/* Galerie outils */
.galerie-outils>.et_pb_gallery_items {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	max-width: 300px;
}

.galerie-outils>.et_pb_gallery_items>.et_pb_gallery_item {
	width: auto !important;
	margin-bottom: 0 !important;

}

.galerie-outils>.et_pb_gallery_items a {
	width: 50px;
	display: block;
	height: 50px;
	pointer-events: none;
}

.galerie-outils>.et_pb_gallery_items a .et_overlay {
	display: none !important;
}

.galerie-outils>.et_pb_gallery_items a img {
	border-radius: 10px;
}

@media (min-width: 981px) {
	.sticky-colonne-usecase {
		position: sticky;
		top: 150px;
	}
}

.gradient-cas-client {
	background: linear-gradient(110deg, #e8f4f8 0%, #ffffff 40%, #ffffff 60%, #dcf1f2 100%);
}


/*===============================================================================
11. Formation
===============================================================================*/

/* Formation - Témoignages */
body:not(.et-fb) .temoignage {
	display: none;
	opacity: 0;
	transition: opacity 0.5s ease;
}

.temoignage.active {
	display: block !important;
	opacity: 1 !important;
}

.temoignage>div.et_pb_text_inner {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.temoignage>div.et_pb_text_inner>div.info-client {
	display: flex;
	gap: 20px;
	align-items: center;
}

.temoignage .img-profil-container {
	width: 67px;
}

.temoignage .img-profil-container img {
	border-radius: 100%;
}

.temoignage .txt-container {
	max-width: 220px;
}

@media (max-width: 980px) {
	.temoignage blockquote {
		font-size: 30px !important;
		line-height: 1.7em;
	}
}

@media (max-width: 767px) {
	.temoignage blockquote {
		font-size: 25px !important;

	}
}

.custom-slider-nav {
	display: flex;
	gap: 25px;
	justify-content: flex-end;
}

@media (max-width: 767px) {
	.custom-slider-nav {
		justify-content: flex-start;
		padding-top: 20px;
	}
}

.nav-button {
	position: relative;
	width: 50px;
	height: 50px;
	border: 2px solid #90B5C8;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	transition: all 0.3s ease;
}

.nav-button::before {
	font-family: 'ETmodules' !important;
	font-size: 20px;
	color: #000;
}

.prev::before {
	content: "\34";
}

.next::before {
	content: "\35";
}

.nav-button:hover {
	border-color: #5a707b;
	transform: translateY(-2px);
}

/* Formation - Formations complémentaires */
.formation-complementaire:after {
	font-family: 'ETmodules' !important;
	font-size: 16px;
	color: #0066FF;
	content: "\26";
	position: absolute;
	right: 15px;
	bottom: 10px;
}

.formation-complementaire {
	overflow: hidden;

}

.formations-complementaires .et_pb_column {
	display: flex !important;
	overflow: hidden;
	white-space: nowrap;
	position: relative;
	width: auto !important;
	animation: marquee 20s linear infinite;
	flex-wrap: nowrap;
	gap: 30px;
}

.formations-complementaires>.et_pb_column>.et_pb_module {
	flex: 0 0 305px;
	text-wrap: wrap;
}

@keyframes marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(calc(-50%));
	}
}

.formations-complementaires .et_pb_column:hover {
	animation-play-state: paused;
}

.programme-formation ul li:before {
	content: "\26";
	font-family: 'ETmodules';
	color: #2ea3f2;
	display: inline-block;
	width: 1em;
	margin-left: -1em;
	margin-right: 10px;
	vertical-align: middle;
	font-weight: bold;
}

.competence-acquise ul li:before {
	content: "\4e";
	font-family: 'ETmodules';
	color: #2ea3f2;
	display: inline-block;
	width: 1em;
	margin-left: -1em;
	margin-right: 10px;
	vertical-align: middle;
	font-weight: bold;
}

@media (min-width: 981px) {
	.details-formations .et_pb_row {
		display: grid;
		grid-template-columns: 345px 1fr;
		column-gap: 40px;
	}

	.details-formations .et_pb_row .et_pb_column {
		width: 100% !important;
		margin: 0 !important;
	}

	.details-formations .et_pb_row .et_pb_column.et_pb_specialty_column {
		position: sticky;
		height: fit-content;
		top: 150px;
	}
}


/*===============================================================================
12. Piste verte
===============================================================================*/
/* Marquee cas  */
.scroll-left,
.scroll-right {
	white-space: nowrap;
	display: flex;
	width: 100% !important;
	max-width: 100% !important;
	overflow: hidden !important;
	/* overflow: visible !important; */
	/* Pour ne pas couper les bulles qui dépassent */

}

.scroll-left {
	justify-content: flex-start;
	/*padding-left: 10%; */
}

.scroll-right {
	justify-content: flex-end;
}

.marquee-inner {
	display: flex;
	gap: 20px;
	will-change: transform;
	min-width: max-content;
	width: max-content;
	justify-content: center;
}

.resume-bubble {
	display: flex;
	align-items: center;
	background: #F1F2FF;
	border: 1px solid #D7DAFF;
	padding: 13px 22px;
	border-radius: 15px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
	flex-shrink: 0;
	transition: all 0.3s ease;
	gap: 10px;
}

.resume-bubble:hover {
	background: #E0E4FF;
	transform: scale(1.02);
}

.resume-bubble .bubble-icon {
	font-size: 20px;
	display: inline-block;
	vertical-align: middle;
	transition: all 0.3s ease;
}

.tracking-card {
    overflow: hidden;
    isolation: isolate;
}
.tracking-card::before {
    content: "";
    position: absolute;

    width: 260px;
    height: 260px;

    top: -80px;
    right: -40px;

    background: rgba(120, 175, 255, 0.22);

    border-radius: 50%;
    filter: blur(55px);

    z-index: -1;
    pointer-events: none;
}

.tracking-card::after {
    content: "";
    position: absolute;

    width: 300px;
    height: 220px;

    bottom: -100px;
    left: -70px;

    background: rgba(175, 205, 255, 0.28);

    border-radius: 50%;
    filter: blur(65px);

    z-index: -1;
    pointer-events: none;
}
.tracking-card .et_pb_blurb_container{
	flex: 1;
}
.tracking-card .et_pb_blurb_container .et_pb_blurb_description{
	height: 100%;
	display: flex;
	flex-direction: column;
}

.content-seo-def .et_pb_blurb_content {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.custom-list-seo {
	padding-left: 0 !important;
	padding-bottom: 0 !important;
	list-style: none !important;
}

.custom-list-seo li {
	display: flex;
	gap: 10px;
	font-size: 16px;
	line-height: 22px;
	padding: 12px 0;
	border-bottom: 1px solid #E5E5E5;
	align-items: center;
}

.custom-list-seo li:last-child {
	border-bottom: none !important;
}

.custom-list-seo li:before {
	content: "\4d";

	font-family: 'ETmodules';
	color: #FF0000;
	background-color: rgba(255, 0, 0, 0.1);
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100%;
	flex-shrink: 0;
}
.tracking-intro {
    position: relative;
    z-index: 2;
    padding-right: 140px;
	font-size: 24px !important;
	line-height: 1.25 !important;
}
@media (min-width: 981px) and (max-width: 1200px) {
	.tracking-intro {
		padding-right: 50px;
	}
	.custom-list-seo li{
		/* padding: 8px 0; */
	}
}
@media (max-width: 768px) {
	.tracking-intro {
		padding-right: 100px;
	}
}
.methode-liste {
	position: relative;
	padding-left: 60px !important;
}

.methode-liste::before {
	content: "";
	position: absolute;
	left: 22px;
	top: 25px;
	bottom: 25px;
	width: 1px;
	background-color: #d8d8d8;
	z-index: 1;
}

.methode-liste>.et_pb_toggle {
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 0 !important;
}

.methode-liste>.et_pb_toggle:before {
	content: "\55" !important;
	font-size: 20px;
	background-color: black;
	border-radius: 100%;
	color: white;
	width: 45px;
	height: 45px;
	font-family: 'ETmodules' !important;
	display: flex;
	align-items: center;
	justify-content: center;

	position: absolute;
	left: -60px;
	top: 0;
	z-index: 2;
	transition: all 0.3s ease-in-out;
}

.methode-liste>.et_pb_toggle:nth-child(2):before {
	content: "\65" !important;
}

.methode-liste>.et_pb_toggle:nth-child(3):before {
	content: "\e035" !important;
}

.methode-liste>.et_pb_toggle:nth-child(4):before {
	content: "\e0e9" !important;
}

.methode-liste>.et_pb_toggle:nth-child(5):before {
	content: "\e02a" !important;
}

/*Icone SEA*/
.methode-liste.methode-liste-sea>.et_pb_toggle:nth-child(1):before {
	content: "\65" !important;
}

.methode-liste.methode-liste-sea>.et_pb_toggle:nth-child(2):before {
	content: "\e0f5" !important;
}

.methode-liste.methode-liste-sea>.et_pb_toggle:nth-child(3):before {
	content: "\45" !important;
}

.methode-liste.methode-liste-sea>.et_pb_toggle:nth-child(4):before {
	content: "\e0e9" !important;
}

.methode-liste.methode-liste-sea>.et_pb_toggle:nth-child(5):before {
	content: "\e035" !important;
}

/*Icone site web*/
.methode-liste.methode-liste-site>.et_pb_toggle:nth-child(1):before {
	content: "\55" !important;
}

.methode-liste.methode-liste-site>.et_pb_toggle:nth-child(2):before {
	content: "\6a" !important;
}

.methode-liste.methode-liste-site>.et_pb_toggle:nth-child(3):before {
	content: "\e00d" !important;
}

.methode-liste.methode-liste-site>.et_pb_toggle:nth-child(4):before {
	content: "\e035" !important;
}

.methode-liste.methode-liste-site>.et_pb_toggle:nth-child(5):before {
	content: "\e0e9" !important;
}

/*Icone Analytics*/
.methode-liste.methode-liste-analytics>.et_pb_toggle:nth-child(1):before {
	content: "\55" !important;
}

.methode-liste.methode-liste-analytics>.et_pb_toggle:nth-child(2):before {
	content: "\65" !important;
}

.methode-liste.methode-liste-analytics>.et_pb_toggle:nth-child(3):before {
	content: "\e035" !important;
}

.methode-liste.methode-liste-analytics>.et_pb_toggle:nth-child(4):before {
	content: "\5a" !important;
}

.methode-liste.methode-liste-analytics>.et_pb_toggle:nth-child(5):before {
	content: "\e0e9" !important;
}

.methode-liste>.et_pb_toggle.et_pb_toggle_close:before {
	background-color: white;
	color: black;
}

.methode-liste>.et_pb_toggle>.et_pb_toggle_title {
	width: 100%;
	height: 45px;
	display: flex;
	align-items: center;
}

.methode-liste>.et_pb_toggle>.et_pb_toggle_content {
	padding-top: 10px;
	padding-right: 50px;
}

.methode-liste>.et_pb_toggle.et_pb_toggle_open>.et_pb_toggle_title:before {
	display: block !important;
	content: "\4f" !important;
}

/*===============================================================================
13. Nous rejoindre
===============================================================================*/
@media (max-width: 700px) {
	.agence-list {
		gap: 5px;
	}

	.agence-list>li>span {
		font-size: 20px;
	}
}

.list-recrutement article.et_pb_post {
	display: grid !important;
	grid-template-columns: 1fr 1fr auto;
	column-gap: 30px;
	align-items: center;
	padding: 20px 0;
	margin: 0;
	border-bottom: 1px solid #E5E5E5;
}

.list-recrutement article.et_pb_post:first-child {
	border-top: 1px solid #E5E5E5;
}

.list-recrutement .entry-title {
	padding: 0;
}

.list-recrutement .entry-title,
.list-recrutement .post-meta {
	grid-column: 1;
	margin-bottom: 10px;
}

.list-recrutement .post-content {
	display: contents;
}

.list-recrutement .post-content-inner {
	grid-column: 2;
	grid-row: 1 / 3;
}

.list-recrutement .more-link {
	white-space: nowrap;
	grid-column: 3 !important;
	grid-row: 1 / 3;
	display: flex !important;
	padding-right: 20px;
}

.list-recrutement .post-meta,
.list-recrutement .post-meta>a {
	font-size: 0px !important;
}

.list-recrutement .post-meta>a:first-child {
	padding: 2px 14px;
	background-color: white;
	border: 1px solid rgb(0, 0, 0, 12%);
	border-radius: 5px;
	font-size: 16px !important;
}

.list-recrutement .custom-tag {
	font-size: 16px !important;
	line-height: 26px;
	margin-left: 10px;
	text-transform: capitalize;
	font-weight: normal;
}

.list-recrutement .more-link:after {
	content: "\26";
	font-family: 'ETmodules';
	display: block;
	/*color: #111111; */
	font-size: 12px;
	text-decoration: none;
	position: absolute;
	right: 3px;
}

@media (max-width: 767px) {
	.list-recrutement article.et_pb_post {
		display: block !important;
	}

	.list-recrutement .more-link {
		display: inline-block;
		margin-top: 15px;
	}
}

.resume-icon-bot .et_pb_blurb_content .et_pb_blurb_container:after {
	content: "\26";
	font-family: 'ETmodules';
	display: block;
	color: #0066FF;
	font-size: 16px;
	text-decoration: none;
	position: absolute;
	right: 0px;
}



/* Le conteneur principal */
.wm-marquee-container {
	overflow: hidden;
	width: 100%;
	display: flex;
	user-select: none;
	padding: 30px 0;
	/* Un peu plus d'espace autour */
	background: transparent;
}

/* Le rail d'animation */
.wm-marquee-track {
	display: flex;
	width: max-content;
	animation: scroll-marquee 40s linear infinite;
	/* On augmente à 40s car les images sont plus grandes, pour que ce soit doux à l'oeil */
}

/* Pause au survol pour pouvoir admirer les photos */
.wm-marquee-container:hover .wm-marquee-track {
	animation-play-state: paused;
}

/* Chaque groupe */
.wm-marquee-group {
	display: flex;
	align-items: flex-start;
	justify-content: space-around;
	gap: 30px;
	/* Espace entre vos photos */
	padding-right: 30px;
	flex-shrink: 0;
	/* Empêche le navigateur de compresser le groupe à 50% de l'écran */
	width: max-content;
}

/* --- LE REGLAGE DES IMAGES --- */
.wm-marquee-group img {
	height: 400px;
	width: auto;
	max-width: 350px;
	object-fit: cover;
	/* Sécurité pour le rendu */
	border-radius: 12px;
	/* Optionnel : un joli arrondi sur vos photos */
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
	/* Optionnel : une légère ombre pour donner du relief */
	transition: transform 0.3s ease;
}

/* Petit effet sympa : la photo zoome légèrement quand on passe dessus */
.wm-marquee-group img:hover {
	transform: scale(1.02);
}

.wm-marquee-group .height-petit img {
	max-height: 200px;
}

/* L'animation */
@keyframes scroll-marquee {
	0% {
		transform: translateX(0);
	}

	100% {
		transform: translateX(-50%);
	}
}

.form-candidature .et_pb_contact_field_5_tb_footer,
.form-candidature .et_pb_html_field_inner {
	opacity: 0 !important;
	height: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}


/*===============================================================================
14. Formation
===============================================================================*/
.custom-formations-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	/* toutes les rangées = hauteur de la plus haute carte */
	gap: 30px;
	align-items: stretch;
}

@media (max-width: 980px) {
	.custom-formations-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 767px) {
	.custom-formations-grid {
		gap: 16px;
	}
}

@media (max-width: 480px) {
	.custom-formations-grid {
		grid-template-columns: 1fr;
		gap: 14px;
	}
}

.custom-formations-grid:after {
	display: none;
}

.custom-formations-grid article {
	background-color: white;
	border-radius: 25px;
	padding: 20px 20px 40px !important;
	margin-bottom: 0px !important;
	max-width: none;
	width: 100%;
	height: 100%;
	text-wrap: wrap;
	position: relative;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 16px rgba(17, 17, 17, 0.04);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.custom-formations-grid article:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 36px rgba(17, 17, 17, 0.12);
}

@media (prefers-reduced-motion: reduce) {
	.custom-formations-grid article {
		transition: box-shadow 0.2s ease;
	}

	.custom-formations-grid article:hover {
		transform: none;
	}
}

.custom-formations-grid article:after {
	font-family: 'ETmodules' !important;
	font-size: 16px;
	color: #0066FF;
	content: "\26";
	position: absolute;
	right: 15px;
	bottom: 10px;
	visibility: visible;
	height: unset;
	pointer-events: none;
	transition: all 0.3s ease;
}

.custom-formations-grid article:hover:after {
	transform: rotate(45deg);
}

.custom-formations-grid article a {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.custom-formations-grid .formation-icon-container {
	text-align: center;
	margin-bottom: 20px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.custom-formations-grid .formation-icon-container img {
	max-height: 100%;
	max-width: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}

.custom-formations-grid article .entry-title {
	margin-bottom: 10px;
	line-height: 1.25em !important;
}

.custom-formations-grid .post-content {
	flex: 1 1 auto;
}

.custom-formations-grid .post-content-inner p {
	margin-bottom: 0;
}

/*===============================================================================
15. Contact
===============================================================================*/

#contact-form {}

#custom-project-filters {
	display: flex !important;
	justify-content: flex-end !important;
	width: 100%;
	margin: 0 0 28px;
	position: relative;
	z-index: 20;
}

#custom-project-filters .whp-project-filters-selects {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
	margin-left: auto;
}

#custom-project-filters .whp-project-filter {
	position: relative;
}

body.page-id-612 #page-container #custom-project-filters button.whp-project-filter-toggle,
#custom-project-filters button.whp-project-filter-toggle {
	all: unset;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
	display: inline-flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 148px;
	margin: 0;
	padding: 11px 18px;
	border: 2px solid #D5D5D5 !important;
	border-radius: 25px !important;
	background: #fff !important;
	color: #111 !important;
	font-size: 15px !important;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, color .25s ease;
}

#custom-project-filters button.whp-project-filter-toggle.filter-reset {
	min-width: auto;
}

#custom-project-filters button.whp-project-filter-toggle::before {
	content: "";
	position: absolute;
	inset: -2px;
	z-index: -1;
	border-radius: 25px;
	background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #00CC8F, #1F5AF9);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	border: 2px solid transparent;
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
}

#custom-project-filters .whp-project-filter-toggle:not(.filter-reset)::after {
	content: "";
	width: 7px;
	height: 7px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .25s ease;
}

#custom-project-filters .whp-project-filter.is-open .whp-project-filter-toggle::after {
	transform: rotate(225deg) translateY(-1px);
}

body.page-id-612 #page-container #custom-project-filters button.whp-project-filter-toggle:hover,
body.page-id-612 #page-container #custom-project-filters .whp-project-filter.is-open button.whp-project-filter-toggle {
	transform: translateY(-2px);
	border-color: transparent !important;
	box-shadow: 0 8px 20px rgba(31, 90, 249, .12);
}

body.page-id-612 #page-container #custom-project-filters button.whp-project-filter-toggle:hover::before,
body.page-id-612 #page-container #custom-project-filters .whp-project-filter.is-open button.whp-project-filter-toggle::before {
	opacity: 1;
}

body.page-id-612 #page-container #custom-project-filters .whp-project-filter.is-active button.whp-project-filter-toggle,
body.page-id-612 #page-container #custom-project-filters button.filter-reset.is-active {
	background: #111 !important;
	background-image: none !important;
	border-color: #111 !important;
	color: #fff !important;
	box-shadow: none;
	transform: none;
}

body.page-id-612 #page-container #custom-project-filters .whp-project-filter.is-active button.whp-project-filter-toggle::before,
body.page-id-612 #page-container #custom-project-filters button.filter-reset.is-active::before {
	opacity: 0;
}

body.page-id-612 #page-container #custom-project-filters .whp-project-filter.is-active button.whp-project-filter-toggle:hover,
body.page-id-612 #page-container #custom-project-filters button.filter-reset.is-active:hover {
	background: #111 !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}

#custom-project-filters .whp-project-filter-menu {
	display: none;
	position: absolute;
	top: calc(100% + 10px);
	right: 0;
	z-index: 30;
	min-width: 100%;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 16px;
	box-shadow: 0 16px 40px rgba(31, 90, 249, .12);
}

#custom-project-filters .whp-project-filter.is-open .whp-project-filter-menu {
	display: block;
	animation: whpFilterIn .2s ease;
}

@keyframes whpFilterIn {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

body.page-id-612 #page-container #custom-project-filters button.whp-project-filter-option {
	all: unset;
	box-sizing: border-box;
	display: block !important;
	width: 100%;
	padding: 9px 12px;
	border-radius: 10px;
	color: #111;
	font-size: 14px;
	cursor: pointer;
	transition: background .2s ease, color .2s ease;
}

body.page-id-612 #page-container #custom-project-filters button.whp-project-filter-option:hover,
body.page-id-612 #page-container #custom-project-filters button.whp-project-filter-option.is-selected {
	background: linear-gradient(to right, rgba(0, 204, 143, .12), rgba(31, 90, 249, .12));
	color: #1F5AF9;
}

@media (max-width: 980px) {
	#custom-project-filters {
		justify-content: flex-start !important;
	}

	#custom-project-filters .whp-project-filters-selects {
		width: 100%;
		margin-left: 0;
		justify-content: flex-start;
	}
}

@media (max-width: 767px) {

	body.page-id-612 #page-container #custom-project-filters .whp-project-filters-selects,
	#custom-project-filters .whp-project-filters-selects {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		margin-left: 0;
	}

	body.page-id-612 #page-container #custom-project-filters .whp-project-filter,
	#custom-project-filters .whp-project-filter {
		width: 100%;
	}

	body.page-id-612 #page-container #custom-project-filters button.whp-project-filter-toggle,
	#custom-project-filters button.whp-project-filter-toggle {
		width: 100% !important;
		min-width: 0;
	}

	#custom-project-filters .whp-project-filter-menu {
		left: 0;
		right: 0;
	}
}


/*===============================================================================
16. Articles
===============================================================================*/
.breadcrumb-single-article,
.breadcrumb-single-article a {
	font-size: 13px;
	line-height: 1.4;
	font-weight: 500;
	color: #111111;
	text-decoration: none;
}

.breadcrumb-single-article a {
	color: #111111;
	text-decoration: none;
	transition: color .2s ease;
}

.breadcrumb-single-article a:hover {
	color: #1F7AFF;

}

.cate-badge-hero a {
	Font-size: 11px;
	padding: 5px 7px;
	border-radius: 999px;
	border: 1px solid #dbdbdb;
	color: black;
}

.cate-badge-hero>div.et_pb_text_inner {
	display: flex;
	gap: 10px;
	line-height: normal;
}

.title-hero-detail {
	font-size: 14px;
	margin-bottom: 5px;
	font-weight: normal;
}

.img-article-hero {
	box-shadow: none !important;
}

.img-article-hero,
.img-article-hero img {
	/*border-radius:25px;*/
}

.img-article-hero img {
	object-fit: contain;
	border-radius: 25px;
	overflow: hidden;
}

@media (max-width: 980px) {
	.img-article-hero {
		max-width: 700px;
	}

}

/* Sidebar */
.whp-toc-box {
	background: #ffffff;
	border: 1px solid rgba(15, 35, 80, 0.08);
	border-radius: 24px;
	padding: 24px;
	transition: all .5s ease;
	box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.05);
}

.whp-toc-box:hover {
	/*box-shadow: 0 18px 45px rgba(15, 35, 80, 0.08);*/
}

.whp-toc-title {
	font-size: 14px;
	font-weight: 700;
	color: #0B1B3A;
	margin-bottom: 18px;
}

#whp-toc-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
	counter-reset: toc-counter;
}

#whp-toc-list a {
	font-size: 13px;
	line-height: 1.4;
	color: #111111;
	text-decoration: none;
	transition: all .3s ease;
	display: grid;
	grid-template-columns: 21px 1fr;
	gap: 8px;
	align-items: center;
	counter-increment: toc-counter;
}

#whp-toc-list a::before {
	content: counter(toc-counter, decimal);
	font-size: 10px;
	line-height: 1.5;
	font-weight: 700;
	opacity: .85;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #d7daff;
	aspect-ratio: 1 / 1;
	border-radius: 100%;
	color: #111111;
}

#whp-toc-list a.whp-toc-h3 {
	grid-template-columns: 30px 1fr;
	gap: 8px;
	font-size: 12px;
	line-height: 1.4;
	color: #444444;
	counter-increment: none;
	align-items: center;
}

#whp-toc-list a.whp-toc-h3::before {
	content: attr(data-toc-label);
	font-size: 9px;
	line-height: 1;
	font-weight: 700;
	background-color: transparent;
	color: #666666;
	aspect-ratio: auto;
	min-width: 30px;
	height: 21px;
	padding: 0 5px;
	opacity: 1;
}

#whp-toc-list a.whp-toc-h3:hover {
	color: #1F7AFF;
}

#whp-toc-list a:hover {
	color: #1F7AFF;
	transform: translateX(6px);
}

body.single-post.et_left_sidebar #main-content .container {
	width: 90%;
	max-width: 1280px;
	overflow: visible !important;
}

@media (min-width: 981px) {

	/*.single-post #content-area {*/
	.single-post #content-area:not(:has(.category-recrutement)) {
		display: flex;
		align-items: flex-start;
		gap: 3%;
		position: relative;
		flex-direction: row-reverse;
		overflow: visible;
	}

	.single-post #content-area:after {
		display: none;
	}

	.single-post #sidebar {
		float: none !important;
		width: 27% !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		box-sizing: border-box;
		position: sticky !important;
		top: 127px !important;
		--sidebar-sticky-top: 127px;
		--sidebar-viewport-gap: 40px;
		max-height: calc(100vh - var(--sidebar-sticky-top) - var(--sidebar-viewport-gap));
		display: flex;
		flex-direction: column;
		overflow: visible;
	}

	body.admin-bar.single-post #sidebar {
		top: calc(127px + 32px) !important;
		--sidebar-sticky-top: calc(127px + 32px);
	}

	.single-post #sidebar .et_pb_widget,
	.single-post #sidebar .widget_block {
		overflow: visible;
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-height: 0;
	}

	.single-post #sidebar #whp-toc-container {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
	}

	.single-post #sidebar .whp-toc-box {
		flex: 1 1 auto;
		min-height: 0;
		display: flex;
		flex-direction: column;
	}

	.single-post #sidebar .whp-toc-title {
		flex-shrink: 0;
	}

	.single-post #sidebar #whp-toc-list {
		overflow-y: auto;
		min-height: 0;
		flex: 1 1 auto;
		padding-right: 6px;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: rgba(31, 122, 255, 0.35) transparent;
	}

	.single-post #sidebar #whp-toc-list::-webkit-scrollbar {
		width: 4px;
	}

	.single-post #sidebar #whp-toc-list::-webkit-scrollbar-thumb {
		background: rgba(31, 122, 255, 0.35);
		border-radius: 4px;
	}

	.single-post #sidebar .whp-share-box {
		flex-shrink: 0;
	}

	.single-post #sidebar .whp-audio-box {
		flex-shrink: 0;
	}

	.single-post #content-area:not(:has(.category-recrutement)) #left-area {
		width: 70% !important;
		padding-left: 0 !important;
	}
}

/* Rows article : 100% + sans padding Divi (2% 0) — le .container gère déjà la largeur */
body.et_pb_pagebuilder_layout.single.et_left_sidebar #content-area:not(:has(.category-recrutement)) #left-area #et-boc .et-l .et_pb_row,
body.single-post.et_left_sidebar #content-area:not(:has(.category-recrutement)) #left-area .et_pb_row {
	width: 100% !important;
	max-width: 100% !important;
	padding-top: 0 !important;
	/*padding-bottom: 0 !important;*/
}

/* Espacement Divi liste (.et_pb_post margin, .single .post padding) : inutile sur article unique */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area article.et_pb_post {
	margin-bottom: 0;
	padding-bottom: 0;
}

/*
 * Images articles : annule les transforms / text-align Divi corrompus à l’import
 * (ex. transform: scaleY(0.8); transform-origin: ; text-align: &quot;).
 * Ne force PAS width:100% — certaines images ont une largeur Divi volontaire (ex. 64%).
 * Marge verticale : Divi met souvent margin-top/bottom: 0 !important → collage au texte.
 */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image .et_pb_image_wrap {
	transform: none !important;
	transform-origin: center center !important;
	max-width: 100% !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image {
	margin-top: 1.25em !important;
	margin-bottom: 1.25em !important;
}

/* Alignement : centre seulement si Divi n’a pas déjà un align left/right */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image:not(.et_pb_image_align_left):not(.et_pb_image_align_right) {
	text-align: center;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image img {
	transform: none !important;
	max-width: 100%;
	height: auto;
}

/*
 * Tables articles : overflow-x sur <table> / module ne marche pas
 * (table n’est pas un scroll container fiable). Un wrapper .whp-table-scroll
 * (injecté en JS) confine le scroll horizontal au tableau uniquement.
 */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .whp-table-scroll {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	margin: 1.1em 0;
	overscroll-behavior-x: contain;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .whp-table-scroll table {
	width: auto;
	max-width: none;
	height: auto !important;
	overflow: visible !important;
	margin: 0;
	border-collapse: collapse;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .whp-table-scroll th,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .whp-table-scroll td {
	word-break: normal;
	overflow-wrap: normal;
}

/* Mobile / tablette : pleine largeur (annule les width Divi type 64%) */
@media (max-width: 767px) {

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image .et_pb_image_wrap {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}
}

/* Typographie articles — hiérarchie sous le H1 hero (bandeaux sombres .et_pb_with_background exclus) */

/*
 * Filet anti CSS Divi corrompu (font-family: '&quot;', small-caps, etc.)
 * Force toujours Figtree sur les titres du corps d’article.
 */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h2,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h5,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h6,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h2,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h3,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h4,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h2,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h3,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h4,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h5,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h6 {
	font-family: 'Figtree', Helvetica, Arial, Lucida, sans-serif !important;
	font-variant: normal !important;
	font-style: normal !important;
	text-transform: none !important;
	text-decoration: none !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area h2 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h5 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h6 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h2 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h3 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h4 * {
	font-family: inherit !important;
	font-variant: normal !important;
	font-style: normal !important;
	text-transform: none !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h2,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text:not(.et_pb_with_background) h2 {
	font-size: 32px !important;
	font-weight: 700 !important;
	font-variant: normal !important;
	letter-spacing: -2px;
	line-height: 1.15em !important;
	text-align: left !important;
	margin-top: 1.1em;
	margin-bottom: 0.45em;
	padding-left: 0;
	border-left: none;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h2 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text:not(.et_pb_with_background) h2 * {
	font-weight: 700 !important;
	font-variant: normal !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h2::after,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text:not(.et_pb_with_background) h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	margin-top: 10px;
	background: rgba(15, 35, 80, 0.14);
	/*display:none!important*/
}

/* Titres vides (copier-coller) : pas d’espace réservé */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h2:empty,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h2:has(> span:only-child:empty),
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h2:empty,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h2:has(> span:only-child:empty),
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3:empty,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3:has(> span:only-child:empty),
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4:empty,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4:has(> span:only-child:empty),
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h5:empty,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h5:has(> span:only-child:empty),
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h6:empty,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h6:has(> span:only-child:empty) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area h2:empty::after,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area h2:has(> span:only-child:empty)::after,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h2:empty::after,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text h2:has(> span:only-child:empty)::after {
	display: none !important;
	content: none !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h3 {
	font-size: 24px !important;
	font-weight: 700 !important;
	font-variant: normal !important;
	letter-spacing: -1px;
	line-height: 1.3em !important;
	text-align: left !important;
	margin-top: 0.9em;
	margin-bottom: 0.35em;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h3 * {
	font-weight: 700 !important;
	font-variant: normal !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h4 {
	font-size: 20px !important;
	font-weight: 700 !important;
	font-variant: normal !important;
	letter-spacing: -1px;
	line-height: 1.35em !important;
	text-align: left !important;
	margin-top: 0.75em;
	margin-bottom: 0.3em;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4 *,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h4 * {
	font-weight: 700 !important;
	font-variant: normal !important;
}

/* Paragraphes articles : un peu moins d’air que le 1em Divi, 0 sur le dernier (évite double espace) */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text p {
	padding-bottom: 0.65em;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text p:last-child {
	padding-bottom: 0;
}

/*
 * Corps de texte articles : uniformise face aux overrides Divi importés
 * (font-size 17/19px, line-height 1.9em module par module).
 * Les H2–H6 restent gérés par les règles ci-dessus.
 */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text .et_pb_text_inner {
	font-size: 16px !important;
	line-height: 1.7em !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text .et_pb_text_inner p,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text .et_pb_text_inner li {
	font-size: inherit !important;
	line-height: inherit !important;
}

/*
 * Listes articles : retire le padding-bottom Divi (23px) + line-height fixe 26px
 * qui se cumulent avec les marges modules / paragraphes.
 */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text ul,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text ol {
	padding-bottom: 0 !important;
	line-height: inherit !important;
}

body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text ul:not(:last-child),
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text ol:not(:last-child) {
	margin-bottom: 0.65em;
}

/*
 * Marge haute des titres : OK dans le flux, mais pas si le titre
 * ouvre réellement la page (1er module de la 1ère section).
 * Si la page commence par un paragraphe puis un H2, la marge reste.
 */
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child h2:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child .et_pb_text_inner>h2:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child .et_pb_text_inner>div:first-child>h2:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child h3:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child .et_pb_text_inner>h3:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child .et_pb_text_inner>div:first-child>h3:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child h4:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child .et_pb_text_inner>h4:first-child,
body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_section:first-child .et_pb_row:first-child>.et_pb_column>.et_pb_module:first-child .et_pb_text_inner>div:first-child>h4:first-child {
	margin-top: 0 !important;
}

@media (max-width: 980px) {

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h2,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text:not(.et_pb_with_background) h2 {
		font-size: 28px !important;
		line-height: 1.15em !important;
	}

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h3 {
		font-size: 22px !important;
		line-height: 1.3em !important;
	}

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h4 {
		font-size: 18px !important;
		line-height: 1.35em !important;
	}
}

@media (max-width: 767px) {

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h2,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text:not(.et_pb_with_background) h2 {
		font-size: 24px !important;
		line-height: 1.2em !important;
		margin-bottom: 0.4em;
	}

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h2::after,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .et_pb_text:not(.et_pb_with_background) h2::after {
		width: 40px;
		margin-top: 8px;
	}

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area h3,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h3 {
		font-size: 20px !important;
		line-height: 1.35em !important;
		margin-bottom: 0.3em;
	}

	body.single-post #content-area:not(:has(.category-recrutement)) #left-area h4,
	body.single-post #content-area:not(:has(.category-recrutement)) #left-area .h4 {
		font-size: 17px !important;
		line-height: 1.35em !important;
	}
}

@media (max-width: 980px) {
	.whp-toc-box {
		/*display: none;*/
	}
}

.et_left_sidebar #main-content .container:before {
	display: none;
}

.single-post,
.single-post body {
	overflow-x: visible !important;
}

.single-post #page-container {
	overflow-y: visible !important;
	overflow-x: visible !important;
}

/* Partager l'article widget sidebar*/
.whp-share-box {
	background: #ffffff;
	border: 1px solid rgba(15, 35, 80, .08);
	border-radius: 24px;
	padding: 24px;
	margin-top: 16px;
	box-shadow: 0 18px 45px rgba(15, 35, 80, 0.08);
}

.whp-share-title {
	font-size: 14px;
	font-weight: 700;
	color: #0B1B3A;
	margin-bottom: 18px;
}

.whp-share-links {
	display: flex;
	gap: 9px;
}

.whp-share-links a {
	width: 35px;
	height: 35px;
	border-radius: 12px;
	border: 1px solid rgba(15, 35, 80, .08);
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	box-shadow: 0 8px 20px rgba(15, 35, 80, .05);
	transition: all .3s ease;
	font-size: 0;
}

.whp-share-links a:hover {
	transform: translateY(-2px);
	border-color: #1F7AFF;
	box-shadow: 0 12px 30px rgba(31, 122, 255, .15);
}

.whp-share-links a.is-copied {
	border-color: #00CC8F;
	box-shadow: 0 8px 18px rgba(0, 204, 143, 0.2);
}

.whp-share-links>a::before {
	font-family: "ETmodules";
	font-size: 15px;
	color: #111111;
}

.whp-share-linkedin::before {
	content: "\e09d";
}

.whp-share-facebook::before {
	content: "\e093";
}

.whp-share-instagram::before {
	content: "\e09a";
}

.whp-share-copy::before {
	content: "\e02c";
}

/* Instagram : pas d’intent de partage web — masqué (remettre display si un jour utile) */
.whp-share-instagram {
	display: none !important;
}

/* X / e-mail : SVG mask (spécificité > règle ETmodules) */
.whp-share-links>a.whp-share-x::before,
.whp-share-links>a.whp-share-email::before {
	content: "";
	display: block;
	font-family: inherit;
	font-size: 0;
	width: 14px;
	height: 14px;
	background-color: #111111;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	mask-repeat: no-repeat;
}

.whp-share-links>a.whp-share-x::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z'/%3E%3C/svg%3E");
}

.whp-share-links>a.whp-share-email::before {
	width: 15px;
	height: 15px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");
}

/* Écouter le résumé — bouton compact sidebar (si #audio présent) */
.whp-audio-box {
	margin-top: 16px;
}

.whp-audio-link {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 10px 16px;
	background: #ffffff;
	border: 1px solid rgba(15, 35, 80, 0.08);
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(15, 35, 80, 0.06);
	text-decoration: none !important;
	color: #0B1B3A !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.whp-audio-link:hover {
	transform: translateY(-1px);
	border-color: #1F7AFF;
	box-shadow: 0 14px 32px rgba(31, 122, 255, 0.14);
	color: #0B1B3A !important;
}

.whp-audio-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(31, 122, 255, 0.12);
	color: #1F7AFF;
}

.whp-audio-icon svg {
	display: block;
	width: 10px;
	height: 10px;
	margin-left: 1px;
}

/* Commentaires : masqués en front ; le H1→H2 est géré en PHP (comments.php child).
 * display:none ne retire PAS le HTML pour Google / Screaming Frog. */
#comment-wrap {
	display: none;
}

body.single-post:not(.category-recrutement) article .et_pb_button {
	padding: 10px 27px;
}

body.single-post:not(.category-recrutement) article .et_pb_button:after {
	display: none;
}

body.single-post:not(.category-recrutement) article .et_pb_button:before {
	display: none;
}

/*===============================================================================
17. Page blog listing
===============================================================================*/
.page-blog-listing {}

.page-blog-listing .et_pb_post {
	display: flex;
	flex-direction: column;
}

.page-blog-listing .et_pb_post .et_pb_image_container {
	order: 1;
}

.page-blog-listing .et_pb_post .entry-title {
	order: 2;
	margin-bottom: 10px;
}

.page-blog-listing .et_pb_post .post-content {
	order: 3;
}

.page-blog-listing .et_pb_post .post-meta {
	order: 4;
}


.page-blog-listing .et_pb_salvattore_content .et_pb_post {
	display: flex;
	flex-direction: column;
	min-height: 470px;
	justify-content: space-between;
	transition: all 300ms ease 0ms;
}

.page-blog-listing .et_pb_salvattore_content .et_pb_post:hover {
	box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.2);
}

.page-blog-listing .et_pb_salvattore_content .et_pb_post .et_pb_image_container {
	height: 220px;
	overflow: hidden;

}

.page-blog-listing .et_pb_salvattore_content .et_pb_post .et_pb_image_container a.entry-featured-image-url {
	height: 100%;
	margin: 0;
}

.page-blog-listing .et_pb_salvattore_content .et_pb_post .et_pb_image_container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.page-blog-listing .et_pb_salvattore_content .et_pb_post.et_pb_no_thumb::before {
	content: "";
	display: block;
	height: 220px;
	background: #F3F6FB;
	border-radius: 25px;
	margin-bottom: 15px;
}

.page-blog-listing .et_pb_salvattore_content .et_pb_post::after {
	display: none;
}

.page-blog-listing .et_pb_salvattore_content .entry-title {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.page-blog-listing .et_pb_salvattore_content .post-content-inner {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.page-blog-listing .et_pb_salvattore_content .post-content-inner p {
	padding-bottom: 0 !important;
}

.page-blog-listing .et_pb_post .post-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	margin-bottom: 0px;
}

.page-blog-listing .et_pb_post .post-meta span.published {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	color: #111111;
}

.page-blog-listing .et_pb_post .post-meta span.published:before {
	font-family: "ETmodules";
	font-size: 13px;
	content: "\e023";
}

/* Liens */
.whp-blog-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	align-items: center;
	justify-content: center;
	margin-bottom: 0px;
}

.whp-blog-filters a {
	border: 2px solid #D5D5D5;
	color: #333333 !important;
	border-radius: 15px;
	letter-spacing: 1%;
	font-weight: 600 !important;
	padding: 7px 20px;
	position: relative;
	transition: all 300ms ease 0ms;
}

.whp-blog-filters a:hover {
	border: 2px solid transparent;
}

.whp-blog-filters a:before {
	display: block !important;
	content: "" !important;
	position: absolute;
	top: -2px;
	left: -2px;
	right: -2px;
	bottom: -2px;
	z-index: -1;
	border-radius: 15px;
	background-image: linear-gradient(#fff, #fff), linear-gradient(to right, #00CC8F, #1F5AF9);
	background-origin: border-box;
	background-clip: padding-box, border-box;
	border: 2px solid transparent;
	opacity: 0;
	transition: opacity 0.3s ease-in-out;
	margin: 0 !important;
}

.whp-blog-filters a:hover:before {
	opacity: 1;
}

.whp-blog-filters a.active,
.whp-blog-filters a.active:hover {
	border: 2px solid #111111 !important;
	background-color: #111111 !important;
	color: #ffffff !important;
	pointer-events: none;
}

.whp-blog-filters a.active:before {
	display: none !important;
}

/* Recherche blog */
.kt-blog-search {
	position: relative;
	width: 100%;
	max-width: 700px;
	margin: 0 auto 32px;
}

.kt-blog-search::before {
	content: "";
	position: absolute;
	inset: -2px;
	border-radius: 17px;
	background: linear-gradient(to right, #00CC8F, #1F5AF9);
	opacity: 0;
	transition: opacity 0.3s ease;
	z-index: 0;
	pointer-events: none;
}

.kt-blog-search:has(input:focus)::before,
.kt-blog-search:has(input:not(:placeholder-shown))::before {
	opacity: 1;
}

.kt-blog-search::after {
	content: "\55";
	font-family: "ETmodules";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	line-height: 1;
	color: #111111;
	opacity: 0.4;
	z-index: 2;
	pointer-events: none;
	transition: opacity 0.3s ease, color 0.3s ease;
}

.kt-blog-search:has(input:focus)::after {
	opacity: 0.75;
	color: #1F5AF9;
}

.kt-blog-search input {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 48px;
	padding: 0 22px 0 50px;
	border-radius: 15px;
	background: #ffffff;
	border: 2px solid #D5D5D5;
	color: #111111;
	font-size: 15px;
	font-weight: 500;
	outline: none;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 2px 18px rgba(0, 0, 0, 0.04);
}

.kt-blog-search input::placeholder {
	color: rgba(17, 17, 17, 0.45);
	font-weight: 500;
}

.kt-blog-search input:hover {
	border-color: #c8c8c8;
}

.kt-blog-search input:focus {
	border-color: transparent;
	box-shadow: 0 4px 22px rgba(31, 90, 249, 0.1);
}

@media (max-width: 767px) {
	.kt-blog-search {
		margin-bottom: 24px;
	}

	.kt-blog-search input {
		height: 44px;
		font-size: 14px;
		padding-left: 46px;
	}
}

/*===============================================================================
18. Animations d'entrée (ultra léger)
===============================================================================*/
.whp-enter {
	opacity: 0;
	transform: translateY(28px);
	transition:
		opacity 0.75s ease,
		transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.whp-enter.whp-in {
	opacity: 1;
	transform: none;
}

body.single-post .whp-enter {
	opacity: 1;
	transform: none;
	transition: none;
}

@media (prefers-reduced-motion: reduce) {
	.whp-enter {
		opacity: 1;
		transform: none;
		transition: none;
	}
}


/* ==========================================================================
   Campaign URL Builder (body.whp-utm-builder / #dw-builder-container)
   Porté depuis l'ancien site — page ID 11604
   ========================================================================== */

/* Titres de page = mêmes tailles / espacements que les articles blog
   (#main-content : hors header / footer Theme Builder)
   (hors titres auth `.dw-auth-title` et historique) */
body.whp-utm-builder #main-content .et_pb_text:not(.et_pb_with_background) h2,
body.whp-utm-builder #main-content .h2 {
	font-family: 'Figtree', Helvetica, Arial, Lucida, sans-serif !important;
	font-size: 32px !important;
	font-weight: 700 !important;
	letter-spacing: -1px;
	line-height: 1.15em !important;
	margin-top: 1.1em;
	margin-bottom: 0.45em;
	padding-bottom: 0;
}

body.whp-utm-builder #main-content .et_pb_text:not(.et_pb_with_background) h2::after,
body.whp-utm-builder #main-content .h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	margin-top: 10px;
	background: rgba(15, 35, 80, 0.14);
}

/* Sur un H2 / module : ajouter la classe `no-title-line` pour masquer le tiret */
body.whp-utm-builder #main-content .no-title-line::after,
body.whp-utm-builder #main-content .no-title-line h2::after,
body.whp-utm-builder #main-content h2.no-title-line::after {
	display: none !important;
	content: none !important;
}

body.whp-utm-builder #main-content .et_pb_text h3,
body.whp-utm-builder #main-content .h3 {
	font-family: 'Figtree', Helvetica, Arial, Lucida, sans-serif !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	letter-spacing: -1px;
	line-height: 1.3em !important;
	margin-top: 0.9em;
	margin-bottom: 0.35em;
	padding-bottom: 0;
}

body.whp-utm-builder #main-content .et_pb_text h4,
body.whp-utm-builder #main-content .h4 {
	font-family: 'Figtree', Helvetica, Arial, Lucida, sans-serif !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	letter-spacing: -1px;
	line-height: 1.35em !important;
	margin-top: 0.75em;
	margin-bottom: 0.3em;
	padding-bottom: 0;
}

body.whp-utm-builder #main-content .et_pb_text p {
	padding-bottom: 0.65em;
}

body.whp-utm-builder #main-content .et_pb_text p:last-child {
	padding-bottom: 0;
}

@media (max-width: 980px) {

	body.whp-utm-builder #main-content .et_pb_text:not(.et_pb_with_background) h2,
	body.whp-utm-builder #main-content .h2 {
		font-size: 28px !important;
	}

	body.whp-utm-builder #main-content .et_pb_text h3,
	body.whp-utm-builder #main-content .h3 {
		font-size: 22px !important;
	}

	body.whp-utm-builder #main-content .et_pb_text h4,
	body.whp-utm-builder #main-content .h4 {
		font-size: 18px !important;
	}
}

@media (max-width: 767px) {

	body.whp-utm-builder #main-content .et_pb_text:not(.et_pb_with_background) h2,
	body.whp-utm-builder #main-content .h2 {
		font-size: 24px !important;
		line-height: 1.2em !important;
		margin-bottom: 0.4em;
	}

	body.whp-utm-builder #main-content .et_pb_text:not(.et_pb_with_background) h2::after,
	body.whp-utm-builder #main-content .h2::after {
		width: 40px;
		margin-top: 8px;
	}

	body.whp-utm-builder #main-content .et_pb_text h3,
	body.whp-utm-builder #main-content .h3 {
		font-size: 20px !important;
		margin-bottom: 0.3em;
	}

	body.whp-utm-builder #main-content .et_pb_text h4,
	body.whp-utm-builder #main-content .h4 {
		font-size: 17px !important;
	}
}

#dw-builder-container {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.04);
	padding: 30px 40px !important;
	border: 1px solid #f0f0f0;
}

@media (max-width: 980px) {
	#dw-builder-container {
		padding: 20px !important;
	}
}

/* --- 2. CHAMPS DE SAISIE & LABELS FLOTTANTS --- */
#dw-builder-container .et_pb_contact_field {
	position: relative;
	margin-bottom: 5px !important;
	padding-top: 10px !important;
}

/* Label : Position initiale (comme un placeholder) */
#dw-builder-container .et_pb_contact_form_label {
	position: absolute;
	top: 23px;
	left: 40px;
	font-size: 15px;
	/*color: #9ca3af;*/
	color: #767b85;
	transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
	pointer-events: none;
	background-color: transparent;
	padding: 0 4px;
	display: block !important;
	z-index: 10;
}

/* Astérisque "obligatoire" sur les labels flottants */
#dw-builder-container .et_pb_contact_field[data-dw-required="1"] .et_pb_contact_form_label::after {
	content: " *";
	color: #ef4444;
	font-weight: 800;
}

/* L'Input de base */
#dw-builder-container .et_pb_contact_form input.input {
	transition: all 0.4s ease !important;
	/*border: 1px solid #e5e7eb !important;*/
	border: 1px solid #767b85 !important;
	background-color: #fdfdfd !important;
	color: #111827 !important;
	padding: 14px 18px !important;
	font-size: 15px !important;
	border-radius: 8px !important;
	position: relative;
	z-index: 1;
}

/* ÉTAT FLOTTANT (Déclenché par JS via les classes .is-filled ou .is-focused) */
#dw-builder-container .is-focused .et_pb_contact_form_label,
#dw-builder-container .is-filled .et_pb_contact_form_label {
	top: 0px !important;
	left: 30px !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	/*color: #2ea3f2 !important;*/
	color: #111827 !important;
	background-color: #ffffff !important;
	z-index: 15;
}

#dw-builder-container .is-focused .et_pb_contact_form_label {
	color: #2ea3f2 !important;
}

#dw-builder-container .is-filled input.input {
	border-color: #1a1a1a !important;
	background-color: #ffffff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

#dw-builder-container .is-focused input.input {
	border-color: #2ea3f2 !important;
	box-shadow: 0 0 0 3px rgba(46, 163, 242, 0.15) !important;
}


/* --- MASQUAGE DES PLACEHOLDERS NATIFS --- */

/* On rend le texte du placeholder transparent pour tous les navigateurs */
#dw-builder-container input::placeholder,
#dw-builder-container textarea::placeholder {
	color: transparent !important;
	opacity: 0 !important;
}

/* Version pour Internet Explorer / Edge ancien */
#dw-builder-container input:-ms-input-placeholder,
#dw-builder-container textarea:-ms-input-placeholder {
	color: transparent !important;
}

/* Version pour Firefox */
#dw-builder-container input::-moz-placeholder,
#dw-builder-container textarea::-moz-placeholder {
	color: transparent !important;
}

/* --- 3. LISTE DE SUGGESTIONS --- */
.dw-suggestions-list {
	position: absolute;
	z-index: 9999;
	background: #ffffff;
	width: 100%;
	max-height: 280px;
	overflow-y: auto;
	border: 1px solid #e5e7eb;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.1);
	display: none;
	border-radius: 10px;
	margin-top: 8px;
	padding: 5px;
	animation: fadeIn 0.3s ease;
}

.dw-suggestion-item {
	padding: 12px 16px;
	border-radius: 6px;
	cursor: pointer;
	font-size: 14px;
	color: #374151;
	transition: background 0.2s ease;
}

.dw-suggestion-item:hover {
	background-color: #f3f4f6;
	color: #000;
}

/* --- 4. CHAMP RÉSULTAT (TEXTAREA) --- */
#dw-builder-container textarea[data-original_id="dw-result"] {
	background-color: #f8f9fb !important;
	color: #1a1a1a !important;
	border: 1px solid #e5e7eb !important;
	border-left: 4px solid #1a1a1a !important;
	font-family: 'Monaco', 'Consolas', monospace !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
	padding: 20px !important;
	height: 120px !important;
	resize: none !important;
	word-break: break-all !important;
	white-space: pre-wrap !important;
	border-radius: 4px 12px 12px 4px !important;
	cursor: not-allowed !important;
}

/* readonly : cohérence visuelle */
#dw-builder-container textarea[data-original_id="dw-result"][readonly] {
	opacity: 1 !important;
	background-color: #f8f9fb !important;
}

/* --- Bouton reset champs UTM (.whp-utm-builder) --- */
#dw-builder-container .dw-reset-btn {
	background: #242424 !important;
	color: #ffffff !important;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-weight: 700 !important;
	cursor: pointer;
	margin-bottom: 18px;
	width: fit-content;
	display: none;
}

#dw-builder-container .dw-reset-btn:hover {
	background: #0f0f0f !important;
	border-color: rgba(255, 255, 255, 0.35) !important;
}

/* --- 5. BOUTON & UI --- */
#dw-builder-container .et_contact_bottom_container {
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 !important;
}

.et_pb_contact_submit {
	text-transform: none !important;
	font-weight: 600 !important;
	margin-top: 5px;
	margin-left: 0px !important;
}

/* UTM builder only : radius / padding spécifiques (ne pas impacter le footer) */
#dw-builder-container .et_pb_contact_submit,
body.whp-utm-builder .et_pb_contact_submit {
	border-radius: 8px !important;
	padding: 14px 30px !important;
}

#dw-builder-container .et_pb_contact_submit.et_pb_button {
	display: flex;
}

#dw-builder-container .et_pb_contact_submit.et_pb_button:after {
	margin-left: 15px !important;
	display: flex;
	position: relative;
}



.et_pb_contact_submit.copied-state {
	background-color: #10b981 !important;
	border-color: #10b981 !important;
	color: #fff !important;
}

.et_pb_contact_field[data-id="dw-objectif"]::after {
	content: " \25be";
	position: absolute;
	right: 20px;
	bottom: 12px;
	font-size: 18px;
	color: #9ca3af;
	pointer-events: none;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}



/* --- STYLE DES TEXTES D'AIDE (HELPER TEXT) --- */
.dw-help-text {
	display: block;
	font-size: 11px !important;
	/*color: #9ca3af !important; */
	color: #767b85 !important;
	margin-top: 6px;
	margin-left: 12px;
	line-height: 1.4;
	/*font-style: italic;*/
	font-weight: 400;
}

/*-----------
* AUTH forms styling (.whp-utm-builder)
* - Login Divi module (.et_pb_login)
* - Registration shortcode ([whp_register])
* Palette: #242424 / Blanc
* ----------*/

body.whp-utm-builder .et_pb_login_form,
body.whp-utm-builder .whp-register-form {
	box-sizing: border-box;
}

/* --- Login (Divi) --- */
body.whp-utm-builder .et_pb_login.et_pb_bg_layout_dark,
body.whp-utm-builder .et_pb_login_form {
	background: #242424 !important;
	color: #ffffff !important;
	border-radius: 16px !important;

}

body.whp-utm-builder .et_pb_login_form {
	border-radius: 16px !important;
	padding: 0 !important;
}

body.whp-utm-builder .et_pb_login_form form {
	margin: 0 !important;
}

body.whp-utm-builder .dw-auth-title {
	color: #ffffff !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	margin: 0 0 14px 0 !important;
	text-align: center;
	padding: 0 !important;
}

body.whp-utm-builder .et_pb_login_form p.et_pb_contact_form_field {
	margin-bottom: 14px !important;
}

body.whp-utm-builder .et_pb_newsletter_form,
body.whp-utm-builder .et_pb_login_form {
	width: 100% !important;
}

body.whp-utm-builder .et_pb_login_form .input {
	width: 100% !important;
	background: #ffffff !important;
	color: #242424 !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 10px !important;
	padding: 14px 14px !important;
	font-size: 15px !important;
	transition: box-shadow 0.2s ease, border-color 0.2s ease !important;
}

body.whp-utm-builder .et_pb_login_form .input:focus {
	outline: none !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12) !important;
}

body.whp-utm-builder .et_pb_forgot_password a {
	color: rgba(255, 255, 255, 0.9) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

body.whp-utm-builder .et_pb_forgot_password a:hover {
	color: #ffffff !important;
}

/* Sécurité UX : on masque le lien natif Divi (souvent wp-login.php)
   et on affiche le nôtre (wp_lostpassword_url, ex. /back-connect/?action=lostpassword). */
body.whp-utm-builder .et_pb_login_form .et_pb_forgot_password {
	display: none !important;
}

body.whp-utm-builder .whp-lost-password {
	margin: 10px 0 0 0 !important;
	text-align: center;
}

body.whp-utm-builder .whp-lost-password a {
	color: rgba(255, 255, 255, 0.9) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
	font-size: 14px;
	font-weight: 600;
}

body.whp-utm-builder .whp-lost-password a:hover {
	color: #ffffff !important;
}

body.whp-utm-builder .et_pb_login_form .et_pb_newsletter_button,
body.whp-utm-builder .et_pb_login_form button.et_pb_button {
	background: #ffffff !important;
	color: #242424 !important;
	border: 1px solid #ffffff !important;
	border-radius: 10px !important;
	padding: 14px 22px !important;
	font-weight: 600 !important;
	transition: transform 0.08s ease, background 0.2s ease, color 0.2s ease !important;
}

body.whp-utm-builder .et_pb_login_form .et_pb_newsletter_button:hover,
body.whp-utm-builder .et_pb_login_form button.et_pb_button:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.92) !important;
}

body.whp-utm-builder .et_pb_login_form .et_pb_forgot_password {
	margin-top: 6px !important;
}

/* --- Signup (shortcode) --- */
body.whp-utm-builder .whp-register-form {
	background: #242424 !important;
	border-radius: 16px !important;
	padding: 24px !important;
}

body.whp-utm-builder .whp-register-form label {
	display: block;
	color: #ffffff !important;
	font-size: 13px !important;
	margin: 0 0 8px 0 !important;
	font-weight: 500 !important;
}

/* Filet de sécurité : si une ancienne version du shortcode est en cache,
   on masque les labels pour revenir au rendu placeholder. */
body.whp-utm-builder .whp-register-form label {
	display: none !important;
}

body.whp-utm-builder .whp-register-form .whp-register-field {
	margin: 0 0 14px 0 !important;
	padding-bottom: 1em;
}

body.whp-utm-builder .whp-register-form .whp-register-actions {
	margin: 0 !important;
}

body.whp-utm-builder .whp-register-form input::placeholder {
	color: rgba(36, 36, 36, 0.65) !important;
	opacity: 1 !important;
}

body.whp-utm-builder .whp-register-form input::-webkit-input-placeholder {
	color: rgba(36, 36, 36, 0.65) !important;
	opacity: 1 !important;
}

body.whp-utm-builder .whp-register-form input::-moz-placeholder {
	color: rgba(36, 36, 36, 0.65) !important;
	opacity: 1 !important;
}

body.whp-utm-builder .whp-register-form input:-ms-input-placeholder {
	color: rgba(36, 36, 36, 0.65) !important;
	opacity: 1 !important;
}

body.whp-utm-builder .whp-register-form input:-moz-placeholder {
	color: rgba(36, 36, 36, 0.65) !important;
	opacity: 1 !important;
}

body.whp-utm-builder .whp-register-form input[type="email"],
body.whp-utm-builder .whp-register-form input[type="password"] {
	width: 100% !important;
	background: #ffffff !important;
	color: #242424 !important;
	border: 1px solid rgba(255, 255, 255, 0.18) !important;
	border-radius: 10px !important;
	padding: 14px 14px !important;
	font-size: 15px !important;
}

body.whp-utm-builder .whp-register-form input[type="email"]:focus,
body.whp-utm-builder .whp-register-form input[type="password"]:focus {
	outline: none !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.12) !important;
}

body.whp-utm-builder .whp-register-form button[type="submit"],
body.whp-utm-builder .whp-register-form button {
	width: 100% !important;
	background: #ffffff !important;
	color: #242424 !important;
	border: 1px solid #ffffff !important;
	border-radius: 10px !important;
	padding: 14px 18px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: transform 0.08s ease, background 0.2s ease !important;
	font-size: 20px;
	line-height: 1.7em;
}

body.whp-utm-builder .whp-register-form button[type="submit"]:hover,
body.whp-utm-builder .whp-register-form button:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.92) !important;
}

body.whp-utm-builder .whp-register-errors {
	color: #ffffff !important;
	background: rgba(239, 68, 68, 0.15) !important;
	border: 1px solid rgba(239, 68, 68, 0.35) !important;
	padding: 10px 12px !important;
	border-radius: 10px !important;
	margin-bottom: 10px !important;
}

body.whp-utm-builder .whp-register-errors p {
	margin: 0 !important;
}

body.whp-utm-builder .whp-register-success {
	color: #ffffff !important;
	background: rgba(16, 185, 129, 0.15) !important;
	border: 1px solid rgba(16, 185, 129, 0.35) !important;
	padding: 10px 12px !important;
	border-radius: 10px !important;
	margin-bottom: 10px !important;
}

body.whp-utm-builder .whp-register-success p {
	margin: 0 !important;
}

/* --- Login/Signup switch tabs (.whp-utm-builder) --- */
body.whp-utm-builder .dw-auth-tabs {
	display: flex;
	gap: 10px;
	margin: 0 0 18px 0;
}

body.whp-utm-builder .dw-auth-tab {
	flex: 1;
	background: transparent !important;
	border: 2px solid #242424 !important;
	color: #242424 !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	font-weight: 600 !important;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

body.whp-utm-builder .dw-auth-tab.is-active {
	background: #242424 !important;
	color: #ffffff !important;
	border-color: rgba(255, 255, 255, 0.85) !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18) !important;
}

/* --- Historique URLs (.whp-utm-builder) --- */
body.whp-utm-builder #whp-utm-history {
	margin-top: 22px;
	background: #242424;
	color: #ffffff;
	border-radius: 16px;
	padding: 18px 18px;
}

body.whp-utm-builder #whp-utm-history h3 {
	margin: 0 !important;
	font-size: 18px;
	font-weight: 700;
	color: #f0f0f0;
	padding: 0 !important;
	line-height: 1.2;
}

body.whp-utm-builder .whp-utm-history-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
}

body.whp-utm-builder .whp-utm-history-user {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	max-width: 70%;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.78);
	text-align: right;
}

body.whp-utm-builder .whp-utm-history-email {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	min-width: 0;
}

body.whp-utm-builder .whp-utm-history-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

body.whp-utm-builder .whp-utm-history-empty {
	margin: 0 !important;
	color: rgba(255, 255, 255, 0.85);
	font-size: 14px;
}

body.whp-utm-builder .whp-utm-history-item {
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: rgba(255, 255, 255, 0.03);
	border-radius: 12px;
	padding: 10px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body.whp-utm-builder .whp-utm-history-meta {
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 2px;
	color: rgba(255, 255, 255, 0.95);
}

body.whp-utm-builder .whp-utm-history-date {
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 0;
	color: rgba(255, 255, 255, 0.75);
}

body.whp-utm-builder .whp-utm-history-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

body.whp-utm-builder .whp-utm-history-titles {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

body.whp-utm-builder .whp-utm-history-actions {
	display: flex;
	align-items: center;
	gap: 10px;
}

body.whp-utm-builder .whp-utm-history-url {
	width: 100%;
	background: #ffffff !important;
	color: #242424 !important;
	border-radius: 10px !important;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	padding: 8px 10px !important;
	font-size: 12px;
}

body.whp-utm-builder .whp-utm-history-copy {
	margin-top: 0;
	width: auto;
	background: #ffffff !important;
	color: #242424 !important;
	border: 1px solid #ffffff !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: transform 0.08s ease, background 0.2s ease !important;
	font-size: 12px;
	flex: 0 0 auto;
}

body.whp-utm-builder .whp-utm-history-copy:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.92) !important;
}

body.whp-utm-builder .whp-utm-history-delete {
	margin-top: 0;
	width: auto;
	background: rgba(239, 68, 68, 0.12) !important;
	color: #ffffff !important;
	border: 1px solid rgba(239, 68, 68, 0.45) !important;
	border-radius: 10px !important;
	padding: 10px 14px !important;
	font-weight: 800 !important;
	cursor: pointer;
	transition: transform 0.08s ease, background 0.2s ease !important;
	font-size: 12px;
	flex: 0 0 auto;
}

body.whp-utm-builder .whp-utm-history-delete:hover {
	transform: translateY(-1px);
	background: rgba(239, 68, 68, 0.22) !important;
}

/* --- Logout icon next to history email --- */
body.whp-utm-builder #whp-logout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	padding: 0;
	margin: 0;
	background: transparent;
	border: 0;
	border-radius: 6px;
	color: rgba(255, 255, 255, 0.72) !important;
	text-decoration: none !important;
	opacity: 0.8;
}

body.whp-utm-builder #whp-logout:hover {
	background: rgba(255, 255, 255, 0.1);
	color: #ffffff !important;
	opacity: 1;
}

/* --- Login AJAX error (.whp-utm-builder) --- */
body.whp-utm-builder .whp-login-error {
	margin: 0 0 14px 0;
	padding: 12px 12px;
	border-radius: 12px;
	border: 1px solid rgba(239, 68, 68, 0.45);
	background: rgba(239, 68, 68, 0.15);
	color: #ffffff;
	font-size: 13px;
	font-weight: 600;
	display: none;
	/* affiché via JS quand erreur */
}

body.whp-utm-builder .whp-login-error:empty {
	display: none;
}

body.whp-utm-builder .whp-login-error:not(:empty) {
	display: block;
}

/* ==========================================================================
   Fiches outils (.outil-detail) — liste + CTA
   ========================================================================== */
.outil-detail .et_pb_blurb_description ul {
	list-style: none;
	margin: 0 0 2em;
	padding: 0;
}

.outil-detail .et_pb_blurb_description ul li {
	position: relative;
	list-style: none;
	padding: 0 0 10px 28px;
	margin: 0;
	line-height: 1.45;
}

.outil-detail .et_pb_blurb_description ul li:last-child {
	padding-bottom: 0;
}

.outil-detail .et_pb_blurb_description ul li::before {
	content: "\4e";
	/* check ETmodules */
	font-family: "ETmodules";
	font-size: 13px;
	font-weight: normal;
	line-height: 1;
	color: #1F7AFF;
	position: absolute;
	left: 0;
	top: 0.2em;
}

.outil-detail .et_pb_blurb_description>p:has(> a:only-child) {
	margin-top: 1.1em;
	margin-bottom: 0;
	padding-bottom: 0;
}

.outil-detail .et_pb_blurb_description a {
	display: inline-flex;
	align-items: center;
	/* gap: 8px; */
	font-size: 15px;
	font-weight: 700;
	color: #0B1B3A !important;
	text-decoration: none !important;
	/* padding: 0; */
	/* border: 0; */
	/* border-bottom: 1px solid rgba(11, 27, 58, 0.18); */
	letter-spacing: 1%;
	/* transition: color 0.2s ease, border-color 0.2s ease, gap 0.2s ease; */
	padding: 14px 34px;
	border-radius: 15px;
	width: 100%;
	text-align: center;
	justify-content: center;
}

/* .outil-detail .et_pb_blurb_description a::after {
	content: "\24";
	font-family: "ETmodules";
	font-size: 13px;
	font-weight: normal;
	line-height: 1;
	color: inherit;
	opacity: 0.55;
	transition: transform 0.2s ease, opacity 0.2s ease;
} */
/* 
.outil-detail .et_pb_blurb_description a:hover {
	color: #0B1B3A !important;
	border-bottom-color: #0B1B3A;
	gap: 11px;
} */

/* .outil-detail .et_pb_blurb_description a:hover::after {
	transform: translateX(4px);
	opacity: 1;
} */

/* ==========================================================================
   Scroll to top — progression circulaire
   ========================================================================== */
#whp-scroll-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 99990;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #0B1B3A;
	color: #ffffff;
	cursor: pointer;
	box-shadow: 0 10px 24px rgba(11, 27, 58, 0.2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px) scale(0.92);
	pointer-events: none;
	transition:
		opacity 0.28s ease,
		transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
		visibility 0.28s ease,
		box-shadow 0.28s ease,
		background-color 0.28s ease;
}

#whp-scroll-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0) scale(1);
	pointer-events: auto;
}

#whp-scroll-top.is-visible:hover {
	background: #132447;
	box-shadow: 0 16px 34px rgba(11, 27, 58, 0.32);
	transform: translateY(-2px);
}

#whp-scroll-top.is-visible:active {
	transform: translateY(-1px);
	box-shadow: 0 10px 22px rgba(11, 27, 58, 0.24);
}

#whp-scroll-top:focus-visible {
	outline: 2px solid #1F7AFF;
	outline-offset: 3px;
}

#whp-scroll-top .whp-scroll-top-ring {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
	pointer-events: none;
}

#whp-scroll-top .whp-scroll-top-ring-bg {
	fill: none;
	stroke: rgba(255, 255, 255, 0.18);
	stroke-width: 2;
}

#whp-scroll-top .whp-scroll-top-ring-progress {
	fill: none;
	stroke: #ffffff;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 1;
	stroke-dashoffset: 1;
	transition: stroke-dashoffset 0.1s linear;
}

#whp-scroll-top .whp-scroll-top-icon {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#whp-scroll-top .whp-scroll-top-icon svg {
	width: 25px;
	height: 25px;
	display: block;
	transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

#whp-scroll-top.is-visible:hover .whp-scroll-top-icon svg {
	/* transform: translateY(-1px); */
}

@media (max-width: 767px) {
	#whp-scroll-top {
		right: 16px;
		bottom: 16px;
		width: 44px;
		height: 44px;
	}

	#whp-scroll-top .whp-scroll-top-icon svg {
		width: 20px;
		height: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	#whp-scroll-top {
		transition: opacity 0.2s ease, visibility 0.2s ease;
		transform: none;
	}

	#whp-scroll-top.is-visible,
	#whp-scroll-top.is-visible:hover,
	#whp-scroll-top.is-visible:active {
		transform: none;
	}

	#whp-scroll-top .whp-scroll-top-icon svg,
	#whp-scroll-top .whp-scroll-top-ring-progress {
		transition: none;
	}

	#whp-scroll-top.is-visible:hover .whp-scroll-top-icon svg {
		transform: none;
	}
}


/* 19. Outils  */
/* Force le module Blurb à prendre toute la hauteur de la colonne */
.divi-equal-height-blurb {
	height: 100%;
}

.divi-equal-height-blurb .et_pb_blurb_content {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.divi-equal-height-blurb .et_pb_blurb_container {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
}

.divi-equal-height-blurb .et_pb_blurb_description {
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

/* Pousse le bouton vers le bas de la carte */
.divi-equal-height-blurb .et_pb_blurb_description>*:last-child {
	margin-top: auto;
}

/* Formulaire de congés */
.form-conges .et_pb_contact_submit.et_pb_button {
	display: flex;
}

.form-conges .et_pb_contact_submit.et_pb_button:after {
	margin-left: 15px !important;
	display: flex;
	position: relative;
}

.txt-exemple {
	color: #1e8300 !important;
	font-family: "Roboto mono", monospace;
}