/* Bandeau cookies Complianz aux couleurs du site (v2.16). Chargé seulement si Complianz est actif. */
body .cmplz-cookiebanner {
	--cmplz_banner_width: 440px;
	--cmplz_banner_background_color: #1c1c1cf5;
	--cmplz_banner_border_color: #ffffff24;
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 20px;
	--cmplz_banner_margin: 10px;
	--cmplz_text_color: var(--ink-body, #cfc9c2);
	--cmplz_hyperlink_color: var(--ink-subtle, #9a948d);
	--cmplz_title_font_size: 18px;
	--cmplz_text_font_size: 14px;
	--cmplz_link_font_size: 12px;
	--cmplz_category_body_font_size: 13px;
	--cmplz_category_header_title_font_size: 14px;
	--cmplz_category_header_active_font_size: 11px;
	--cmplz_button_font_size: 15px;
	--cmplz_button_border_radius: 999px;
	--cmplz_button_accept_background_color: var(--accent, #e8642b);
	--cmplz_button_accept_border_color: var(--accent, #e8642b);
	--cmplz_button_accept_text_color: var(--on-accent, #1c1c1c);
	--cmplz_button_deny_background_color: #ffffff14;
	--cmplz_button_deny_border_color: #ffffff38;
	--cmplz_button_deny_text_color: var(--ink, #f5f3f0);
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: #ffffff38;
	--cmplz_button_settings_text_color: var(--ink, #f5f3f0);
	--cmplz_slider_active_color: var(--accent, #e8642b);
	--cmplz_slider_inactive_color: #ffffff2e;
	--cmplz_slider_bullet_color: #fff;
	--cmplz_category_header_always_active_color: var(--accent-light, #f19f7c);
	font-family: var(--font-sans, Roboto, system-ui, sans-serif);
	padding: 22px 24px 18px;
	gap: 14px;
	box-shadow: 0 30px 80px #000000a6;
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}
body .cmplz-cookiebanner .cmplz-divider { display: none; }

/* En-tête : point orange + titre à gauche, bouton fermer rond à droite */
body .cmplz-cookiebanner .cmplz-header { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
body .cmplz-cookiebanner .cmplz-header .cmplz-logo { display: none; }
body .cmplz-cookiebanner .cmplz-header .cmplz-title {
	display: flex;
	align-items: center;
	gap: 10px;
	grid-column: 1;
	justify-self: start;
	margin: 0;
	font-weight: 900;
	line-height: 1.2;
	letter-spacing: -.01em;
	color: var(--ink, #f5f3f0);
}
body .cmplz-cookiebanner .cmplz-header .cmplz-title::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--accent, #e8642b);
	box-shadow: 0 0 12px var(--accent-glow, #e8642b61);
}
body .cmplz-cookiebanner .cmplz-header .cmplz-close {
	display: grid;
	place-items: center;
	grid-column: 2;
	width: 32px;
	height: 32px;
	border: 1px solid #ffffff1f;
	border-radius: 50%;
	color: var(--ink-subtle, #9a948d);
	transition: color .15s ease, border-color .15s ease;
}
body .cmplz-cookiebanner .cmplz-header .cmplz-close svg { width: 12px; height: 12px; }
body .cmplz-cookiebanner .cmplz-header .cmplz-close:hover { color: var(--ink, #f5f3f0); border-color: #ffffff4d; font-size: 20px; }

/* Texte */
body .cmplz-cookiebanner .cmplz-message { margin: 0; line-height: 1.6; }
body .cmplz-cookiebanner .cmplz-message,
body .cmplz-cookiebanner .cmplz-categories { width: auto; }
body .cmplz-cookiebanner .cmplz-body { min-width: 0; }

/* Catégories (« Personnaliser ») */
body .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background: #ffffff08;
	border: 1px solid #ffffff14;
	border-radius: 12px;
}
body .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) { margin-bottom: 8px; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { padding: 12px 14px; grid-template-columns: minmax(0, 1fr) auto 18px; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font-weight: 700; color: var(--ink, #f5f3f0); }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active {
	font-family: var(--font-mono, monospace);
	text-transform: uppercase;
	letter-spacing: .08em;
}
body .cmplz-cookiebanner .cmplz-category-toggle { color: var(--ink-subtle, #9a948d); background: none; border: 0; padding: 0; }
body .cmplz-cookiebanner .cmplz-category-toggle svg path { fill: currentColor; }
body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description { padding: 0 14px 12px; color: var(--ink-muted, #b8b2ab); line-height: 1.55; }

/* Boutons : « Tout accepter » et « Tout refuser » au même niveau, « Personnaliser » en lien dessous */
body .cmplz-cookiebanner .cmplz-buttons { flex-direction: row; flex-wrap: wrap; gap: 10px; }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	flex: 1 1 0;
	min-width: 0;
	height: 46px;
	padding: 0 16px;
	font-family: var(--font-sans, Roboto, system-ui, sans-serif);
	font-weight: 700;
	transition: filter .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover { filter: brightness(1.08); }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover { background-color: #ffffff26; border-color: #ffffff59; }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences {
	order: 3;
	flex: 1 1 100%;
	height: 28px;
	border: 0;
	color: var(--ink-muted, #b8b2ab);
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-color: #ffffff4d;
}
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences:hover { color: var(--ink, #f5f3f0); text-decoration-color: var(--accent, #e8642b); }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences { order: 3; flex: 1 1 100%; }
body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences:hover { border-color: #ffffff73; background-color: #ffffff0d; }

/* Liens vers les documents */
body .cmplz-cookiebanner .cmplz-links.cmplz-information { display: none; }
body .cmplz-cookiebanner .cmplz-links.cmplz-documents { display: block; }
body .cmplz-cookiebanner .cmplz-links.cmplz-documents ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 16px; margin: 0; padding: 0; list-style: none; }
body .cmplz-cookiebanner .cmplz-links.cmplz-documents li { margin: 0; padding: 0; list-style: none; }
body .cmplz-cookiebanner .cmplz-links.cmplz-documents li::before,
body .cmplz-cookiebanner .cmplz-links.cmplz-documents li::marker { content: none; }
body .cmplz-cookiebanner .cmplz-links .cmplz-link {
	font-family: var(--font-sans, Roboto, system-ui, sans-serif);
	font-weight: 500;
	text-decoration: none;
}
@media (max-width: 425px) {
	body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { grid-template-columns: minmax(0, 1fr) auto 18px !important; }
}
body .cmplz-cookiebanner .cmplz-links .cmplz-link:hover { color: var(--ink, #f5f3f0); text-decoration: underline; }

/* Ordinateur : carte en bas à gauche (le bouton « haut de page » reste libre à droite) */
@media (min-width: 769px) {
	body .cmplz-cookiebanner {
		top: auto;
		right: auto;
		left: 24px;
		bottom: 24px;
		width: var(--cmplz_banner_width);
		min-width: 0;
		transform: none;
	}
}

/* Mobile : panneau en bas, pleine largeur */
@media (max-width: 768px) {
	body .cmplz-cookiebanner {
		top: auto;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		transform: none;
		border-width: 1px 0 0;
		border-radius: 18px 18px 0 0;
		padding: 14px 16px calc(10px + env(safe-area-inset-bottom));
		gap: 10px;
		--cmplz_text_font_size: 13px;
		--cmplz_link_font_size: 11px;
		--cmplz_button_font_size: 14px;
		--cmplz_category_body_font_size: 12px;
	}
	body .cmplz-cookiebanner .cmplz-buttons { flex-direction: row; gap: 8px; }
	body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { height: 40px; }
	body .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences { height: 22px; }
	body .cmplz-cookiebanner .cmplz-message { margin-right: 0; line-height: 1.5; }
	body .cmplz-cookiebanner .cmplz-header .cmplz-title { display: flex; font-size: 15px; gap: 8px; }
	body .cmplz-cookiebanner .cmplz-header .cmplz-close { width: 28px; height: 28px; }
	body .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header { padding: 10px 12px; }
	body .cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) { margin-bottom: 6px; }
	body .cmplz-cookiebanner .cmplz-body { max-height: 45vh; }
}

/* Politique de cookies : le document Complianz reprend la typographie des pages légales */
.dda-legal__body #cmplz-document { max-width: none; margin-top: 0; font-size: inherit; text-justify: auto; }
.dda-legal__body #cmplz-document p,
.dda-legal__body #cmplz-document li,
.dda-legal__body #cmplz-document td { font-size: inherit; }
.dda-legal__body #cmplz-document p { margin: 22px 0 0; }
.dda-legal__body #cmplz-document > :first-child { margin-top: 0; }
.dda-legal__body #cmplz-document h2 { margin: 56px 0 0; padding: 0; font-size: clamp(22px, 2.4vw, 28px); }
.dda-legal__body #cmplz-document h3 { margin: 36px 0 0; padding: 0; font-size: 19px; }
.dda-legal__body #cmplz-document h4 { margin: 28px 0 0; font-size: 17px; }
.dda-legal__body #cmplz-document ul { margin: 22px 0 0; list-style: none; }
.dda-legal__body #cmplz-document .cmplz-subtitle { margin-top: 28px; font-weight: 700; color: var(--ink, #f5f3f0); }
.dda-legal__body #cmplz-document a:focus { border: 0; padding: 0; }
.dda-legal__body #cmplz-document a[target="_blank"]::after { content: "↗"; margin: 0 0 0 3px; font-size: .85em; }

/* Liste des services (après l'analyse du site) */
.dda-legal__body #cmplz-document .cmplz-dropdown { margin-top: 14px; overflow: hidden; border: 1px solid var(--line-card, #ffffff1f); border-radius: 14px; background: #ffffff06; }
.dda-legal__body #cmplz-document .cmplz-dropdown summary { margin: 0; padding: 12px 16px; background: #ffffff0a; cursor: pointer; }
.dda-legal__body #cmplz-document .cmplz-dropdown summary h3 { margin: 0; font-size: 17px; }
.dda-legal__body #cmplz-document .cmplz-dropdown summary h3::before { display: none; }
.dda-legal__body #cmplz-document .cmplz-dropdown summary p { font-size: 13px; color: var(--ink-subtle, #9a948d); }
.dda-legal__body #cmplz-document .cmplz-dropdown summary div::after { filter: invert(1); opacity: .6; }
.dda-legal__body #cmplz-document .cmplz-dropdown p,
.dda-legal__body #cmplz-document .cmplz-dropdown a { font-size: 15px; }
.dda-legal__body #cmplz-document .cmplz-dropdown h4 { margin: 18px 0 6px; font-size: 15px; color: var(--ink, #f5f3f0); }
.dda-legal__body #cmplz-document .cookies-per-purpose { overflow: hidden; border-color: var(--line-card, #ffffff1f); border-radius: 10px; background-color: var(--line-card, #ffffff1f); }
.dda-legal__body #cmplz-document .cookies-per-purpose div,
.dda-legal__body #cmplz-document .cookies-per-purpose div:nth-child(n) { padding: 12px 14px; background-color: #1c1c1c; font-size: 14px; }
.dda-legal__body #cmplz-document .cookies-per-purpose :is(.name-header, .retention-header, .function-header) { background-color: #242424; color: var(--ink, #f5f3f0); }

/* Politique de cookies : bloc « Gérez vos réglages » (mêmes catégories que le bandeau).
   Sélecteurs longs : Complianz cible ce bloc par son id. */
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container { margin-top: 22px; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories { display: grid; gap: 10px; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category { margin: 0; border: 1px solid var(--line-card, #ffffff1f); border-radius: 14px; background: #ffffff06; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header { display: grid; grid-template-columns: minmax(0, 1fr) auto 22px; align-items: center; gap: 14px; padding: 14px 18px; background: none; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title { font-size: 17px; font-weight: 700; color: var(--ink, #f5f3f0); }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active { font: 500 12px/1 var(--font-mono, monospace); letter-spacing: .08em; text-transform: uppercase; color: var(--accent-light, #f19f7c); }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active .cmplz-banner-checkbox { display: none; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-toggle { display: grid; place-items: center; padding: 0; border: 0; background: none; color: var(--ink-subtle, #9a948d); cursor: pointer; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-toggle svg { width: 16px; height: 16px; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-toggle svg path { fill: currentColor; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-description { padding: 0 18px 16px; font-size: 15px; line-height: 1.6; color: var(--ink-muted, #b8b2ab); }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox { position: relative; display: inline-block; width: 40px; height: 22px; margin: 0; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label { position: absolute; inset: 0; margin: 0; padding: 0; border-radius: 999px; background: #ffffff2e; transition: background-color .2s ease; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before { display: none; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; transition: left .2s ease; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label { background: var(--accent, #e8642b); }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::after { left: 21px; }
.dda-legal__body #cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label { box-shadow: 0 0 0 3px var(--accent-soft, #e8642b1f); }

/* Footer : « Gérer mes cookies » (rouvre le bandeau) */
.dda-footer__legal .dda-footer__cookies {
	display: inline;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font: inherit;
	color: inherit;
	cursor: pointer;
}
.dda-footer__legal .dda-footer__cookies:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 767px) {
	.dda-footer__legal { justify-content: center; gap: 6px 18px; }
	.dda-footer__legal .dda-footer__sep { display: none; }
}
