/* =====================================================================
   e-Globulo — habillage du panneau de consentement (Tarteaucitron).
   Reproduit la maquette « Panneau de gestion des cookies » validée avec
   Claire : carte blanche, icônes, cartes par catégorie, interrupteur
   « Refusé » par défaut, boutons dorés. Le MOTEUR (blocage GA4 tant que
   l'utilisateur n'a pas accepté) reste géré par Tarteaucitron — voir
   assets/js/consent.js. Ce fichier ne fait QUE l'apparence.

   Spécificité : Tarteaucitron injecte sa propre CSS au runtime (souvent
   APRÈS ce fichier). On préfixe donc les règles par
   « html body #tarteaucitronRoot #tarteaucitron » (= sa spécificité la plus
   forte) et consent.js re-place ce <link> en fin de <head> après le build
   pour gagner les égalités de spécificité. Ne pas alléger les sélecteurs.
   ===================================================================== */

/* Fond derrière la modale */
html body #tarteaucitronRoot #tarteaucitronBack {
	background: rgba(3, 50, 108, .35) !important;
	backdrop-filter: blur(3px) !important;
	-webkit-backdrop-filter: blur(3px) !important;
}

/* ---- Carte modale ---- */
html body #tarteaucitronRoot #tarteaucitron {
	font-family: "Work Sans", "Helvetica Neue", Arial, sans-serif !important;
	max-width: 620px !important;
	width: calc(100% - 32px) !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 16px !important;
	padding: 0 !important;
	box-shadow: 0 20px 60px rgba(3, 50, 108, .28) !important;
	color: #5C5C5C !important;
	overflow: hidden !important;
}
html body #tarteaucitronRoot #tarteaucitron * { box-sizing: border-box; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine {
	box-shadow: none !important;
	background: #fff !important;
	border: 0 !important;
	margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron h1,
html body #tarteaucitronRoot #tarteaucitron h2,
html body #tarteaucitronRoot #tarteaucitron h3,
html body #tarteaucitronRoot #tarteaucitron a,
html body #tarteaucitronRoot #tarteaucitron button {
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* ---- Bouton Fermer ---- */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
	position: absolute !important;
	top: 16px !important;
	right: 16px !important;
	z-index: 10 !important;   /* sinon recouvert par le contenu (1er enfant absolu) → non cliquable */
	background: none !important;
	color: #5C5C5C !important;
	border: 0 !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	width: auto !important;
	height: auto !important;
	padding: 6px 8px !important;
	cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel::before {
	content: "\2715\00a0";
	font-weight: 600;
}

/* ---- En-tête : titre + intro + liens ---- */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	padding: 30px 28px 16px !important;
	margin: 0 !important;
	background: none !important;
	border: 0 !important;
	position: relative !important;
}
html body #tarteaucitronRoot #tarteaucitron #dialogTitle,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1 {
	display: block !important;
	position: static !important;
	order: 1;
	width: 100% !important;
	text-align: left !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	color: #03326C !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
	order: 2;
	width: 100% !important;
	display: block !important;
	max-width: none !important;
	text-align: left !important;
	color: #5C5C5C !important;
	padding: 0 !important;
	margin: 10px 0 0 !important;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
	border: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p {
	text-align: left !important;
	display: block !important;
	margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron .eg-cookie-links {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
	margin-top: 12px !important;
	padding-bottom: 18px !important;
	border-bottom: 1px solid #E6E8EE !important;
}
html body #tarteaucitronRoot #tarteaucitron .eg-cookie-links a,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
	color: #0069B4 !important;
	text-decoration: underline !important;
	font-size: 13.5px !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	display: inline !important;
	width: auto !important;
	cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitron .eg-cookie-sep { color: #C8C8C8 !important; }

/* ---- Ligne « Préférences pour tous les cookies » + boutons ---- */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronName {
	order: 3;
	display: block !important;
	flex: 1 1 auto !important;
	width: auto !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset .tarteaucitronH2 {
	display: block !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #03326C !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: left !important;
	background: none !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronScrollbarAdjust {
	order: 4;
	display: flex !important;
	flex-wrap: wrap !important;
	width: auto !important;
	max-width: none !important;
	gap: 12px !important;
	margin: 18px 0 0 auto !important;
	padding: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied {
	display: inline-flex !important;
	align-items: center !important;
	background: #F5B301 !important;
	color: #03326C !important;
	border: 0 !important;
	border-radius: 9px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	line-height: 1 !important;
	padding: 11px 16px !important;
	width: auto !important;
	max-width: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	margin: 0 !important;
	cursor: pointer;
}
/* Icônes ✓ / ✕ propres (on masque le sprite Tarteaucitron sur ces boutons) */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronScrollbarAdjust .tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronScrollbarAdjust .tarteaucitronCross {
	display: none !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed::before {
	content: "\2713";
	font-weight: 700;
	margin-right: 8px;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied::before {
	content: "\2715";
	font-weight: 700;
	margin-right: 8px;
}

/* ---- Zone des cartes ---- */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
	background: none !important;
	border: 0 !important;
	padding: 18px 28px 0 !important;
	margin: 0 !important;
	overflow: visible !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul {
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_analytic {
	display: block !important;
	background: #FBFBFD !important;
	border: 1px solid #E6E8EE !important;
	border-radius: 12px !important;
	padding: 18px 20px !important;
	margin: 0 0 16px !important;
	position: relative !important;
}

/* En-têtes de catégorie (icône ronde + titre) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle {
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	text-align: left !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle button {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	background: none !important;
	border: 0 !important;
	color: #03326C !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	padding: 0 !important;
	margin: 0 !important;
	width: auto !important;
	text-align: left !important;
	cursor: default !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronPlus { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button::before {
	content: "";
	width: 34px; height: 34px;
	border-radius: 50%;
	flex: 0 0 34px;
	background: #EEF3FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303326C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") center / 18px no-repeat;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_analytic .tarteaucitronTitle button::before {
	content: "";
	width: 34px; height: 34px;
	border-radius: 50%;
	flex: 0 0 34px;
	background: #EEF3FA url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2303326C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 20V10M12 20V4M18 20v-6'/%3E%3C/svg%3E") center / 18px no-repeat;
}

/* « Toujours actifs » (carte nécessaires) */
html body #tarteaucitronRoot #tarteaucitron .eg-always {
	position: absolute !important;
	top: 22px !important;
	right: 22px !important;
	color: #7A7A7A !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}

/* Description + puces des cookies nécessaires */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory {
	padding: 0 !important;
	margin: 12px 0 0 !important;
	list-style: none !important;
	display: block !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory > li.tarteaucitronLine {
	display: block !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	color: #5C5C5C !important;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
}
html body #tarteaucitronRoot #tarteaucitron .eg-bullets {
	margin: 8px 0 0 !important;
	padding: 0 0 0 20px !important;
	list-style: disc !important;
	color: #5C5C5C !important;
	font-size: 13.5px !important;
	line-height: 1.5 !important;
}
html body #tarteaucitronRoot #tarteaucitron .eg-bullets li { margin: 3px 0 !important; }
html body #tarteaucitronRoot #tarteaucitron .eg-mand-note {
	margin: 10px 0 0 !important;
	color: #5C5C5C !important;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
}

/* ---- Carte « Cookies de mesure d'audience » ---- */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronDetailsanalytic {
	display: block !important;
	position: static !important;
	background: none !important;
	border: 0 !important;
	color: #5C5C5C !important;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
	padding: 0 !important;
	margin: 10px 0 0 !important;
	box-shadow: none !important;
	max-height: none !important;
	opacity: 1 !important;
	width: auto !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_analytic {
	padding: 0 !important;
	margin: 0 !important;
	list-style: none !important;
	display: block !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine.tarteaucitronLine {
	display: block !important;
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 10px 0 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronName {
	display: block !important;
	width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronH3 {
	display: block !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	color: #03326C !important;
	margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronStatusInfo {
	display: block !important;
	font-size: 12.5px !important;
	color: #9098A5 !important;
	margin: 2px 0 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronReadmoreInfo,
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronReadmoreOfficial {
	color: #0069B4 !important;
	text-decoration: underline !important;
	font-size: 12.5px !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronReadmoreSeparator { color: #C8C8C8 !important; }

/* Interrupteur (à partir des boutons Autoriser/Interdire, un par moitié) */
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronAsk {
	position: absolute !important;
	top: 16px !important;
	right: 20px !important;
	display: inline-block !important;
	float: none !important;
	width: 52px !important;
	max-width: 52px !important;
	height: 30px !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 999px !important;
	background: #C8CDD6 !important;
	text-align: left !important;
	transition: background .2s ease;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronAsk button {
	position: absolute !important;
	top: 0 !important;
	height: 30px !important;
	width: 26px !important;
	max-width: 26px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	font-size: 0 !important;
	color: transparent !important;
	box-shadow: none !important;
	z-index: 2 !important;
	cursor: pointer;
	display: block !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine #gtagDenied { left: 0 !important; right: auto !important; }
html body #tarteaucitronRoot #tarteaucitron #gtagLine #gtagAllowed { left: 26px !important; right: auto !important; }
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronAsk button .tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronAsk button .tarteaucitronCross {
	display: none !important;
}
html body #tarteaucitronRoot #tarteaucitron #gtagLine .tarteaucitronAsk::after {
	content: "";
	position: absolute;
	top: 3px; left: 3px;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .3);
	transition: left .2s ease;
	z-index: 1;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_analytic[data-eg-state="on"] #gtagLine .tarteaucitronAsk {
	background: #4BBDCF !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_analytic[data-eg-state="on"] #gtagLine .tarteaucitronAsk::after {
	left: 25px;
}
html body #tarteaucitronRoot #tarteaucitron .eg-toggle-label {
	position: absolute !important;
	top: 22px !important;
	right: 82px !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: #7A7A7A !important;
}

/* ---- Pied : Enregistrer mes choix ---- */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSave {
	text-align: right !important;
	padding: 6px 28px 26px !important;
	background: none !important;
	border: 0 !important;
	margin: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronSaveButton {
	background: #F5B301 !important;
	color: #03326C !important;
	border: 0 !important;
	border-radius: 9px !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	line-height: 1 !important;
	padding: 13px 22px !important;
	width: auto !important;
	box-shadow: none !important;
	margin: 0 !important;
	cursor: pointer;
}

/* =====================================================================
   Bannière de 1er niveau (bas de page, #tarteaucitronAlertBig) —
   harmonisée à la charte : barre blanche, texte navy, boutons dorés
   ✓ / ✕, « Personnaliser » et lien en secondaire. Le moteur (choix
   accepter/refuser/personnaliser) reste celui de Tarteaucitron.
   ===================================================================== */
html body #tarteaucitronRoot #tarteaucitronAlertBig {
	font-family: "Work Sans", "Helvetica Neue", Arial, sans-serif !important;
	background: #fff !important;
	color: #03326C !important;
	border-top: 1px solid #E6E8EE !important;
	box-shadow: 0 -6px 24px rgba(3, 50, 108, .15) !important;
	padding: 18px clamp(16px, 4vw, 40px) !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 12px 20px !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
}
/* IMPORTANT : ne forcer `display:flex` QUE tant que le choix n'est pas fait.
   Tarteaucitron masque la bannière en posant `display:none` inline au moment
   du choix (closeAlert) ET en retirant `.tarteaucitronBeforeVisible` de la
   racine. Un `display:flex !important` non conditionné écraserait ce
   `display:none` → la bannière resterait affichée et masquerait le footer. */
html body #tarteaucitronRoot.tarteaucitronBeforeVisible #tarteaucitronAlertBig {
	display: flex !important;
}
html body #tarteaucitronRoot:not(.tarteaucitronBeforeVisible) #tarteaucitronAlertBig {
	display: none !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
	flex: 1 1 320px !important;
	min-width: 0 !important;
	text-align: left !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #5C5C5C !important;
	margin: 0 !important;
	padding: 0 !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	display: inline-flex !important;
	align-items: center !important;
	background: #F5B301 !important;
	color: #03326C !important;
	border: 0 !important;
	border-radius: 9px !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	line-height: 1 !important;
	padding: 11px 18px !important;
	margin: 0 !important;
	width: auto !important;
	max-width: none !important;
	box-shadow: none !important;
	opacity: 1 !important;
	text-transform: none !important;
	cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 .tarteaucitronCheck,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 .tarteaucitronCross {
	display: none !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2::before {
	content: "\2713";
	font-weight: 700;
	margin-right: 8px;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2::before {
	content: "\2715";
	font-weight: 700;
	margin-right: 8px;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
	background: none !important;
	border: 0 !important;
	color: #03326C !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	text-decoration: underline !important;
	text-transform: none !important;
	padding: 8px 4px !important;
	margin: 0 !important;
	width: auto !important;
	cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
	background: none !important;
	border: 0 !important;
	color: #0069B4 !important;
	text-decoration: underline !important;
	font-size: 13.5px !important;
	text-transform: none !important;
	padding: 0 4px !important;
	margin: 0 !important;
	width: auto !important;
	cursor: pointer;
	flex: 1 1 100% !important;
	text-align: left !important;
}

/* ---- Mobile : Tarteaucitron passe en plein écran. On garde le style des
   cartes, on ré-affiche le H2 « Préférences » (masqué par défaut) et on
   laisse les 2 boutons s'étirer proprement. ---- */
@media screen and (max-width: 767px) {
	html body #tarteaucitronRoot #tarteaucitron {
		border-radius: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	html body #tarteaucitronRoot #tarteaucitron div#tarteaucitronMainLineOffset .tarteaucitronName {
		display: block !important;
		width: 100% !important;
		flex: 1 1 100% !important;
		margin: 16px 0 8px !important;
	}
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronScrollbarAdjust {
		width: 100% !important;
		margin: 0 !important;
	}
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed,
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied {
		flex: 1 1 auto !important;
		justify-content: center !important;
	}
	/* « Toujours actifs » sous le titre (évite le chevauchement à l'étroit) */
	html body #tarteaucitronRoot #tarteaucitron .eg-always {
		position: static !important;
		display: block !important;
		top: auto !important;
		right: auto !important;
		margin: 6px 0 0 46px !important;
	}
	/* Réserve la place de l'interrupteur pour que le titre audience passe dessous */
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_analytic .tarteaucitronTitle button {
		padding-right: 64px !important;
	}
	/* Libellé Refusé/Accepté masqué en mobile (l'interrupteur suffit) */
	html body #tarteaucitronRoot #tarteaucitron .eg-toggle-label { display: none !important; }

	/* Bannière 1er niveau : texte en tête, accepter/refuser côte à côte */
	html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
		flex: 1 1 100% !important;
	}
	html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
	html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
		flex: 1 1 auto !important;
		justify-content: center !important;
	}
}
