/* ==========================================================================
   Habillage tarteaucitron — TNC
   Chargé après assets/vendor/tarteaucitron/css/tarteaucitron.min.css
   Variables : on utilise celles du thème (:root), avec valeurs de repli.
   ========================================================================== */

#tarteaucitronRoot {
	--tac-primary: var(--color-primary, #BB2649);
	--tac-secondary: var(--color-secondary, #F0EEE9);
	--tac-text: var(--color-text, #1C1C1C);
	--tac-accent: var(--color-accent, #C4956A);
	--tac-light: var(--color-light, #D4C5BE);
	--tac-font-heading: var(--font-heading, 'Cormorant Garamond', serif);
	--tac-font-body: var(--font-body, 'DM Sans', sans-serif);
	--tac-radius: 4px;
}

/* Typographie : style.css impose font-family, font-size, line-height, font-weight et color en !important
   sur body, p, li, span. On rend la main à tarteaucitron à l'intérieur de son conteneur. */
html body #tarteaucitronRoot,
html body #tarteaucitronRoot * {
	font-family: var(--tac-font-body);
	letter-spacing: normal;
}
html body #tarteaucitronRoot span,
html body #tarteaucitronRoot p,
html body #tarteaucitronRoot li {
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: 1.5 !important;
	color: inherit !important;
	font-weight: 400 !important;
}
html body #tarteaucitronRoot strong,
html body #tarteaucitronRoot button,
html body #tarteaucitronRoot button span {
	font-weight: 500 !important;
}
/* Titre du panneau : Cormorant Garamond (les H2/H3 de tarteaucitron servent aussi de texte courant : on garde DM Sans) */
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH1 {
	font-family: var(--tac-font-heading) !important;
	font-size: 30px !important;
	font-weight: 500 !important;
	color: var(--tac-text) !important;
	line-height: 1.2 !important;
}
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH2,
html body #tarteaucitronRoot #tarteaucitron .tarteaucitronH3 {
	font-family: var(--tac-font-body) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	color: var(--tac-text) !important;
	line-height: 1.5 !important;
}

/* ---------- Bandeau ---------- */
html body #tarteaucitronRoot #tarteaucitronAlertBig {
	background: var(--tac-secondary);
	color: var(--tac-text);
	border-top: 3px solid var(--tac-primary);
	box-shadow: 0 -8px 32px rgba(28, 28, 28, 0.12);
	padding: 20px 24px;
	box-sizing: border-box;
	font-size: 15px !important;
	line-height: 1.5;
	text-align: center;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert strong {
	color: var(--tac-text);
	font-size: 15px;
}

html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronDisclaimerAlert {
	display: block;
	max-width: 760px;
	margin: 0 auto 16px;
	padding: 0;
	overflow: visible;
	max-height: none;
	line-height: 1.5;
}

/* ---------- Boutons du bandeau (accepter et refuser : même taille, même niveau) ---------- */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert,
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl {
	display: inline-block;
	font-family: var(--tac-font-body);
	font-size: 15px !important;
	line-height: 1.2;
	min-width: 150px;
	padding: 12px 22px;
	margin: 4px 6px;
	border-radius: var(--tac-radius);
	border: 2px solid transparent;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

/* Tout accepter */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2 {
	background: var(--tac-primary);
	border-color: var(--tac-primary);
	color: #fff;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover {
	background: #9d1f3c;
	border-color: #9d1f3c;
}

/* Tout refuser */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2 {
	background: var(--tac-text);
	border-color: var(--tac-text);
	color: #fff;
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover {
	background: #000;
	border-color: #000;
}

/* Personnaliser */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
	background: transparent;
	border-color: var(--tac-text);
	color: var(--tac-text);
}
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert:hover {
	background: var(--tac-text);
	color: #fff;
}

/* Lien politique de confidentialité (bandeau et panneau) */
html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronPrivacyUrlDialog {
	background: transparent;
	color: var(--tac-primary);
	text-decoration: underline;
	text-underline-offset: 3px;
	min-width: 0;
	padding: 8px;
	border-color: transparent;
}

/* Focus clavier visible */
html body #tarteaucitronRoot button:focus-visible,
html body #tarteaucitronRoot a:focus-visible {
	outline: 3px solid var(--tac-primary);
	outline-offset: 2px;
}

/* ---------- Petite icône « Gérer mes cookies » ---------- */
html body #tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager {
	background: var(--tac-secondary);
	border: 2px solid var(--tac-primary);
	border-radius: 50%;
	box-shadow: 0 4px 16px rgba(28, 28, 28, 0.18);
	padding: 6px;
	transition: transform 0.2s ease;
}
html body #tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager:hover {
	transform: scale(1.06);
}
html body #tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager img {
	width: 34px;
	height: 34px;
}

/* ---------- Panneau de gestion ---------- */
html body #tarteaucitronRoot div#tarteaucitron {
	border-radius: var(--tac-radius);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices {
	background: var(--tac-secondary);
	border-radius: var(--tac-radius);
	box-shadow: 0 16px 48px rgba(28, 28, 28, 0.25);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine .tarteaucitronName {
	color: var(--tac-text);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine {
	background: #fff;
	border: 1px solid var(--tac-light) !important;
	border-radius: var(--tac-radius);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronMainLine:hover {
	background: #fff;
	border-color: var(--tac-accent) !important;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle button,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronTitle .tarteaucitronH3 {
	background: var(--tac-light);
	color: var(--tac-text);
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronName a,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronInfo a {
	color: var(--tac-primary);
}

/* Boutons Autoriser / Interdire (état choisi = plein, l'autre = contour) */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine .tarteaucitronAsk .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllAllowed,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronAllDenied {
	background: #fff;
	color: var(--tac-text);
	border: 2px solid var(--tac-text);
	border-radius: var(--tac-radius);
	opacity: 1;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsAllowed .tarteaucitronAllow,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllAllowed.tarteaucitronIsSelected {
	background: var(--tac-primary);
	border-color: var(--tac-primary);
	color: #fff;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices .tarteaucitronLine.tarteaucitronIsDenied .tarteaucitronDeny,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied.tarteaucitronIsSelected,
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronServices #tarteaucitronAllDenied2.tarteaucitronIsSelected {
	background: var(--tac-text);
	border-color: var(--tac-text);
	color: #fff;
}

/* Bouton fermer du panneau (onglet au-dessus du panneau) */
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel {
	background: var(--tac-primary);
	color: #fff;
	width: auto;
	padding: 8px 18px;
	font-size: 14px !important;
	line-height: 1.2;
	border: 0;
	border-radius: var(--tac-radius) var(--tac-radius) 0 0;
	cursor: pointer;
}
html body #tarteaucitronRoot #tarteaucitron #tarteaucitronClosePanel:hover {
	background: #9d1f3c;
}

/* ---------- Emplacement d'un contenu bloqué (vidéo, carte) ---------- */
html body .tac_activate {
	background: var(--color-text, #1C1C1C);
	color: #fff;
	border-radius: var(--tac-radius, 4px);
	font-family: var(--font-body, 'DM Sans', sans-serif);
	font-size: 15px;
}
html body .tac_activate .tac_float .tarteaucitronAllow {
	background: var(--color-primary, #BB2649);
	color: #fff;
	border-radius: var(--tac-radius, 4px);
	padding: 12px 22px;
	font-weight: 500;
}

/* ---------- Lien « Gérer mes cookies » (pied de page) ---------- */
.tnc-cookies-link {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.tnc-cookies-link:hover {
	color: var(--color-primary, #BB2649);
}

/* ---------- Mobile ---------- */
@media (max-width: 720px) {
	html body #tarteaucitronRoot #tarteaucitronAlertBig {
		padding: 18px 16px;
	}
	html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2,
	html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2,
	html body #tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert {
		display: block;
		width: 100%;
		margin: 8px 0;
		box-sizing: border-box;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body #tarteaucitronRoot * {
		transition: none !important;
	}
}
