/* =====================================================================
   Cookies — bandeau d'accueil et panneau de gestion tarteaucitron, à la charte
   Thème Sophie Bousquet. Chargée après la feuille de tarteaucitron : les règles
   sont préfixées par « html body #tarteaucitronRoot » pour passer devant.
   ===================================================================== */

html body #tarteaucitronRoot {
	--tac-encre: #1D2A22; --tac-douce: #4C5A51; --tac-vert: #23402F; --tac-vert-fonce: #1A3124;
	--tac-papier: #F9F9F4; --tac-platre: #EEF0E7; --tac-filet: #DDE0D5; --tac-sauge: #A9BFA6;
	--tac-moutarde: #C9932E; --tac-moutarde-clair: #E3B95F; --tac-terre: #B25640;
	--tac-titre: "Young Serif", "Iowan Old Style", Georgia, serif;
	--tac-texte: "Instrument Sans", "Segoe UI", system-ui, -apple-system, sans-serif;
	--sb-feuille: url("../img/feuille.svg");
	--sb-branche: url("../img/branche.svg");
}
html body #tarteaucitronRoot, html body #tarteaucitronRoot * {
	font-family: var(--tac-texte) !important; letter-spacing: normal; box-sizing: border-box;
}
html body #tarteaucitronRoot button { -webkit-tap-highlight-color: transparent; }
html body #tarteaucitronRoot :is(button, a):focus-visible { outline: 3px solid var(--tac-terre) !important; outline-offset: 2px !important; }

/* Fond : voile vert et flou doux */
html body.tarteaucitron-modal-open div#tarteaucitronRoot::before,
html body #tarteaucitronRoot.tarteaucitronSize-middle.tarteaucitronBeforeVisible::before,
html body div#tarteaucitronRoot.tarteaucitronSize-middle.tarteaucitronBeforeVisible:before {
	background: rgba(26, 49, 36, .38) !important; opacity: 1 !important;
	-webkit-backdrop-filter: blur(7px) saturate(.9); backdrop-filter: blur(7px) saturate(.9);
}
html body #tarteaucitronRoot #tarteaucitronBack { background: rgba(26, 49, 36, .42) !important; opacity: 1 !important; -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }

/* ---------- Bandeau d'accueil ---------- */
html body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
	box-sizing: border-box !important; width: min(520px, calc(100vw - 32px)) !important; min-width: 0 !important; max-height: calc(100dvh - 32px); overflow-y: auto;
	padding: 34px 32px 24px !important; border: 0 !important; border-radius: 30px !important;
	background: var(--tac-papier) !important; color: var(--tac-encre) !important; text-align: center !important;
	box-shadow: 0 0 0 1px rgba(26, 49, 36, .06), 0 50px 100px -40px rgba(26, 49, 36, .7), 0 20px 44px -26px rgba(26, 49, 36, .45) !important;
	animation: sb-tac-entree .5s cubic-bezier(.2, .9, .25, 1) both;
}
/* Titre + emblème cookie (le texte du titre vient de tarteaucitron : middleBarHead) */
html body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig::before {
	display: block; padding-top: 86px; margin: 0 0 10px;
	font: 400 27px/1.15 var(--tac-titre) !important; color: var(--tac-vert); letter-spacing: -.01em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 72 72'%3E%3Ccircle cx='36' cy='36' r='36' fill='%23E4EBDD'/%3E%3Ccircle cx='36' cy='36' r='29' fill='none' stroke='%23C9932E' stroke-opacity='.35' stroke-dasharray='2 5' stroke-linecap='round'/%3E%3Cg transform='translate(16 16) scale(1.667)'%3E%3Cpath d='M20.9 12.7a9 9 0 1 1-9.6-9.6 3 3 0 0 0 3.5 3.6 3 3 0 0 0 3.6 3.5 2.7 2.7 0 0 0 2.5 2.5Z' fill='%23F9F9F4' stroke='%2323402F' stroke-width='1.5' stroke-linejoin='round'/%3E%3Cg fill='%23C9932E'%3E%3Ccircle cx='8.3' cy='9.3' r='1.2'/%3E%3Ccircle cx='13.4' cy='12.6' r='1.2'/%3E%3Ccircle cx='8.9' cy='15.6' r='1.2'/%3E%3Ccircle cx='15.7' cy='16.6' r='1.2'/%3E%3Ccircle cx='19.9' cy='5.4' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E") top center / 72px 72px no-repeat;
}
html body #tarteaucitronRoot.tarteaucitronSize-middle span#tarteaucitronDisclaimerAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert * {
	display: block; margin: 0 auto 24px !important; padding: 0 !important; max-width: 25rem;
	font-size: 15.5px !important; line-height: 1.55 !important; color: var(--tac-douce) !important; text-align: center;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert * { margin: 0 !important; display: inline; }

/* Accepter / refuser : même taille, même poids (recommandation CNIL) */
html body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
	width: calc(50% - 8px) !important; min-height: 50px; margin: 0 !important; padding: 12px 16px !important;
	border-radius: 999px !important; font: 600 15.5px/1.15 var(--tac-texte) !important; vertical-align: top; cursor: pointer;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease, transform .25s ease;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton + button.tarteaucitronCTAButton { margin-left: 10px !important; }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
	background: var(--tac-vert) !important; color: var(--tac-papier) !important; border: 2px solid var(--tac-vert) !important;
	box-shadow: 0 12px 22px -14px rgba(26, 49, 36, .8) !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	background: var(--tac-papier) !important; color: var(--tac-vert) !important; border: 2px solid var(--tac-vert) !important; box-shadow: none !important;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover { background: var(--tac-vert-fonce) !important; transform: translateY(-1px); }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover { background: #fff !important; transform: translateY(-1px); }
html body #tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCTAButton :is(.tarteaucitronCheck, .tarteaucitronCross) { display: none !important; }

/* Personnaliser : lien d'action sous les deux boutons */
html body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert {
	display: flex !important; align-items: center; justify-content: center; gap: 8px;
	width: fit-content !important; margin: 14px auto 0 !important; padding: 10px 16px !important;
	border: 0 !important; border-radius: 999px !important; background: transparent !important; box-shadow: none !important;
	color: var(--tac-vert) !important; font: 600 15px/1.2 var(--tac-texte) !important; cursor: pointer;
	transition: background-color .2s ease;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert::before {
	content: ""; width: 18px; height: 18px; flex: none; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2.2'/%3E%3Ccircle cx='9' cy='17' r='2.2'/%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' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M17 7h3M4 17h3M11 17h9'/%3E%3Ccircle cx='15' cy='7' r='2.2'/%3E%3Ccircle cx='9' cy='17' r='2.2'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert:hover { background: var(--tac-platre) !important; }

/* Politique de confidentialité */
html body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl {
	display: block !important; width: auto !important; margin: 10px auto 0 !important; padding: 6px 10px !important;
	border: 0 !important; background: transparent !important; color: var(--tac-douce) !important;
	font: 500 13.5px/1.3 var(--tac-texte) !important; text-decoration: underline !important; text-underline-offset: .22em; cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronPrivacyUrl:hover { color: var(--tac-vert) !important; }

/* Croix de fermeture du bandeau */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross {
	position: absolute !important; top: 16px !important; right: 16px !important; left: auto !important;
	display: block !important; width: 40px !important; height: 40px !important; margin: 0 !important; padding: 0 !important; line-height: 0 !important; overflow: hidden;
	border: 0 !important; border-radius: 50% !important; background: var(--tac-platre) !important; color: var(--tac-vert) !important;
	font-size: 0 !important; cursor: pointer; transition: background-color .2s ease, transform .3s cubic-bezier(.2, .8, .2, 1);
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross::before {
	content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; background: var(--tac-vert);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%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' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross:hover { background: #E2E6DA !important; transform: rotate(90deg); }
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseCross > span[aria-hidden] { display: none; }

/* ---------- Panneau de gestion ---------- */
html body #tarteaucitronRoot #tarteaucitron {
	box-sizing: border-box !important; left: 50% !important; top: 50% !important; margin: 0 !important; transform: translate(-50%, -50%);
	width: min(680px, calc(100vw - 32px)) !important; max-height: none !important;
	border-radius: 30px; overflow: hidden; background: var(--tac-platre) !important;
	box-shadow: 0 0 0 1px rgba(26, 49, 36, .06), 0 60px 120px -50px rgba(26, 49, 36, .8), 0 24px 50px -30px rgba(26, 49, 36, .5);
	animation: sb-tac-panneau .45s cubic-bezier(.2, .9, .25, 1) both;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
	height: auto !important; max-height: min(86dvh, 860px); overflow-x: hidden !important; overflow-y: auto !important; margin: 0 !important;
	overscroll-behavior: contain; border-radius: 0 !important; background: var(--tac-platre) !important; box-shadow: none !important;
}

/* En-tête vert (titre, explication, choix pour tous les services) */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
	position: relative; isolation: isolate; overflow: hidden;
	display: grid !important; grid-template-columns: 1fr auto; align-items: center; gap: 0;
	margin: 0 !important; padding: 30px 30px 24px !important; border: 0 !important; border-radius: 0 !important;
	color: var(--tac-papier) !important;
	background:
		radial-gradient(circle at 6% 0%, rgba(169, 191, 166, .34), transparent 50%),
		radial-gradient(circle at 100% 130%, rgba(227, 185, 95, .3), transparent 55%),
		var(--tac-vert-fonce) !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover { background-color: var(--tac-vert-fonce) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine::after {
	content: ""; position: absolute; z-index: -1; right: 76px; top: -8px; width: 132px; height: 132px;
	background: var(--tac-moutarde); opacity: .2; transform: scaleX(-1) rotate(8deg);
	-webkit-mask: var(--sb-branche) center / contain no-repeat; mask: var(--sb-branche) center / contain no-repeat;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1 {
	grid-column: 1 / -1; display: flex !important; align-items: center; gap: 14px; margin: 0 56px 14px 0 !important; padding: 0 !important;
	font: 400 28px/1.12 var(--tac-titre) !important; color: var(--tac-papier) !important; text-align: left !important; letter-spacing: -.01em;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1::before {
	content: ""; flex: none; width: 50px; height: 50px; border-radius: 50%;
	background: rgba(249, 249, 244, .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E3B95F' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.9 12.7a9 9 0 1 1-9.6-9.6 3 3 0 0 0 3.5 3.6 3 3 0 0 0 3.6 3.5 2.7 2.7 0 0 0 2.5 2.5Z'/%3E%3Cg fill='%23E3B95F' stroke='none'%3E%3Ccircle cx='8.3' cy='9.3' r='1.15'/%3E%3Ccircle cx='13.4' cy='12.6' r='1.15'/%3E%3Ccircle cx='8.9' cy='15.6' r='1.15'/%3E%3Ccircle cx='15.7' cy='16.6' r='1.15'/%3E%3Ccircle cx='19.9' cy='5.4' r='.95'/%3E%3C/g%3E%3C/svg%3E") center / 28px no-repeat;
	box-shadow: inset 0 0 0 1.5px rgba(227, 185, 95, .7);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo {
	grid-column: 1 / -1; position: static !important; display: block !important; max-width: none !important; width: auto !important;
	margin: 0 0 22px !important; padding: 0 !important; border: 0 !important; background: transparent !important;
	color: #C9D4C4 !important; font: 400 15px/1.55 var(--tac-texte) !important; text-align: left !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo p { color: inherit !important; font: inherit !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo br { display: none; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog {
	display: inline-flex; align-items: center; gap: 6px; margin: 10px 0 0; padding: 0 !important; border: 0; background: transparent !important;
	color: var(--tac-moutarde-clair) !important; font: 600 14px/1.3 var(--tac-texte) !important; text-decoration: underline; text-underline-offset: .22em; cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog:hover { color: var(--tac-papier) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo #tarteaucitronPrivacyUrlDialog::after { content: "→"; text-decoration: none; display: inline-block; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine :focus-visible { outline-color: var(--tac-moutarde-clair) !important; }

/* Rangée « tous les services » : carte vitrée dans l'en-tête */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName {
	margin: 0 !important; padding: 14px 0 14px 18px !important; width: auto !important; float: none !important;
	border-radius: 18px 0 0 18px; background: rgba(249, 249, 244, .08);
	box-shadow: inset 0 1px 0 rgba(249, 249, 244, .1), inset 1px 0 0 rgba(249, 249, 244, .06), inset 0 -1px 0 rgba(249, 249, 244, .06);
	align-self: stretch; display: flex; align-items: center;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronH2 {
	margin: 0 !important; font: 600 15px/1.3 var(--tac-texte) !important; color: var(--tac-papier) !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk {
	margin: 0 !important; padding: 10px 10px 10px 0 !important; float: none !important; align-self: stretch; display: flex; align-items: center;
	border-radius: 0 18px 18px 0; background: rgba(249, 249, 244, .08);
	box-shadow: inset 0 1px 0 rgba(249, 249, 244, .1), inset -1px 0 0 rgba(249, 249, 244, .06), inset 0 -1px 0 rgba(249, 249, 244, .06);
}

/* Interrupteurs à deux positions (tous les services et chaque service) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk {
	display: inline-flex; gap: 3px;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronLine:not(.tarteaucitronMainLine) .tarteaucitronAsk {
	padding: 3px !important; margin: 0 !important; border-radius: 14px; background: var(--tac-platre); float: none !important; flex: none;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk button {
	display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; padding: 9px 14px !important;
	border: 0 !important; border-radius: 11px !important; cursor: pointer;
	background: transparent !important; color: var(--tac-douce) !important; box-shadow: none !important; outline: 0;
	font: 600 13.5px/1.1 var(--tac-texte) !important; opacity: 1 !important;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk button:hover { color: var(--tac-vert) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk button:focus-visible { outline: 3px solid var(--tac-terre) !important; outline-offset: 1px !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk button[aria-pressed="true"] {
	background: #fff !important; box-shadow: 0 1px 3px rgba(26, 49, 36, .18), 0 0 0 1px rgba(26, 49, 36, .06) !important; text-shadow: none !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk .tarteaucitronAllow[aria-pressed="true"] { color: var(--tac-vert) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk .tarteaucitronDeny[aria-pressed="true"] { color: var(--tac-terre) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk :is(.tarteaucitronCheck, .tarteaucitronCross) { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk button[aria-pressed="true"] :is(.tarteaucitronCheck, .tarteaucitronCross) {
	display: inline-block !important; width: 14px; height: 14px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%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' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronAsk button[aria-pressed="true"] .tarteaucitronCross {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E");
}
html body #tarteaucitronRoot #tarteaucitron :is(.tarteaucitronCheck, .tarteaucitronCross)::before { content: none !important; display: none !important; }
/* … dans l'en-tête vert */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button { color: #C9D4C4 !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button:hover { color: var(--tac-papier) !important; background: rgba(249, 249, 244, .08) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button[aria-pressed="true"] { background: var(--tac-papier) !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button:focus-visible { outline-color: var(--tac-moutarde-clair) !important; }

/* Bouton fermer : rond, en haut à droite de l'en-tête */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
	position: absolute !important; z-index: 3; top: 34px !important; right: 26px !important; left: auto !important;
	display: block !important; width: 42px !important; height: 42px !important; margin: 0 !important; padding: 0 !important;
	line-height: 0 !important; color: transparent; overflow: hidden;
	border: 0 !important; border-radius: 50% !important; background: rgba(42, 70, 54, .72) !important; color: var(--tac-papier) !important;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: inset 0 0 0 1px rgba(249, 249, 244, .14), 0 8px 18px -10px rgba(13, 26, 18, .7);
	font-size: 0 !important; cursor: pointer; transition: background-color .2s ease, transform .3s cubic-bezier(.2, .8, .2, 1);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel::before {
	content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; background: var(--tac-papier);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%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' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:hover { background: rgba(58, 92, 72, .9) !important; transform: rotate(90deg); }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:focus-visible { outline: 3px solid var(--tac-moutarde-clair) !important; outline-offset: 2px !important; }

/* Liste des services */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder {
	padding: 10px 22px 6px !important; margin: 0 !important; border: 0 !important; background: transparent !important; height: auto !important; overflow: visible !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder > ul > li { margin: 0 0 6px !important; padding: 0 !important; background: transparent !important; }
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder li::marker { content: none; }

/* Titres de catégorie : petites capitales et feuille, comme dans le reste du site */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle { margin: 0 !important; padding: 0 !important; background: transparent !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button {
	display: flex !important; align-items: center; gap: 9px; width: 100% !important; margin: 14px 0 8px !important; padding: 6px 6px !important;
	border: 0 !important; border-radius: 10px !important; background: transparent !important; cursor: pointer; text-align: left;
	color: var(--tac-douce) !important; font: 600 12px/1.2 var(--tac-texte) !important; letter-spacing: .1em !important; text-transform: uppercase;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button::before {
	content: ""; order: 0; width: 10px; height: 13px; flex: none; background: var(--tac-moutarde);
	-webkit-mask: var(--sb-feuille) center / contain no-repeat; mask: var(--sb-feuille) center / contain no-repeat;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button .tarteaucitronPlus {
	order: 2; margin-left: auto; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%;
	background: #fff; box-shadow: 0 0 0 1px var(--tac-filet); transition: transform .3s ease;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button .tarteaucitronPlus::before {
	content: "" !important; width: 10px; height: 10px; background: var(--tac-vert);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%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' fill='none' stroke='%23000' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button[aria-expanded="true"] .tarteaucitronPlus { transform: rotate(180deg); }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button[aria-expanded="true"] .tarteaucitronPlus::before { content: "" !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button { cursor: default; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServicesTitle_mandatory .tarteaucitronPlus { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle + [id^="tarteaucitronDetails"],
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronDetails {
	position: static !important; width: auto !important; max-width: none !important; margin: -2px 0 10px !important; padding: 0 6px !important;
	background: transparent !important; color: var(--tac-douce) !important; font: 400 14px/1.5 var(--tac-texte) !important;
}

/* Une ligne = une carte */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(.tarteaucitronMainLine) {
	position: relative; display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	margin: 0 0 8px !important; padding: 16px 16px 16px 20px !important;
	border: 1px solid var(--tac-filet) !important; border-radius: 20px !important; background: var(--tac-papier) !important;
	transition: border-color .25s ease, box-shadow .25s ease;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(.tarteaucitronMainLine)::before {
	content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 3px; border-radius: 0 3px 3px 0; background: var(--tac-filet);
	transition: background-color .25s ease;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed:not(.tarteaucitronMainLine)::before { background: var(--tac-vert); }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied:not(.tarteaucitronMainLine)::before { background: var(--tac-terre); opacity: .7; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine:not(.tarteaucitronMainLine):hover { border-color: var(--tac-sauge) !important; box-shadow: 0 14px 26px -22px rgba(26, 49, 36, .6); }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName {
	flex: 1 1 15rem; min-width: 0; width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronH3 {
	display: block; margin: 0 0 4px !important; font: 400 19px/1.25 var(--tac-titre) !important; color: var(--tac-encre) !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName :is(a, .tarteaucitronListCookies, .tacCurrentStatus, .tarteaucitronReadmoreSeparator) {
	font: 500 13px/1.5 var(--tac-texte) !important; color: var(--tac-douce) !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName a { text-decoration: underline !important; text-underline-offset: .2em; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronName a:hover { color: var(--tac-vert) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronStatusInfo { display: flex !important; flex-wrap: wrap; align-items: center; gap: 2px 8px; margin: 0 0 4px; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronStatusInfo .tarteaucitronReadmoreSeparator { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronStatusInfo .tarteaucitronListCookies { display: inline !important; width: auto !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tacCurrentStatus {
	display: inline-block !important; width: auto !important; padding: 1px 9px; border-radius: 999px; background: var(--tac-platre); font-weight: 600 !important; font-size: 12px !important; text-transform: capitalize;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tacCurrentStatus { background: #E1EADC; color: var(--tac-vert) !important; }

/* Cookies obligatoires : texte seul et badge « toujours actifs » */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine { padding-right: 20px !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine::before { background: var(--tac-sauge) !important; opacity: 1; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine .tarteaucitronH3 { font: 400 15px/1.5 var(--tac-texte) !important; color: var(--tac-douce) !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine::after {
	content: "Toujours actifs"; flex: none; padding: 7px 12px; border-radius: 999px;
	background: var(--tac-platre); color: var(--tac-vert); font: 600 12.5px/1 var(--tac-texte);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory :is(br, .tarteaucitronListCookies) { display: none !important; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine { flex-wrap: nowrap; }
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine .tarteaucitronName { flex: 1 1 0; }

/* Enregistrer : barre collée en bas */
html body #tarteaucitronRoot div#tarteaucitronSave {
	position: sticky; bottom: 0; z-index: 2; display: flex; justify-content: flex-end; gap: 10px;
	margin: 6px 0 0; padding: 14px 22px 18px !important; background: linear-gradient(to top, var(--tac-platre) 70%, rgba(238, 240, 231, 0)) !important; text-align: right;
}
html body #tarteaucitronRoot button#tarteaucitronSaveButton {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 26px !important;
	border: 0 !important; border-radius: 999px !important; cursor: pointer;
	background: var(--tac-vert) !important; color: var(--tac-papier) !important;
	font: 600 15.5px/1.1 var(--tac-texte) !important; box-shadow: 0 12px 22px -14px rgba(26, 49, 36, .8);
	transition: background-color .2s ease, transform .25s ease;
}
html body #tarteaucitronRoot button#tarteaucitronSaveButton:hover { background: var(--tac-vert-fonce) !important; transform: translateY(-1px); }

/* ---------- Animations ---------- */
@keyframes sb-tac-entree { from { opacity: 0; transform: translateY(18px) scale(.97); } }
@keyframes sb-tac-panneau { from { opacity: 0; transform: translate(-50%, calc(-50% + 18px)) scale(.97); } }
@keyframes sb-tac-monte { from { transform: translateY(100%); } }
@media (prefers-reduced-motion: reduce) {
	html body #tarteaucitronRoot *, html body #tarteaucitronRoot *::before { animation: none !important; transition: none !important; }
}
html.a11y-calme body #tarteaucitronRoot *, html.a11y-calme body #tarteaucitronRoot *::before { animation: none !important; transition: none !important; }

/* ---------- Mobile : feuilles qui montent du bas ---------- */
@media (max-width: 600px) {
	html body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig {
		top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important; margin: 0 !important;
		width: 100% !important; max-height: 92dvh; padding: 30px 20px calc(18px + env(safe-area-inset-bottom)) !important;
		border-radius: 28px 28px 0 0 !important; animation-name: sb-tac-monte;
	}
	html body #tarteaucitronRoot.tarteaucitronSize-middle div#tarteaucitronAlertBig::before { padding-top: 78px; background-size: 64px 64px; font-size: 25px !important; }
	html body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton { display: flex !important; width: 100% !important; }
	html body #tarteaucitronRoot #tarteaucitronAlertBig button.tarteaucitronCTAButton + button.tarteaucitronCTAButton { margin: 10px 0 0 !important; }
	html body #tarteaucitronRoot #tarteaucitronAlertBig button#tarteaucitronCloseAlert { display: flex !important; margin: 10px auto 0 !important; }

	html body #tarteaucitronRoot #tarteaucitron {
		top: auto !important; bottom: 0 !important; left: 0 !important; transform: none; width: 100% !important; height: auto !important; max-height: 92dvh !important;
		border-radius: 26px 26px 0 0; animation-name: sb-tac-monte;
	}
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices { max-height: 92dvh; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine { padding: 26px 20px 20px !important; grid-template-columns: 1fr; }
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1 { font-size: 24px !important; margin-right: 52px !important; }
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1::before { width: 44px; height: 44px; background-size: 24px; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel { top: 27px !important; right: 18px !important; }
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronName { display: none !important; }
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk { border-radius: 18px; padding: 8px !important; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine { flex-wrap: wrap; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronServices_mandatory .tarteaucitronLine .tarteaucitronName { flex-basis: 100%; }
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronMainLine .tarteaucitronAsk button { flex: 1; justify-content: center; }
	html body #tarteaucitronRoot #tarteaucitron .tarteaucitronBorder { padding: 8px 14px 4px !important; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk:not([style*="none"]) { display: flex !important; width: 100% !important; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk button:not([style*="none"]) { display: inline-flex !important; flex: 1; width: auto !important; justify-content: center; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine::after { right: -18px; top: -30px; width: 110px; height: 110px; opacity: .14; }
	html body #tarteaucitronRoot div#tarteaucitronSave { padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important; }
	html body #tarteaucitronRoot button#tarteaucitronSaveButton { width: 100%; }
	html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices_mandatory .tarteaucitronLine::after { margin-left: 0; }
}

/* ---------- Carte de la page Contact confiée à tarteaucitron ---------- */
.carte--tac .tac_activate { font-family: var(--texte); }
.carte--tac .tac_activate .tarteaucitronAllow {
	margin-top: 1rem; padding: .85em 1.5em !important; border: 0 !important; border-radius: 999px !important;
	background: var(--feuillage) !important; color: var(--papier) !important; font: 600 1rem/1.2 var(--texte) !important; cursor: pointer;
}
.carte--tac .tac_activate .tarteaucitronAllow:hover { background: var(--feuillage-profond) !important; }
