/**
 * MFM theme layer for tarteaucitron 1.33+
 * Load after js/tarteaucitron/css/tarteaucitron.min.css
 * Color tokens are injected inline via :root from the plugin.
 */

:root {
	--mfm-tac-btn-width: 245px;
	--mfm-tac-btn-gap: 16px;
	--mfm-tac-panel-padding-x: 16px;
}

#tarteaucitronRoot {
	color: var(--t500, #595959);
	font-family: "Marianne", arial, sans-serif;
}

#tarteaucitronRoot h1,
#tarteaucitronRoot h2,
#tarteaucitronRoot h3,
#tarteaucitronRoot h4,
#tarteaucitronRoot .tarteaucitronH3,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1,
html body #tarteaucitronRoot .tarteaucitronMainLine .tarteaucitronH1,
#tarteaucitronRoot .tarteaucitronH1 {
	color: var(--tac-heading, var(--g800, #000091)) !important;
	margin: 0 0 16px !important;
}

#tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3 {
	margin-top: 0 !important;
}

#tarteaucitronRoot .tarteaucitronH3,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronH3,
span.tarteaucitronTitle.tarteaucitronH3 {
	margin-bottom: 0 !important;
}

html body #tarteaucitronRoot .tarteaucitronPlus::before {
	color: var(--tac-heading, var(--g800, #000091)) !important;
}

/* Overlay */
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body .tarteaucitronSize-middle.tarteaucitronBeforeVisible::before,
html body .tarteaucitronSize-popup.tarteaucitronBeforeVisible::before,
div#tarteaucitronRoot.tarteaucitronBeforeVisible::before {
	background: var(--overlay, rgba(156, 156, 156, 0.32)) !important;
	opacity: 1 !important;
}

/* Panels */
html body #tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig,
html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig,
#tarteaucitronRoot #tarteaucitronAlertBig,
#tarteaucitronRoot #tarteaucitron {
	background: var(--w, #fff) !important;
	color: var(--t500, #595959) !important;
}

/* Titre bandeau middle/popup — middleBarHead (☝ 🍪) via --tacTitleBanner */
#tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig::before,
#tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig::before {
	content: var(--tacTitleBanner) !important;
	display: block !important;
	text-align: center !important;
	line-height: 1.2 !important;
	margin-bottom: 0.5rem !important;
}

.tarteaucitronSize-middle div#tarteaucitronAlertBig::before {
	font-size: 2rem !important;
}

.tarteaucitronSize-popup div#tarteaucitronAlertBig::before {
	font-size: 1.375rem !important;
}

#tarteaucitronDisclaimerAlert,
#tarteaucitronRoot.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert,
#tarteaucitronRoot.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert,
.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert,
.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert {
	text-align: justify !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto !important;
	order: 1 !important;
}

/* Texte du bandeau — surcharge core (#000 / #333 sur #tarteaucitronRoot *) */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert p,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .tarteaucitronPartnersList,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert .tarteaucitronPartnersList * {
	color: var(--t500, #595959) !important;
}

/* --------------------------------------------------------------------------
   Boutons — style unifié (neutre, ne pas influencer le choix)
   -------------------------------------------------------------------------- */
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
#tarteaucitronServices #tarteaucitronSave #tarteaucitronSaveButton,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronSave #tarteaucitronPrivacyUrl,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	max-width: var(--mfm-tac-btn-width) !important;
	min-height: 2.5rem !important;
	margin: 0 !important;
	padding: 0.5rem 1rem !important;
	border: none !important;
	border-radius: 4px !important;
	background: var(--w, #fff) !important;
	color: var(--tac-secondary-btn, #000091) !important;
	box-shadow: inset 0 0 0 1px var(--tac-outline-btn-border, #000091) !important;
	font-size: 1rem !important;
	line-height: 1.5 !important;
	font-weight: 400 !important;
	text-align: center !important;
	cursor: pointer !important;
}

/* Lien politique de confidentialité (bouton role="link" — surcharge styles CTA core) */
html body #tarteaucitronRoot button#tarteaucitronPrivacyUrlDialog,
html body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrlDialog,
html body #tarteaucitronRoot #tarteaucitronInfo button#tarteaucitronPrivacyUrlDialog {
	display: inline !important;
	width: auto !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--tac-link, #000091) !important;
	font-size: inherit !important;
	font-weight: 400 !important;
	line-height: inherit !important;
	text-decoration: underline !important;
	cursor: pointer !important;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert a,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo a {
	color: var(--tac-link, #000091) !important;
}

#tarteaucitronRoot #tarteaucitronInfo br {
	display: none !important;
}

#tarteaucitronRoot div#tarteaucitronInfo {
	margin-bottom: 20px !important;
}

/* Surcharges core tarteaucitron (couleurs #fff / #000 en dur, bordures div#tarteaucitronInfo) */
html body #tarteaucitronRoot div#tarteaucitronInfo,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
	background: var(--w, #fff) !important;
	color: var(--t500, #595959) !important;
	border: none !important;
	border-top: none !important;
	border-bottom: none !important;
}

html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle .catToggleBtn,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle > button,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronTitle > .catToggleBtn {
	background: transparent !important;
	color: var(--tac-heading, var(--g800, #000091)) !important;
	box-shadow: none !important;
}

html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(#tarteaucitronMainLineOffset),
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(#tarteaucitronMainLineOffset):hover,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(#tarteaucitronMainLineOffset) {
	background: var(--w, #fff) !important;
	color: var(--t500, #595959) !important;
	padding: 8px var(--mfm-tac-panel-padding-x, 16px) !important;
}

html body #tarteaucitronRoot div#tarteaucitronSave,
html body #tarteaucitronRoot #tarteaucitronServices #tarteaucitronSave {
	background: var(--w, #fff) !important;
	color: var(--t500, #595959) !important;
}

html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder button {
	margin-bottom: 0 !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle,
#tarteaucitronRoot #tarteaucitron span.tarteaucitronTitle.tarteaucitronH3 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* Masqué par tarteaucitron dès qu'un service est enregistré — ne pas forcer l'affichage */
#tarteaucitronRoot li#tarteaucitronNoServicesTitle[style*="display: none"],
#tarteaucitronRoot li#tarteaucitronNoServicesTitle[style*="display:none"] {
	display: none !important;
}

/* Bouton fermer du panneau — fond couleur principale */
#tarteaucitronRoot #tarteaucitron {
	position: relative !important;
}

#tarteaucitronRoot #tarteaucitronClosePanel {
	box-sizing: border-box !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 2.5rem !important;
	padding: 0.5rem 1rem !important;
	border: none !important;
	border-radius: 4px !important;
	background: var(--tac-btn-bg, #000091) !important;
	color: var(--w-bf500, #fff) !important;
	box-shadow: none !important;
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	position: absolute !important;
	right: 16px !important;
	top: 12px !important;
	z-index: 30 !important;
	width: auto !important;
	max-width: none !important;
}

#tarteaucitronRoot #tarteaucitronClosePanel::before {
	display: none !important;
}

/* Pas de faux radio DSFR sur les boutons Autoriser/Interdire */
#tarteaucitronRoot .tarteaucitronAllow:not(.tarteaucitronCTAButton)::before,
#tarteaucitronRoot .tarteaucitronDeny:not(.tarteaucitronCTAButton)::before,
#tarteaucitronRoot .tarteaucitronAllow:not(.tarteaucitronCTAButton)::after,
#tarteaucitronRoot .tarteaucitronDeny:not(.tarteaucitronCTAButton)::after {
	content: none !important;
	display: none !important;
}

#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied .tarteaucitronCross,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow .tarteaucitronCheck,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny .tarteaucitronCross {
	display: inline !important;
	color: inherit !important;
}

#tarteaucitronRoot .tarteaucitronCheck,
#tarteaucitronRoot .tarteaucitronCross,
#tarteaucitronRoot .tarteaucitronCheck::before,
#tarteaucitronRoot .tarteaucitronCross::before {
	color: inherit !important;
}

/* Toggles par service — couleurs admin, style officiel */
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied {
	width: auto !important;
	max-width: none !important;
	min-height: auto !important;
	padding: 8px 10px !important;
	background: var(--w, #fff) !important;
	color: var(--tac-secondary-btn, #000091) !important;
	box-shadow: inset 0 0 0 1px var(--tac-outline-btn-border, #000091) !important;
	font-weight: 400 !important;
	text-shadow: none !important;
}

#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
#tarteaucitronRoot #tarteaucitron [aria-pressed="true"] {
	font-weight: 400 !important;
	text-shadow: none !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
#tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
#tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine button.tarteaucitronAllow,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected {
	background: var(--tac-btn-bg, #000091) !important;
	color: var(--w-bf500, #fff) !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

#tarteaucitronRoot .tarteaucitronAsk::before {
	content: none !important;
	display: none !important;
}

#tarteaucitronRoot .tarteaucitronAsk {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
}

#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronAllow,
#tarteaucitronRoot .tarteaucitronAsk .tarteaucitronDeny {
	order: unset !important;
	margin: 0 !important;
	flex: 0 0 auto !important;
}

/* --------------------------------------------------------------------------
   Bandeau cookies — mobile / tablette étroite
   -------------------------------------------------------------------------- */
#tarteaucitronRoot #tarteaucitronAlertBig {
	display: flex !important;
	flex-direction: column !important;
	gap: var(--mfm-tac-btn-gap) !important;
	max-height: 85vh !important;
	overflow-y: auto !important;
	box-sizing: border-box !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
	margin-top: auto !important;
	order: 2 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	order: 3 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
	order: 4 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
	order: 5 !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
	align-self: center !important;
	flex: 0 0 auto !important;
}

/* --------------------------------------------------------------------------
   Bandeau cookies — ≥ 901px : 2 colonnes
   Gauche (bas) : politique de confidentialité
   Droite (bas) : accepter, refuser, personnaliser (empilés)
   -------------------------------------------------------------------------- */
@media screen and (min-width: 901px) {
	html body #tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig,
	html body #tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig,
	#tarteaucitronRoot #tarteaucitronAlertBig {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) var(--mfm-tac-btn-width) !important;
		grid-template-rows: auto auto 1fr auto auto auto !important;
		column-gap: 24px !important;
		row-gap: var(--mfm-tac-btn-gap) !important;
		align-items: end !important;
		min-height: 280px !important;
	}

	#tarteaucitronRoot.tarteaucitronSize-middle #tarteaucitronAlertBig::before,
	#tarteaucitronRoot.tarteaucitronSize-popup #tarteaucitronAlertBig::before {
		grid-column: 1 / -1 !important;
		grid-row: 1 !important;
		margin-bottom: 0 !important;
	}

	#tarteaucitronRoot #tarteaucitronDisclaimerAlert {
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		order: unset !important;
	}

	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
		grid-column: 2 !important;
		grid-row: 4 !important;
		justify-self: end !important;
		width: var(--mfm-tac-btn-width) !important;
		margin-top: 0 !important;
		order: unset !important;
	}

	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
		grid-column: 2 !important;
		grid-row: 5 !important;
		justify-self: end !important;
		width: var(--mfm-tac-btn-width) !important;
		order: unset !important;
	}

	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
		grid-column: 2 !important;
		grid-row: 6 !important;
		justify-self: end !important;
		width: var(--mfm-tac-btn-width) !important;
		margin-top: 0 !important;
		order: unset !important;
	}

	#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
		grid-column: 1 !important;
		grid-row: 6 !important;
		justify-self: start !important;
		align-self: end !important;
		width: var(--mfm-tac-btn-width) !important;
		order: unset !important;
	}
}

/* --------------------------------------------------------------------------
   Panneau de personnalisation (#tarteaucitron)
   Liste scrollable + barre Enregistrer toujours visible en bas
   -------------------------------------------------------------------------- */
#tarteaucitronRoot #tarteaucitron[style*="display: block"],
#tarteaucitronRoot #tarteaucitron[style*="display:block"] {
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	max-height: 80vh !important;
}

#tarteaucitronRoot #tarteaucitronServices,
div#tarteaucitronServices {
	margin-top: 0 !important;
	box-shadow: none !important;
	background: var(--w, #fff) !important;
}

#tarteaucitronRoot #tarteaucitron[style*="display: block"] #tarteaucitronServices,
#tarteaucitronRoot #tarteaucitron[style*="display:block"] #tarteaucitronServices {
	display: flex !important;
	flex-direction: column !important;
	flex: 1 1 auto !important;
	min-height: 0 !important;
	height: auto !important;
	max-height: none !important;
	overflow: hidden !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitron #tarteaucitronMainLineOffset {
	background: var(--w, #fff) !important;
	color: var(--t500, #595959) !important;
}

#tarteaucitronRoot #tarteaucitron[style*="display: block"] #tarteaucitronMainLineOffset,
#tarteaucitronRoot #tarteaucitron[style*="display:block"] #tarteaucitronMainLineOffset {
	flex: 0 0 auto !important;
}

#tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
	border: none !important;
}

#tarteaucitronRoot #tarteaucitron[style*="display: block"] .tarteaucitronBorder,
#tarteaucitronRoot #tarteaucitron[style*="display:block"] .tarteaucitronBorder {
	flex: 1 1 auto !important;
	min-height: 0 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch !important;
}

#tarteaucitronRoot #tarteaucitronServices #tarteaucitronSave {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: var(--mfm-tac-btn-gap) !important;
	padding: 1rem var(--mfm-tac-panel-padding-x, 16px) !important;
	border-top: 1px solid var(--tac-border, var(--g300, #e7e7e7)) !important;
	flex: 0 0 auto !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

#tarteaucitronRoot #tarteaucitronServices #tarteaucitronSave #tarteaucitronPrivacyUrl {
	margin-right: auto !important;
	margin-left: 0 !important;
	order: 1 !important;
	width: auto !important;
	max-width: var(--mfm-tac-btn-width) !important;
	flex: 0 1 auto !important;
	white-space: nowrap !important;
	text-align: center !important;
}

#tarteaucitronRoot #tarteaucitronServices #tarteaucitronSave #tarteaucitronSaveButton {
	margin-left: auto !important;
	margin-right: 0 !important;
	order: 2 !important;
	width: auto !important;
	max-width: var(--mfm-tac-btn-width) !important;
	flex: 0 0 auto !important;
	white-space: nowrap !important;
}

#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
	width: var(--mfm-tac-btn-width) !important;
	max-width: 100% !important;
	flex: 0 0 auto !important;
}

#tarteaucitronServices #tarteaucitronSave #tarteaucitronSaveButton::before,
#tarteaucitronServices #tarteaucitronSave #tarteaucitronSaveButton::after {
	display: none !important;
}

/* Barre Tout accepter / Tout refuser en tête du panneau (ne pas confondre avec .tarteaucitronLine) */
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronMainLineOffset {
	padding: 3.5rem var(--mfm-tac-panel-padding-x, 16px) 0.75rem var(--mfm-tac-panel-padding-x, 16px) !important;
	border-bottom: 1px solid var(--tac-border, var(--g300, #e7e7e7)) !important;
	flex: 0 0 auto !important;
}

#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllAllowed,
#tarteaucitronRoot #tarteaucitronServices #tarteaucitronAllDenied {
	margin-right: 0.5rem !important;
}

#tarteaucitronRoot ul#tarteaucitronServices_mandatory br {
	display: none !important;
}

#tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle .catToggleBtn {
	margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
   Icône flottante
   -------------------------------------------------------------------------- */
#tarteaucitronIcon {
	position: fixed !important;
	z-index: 2147483646 !important;
}

.tarteaucitronIconBottomLeft {
	bottom: 0 !important;
	left: 10px !important;
	right: auto !important;
	top: auto !important;
}

.tarteaucitronIconBottomRight {
	bottom: 0 !important;
	right: 10px !important;
	left: auto !important;
	top: auto !important;
}

.tarteaucitronIconTopLeft {
	top: 0 !important;
	left: 10px !important;
	right: auto !important;
	bottom: auto !important;
}

.tarteaucitronIconTopRight {
	top: 0 !important;
	right: 10px !important;
	left: auto !important;
	bottom: auto !important;
}

.tarteaucitronIconBottomLeft #tarteaucitronManager,
.tarteaucitronIconBottomRight #tarteaucitronManager {
	border-radius: 7px 7px 0 0 !important;
}

.tarteaucitronIconTopLeft #tarteaucitronManager,
.tarteaucitronIconTopRight #tarteaucitronManager {
	border-radius: 0 0 7px 7px !important;
}

#tarteaucitronIcon #tarteaucitronManager > img {
	display: none;
}

#tarteaucitronIcon #tarteaucitronManager {
	background: var(--tac-btn-bg, #000091) !important;
	color: var(--w-bf500, #fff) !important;
	padding: 8px 25px 3px;
	line-height: 24px;
	min-height: 16px;
}

#tarteaucitronIcon #tarteaucitronManager::before {
	content: "Cookies";
	background-color: transparent;
}

/* Infobox catégories (catToggleBtn) */
#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails.tarteaucitronInfoBox,
#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"] {
	font-size: 0.875rem !important;
	line-height: 1.5 !important;
	border: 1px solid var(--t500, #595959) !important;
	border-radius: 4px !important;
	background: var(--w, #fff) !important;
	color: var(--t500, #595959) !important;
	box-sizing: border-box !important;
	padding: 12px !important;
	max-width: 300px !important;
}

/* Noms de services dans la liste */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName span,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName a {
	color: var(--t500, #595959) !important;
}

#tarteaucitronRoot #tarteaucitronServices .tarteaucitronDetails.tarteaucitronInfoBox {
	left: 12px !important;
	right: auto !important;
	width: auto !important;
	max-width: 300px !important;
	margin: 0.5rem 0 !important;
}

#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"] {
	position: relative !important;
	width: auto !important;
	max-width: 300px !important;
	margin: 0.25rem 12px 0.5rem !important;
}

/* Bandeau middle — mobile plus large, texte plus compact */
@media screen and (max-width: 900px) {
	body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
		width: 90% !important;
		min-width: 0 !important;
		max-width: none !important;
		padding: 1.25rem 1rem !important;
		box-sizing: border-box !important;
	}

	#tarteaucitronRoot.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert,
	#tarteaucitronRoot.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert,
	.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert,
	.tarteaucitronSize-popup span#tarteaucitronDisclaimerAlert {
		font-size: 0.9375rem !important;
		line-height: 1.45 !important;
		margin: 0.5rem 0 1rem !important;
		text-align: justify !important;
	}

	.tarteaucitronSize-middle div#tarteaucitronAlertBig::before {
		font-size: 1.75rem !important;
	}

	#tarteaucitronRoot #tarteaucitronAlertBig {
		max-height: 90vh !important;
	}
}

/* Mobile — panneau personnalisation + lignes de services */
@media screen and (max-width: 767px) {
	#tarteaucitronRoot #tarteaucitronServices {
		margin-top: 0 !important;
	}

	#tarteaucitronRoot #tarteaucitronClosePanel {
		z-index: 50 !important;
	}

	#tarteaucitronRoot #tarteaucitronServices #tarteaucitronMainLineOffset {
		padding-top: 3.5rem !important;
	}

	#tarteaucitronRoot #tarteaucitron[style*="display: block"],
	#tarteaucitronRoot #tarteaucitron[style*="display:block"] {
		display: flex !important;
		flex-direction: column !important;
		position: fixed !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		max-height: 100dvh !important;
		min-height: 0 !important;
		overflow: hidden !important;
	}

	#tarteaucitronRoot #tarteaucitron[style*="display: block"] #tarteaucitronServices,
	#tarteaucitronRoot #tarteaucitron[style*="display:block"] #tarteaucitronServices {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow: hidden !important;
	}

	#tarteaucitronRoot #tarteaucitron[style*="display: block"] .tarteaucitronBorder,
	#tarteaucitronRoot #tarteaucitron[style*="display:block"] .tarteaucitronBorder {
		flex: 1 1 0 !important;
		min-height: 0 !important;
		overflow-x: hidden !important;
		overflow-y: scroll !important;
		-webkit-overflow-scrolling: touch !important;
		overscroll-behavior: contain !important;
		touch-action: pan-y !important;
	}

	/* Ligne de service : empilement vertical, boutons dans l'écran */
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder ul .tarteaucitronLine:not(#tarteaucitronNoServicesTitle) {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		float: none !important;
		overflow: visible !important;
		padding: 8px var(--mfm-tac-panel-padding-x, 16px) !important;
		box-sizing: border-box !important;
		position: relative !important;
	}

	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronName {
		display: block !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 0.5rem !important;
		text-align: left !important;
		box-sizing: border-box !important;
	}

	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronName span,
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li.tarteaucitronLine .tarteaucitronName span {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
	}

	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		float: none !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		justify-content: stretch !important;
		text-align: left !important;
		gap: 0.5rem !important;
		box-sizing: border-box !important;
	}

	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder .tarteaucitronLine .tarteaucitronAsk button {
		display: inline-flex !important;
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 8px 6px !important;
		font-size: 0.875rem !important;
		white-space: normal !important;
		word-break: break-word !important;
	}

	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder button.tarteaucitron-toggle-group {
		top: 8px !important;
		right: var(--mfm-tac-panel-padding-x, 16px) !important;
	}

	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine {
		padding: 8px var(--mfm-tac-panel-padding-x, 16px) !important;
	}

	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronH3,
	#tarteaucitronRoot #tarteaucitron ul#tarteaucitronServices_mandatory .tarteaucitronName {
		font-size: 0.875rem !important;
		margin-top: 0 !important;
	}

	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle,
	#tarteaucitronRoot #tarteaucitron span.tarteaucitronTitle.tarteaucitronH3 {
		padding: 0.25rem var(--mfm-tac-panel-padding-x, 16px) !important;
	}

	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
	#tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle .catToggleBtn {
		padding: 0.375rem 0.5rem !important;
		font-size: 0.9375rem !important;
	}

	#tarteaucitronRoot #tarteaucitronServices #tarteaucitronSave #tarteaucitronSaveButton {
		font-size: 0.875rem !important;
		padding-left: 0.75rem !important;
		padding-right: 0.75rem !important;
	}

	#tarteaucitronRoot #tarteaucitronServices #tarteaucitronSave #tarteaucitronPrivacyUrl {
		font-size: 0.8125rem !important;
		max-width: calc(100% - 8rem) !important;
	}
}
