/**
 * WPConsent — présentation Char3i (Consent Mode inchangé).
 * Cible le host + ::part() ; consent-compact.js affine le shadow DOM.
 */

#wpconsent-container,
#wpconsent-root {
	--wpconsent-color-primary: #000;
	--wpconsent-color-secondary: #fff;
	--wpconsent-color-text: #18181b;
	--wpconsent-color-text-muted: #71717a;
	--wpconsent-border-color: #e4e4e7;
}

#wpconsent-container::part(wpconsent-banner) {
	border-top: 1px solid var(--wpconsent-border-color);
	background: var(--wpconsent-color-secondary);
	color: var(--wpconsent-color-text);
	box-shadow: 0 -8px 32px rgba(0, 0, 0, .08);
}

#wpconsent-container::part(wpconsent-banner-title) {
	color: var(--wpconsent-color-text);
}

#wpconsent-container::part(wpconsent-banner-message) {
	color: var(--wpconsent-color-text-muted);
}

#wpconsent-container::part(wpconsent-button-accept) {
	border: 1px solid var(--wpconsent-color-primary);
	background: var(--wpconsent-color-primary);
	color: var(--wpconsent-color-secondary);
	font-weight: 700;
}

#wpconsent-container::part(wpconsent-button-accept):hover,
#wpconsent-container::part(wpconsent-button-accept):focus-visible {
	background: #27272a;
	border-color: #27272a;
	color: var(--wpconsent-color-secondary);
}

#wpconsent-container::part(wpconsent-button-cancel),
#wpconsent-container::part(wpconsent-button-preferences) {
	border: 1px solid var(--wpconsent-color-primary);
	background: var(--wpconsent-color-secondary);
	color: var(--wpconsent-color-primary);
	font-weight: 600;
}

#wpconsent-container::part(wpconsent-button-cancel):hover,
#wpconsent-container::part(wpconsent-button-cancel):focus-visible,
#wpconsent-container::part(wpconsent-button-preferences):hover,
#wpconsent-container::part(wpconsent-button-preferences):focus-visible {
	background: #f4f4f5;
	color: var(--wpconsent-color-primary);
}

@media (max-width: 767px) {
	#wpconsent-container,
	#wpconsent-root {
		--wpconsent-padding: 8px 12px;
		--wpconsent-font-size: 12.5px;
		--wpconsent-line-height: 1.35;
		--wpconsent-title-size: 14px;
	}

	#wpconsent-container::part(wpconsent-banner) {
		padding: 8px 12px;
		box-sizing: border-box;
	}

	#wpconsent-container::part(wpconsent-banner-body) {
		margin: 0;
		max-height: none;
	}

	#wpconsent-container::part(wpconsent-banner-footer) {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 6px;
		width: 100%;
	}

	#wpconsent-container::part(wpconsent-button-preferences) {
		grid-column: 1 / -1;
		min-height: 44px;
		padding: 10px 12px;
		font-size: 14px;
		line-height: 1.2;
		width: 100%;
		box-sizing: border-box;
	}

	#wpconsent-container::part(wpconsent-button-cancel),
	#wpconsent-container::part(wpconsent-button-accept) {
		min-height: 44px;
		padding: 10px 12px;
		font-size: 14px;
		line-height: 1.2;
		width: 100%;
		box-sizing: border-box;
	}
}

/* === CHAR3I cookies #3 — 2026-09-24 (Local GPT only; do not deploy until smoke) ===
 * Live bug: WPConsent shadow banner z-index ~900000 covers:
 *  - mobile mini-cart CTAs (PASSER AU PAIEMENT / Voir le panier) — 100%
 *  - mobile .c3-sticky-atc (z 850)
 *  - desktop .c3-wa-float (z 840) ~90%
 * Fix: cart layer above CMP when open; WA float lifts by --c3-cookie-banner-height
 * (set by l0r-consent-compact.js). Sticky clearance stays in L0R shadow CSS.
 */
body.c3-cart-open .c3-cart-layer,
body:has(.c3-cart-layer.is-open) .c3-cart-layer {
  z-index: 900001 !important;
}

.c3-wa-float {
  bottom: calc(
    16px + env(safe-area-inset-bottom, 0px) + var(--c3-cookie-banner-height, 0px) + var(--c3-wa-offset-sticky-atc, 0px)
  ) !important;
}

