/* Kit conformité — bandeau cookies et préférences d'affichage.
 * Couleurs et police réglables par site en redéfinissant les --kit-* sur :root. */

:root {
	--kit-fond: #ffffff;
	--kit-texte: #1c1917;
	--kit-texte-doux: #57534e;
	--kit-accent: #1c1917;          /* boutons principaux */
	--kit-accent-texte: #ffffff;
	--kit-bordure: #d6d3d1;
	--kit-police: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--kit-police-lisible: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--kit-rayon: 6px;
	--kit-focus: #1d4ed8;
}

/* ─── Bandeau CookieConsent v3 (jetons de la bibliothèque) ─────────────── */
#cc-main {
	--cc-font-family: var(--kit-police);
	--cc-bg: var(--kit-fond);
	--cc-primary-color: var(--kit-texte);
	--cc-secondary-color: var(--kit-texte-doux);
	--cc-btn-primary-bg: var(--kit-accent);
	--cc-btn-primary-color: var(--kit-accent-texte);
	--cc-btn-primary-border-color: var(--kit-accent);
	--cc-btn-primary-hover-bg: var(--kit-texte);
	--cc-btn-primary-hover-color: var(--kit-fond);
	--cc-btn-primary-hover-border-color: var(--kit-texte);
	--cc-btn-secondary-bg: transparent;
	--cc-btn-secondary-color: var(--kit-texte);
	--cc-btn-secondary-border-color: var(--kit-texte);
	--cc-btn-secondary-hover-bg: var(--kit-texte);
	--cc-btn-secondary-hover-color: var(--kit-fond);
	--cc-btn-secondary-hover-border-color: var(--kit-texte);
	--cc-separator-border-color: var(--kit-bordure);
	--cc-toggle-on-bg: var(--kit-accent);
	--cc-toggle-off-bg: var(--kit-texte-doux);
	--cc-cookie-category-block-bg: transparent;
	--cc-cookie-category-block-border: var(--kit-bordure);
	--cc-cookie-category-block-hover-bg: transparent;
	--cc-cookie-category-block-hover-border: var(--kit-texte-doux);
	--cc-modal-border-radius: var(--kit-rayon);
	--cc-btn-border-radius: var(--kit-rayon);
	--cc-link-color: var(--kit-texte);
	--cc-footer-bg: var(--kit-fond);
	--cc-footer-color: var(--kit-texte-doux);
	--cc-footer-border-color: var(--kit-bordure);
}

/* ─── Panneau « Préférences d'affichage » ───────────────────────────────── */
.kit-affichage {
	width: min(420px, calc(100vw - 32px));
	max-height: calc(100dvh - 32px);
	padding: 0;
	border: 1px solid var(--kit-bordure);
	border-radius: var(--kit-rayon);
	background: var(--kit-fond);
	color: var(--kit-texte);
	font-family: var(--kit-police);
	font-size: 15px;
	line-height: 1.45;
	box-shadow: 0 16px 48px rgb(0 0 0 / .18);
}
.kit-affichage::backdrop { background: rgb(0 0 0 / .35); }
.kit-affichage__corps { display: flex; flex-direction: column; gap: 14px; padding: 20px; margin: 0; }
.kit-affichage__tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.kit-affichage h2 { margin: 0; font: 600 18px/1.3 var(--kit-police); color: inherit; letter-spacing: 0; text-transform: none; }
.kit-affichage__fermer {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border: 1px solid var(--kit-bordure); border-radius: var(--kit-rayon);
	background: transparent; color: inherit; font: 400 24px/1 var(--kit-police); cursor: pointer;
}
.kit-affichage fieldset { margin: 0; padding: 0; border: 0; }
.kit-affichage legend { margin-bottom: 8px; padding: 0; font-weight: 600; }
.kit-affichage__tailles > label { display: inline-flex; margin: 0 6px 6px 0; cursor: pointer; }
.kit-affichage__tailles input { position: absolute; opacity: 0; pointer-events: none; }
.kit-affichage__tailles span {
	display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px;
	border: 1px solid var(--kit-bordure); border-radius: var(--kit-rayon);
}
.kit-affichage__tailles input:checked + span { background: var(--kit-accent); border-color: var(--kit-accent); color: var(--kit-accent-texte); }
.kit-affichage__tailles input:focus-visible + span { outline: 3px solid var(--kit-focus); outline-offset: 2px; }
.kit-affichage__option {
	display: flex; align-items: flex-start; gap: 12px; padding: 12px;
	border: 1px solid var(--kit-bordure); border-radius: var(--kit-rayon); cursor: pointer;
}
.kit-affichage__option input { flex: none; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--kit-accent); }
.kit-affichage__option span { display: flex; flex-direction: column; gap: 2px; }
.kit-affichage__option small { color: var(--kit-texte-doux); font-size: 13px; }
.kit-affichage__pied { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.kit-affichage__reinit {
	min-height: 40px; padding: 0 14px; border: 1px solid var(--kit-texte); border-radius: var(--kit-rayon);
	background: transparent; color: inherit; font: 500 14px/1 var(--kit-police); cursor: pointer;
}
.kit-affichage__pied a { color: inherit; font-size: 14px; }
.kit-affichage :focus-visible { outline: 3px solid var(--kit-focus); outline-offset: 2px; }

/* ─── Effets des préférences (génériques ; un thème peut les affiner) ──── */

/* Taille du texte : zoom de secours, sauf si le thème applique --kit-echelle lui-même. */
html[data-kit-texte]:not(.kit-echelle-theme) body { zoom: var(--kit-echelle, 1); }

html.kit-contraste a:not([class*="btn"]):not([class*="button"]) { text-decoration: underline !important; text-underline-offset: .2em; }
html.kit-contraste :focus-visible { outline: 3px solid var(--kit-focus) !important; outline-offset: 2px !important; }
html.kit-contraste ::placeholder { color: var(--kit-texte-doux) !important; opacity: 1 !important; }

html.kit-sans-anim *, html.kit-sans-anim *::before, html.kit-sans-anim *::after {
	animation-duration: .001ms !important; animation-iteration-count: 1 !important;
	transition-duration: .001ms !important; scroll-behavior: auto !important;
}

/* Espacement du texte : valeurs du critère WCAG 1.4.12 */
html.kit-espacement body :where(p, li, dd, dt, td, th, blockquote, figcaption, label, a, span, h1, h2, h3, h4, h5, h6) {
	line-height: 1.5 !important; letter-spacing: .12em !important; word-spacing: .16em !important;
}
html.kit-espacement body :where(p) { margin-bottom: 2em !important; }

html.kit-police body :where(*:not(svg, svg *, .kit-affichage__fermer)) { font-family: var(--kit-police-lisible) !important; }
