/*
Theme Name: DDX
Theme URI: https://digitaledeluxe.fr/
Description: Thème enfant de Hello Elementor développé par Digitale Deluxe.
Author: Digitale Deluxe
Author URI: https://digitaledeluxe.fr/
Template: hello-elementor
Version: 1.0.0
Text Domain: ddx
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* =========================================================
   BANDEAU COOKIES (tarteaucitron) - identité ECEH
   À coller dans style.css, après les variables :root.
   Ne pas modifier tarteaucitron/css/tarteaucitron.css : il serait
   écrasé à la prochaine mise à jour de la bibliothèque.

   Couleurs en dur : nuit #331B2A, rose #BA3353, bordeaux #6D2236,
   pêche #F6D5C8 (pêche à ajuster selon la charte).
   La feuille de tarteaucitron est chargée après style.css et pose
   des !important : les sélecteurs ci-dessous sont plus précis et
   utilisent !important pour passer par-dessus.
   Pensé pour "orientation": "bottom" (bandeau en bas de page).
   ========================================================= */

/* ---------- Bandeau ---------- */

#tarteaucitronRoot #tarteaucitronAlertBig {
	background: #ffffff3d !important;
	border: 0 !important;
	box-shadow: 0 -8px 30px rgba(0, 0, 0, .25) !important;
	padding: 60px !important;
	font-family: var(--e-global-typography-text-font-family, system-ui, sans-serif) !important;
	text-align: center !important;
}

/* La feuille de tarteaucitron met tout en gris (#333) : on rend la couleur
   héritée à l'intérieur du bandeau pour que le texte reste blanc. */
#tarteaucitronRoot #tarteaucitronAlertBig * {
	color: inherit !important;
	font-family: inherit !important;
}
 
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
	display: block !important;
	max-width: 900px;
	margin: 0 auto 16px !important;
	padding: 0 !important;
	font-size: 22px !important;
	line-height: 1.5 !important;
}
 
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
	font-weight: 700 !important;
}
 
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronPartnersList {
	background: rgba(255, 255, 255, .08) !important;
}
 
 
/* ---------- Boutons : même taille, même forme ---------- */
 
#tarteaucitronRoot #tarteaucitronAlertBig button {
	box-sizing: border-box !important;
	min-width: 170px;
	margin: 6px !important;
	padding: 20px !important;
	border: 0 !important;
	border-radius: 50px !important;
	background: #F6D5C8 !important;
	color: #331B2A !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}
 
/* Tout accepter : rose */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
	background: #BA3353 !important;
	color: #fff !important;
	border-radius: 50px !important;
}
 
/* Survol et focus */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:focus-visible {
	background: #6D2236 !important;
}
 
#tarteaucitronRoot #tarteaucitronAlertBig button:not(#tarteaucitronPersonalize2):hover,
#tarteaucitronRoot #tarteaucitronAlertBig button:not(#tarteaucitronPersonalize2):focus-visible {
	background: #fff !important;
}
 
#tarteaucitronRoot #tarteaucitronAlertBig button:focus-visible,
#tarteaucitronRoot #tarteaucitronAlertBig a:focus-visible {
	outline: 3px solid #fff !important;
	outline-offset: 3px !important;
}
 
/* Lien "politique de confidentialité" : simple lien centré, sans aspect bouton.
   Placé après les règles de boutons pour les annuler, y compris au survol. */
#tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:hover,
#tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:focus-visible,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog:focus-visible {
	display: block !important;
	width: fit-content !important;
	min-width: 0 !important;
	margin: 14px auto 0 !important;
	padding: 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	text-align: center !important;
	text-decoration: underline !important;
	cursor: pointer;
}
 
#tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:hover,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrlDialog:hover {
	text-decoration: none !important;
}
 
/* ---------- Panneau de personnalisation ---------- */
 
/* Cadre */
#tarteaucitronRoot div#tarteaucitron,
#tarteaucitronRoot div#tarteaucitron:focus {
	outline: 0 !important;
	background: #fff;
	border-radius: 20px;
	overflow: clip; /* arrondit tout le contenu d'un coup, sans coins à corriger un par un */
	box-shadow: 0 20px 60px rgba(51, 27, 42, .35);
	font-family: var(--e-global-typography-text-font-family, system-ui, sans-serif) !important;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-sizing: border-box !important;
	padding: 0 24px !important;
}
 
#tarteaucitronRoot div#tarteaucitronServices {
	box-shadow: none !important;
	border-radius: 0 !important;
	margin-top: 0 !important;
	height: auto !important;
	max-height: calc(100vh - 190px);
}
 
@media (min-width: 768px) {
	#tarteaucitronRoot div#tarteaucitron {
		top: 50% !important;
		transform: translateY(-50%);
		max-height: 92% !important;
	}
}
 
/* Texte courant */
#tarteaucitronRoot #tarteaucitron * {
	color: #331B2A;
}
 
/* Fermer */
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
	z-index: 10 !important;
	top: 12px !important;
	right: 20px !important;
	width: auto !important;
	padding: 6px 16px !important;
	background: #F6D5C8 !important;
	color: #331B2A !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	border-radius: 50px !important;
}
 
#tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:hover {
	background: #BA3353 !important;
	color: #fff !important;
}
 
/* Titre et introduction */
#tarteaucitronRoot #tarteaucitron .tarteaucitronH1 {
	color: #6D2236 !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	margin: 20px 0 8px !important;
}
 
#tarteaucitronRoot div#tarteaucitronInfo {
	background: transparent !important;
	border: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	padding: 0 0 8px !important;
	margin: 0 auto !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}
 
#tarteaucitronRoot #tarteaucitronInfo * {
	font-size: 15px !important;
	font-weight: 400 !important;
}
 
#tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
	display: inline-block !important;
	margin: 2px 0 0 !important;
	padding: 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	color: #6D2236 !important;
	font-size: 15px !important;
	text-decoration: underline !important;
}
 
/* "Préférences pour tous les services" */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
	background: #fff !important;
	border: 0 !important;
	margin-top: 0 !important;
	padding: 0 6px 6px;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronH2 {
	color: #6D2236 !important;
	font-size: 17px !important;
	font-weight: 600 !important;
}
 
/* Titres de catégories */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button {
	margin: 12px 0 2px !important;
	padding: 0 !important;
	background: none !important;
	color: #6D2236 !important;
	font-size: 17px !important;
	font-weight: 600 !important;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronPlus::before {
	color: #BA3353 !important;
}
 
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button:focus-visible {
	outline: 2px solid #BA3353 !important;
	outline-offset: 2px !important;
	border-radius: 4px !important;
}
 
/* Services : un séparateur fin entre chaque ligne */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine {
	padding: 8px 0;
	border-bottom: 1px solid rgba(51, 27, 42, .12) !important;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronLine .tarteaucitronH3,
#tarteaucitronRoot #tarteaucitron .tarteaucitronLine .tarteaucitronH2 {
	color: #6D2236 !important;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronLine .tarteaucitronName a {
	color: #331B2A !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	text-decoration: underline !important;
}
 
/* Cookies obligatoires : texte sur toute la largeur, donc sur une ligne */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine .tarteaucitronName,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine .tarteaucitronName span {
	float: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
}
 
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"] {
	margin: 0 !important;
	padding: 0 !important;
	color: #331B2A !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}
 
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"] {
	padding: 2px 0 8px !important;
}
 
/* Boutons Autoriser / Interdire / Tout accepter / Tout refuser */
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny {
	background: #F6D5C8 !important;
	color: #331B2A !important;
	border: 0 !important;
	border-radius: 50px !important;
	padding: 10px 20px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	cursor: pointer;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow *,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny * {
	color: inherit !important;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitron .tarteaucitronCross {
	display: none !important;
}
 
/* Choix actif */
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied2.tarteaucitronIsSelected {
	background: #BA3353 !important;
	color: #fff !important;
}
 
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:hover,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:hover,
#tarteaucitronRoot #tarteaucitron .tarteaucitronAllow:focus-visible,
#tarteaucitronRoot #tarteaucitron .tarteaucitronDeny:focus-visible {
	background: #6D2236 !important;
	color: #fff !important;
}
 
#tarteaucitronRoot #tarteaucitron button:focus-visible,
#tarteaucitronRoot #tarteaucitron a:focus-visible {
	outline: 3px solid #331B2A !important;
	outline-offset: 2px !important;
}
 
/* Enregistrer */
html body #tarteaucitronRoot div#tarteaucitronSave {
	padding: 12px 24px 18px !important;
}
 
html body #tarteaucitronRoot button#tarteaucitronSaveButton {
	background: #BA3353 !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 50px !important;
	padding: 12px 28px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}
 
html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover,
html body #tarteaucitronRoot button#tarteaucitronSaveButton:focus-visible {
	background: #6D2236 !important;
}
 
 
/* ---------- Mobile ---------- */
 
@media (max-width: 767px) {
 
	#tarteaucitronRoot #tarteaucitronAlertBig {
		padding: 18px 16px !important;
	}
 
	#tarteaucitronRoot #tarteaucitronAlertBig button {
		display: block !important;
		width: 100% !important;
		margin: 8px 0 0 !important;
	}
}
 
 
/* ---------- Mouvement réduit ---------- */
 
@media (prefers-reduced-motion: reduce) {
	#tarteaucitronRoot #tarteaucitronAlertBig button {
		transition: none;
	}
}


/* =========================================================
   ECEH MENU : BASE
   ========================================================= */

.eceh-menu-wrap {
	position: relative;
	z-index: 100;
}

.eceh-menu {
	display: flex;
	align-items: center;

	margin: 0;
	padding: 0;

	list-style: none;

	background-color: #FFFFFF14;

	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);

	border-radius: 50px;
}


/* =========================================================
   ITEMS PRINCIPAUX
   ========================================================= */

.eceh-menu > li {
	position: relative;
	margin: 5px;
	padding: 0;
}

.eceh-menu > li > a {
	display: flex;
	align-items: center;
	gap: 8px;

	padding: 10px;

	font-family: var(--e-global-typography-accent-font-family);
	font-size: 1rem;
	line-height: 1;
	font-weight: 500;

	text-transform: uppercase;

	color: #fff;
	text-decoration: none;

	border-radius: 50px;

	transition:
		background-color .25s ease,
		color .25s ease;
}

.eceh-menu > li > a:hover,
.eceh-menu > li.current-menu-item > a,
.eceh-menu > li.current-menu-parent > a,
.eceh-menu > li.current-menu-ancestor > a {
	background: rgba(255, 255, 255, .18);
	color: #fff;
}
@media (max-width: 1024px) {

	.eceh-menu > li.current-menu-item > a,
	.eceh-menu > li.current-menu-parent > a,
	.eceh-menu > li.current-menu-ancestor > a,
	.eceh-menu .sub-menu .current-menu-item > a {
		background: transparent !important;
		color: #D53C60 !important;
		font-weight: 600 !important;
	}

}

/* =========================================================
   FLÈCHES PREMIER NIVEAU
   ========================================================= */

.eceh-menu > .menu-item-has-children > a::after {
	content: "";

	width: 8px;
	height: 8px;

	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;

	transform: rotate(45deg) translateY(-2px);

	transition: transform .25s ease;
}

.eceh-menu > .menu-item-has-children:hover > a::after {
	transform: rotate(225deg) translate(-1px, -1px);
}


/* =========================================================
   SOUS-MENUS
   ========================================================= */

.eceh-menu .sub-menu {
	position: absolute;
	top: calc(100% + 10px);
	left: 0;

	min-width: 240px;

	margin: 0;
	padding: 5px;

	list-style: none;

	background: #FFFFFF40;

	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);

	border-radius: 20px;

	opacity: 0;
	visibility: hidden;

	transform: translateY(8px);

	transition:
		opacity .2s ease,
		transform .2s ease,
		visibility .2s ease;
}

.eceh-menu li:hover > .sub-menu,
.eceh-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}


/* =========================================================
   LIENS SOUS-MENU
   ========================================================= */

.eceh-menu .sub-menu li {
	margin: 0;
	padding: 0;
}

.eceh-menu .sub-menu a {
	display: block;

	padding: 10px;

	font-family: var(--e-global-typography-accent-font-family);
	font-size: 1.2rem;
	line-height: 1.3;

	text-transform: none;

	color: #fff;
	text-decoration: none;

	border-radius: 50px;

	transition: background-color .2s ease;
}

.eceh-menu .sub-menu a:hover,
.eceh-menu .sub-menu .current-menu-item > a {
	background: rgba(255,255,255,.5);
	color: #331B2A;
}


/* =========================================================
   HOME
   ========================================================= */

.eceh-menu .menu-home-icon > a {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	padding: 0;

	font-size: 0;
}

.eceh-menu .menu-home-icon > a::before {
	content: "";

	display: block;

	width: 21px;
	height: 21px;

	background-color: currentColor;

	-webkit-mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20a1 1 0 0 1-1 1h-5v-6h-4v6H5a1 1 0 0 1-1-1v-9.5Z' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;

	mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20a1 1 0 0 1-1 1h-5v-6h-4v6H5a1 1 0 0 1-1-1v-9.5Z' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;
}


/* =========================================================
   ECEH MENU : TRIGGER
   ========================================================= */

.eceh-menu-toggle {
	display: none;
	position: relative;
	z-index: 10002;

	align-items: center;
	justify-content: center;

	width: 68px;
	height: 68px;

	padding: 0;

	border: 0;
	border-radius: 50px;

	background: rgba(255, 255, 255, .12);
	color: #fff;

	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);

	cursor: pointer;
}


/* =========================================================
   ICÔNE BURGER
   ========================================================= */

.eceh-menu-toggle-icon {
	position: relative;

	display: block;

	width: 20px;
	height: 14px;

	border-top: 2px solid currentColor;
	border-bottom: 2px solid currentColor;

	transition:
		border-color .25s ease,
		transform .25s ease;
}

.eceh-menu-toggle-icon::before,
.eceh-menu-toggle-icon::after {
	content: "";

	position: absolute;
	left: 0;
	top: 50%;

	width: 20px;
	height: 2px;

	background: currentColor;

	transform: translateY(-50%);

	transition: transform .25s ease;
}


/* =========================================================
   TABLETTE + MOBILE : OFF CANVAS
   ========================================================= */

@media (max-width: 1024px) {

	body.eceh-menu-open {
		overflow: hidden;
	}

	.eceh-menu-wrap {
		position: relative;
		z-index: 10000;

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

	.eceh-menu-toggle {
		display: flex;
	}


	/* -----------------------------------------------------
	   BURGER → CROIX
	   ----------------------------------------------------- */

	.eceh-menu-wrap.is-open .eceh-menu-toggle-icon {
		border-color: transparent;
	}

	.eceh-menu-wrap.is-open .eceh-menu-toggle-icon::before {
		transform: translateY(-50%) rotate(45deg);
	}

	.eceh-menu-wrap.is-open .eceh-menu-toggle-icon::after {
		transform: translateY(-50%) rotate(-45deg);
	}


	/* -----------------------------------------------------
	   PANNEAU PLEIN ÉCRAN
	   ----------------------------------------------------- */

	.eceh-menu-panel {
		position: fixed;

		inset: 0;

		z-index: 10001;

		width: 100vw;
		height: 100dvh;

		padding:
			110px
			clamp(24px, 6vw, 70px)
			40px;

		overflow-y: auto;

		background: rgba(51, 27, 42, .90);

		-webkit-backdrop-filter: blur(20px);
		backdrop-filter: blur(20px);

		opacity: 0;
		visibility: hidden;

		transform: translateX(100%);

		transition:
			transform .35s ease,
			opacity .3s ease,
			visibility .35s ease;
	}

	.eceh-menu-wrap.is-open .eceh-menu-panel {
		opacity: 1;
		visibility: visible;

		transform: translateX(0);
	}


	/* -----------------------------------------------------
	   MENU
	   ----------------------------------------------------- */

	.eceh-menu {
		display: flex;
		flex-direction: column;
		align-items: stretch;

		width: 100%;
		max-width: 900px;

		margin: 0 auto;
		padding: 0;

		background: transparent;

		-webkit-backdrop-filter: none;
		backdrop-filter: none;

		border: 0;
		border-radius: 0;
	}


	/* -----------------------------------------------------
	   PREMIER NIVEAU
	   ----------------------------------------------------- */

	.eceh-menu > li {
		width: 100%;

		margin: 0;
		padding: 0;

		border-bottom: 1px solid rgba(255, 255, 255, .12);
	}

	.eceh-menu > li > a {
		display: flex;
		align-items: center;
		justify-content: space-between;

		width: 100%;

		padding: 20px 4px;

		font-family: var(--e-global-typography-accent-font-family);
		font-weight: var(--e-global-typography-accent-font-weight);
		font-size: clamp(20px, 4vw, 28px);
		line-height: 1.15;

		text-transform: uppercase;

		color: #fff;

		background: transparent;

		border-radius: 0;
	}


	/* -----------------------------------------------------
	   HOME
	   ----------------------------------------------------- */

	.eceh-menu .menu-home-icon > a {
		width: 100%;
		height: auto;

		justify-content: flex-start;

		padding: 20px 4px;
	}

	.eceh-menu .menu-home-icon > a::before {
		width: 22px;
		height: 22px;
	}


	/* -----------------------------------------------------
	   FLÈCHE
	   ----------------------------------------------------- */

	.eceh-menu > .menu-item-has-children > a::after {
		width: 10px;
		height: 10px;

		margin-right: 4px;

		transition: transform .25s ease;
	}

	.eceh-menu > .menu-item-has-children.submenu-open > a::after {
		transform: rotate(225deg);
	}


	/* -----------------------------------------------------
	   SOUS-MENUS
	   ----------------------------------------------------- */

	.eceh-menu .sub-menu {
		position: static;

		display: none;

		min-width: 0;

		margin: 0;
		padding: 0 0 16px 18px;

		background: transparent;

		-webkit-backdrop-filter: none;
		backdrop-filter: none;

		border: 0;
		border-radius: 0;

		opacity: 1;
		visibility: visible;

		transform: none;

		transition: none;
	}

	.eceh-menu .submenu-open > .sub-menu {
		display: block;
	}


	/* -----------------------------------------------------
	   LIENS SOUS-MENU
	   ----------------------------------------------------- */

	.eceh-menu .sub-menu li {
		margin: 0;
		padding: 0;
	}

	.eceh-menu .sub-menu a {
		display: block;

		padding: 11px 14px;

		font-family: var(--e-global-typography-accent-font-family);
		font-weight: var(--e-global-typography-accent-font-weight);
		font-size: 16px;
		line-height: 1.3;

		text-transform: none;

		color: rgba(255,255,255,.82);

		background: transparent;

		border-radius: 50px;
	}

	.eceh-menu .sub-menu a:hover,
	.eceh-menu .sub-menu .current-menu-item > a {
		color: #fff;
		background: rgba(255,255,255,.10);
	}

}
/* =========================================================
   CADRE BLANC UNIQUEMENT SUR LE FRONT
   ========================================================= */   

/*body:not(.elementor-editor-active):not(.elementor-editor-preview)::after {
	content: "";
	position: fixed;
	inset: 10px;
	z-index: 99999;

	border-radius: 20px;
	box-shadow: 0 0 0 100vmax #fff;
	pointer-events: none;
}
*/
/* Mobile : aucun cadre */
/*@media (max-width: 767px) {

	body:not(.elementor-editor-active):not(.elementor-editor-preview)::after {
		display: none;
	}
}
========================================================= */


/* =========================================================
   TITRES GLOBAUX
   ========================================================= */

h1 {
	text-transform: uppercase;
	font-size: 5rem;
	line-height: 1;
}

h2 {
	font-size: 3rem;
	line-height: 1;
}

h3 {
	font-size: 2rem;
	line-height: 1;
}

@media (max-width: 1024px) {
	h1 {
		font-size: 4rem;
	}

	h2 {
		font-size: 3rem;
	}
	h3 {
		font-size: 2.5rem;
	}
}

@media (max-width: 767px) {
	h1 {
		font-size: 3rem;
	}

	h2 {
		font-size: 2rem;
	}
	h3 {
		font-size: 2rem;
	}
}
/* =========================================================
   STYLES ÉDITORIAUX
   ========================================================= */

/* Texte d'introduction / chapô */
.chapo {
	font-family: var(--e-global-typography-text-font-family);
	font-size: 1.5rem;
	line-height: 1.25;
	font-weight: 400;
}
/* =========================================================
   LISTES À PUCE : FLÈCHE ECEH
   ========================================================= 

ul:not(.elementor-nav-menu):not(.sub-menu):not(.menu):not(.jet-listing-grid__items) {
	list-style: none;
	padding-left: 0;
}

ul:not(.elementor-nav-menu):not(.sub-menu):not(.menu):not(.jet-listing-grid__items) > li {
	position: relative;
	padding-left: 28px;
	margin-bottom: .5em;
}

ul:not(.elementor-nav-menu):not(.sub-menu):not(.menu):not(.jet-listing-grid__items) > li::before {
	content: "";

	position: absolute;
	left: 0;
	top: .35em;

	width: 14px;
	height: 14px;

	background-color: var(--e-global-color-secondary);

	-webkit-mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 7l5 5-5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;

	mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 7l5 5-5 5' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

/* Sécurité : aucune flèche dans les menus */
/*nav li::before,
.elementor-nav-menu li::before,
.sub-menu li::before,
.menu li::before {
	content: none !important;
	display: none !important;
}*/

/* =========================================================
   SECTIONS DE LA PAGE D'ACCUEIL
   ========================================================= */

/* Petit titre de section : ex. "L'ÉCOLE" */
.home_section .section_title .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;

	font-family: var(--e-global-typography-secondary-font-family);
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
	color: inherit;
}

/* Trait décoratif placé avant le petit titre de section */
.home_section .section_title .elementor-heading-title::before {
	content: "";
	display: inline-block;
	width: 32px;
	height: 3px;
	flex: 0 0 32px;
	background: var(--e-global-color-3dc3193);
}

/* Titre principal à l'intérieur des sections de l'accueil */
.home_section h3 {
	font-size: 3rem;
}


/* =========================================================
   BLOC FORMATIONS
   ========================================================= */

/* Utilise la typographie secondaire dans le bloc formations */
#in-formations {
	font-family: var(--e-global-typography-secondary-font-family);
}


/* =========================================================
   LISTES ORDONNÉES PERSONNALISÉES
   ========================================================= */

/* Supprime la numérotation native et initialise le compteur */
ol {
	list-style: none;
	counter-reset: item;
	padding-left: 0;
}

/* Prépare chaque élément pour recevoir son numéro personnalisé */
ol li {
	counter-increment: item;
	position: relative;
	padding-left: 2.5em;
	margin-bottom: 0.5em;
}

/* Mise en forme des textes en gras dans les listes */
ol li strong {
	font-family: var(--e-global-typography-secondary-font-family);
	color: var(--e-global-color-accent);
	text-transform: uppercase;
}

/* Numéro affiché dans une pastille ronde */
ol li::before {
	content: counter(item);
	position: absolute;
	left: 0;
	top: -5px;

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

	width: 2em;
	font-weight:bold;
	height: 2em;
	border-radius: 50%;

	background-color: var(--e-global-color-accent);
	color: var(--e-global-color-cf37011);
}
/* Séparateurs intérieurs d'une grille 3 colonnes */
.faqlist .jet-listing-grid__item:not(:nth-child(3n + 1)) {
	border-left: 1px solid rgba(0, 0, 0, 0.15);
	padding-left: 30px;
}

.faqlist .jet-listing-grid__item:not(:nth-child(3n)) {
	padding-right: 30px;
}
/* =========================================================
   SÉPARATEURS VERTICAUX ENTRE COLONNES
   ========================================================= */

.listing-separateurs .jet-listing-grid__item.has-left-separator {
	border-left: 1px solid rgba(0, 0, 0, 0.15);
	padding-left: 30px;
}
/* =========================================================
   CTA LATÉRAL
   ========================================================= */

#side-cta {
	right: 0;
	z-index: 100;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 5px;

	width: 140px;
	height: 140px;
	min-height: 140px;
	--min-height: 140px;
	padding: 15px;

	box-sizing: border-box;

	overflow: hidden;

	transition:
		width .18s ease,
		height .18s ease,
		min-height .18s ease,
		padding .18s ease;
}

@media (max-width: 1024px) {
	#side-cta {
		display: none !important;
	}
}


/* =========================================================
   PICTOGRAMME
   ========================================================= */

#side-cta .elementor-widget-image {
	width: 76px;
	flex: 0 0 auto;
	margin: 0;
	transition: width .18s ease;
}

#side-cta .elementor-widget-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* Rétracté : picto réduit. Il reprend sa taille au survol. */
#side-cta.is-collapsed .elementor-widget-image {
	width: 56px;
}

#side-cta.is-collapsed:hover .elementor-widget-image,
#side-cta.is-collapsed:focus-within .elementor-widget-image {
	width: 76px;
}


/* =========================================================
   TEXTE + LIEN
   ========================================================= */

#side-cta-label {
	flex: 0 0 auto;
	width: 110px;
	margin: 0;

	text-align: center;

	opacity: 1;
	transform: translateX(0);

	transition:
		transform .18s ease,
		opacity .25s ease;
}

#side-cta-label .jet-listing-dynamic-link__link {
	white-space: normal;
	text-align: center;
}


/* =========================================================
   ÉTAT RÉTRACTÉ : le texte sort par la droite
   Le texte reste dans le DOM (lecteurs d'écran, Tab clavier).
   ========================================================= */

#side-cta.is-collapsed {
	width: 86px;
	height: 86px;
	min-height: 86px;
	--min-height: 86px;
	/* 86 - 56 de picto = 30 : 15px en haut, le reste en bas, le picto est centré.
	   Le label (invisible) déborde en bas sans influencer le centrage. */
	padding: 15px 5px 5px;
}

#side-cta.is-collapsed #side-cta-label {
	opacity: 0;
	transform: translateX(120%);
	pointer-events: none;

	/* Sortie : le décalage part tout de suite, le fondu finit en route */
	transition:
		transform .15s ease,
		opacity .2s ease .05s;
}


/* =========================================================
   RÉOUVERTURE : survol ou focus clavier
   Le conteneur s'élargit, puis le texte revient de la droite.
   ========================================================= */

#side-cta.is-collapsed:hover,
#side-cta.is-collapsed:focus-within {
	width: 140px;
	height: 140px;
	min-height: 140px;
	--min-height: 140px;
	padding: 15px;
}

#side-cta.is-collapsed:hover #side-cta-label,
#side-cta.is-collapsed:focus-within #side-cta-label {
	opacity: 1;
	transform: translateX(0);
	pointer-events: auto;

	/* Entrée : léger retard pour laisser le conteneur s'ouvrir */
	transition:
		transform .18s ease .1s,
		opacity .3s ease .1s;
}


/* =========================================================
   MOUVEMENT RÉDUIT
   ========================================================= */

@media (prefers-reduced-motion: reduce) {
	#side-cta,
	#side-cta .elementor-widget-image,
	#side-cta-label,
	#side-cta.is-collapsed #side-cta-label,
	#side-cta.is-collapsed:hover #side-cta-label,
	#side-cta.is-collapsed:focus-within #side-cta-label {
		transition: none;
	}
}
/* =========================================================
   NAVIGATION FORMATION
   ========================================================= */

#formation-nav {
	position: sticky;
	top: 0;
	z-index: 90;

	transition: transform 0.3s ease;
}

/* Scroll vers le bas : la navigation remonte */
body.scrolling-down #formation-nav {
	transform: translateY(-100%);
}

/* Scroll vers le haut : la navigation redescend */
body.scrolling-up #formation-nav {
	transform: translateY(0);
}

/* En haut de page */
body:not(.scrolling) #formation-nav {
	transform: translateY(0);
}
/* =========================================================
   TIMELINE
   ========================================================= */

.timeline-item {
	position: relative;
	z-index: 2;

	max-width: 200px;
	height: 260px;

	margin: 0 20px;
	padding: 15px;

	text-align: center;
}


/* =========================================================
   TIMELINE : SÉPARATEURS DESKTOP
   ========================================================= */

.timeline-item:not(:last-child)::after {
	content: "";

	position: absolute;
	top: 50%;
	right: -20px;

	width: 1px;
	height: 260px;

	background: var(--e-global-color-accent);

	transform: translateY(-50%);
}


/* =========================================================
   TIMELINE : MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.timeline-ribbon {
		position: relative;

		display: flex;
		flex-direction: column;

		gap: 30px;

		/* Colonne réservée au ruban */
		padding-left: 110px;

		background-image: none !important;

		overflow: hidden;
	}


	/* Ruban vertical */
	.timeline-ribbon::before {
		content: "";

		position: absolute;

		top: 50%;
		left: 50px;

		width: 100vh;
		height: 130px;

		background-image: url('/wp-content/uploads/2026/09/ruban2.svg');
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;

		transform:
			translate(-50%, -50%)
			rotate(90deg);

		transform-origin: center;

		pointer-events: none;

		z-index: 0;
	}


	/* Items */
	.timeline-item {
		position: relative;
		z-index: 2;

		width: 100%;
		max-width: none;
		height: auto;

		margin: 0;
		padding: 20px 0;

		text-align: left;
	}


	/* Aucun séparateur vertical entre les items sur mobile */
	.timeline-item:not(:last-child)::after {
		display: none;
	}

}

/* =========================================================
   COMPONENT : IMAGE + TEXTE
   ========================================================= */

/* Les deux colonnes prennent la même hauteur */
.image-texte {
	display: flex;
	flex-direction: row;
	align-items: stretch;
}

/* Colonne image */
.image-texte > .col-image {
	position: relative;
	align-self: stretch;
	min-height: 0;
	overflow: hidden;
}

/* Widget Dynamic Image JetEngine */
.image-texte .col-image .elementor-widget-jet-listing-dynamic-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

/* Conteneur intermédiaire JetEngine */
.image-texte .col-image .jet-listing-dynamic-image {
	width: 100%;
	height: 100%;
}

/* Image recadrée à la hauteur du contenu */
.image-texte .col-image .jet-listing-dynamic-image__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Bouton placé au-dessus de l'image */
.image-texte .col-image .elementor-widget-jet-listing-dynamic-link {
	position: relative;
	z-index: 2;
}
/* =========================================================
   DESKTOP + TABLETTE
   ========================================================= */

.image-texte {
	display: flex;
	align-items: stretch;
}

.image-texte > .col-image {
	position: relative;
	align-self: stretch;
	overflow: hidden;
}

/* Image JetEngine qui remplit la colonne */
.image-texte .col-image .elementor-widget-jet-listing-dynamic-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.image-texte .col-image .jet-listing-dynamic-image,
.image-texte .col-image .jet-listing-dynamic-image__img {
	width: 100%;
	height: 100%;
}

.image-texte .col-image .jet-listing-dynamic-image__img {
	display: block;
	object-fit: cover;
	object-position: center;
}

/* Le bouton reste au-dessus */
.image-texte .col-image .elementor-widget-jet-listing-dynamic-link {
	position: relative;
	z-index: 2;
}
/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

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

	.image-texte > .col-image {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	/* L'image continue à remplir le bloc */
	.image-texte .col-image .elementor-widget-jet-listing-dynamic-image {
		position: absolute;
		inset: 0;
	}

	.image-texte .col-image .jet-listing-dynamic-image__img {
		object-fit: cover;
	}
}
/* =========================================================
   PARTENAIRES : IMAGE + BOUTON AU SURVOL
   ========================================================= */

.partenaire-visuel {
	position: relative;
	overflow: hidden;
}

/* Image */
.partenaire-visuel .elementor-widget-image {
	position: relative;
	z-index: 0;
	width: 100%;
}

.partenaire-visuel .elementor-widget-image img {
	display: block;
	width: 100%;
	transition: transform .35s ease;
}


/* Voile */
.partenaire-visuel::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;

	background: rgba(51, 27, 42, .4);

	opacity: 0;
	transition: opacity .3s ease;

	pointer-events: none;
}


/* Widget bouton JetEngine */
.partenaire-visuel .elementor-widget-jet-listing-dynamic-link {
	position: absolute !important;

	top: 50%;
	left: 50%;

	width: max-content;
	max-width: 90%;

	z-index: 10;

	opacity: 0;
	visibility: hidden;

	transform: translate(-50%, -40%);

	transition:
		opacity .3s ease,
		transform .3s ease,
		visibility .3s ease;
}


/* On s'assure que les wrappers JetEngine restent visibles */
.partenaire-visuel .elementor-widget-jet-listing-dynamic-link .elementor-widget-container,
.partenaire-visuel .elementor-widget-jet-listing-dynamic-link .jet-listing,
.partenaire-visuel .elementor-widget-jet-listing-dynamic-link .jet-listing-dynamic-link {
	position: relative;
	z-index: 10;
}


/* Effets uniquement si un lien existe */
.partenaire-visuel:has(.elementor-widget-jet-listing-dynamic-link):hover::after {
	opacity: 1;
}

.partenaire-visuel:has(.elementor-widget-jet-listing-dynamic-link):hover
.elementor-widget-jet-listing-dynamic-link {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, -50%);
}

.partenaire-visuel:has(.elementor-widget-jet-listing-dynamic-link):hover
.elementor-widget-image img {
	transform: scale(1.04);
}

/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.partenaire-visuel:has(.elementor-widget-jet-listing-dynamic-link)::after {
		opacity: .2;
	}

	.partenaire-visuel:has(.elementor-widget-jet-listing-dynamic-link)
	.elementor-widget-jet-listing-dynamic-link {
		opacity: 1;
		visibility: visible;
		transform: translate(-50%, -50%);
	}
}
/* =========================================================
   BACK TO TOP
   ========================================================= */

#back-to-top {
	position: fixed;
	left: 30px;
	bottom: 30px;
	z-index: 9998;

	width: 52px;
	height: 52px;

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

	border-radius: 50%;

	background: var(--e-global-color-primary);
	color: #fff;

	text-decoration: none;

	box-shadow: 0 8px 24px rgba(0,0,0,.18);

	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);

	transition:
		opacity .25s ease,
		transform .25s ease,
		background .25s ease;
}

#back-to-top span {
	font-size: 24px;
	line-height: 1;
	transform: translateY(-1px);
}

/* visible */
#back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* hover */
#back-to-top:hover {
	background: var(--e-global-color-accent);
	transform: translateY(-3px);
}

/* mobile */
@media (max-width: 767px) {
	#back-to-top {
		left: 16px;
		bottom: 16px;
		width: 46px;
		height: 46px;
	}
}
/* =========================================================
   MENU : ICÔNE ACCUEIL
   ========================================================= */

.menu-home-icon > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 0 !important;
}

/* Masque uniquement le texte "Accueil" */
.menu-home-icon > a .jet-nav-link-text {
	display: none !important;
}

/* Icône maison */
.menu-home-icon > a::before {
	content: "";
	display: block;
	width: 21px;
	height: 21px;
	flex: 0 0 21px;
	background-color: currentColor;

	-webkit-mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20a1 1 0 0 1-1 1h-5v-6h-4v6H5a1 1 0 0 1-1-1v-9.5Z' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;

	mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 10.5 12 4l8 6.5V20a1 1 0 0 1-1 1h-5v-6h-4v6H5a1 1 0 0 1-1-1v-9.5Z' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;
}

/* =========================================================
   JETFORMBUILDER : SELECT
   ========================================================= */

.jet-form-builder select {
	width: 100%;
	min-height: 52px;

	padding: 12px 46px 12px 16px;

	font-family: var(--e-global-typography-text-font-family);
	font-size: 1rem;
	color: var(--e-global-color-text);

	background-color: #fff;
	border: 1px solid rgba(51, 51, 51, .25);
	border-radius: 8px;

	appearance: none;
	-webkit-appearance: none;

	cursor: pointer;

	transition:
		border-color .2s ease,
		box-shadow .2s ease;
}

.jet-form-builder select:focus {
	outline: none;
	border-color: var(--e-global-color-primary);
	box-shadow: 0 0 0 3px rgba(109, 34, 54, .12);
}
.jet-form-builder select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 7.5 10 12.5 15 7.5' fill='none' stroke='%236D2236' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 18px;
}
.jet-form-builder select option {
	color: #333;
	background: #fff;
}
/* =========================================================
   JETFORMBUILDER : FOCUS CHAMPS
   ========================================================= */

.jet-form-builder input:focus,
.jet-form-builder textarea:focus,
.jet-form-builder select:focus {
	outline: none !important;

	border-color: var(--e-global-color-accent) !important;

	box-shadow: 0 0 0 3px rgba(186, 51, 83, .12) !important;
}
/* =========================================================
   JETFORMBUILDER : HAUTEUR UNIFORME DES CHAMPS
   ========================================================= */

.jet-form-builder input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.jet-form-builder select {
	min-height: 52px;
	height: 52px;

	padding: 0 16px;

	font-family: var(--e-global-typography-text-font-family);
	font-size: 1rem;
	line-height: 1.2;

	border-radius: 8px;
	box-sizing: border-box;
}

/* Le select a besoin d'un peu plus d'espace à droite pour la flèche */
.jet-form-builder select {
	padding-right: 46px;
}

/* Textarea : même style, hauteur libre */
.jet-form-builder textarea {
	min-height: 140px;

	padding: 14px 16px;

	font-family: var(--e-global-typography-text-font-family);
	font-size: 1rem;
	line-height: 1.4;

	border-radius: 8px;
	box-sizing: border-box;
}
/* =========================================================
   JETFORMBUILDER : DROPZONE ECEH
   ========================================================= */


/* ---------------------------------------------------------
   1. STRUCTURE GÉNÉRALE
   --------------------------------------------------------- */

/* Masque la zone de preview tant qu'aucun fichier n'est chargé */
.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__content:not(:has(.jet-form-builder-file-upload__file)) {
	display: none;
}

/* Espacement entre le label et la dropzone */
.field-type-media-field:has(.eceh-upload)
.jet-form-builder__field-wrap {
	margin-top: 10px;
}


/* ---------------------------------------------------------
   2. DROPZONE
   --------------------------------------------------------- */

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__fields {
	position: relative;

	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-height: 140px;
	padding: 30px;

	border: 1px dashed var(--e-global-color-primary);
	border-radius: 14px;

	background: rgba(228, 171, 157, .08);

	text-align: center;
	cursor: pointer;

	transition:
		border-color .25s ease,
		background-color .25s ease,
		box-shadow .25s ease;
}


/* ---------------------------------------------------------
   3. ICÔNE UPLOAD
   --------------------------------------------------------- */

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__fields::before {
	content: "";

	display: block;

	width: 34px;
	height: 34px;
	margin-bottom: 14px;

	background-color: var(--e-global-color-primary);

	-webkit-mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16V4m0 0L7.5 8.5M12 4l4.5 4.5M5 14v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;

	mask:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16V4m0 0L7.5 8.5M12 4l4.5 4.5M5 14v4a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-4' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")
		center / contain no-repeat;

	transition:
		background-color .25s ease,
		transform .25s ease;
}


/* ---------------------------------------------------------
   4. TEXTE DROPZONE
   --------------------------------------------------------- */

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__fields::after {
	content: "Déposez votre fichier PDF ici\A ou cliquez pour parcourir";

	white-space: pre-line;

	font-family: var(--e-global-typography-text-font-family);
	font-size: 1rem;
	line-height: 1.45;

	color: var(--e-global-color-text);

	pointer-events: none;
}


/* ---------------------------------------------------------
   5. INPUT NATIF INVISIBLE MAIS CLIQUABLE
   --------------------------------------------------------- */

.field-type-media-field:has(.eceh-upload)
.eceh-upload {
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	opacity: 0;

	cursor: pointer;
	z-index: 5;
}


/* ---------------------------------------------------------
   6. HOVER / FOCUS
   --------------------------------------------------------- */

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__fields:hover,
.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__fields:focus-within {
	border-color: var(--e-global-color-accent);

	background: rgba(186, 51, 83, .06);

	box-shadow: 0 0 0 3px rgba(186, 51, 83, .08);
}

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__fields:hover::before,
.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__fields:focus-within::before {
	background-color: var(--e-global-color-accent);

	transform: translateY(-2px);
}


/* ---------------------------------------------------------
   7. INFOS SOUS LE CHAMP
   --------------------------------------------------------- */

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__message,
.field-type-media-field:has(.eceh-upload)
.jet-form-builder__desc {
	margin-top: 7px;

	color: rgba(51, 51, 51, .7);
}

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__message small,
.field-type-media-field:has(.eceh-upload)
.jet-form-builder__desc small {
	font-size: .85rem;
}


/* ---------------------------------------------------------
   8. FICHIER AJOUTÉ
   --------------------------------------------------------- */

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__file {
	position: relative;

	display: flex;
	align-items: center;

	min-height: 74px;
	padding: 14px 56px 14px 18px;
	margin-bottom: 10px;

	border: 1px solid rgba(109, 34, 54, .18);
	border-radius: 10px;

	background: #fff;
}


/* ---------------------------------------------------------
   9. BOUTON SUPPRIMER
   --------------------------------------------------------- */
.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__file-remove {
	position: absolute !important;

	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	bottom: auto !important;

	display: flex !important;
	align-items: center !important;
	justify-content: center !important;

	width: 32px;
	height: 32px;
	padding: 0;
	margin: 0;

	border-radius: 50%;

	color: var(--e-global-color-primary);
	background: rgba(109, 34, 54, .08);

	cursor: pointer;

	transform: translate(-50%, -50%) !important;

	transition:
		background .2s ease,
		color .2s ease;
}

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__file-remove:hover {
	color: #fff;
	background: var(--e-global-color-accent);
}

.field-type-media-field:has(.eceh-upload)
.jet-form-builder-file-upload__file-remove svg {
	display: block;

	width: 14px;
	height: 14px;

	margin: 0;

	fill: currentColor;
}

/* ---------------------------------------------------------
   10. APRÈS AJOUT DU FICHIER
   --------------------------------------------------------- */

/* Si max_files = 1, on masque la dropzone */
.field-type-media-field:has(
	.jet-form-builder-file-upload__files
	.jet-form-builder-file-upload__file
)
.jet-form-builder-file-upload__fields {
	display: none;
}


/* ---------------------------------------------------------
   11. MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {

	.field-type-media-field:has(.eceh-upload)
	.jet-form-builder-file-upload__fields {
		min-height: 130px;
		padding: 24px 18px;
	}

	.field-type-media-field:has(.eceh-upload)
	.jet-form-builder-file-upload__fields::before {
		width: 30px;
		height: 30px;
		margin-bottom: 12px;
	}

}
input.input-alert, select.input-alert, textarea.input-alert {
	border: 2px dashed var(--e-global-color-primary) !important;
}

input.input-alert:focus, select.input-alert:focus, textarea.input-alert:focus {
	border-color: var(--e-global-color-accent) !important;
	box-shadow: 0 0 0 3px rgba(186, 51, 83, .12) !important;
}
/* =========================================================
   FAQ : FLÈCHE AVANT LA RÉPONSE
   ========================================================= */

.faq-reponse {
	position: relative;
	padding-left: 28px;
}

/* Flèche type "enter" */
.faq-reponse::before {
	content: "↳";

	position: absolute;
	left: 0;
	top: 0;

	font-family: var(--e-global-typography-secondary-font-family);
	font-size: 1.5rem;
	line-height: 1;
}
/* =========================================================
   FORMULAIRE AMBASSADEUR : MISE EN PAGE
   ========================================================= */


/* ---------------------------------------------------------
   STRUCTURE GÉNÉRALE
   --------------------------------------------------------- */

.form-ambassadeur .jet-form-builder .jet-form-builder-row {
	margin-bottom: 22px;
}


/* ---------------------------------------------------------
   TITRES DE SECTION
   --------------------------------------------------------- */

.form-ambassadeur .jet-form-builder h2,
.form-ambassadeur .jet-form-builder h3 {
	margin-top: 44px;
	margin-bottom: 24px;
}

.form-ambassadeur .jet-form-builder h2 + fieldset,
.form-ambassadeur .jet-form-builder h3 + fieldset {
	margin-top: 6px;
}


/* ---------------------------------------------------------
   FIELDSETS
   --------------------------------------------------------- */

.form-ambassadeur .jet-form-builder fieldset {
	border: 0;
	padding: 0;
	margin: 0 0 48px !important;
	min-width: 0;
}


/* ---------------------------------------------------------
   LÉGENDES
   --------------------------------------------------------- */

.form-ambassadeur .jet-form-builder fieldset legend {
	width: 100%;
	padding: 0;
	margin: 0 0 18px !important;

	font-family: var(--e-global-typography-secondary-font-family);
	font-size: .9rem;
	font-weight: 500;
	line-height: 1.3;
	text-transform: uppercase;

	color: var(--e-global-color-text);
}


/* =========================================================
   RADIOS
   ========================================================= */

.form-ambassadeur .jet-form-builder
.field-type-radio-field
.jet-form-builder__fields-group {
	display: flex;
	flex-wrap: wrap;

	column-gap: 22px;
	row-gap: 16px !important;
}

.form-ambassadeur .jet-form-builder
.field-type-radio-field
.jet-form-builder__field-wrap {
	margin: 0;
}


/* =========================================================
   CHECKBOXES : 2 COLONNES
   ========================================================= */

.form-ambassadeur .jet-form-builder
.field-type-checkbox-field
.jet-form-builder__fields-group {
	display: grid !important;

	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

	column-gap: 36px;
	row-gap: 16px !important;
}

.form-ambassadeur .jet-form-builder
.field-type-checkbox-field
.jet-form-builder__field-wrap {
	width: 100%;
	margin: 0;
}

.form-ambassadeur .jet-form-builder
.field-type-checkbox-field
.jet-form-builder__field-label {
	display: flex;
	align-items: flex-start;

	gap: 10px;

	width: 100%;
}


/* ---------------------------------------------------------
   ESPACEMENT SPÉCIFIQUE DES GROUPES
   --------------------------------------------------------- */

.form-ambassadeur .jet-form-builder
fieldset.jet-form-builder-row.field-type-radio-field,
.form-ambassadeur .jet-form-builder
fieldset.jet-form-builder-row.field-type-checkbox-field {
	margin-bottom: 48px !important;
}


/* Plus d'air avant un groupe situé après un textarea */
.form-ambassadeur .jet-form-builder
.field-type-textarea-field + fieldset {
	margin-top: 22px !important;
}


/* Dernier groupe de checkbox : autorisation de communication */
.form-ambassadeur .jet-form-builder
fieldset.field-type-checkbox-field:last-of-type {
	margin-top: 18px !important;
}


/* =========================================================
   TEXTAREA
   ========================================================= */

.form-ambassadeur .jet-form-builder textarea {
	margin-bottom: 10px;
}


/* =========================================================
   BOUTON SUBMIT
   ========================================================= */

.form-ambassadeur .jet-form-builder
.jet-form-builder-row.field-type-submit-field {
	margin-top: 32px !important;
}

.form-ambassadeur .jet-form-builder button[type="submit"],
.form-ambassadeur .jet-form-builder input[type="submit"] {
	margin-top: 32px;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

	.form-ambassadeur .jet-form-builder fieldset {
		margin-bottom: 32px !important;
	}

	.form-ambassadeur .jet-form-builder fieldset legend {
		margin-bottom: 14px !important;
	}


	/* Radios en colonne */
	.form-ambassadeur .jet-form-builder
	.field-type-radio-field
	.jet-form-builder__fields-group {
		flex-direction: column;
		align-items: flex-start;

		row-gap: 12px !important;
	}


	/* Checkboxes en une colonne */
	.form-ambassadeur .jet-form-builder
	.field-type-checkbox-field
	.jet-form-builder__fields-group {
		grid-template-columns: 1fr !important;

		row-gap: 12px !important;
	}


	/* Titres */
	.form-ambassadeur .jet-form-builder h2,
	.form-ambassadeur .jet-form-builder h3 {
		margin-top: 34px;
		margin-bottom: 18px;
	}


	/* Bouton */
	.form-ambassadeur .jet-form-builder
	.jet-form-builder-row.field-type-submit-field {
		margin-top: 24px !important;
	}

	.form-ambassadeur .jet-form-builder button[type="submit"],
	.form-ambassadeur .jet-form-builder input[type="submit"] {
		margin-top: 24px;
	}

}

.background-blur {
	background: rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	border-radius:50px;
}

@media (max-width: 767px) {
	.background-blur {
		background: transparent;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		border-radius:50px;
	}
}
.jet-form-builder__conditional.no-input-alert {
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
}