/* ================================================================ fp-cookie-card v4 (Complianz 7.x)
   Spec: docs/COOKIE_CARD_SPEC_v4.md. ALL cookie-card CSS lives here (enqueued after Complianz's banner CSS by
   functions.php). Text and labels come from Complianz (server/10_cookie_card.php): this file changes only layout,
   style and motion. Solid white card (no backdrop blur), no close ×.
   Button order is set in the DOM by assets/js/cookie-card.js so keyboard order = visual order:
     desktop (>= 640px)  Scegli ›  ·  Rifiuta  ·  Accetta tutti      (one row)
     phone   (<  640px)  Rifiuta | Accetta tutti (2 columns, 44px), Scegli › full width below (40px)
   ================================================================================================= */

/* ---------------------------------------------------------------- tokens (theme tokens where they exist) */
#cmplz-cookiebanner-container,
#cmplz-manage-consent {
	/* tokens v3 (2026-10-21): every value points at a --fp-* token in fiscalpulse.css */
	--cc-bg: var(--fp-card);
	--cc-line: var(--fp-line-2);
	--cc-divider: var(--fp-line);
	--cc-ink: var(--fp-ink);
	--cc-ink-hover: var(--fp-action-hover);
	--cc-ink-active: var(--fp-action-hover);
	--cc-on-ink: var(--fp-on-action);
	--cc-text: var(--fp-text);
	--cc-muted: var(--fp-muted);
	--cc-surface: var(--fp-action-soft);
	--cc-surface-2: var(--fp-action-soft-hover);
	--cc-action: var(--fp-accent);
	--cc-focus: var(--fp-ink);
	--cc-toggle-off: var(--fp-tertiary);
	--cc-knob: var(--fp-card);
	--cc-ghost-line: var(--fp-line-strong);
	--cc-ghost-line-hover: var(--fp-text);
	--cc-link-line: var(--fp-line-strong);
	--cc-scrollbar: var(--fp-line-strong);
	--cc-shadow: var(--fp-shadow-popover);
	--cc-twin-shadow: none;
	--cc-knob-shadow: 0 1px 2px var(--fp-line-strong);
	--cc-tab-shadow: var(--fp-shadow-popover);
	--cc-ease: var(--fp-ease);
	--cc-r-card: var(--fp-radius-window);
	--cc-r-pill: var(--fp-radius-pill);
}

/* ---------------------------------------------------------------- VARIANT A (active): Rifiuta = twin of Accetta tutti
   Garante "pari evidenza" / EDPB: same size, colour, font and contrast. */
#cmplz-cookiebanner-container {
	--cc-deny-bg: var(--cc-ink);
	--cc-deny-fg: var(--cc-on-ink);
	--cc-deny-border: var(--cc-ink);
	--cc-deny-shadow: var(--cc-twin-shadow);
	--cc-deny-bg-hover: var(--cc-ink-hover);
	--cc-deny-border-hover: var(--cc-ink-hover);
	--cc-deny-bg-active: var(--cc-ink-active);
}
/* ---------------------------------------------------------------- VARIANT B (off): Rifiuta white with a full-ink border
   ONE-LINE SWITCH TO B: on the next line replace "html.fp-cc-variant-b" with "html".
   (Adding the class "fp-cc-variant-b" to <html> also previews B without editing this file.) */
html.fp-cc-variant-b #cmplz-cookiebanner-container {
	--cc-deny-bg: var(--cc-bg);
	--cc-deny-fg: var(--cc-ink);
	--cc-deny-border: var(--cc-ink);
	--cc-deny-shadow: none;
	--cc-deny-bg-hover: var(--cc-surface);
	--cc-deny-border-hover: var(--cc-ink);
	--cc-deny-bg-active: var(--cc-surface-2);
}

/* ---------------------------------------------------------------- card */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner * { box-sizing: border-box; min-width: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	position: fixed !important;
	inset: auto 24px calc(24px + env(safe-area-inset-bottom, 0px)) auto !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	width: min(440px, calc(100vw - 48px)) !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	max-height: calc(100vh - 48px);
	max-height: calc(100dvh - 48px);
	margin: 0 !important;
	padding: 20px 20px 16px !important;
	display: flex !important;
	flex-direction: column;
	gap: 16px;
	grid-gap: 16px;
	overflow-x: hidden !important;
	overflow-x: clip !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	background: var(--cc-bg) !important;
	border: 1px solid var(--cc-line) !important;
	border-radius: var(--cc-r-card) !important;
	box-shadow: var(--cc-shadow) !important;
	color: var(--cc-text) !important;
	font-family: var(--fp-font) !important;
	z-index: 99999;
	zoom: 1 !important;
}
/* Complianz's 1s hover shadow change */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show:hover { box-shadow: var(--cc-shadow) !important; transition: none; }
/* closed / dismissed card stays hidden (the layout rule above uses display:flex !important) */
#cmplz-cookiebanner-container .cmplz-cookiebanner:not(.cmplz-show),
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed { display: none !important; }

/* parts we do not show: header (logo, title, close ×), dividers (−20px margins), info links, TCF/manage buttons */
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-header, .cmplz-logo, .cmplz-title, .cmplz-close, .cmplz-divider, .cmplz-links.cmplz-information, .cmplz-btn.cmplz-manage-options, a.cmplz-btn.tcf) { display: none !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner > .cmplz-links.cmplz-documents { display: none !important; }
.cmplz-soft-cookiewall, #cmplz-cookiebanner-container .cmplz-soft-cookiewall { display: none !important; }

/* ---------------------------------------------------------------- body + message (anti-overflow: cancels Complianz 300px min-width / 378px column) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body {
	min-width: 0 !important;
	width: auto !important;
	max-width: 100%;
	max-height: none !important;
	overflow: visible !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-message, .cmplz-categories) { width: auto !important; max-width: 100%; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
	margin: 0 !important;
	padding: 0 !important;
	font: 400 13px/20px var(--fp-font) !important;
	letter-spacing: -0.003em;
	color: var(--cc-text) !important;
	overflow-wrap: anywhere;
	text-wrap: pretty;
}
/* policy links inline at the end of the sentence (moved there by fiscalpulse.js) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message :is(.cmplz-documents, .cmplz-links, ul, li) { display: inline !important; margin: 0 !important; padding: 0 !important; list-style: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message ul { font-size: 0 !important; } /* drops the template's whitespace between <li> */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message li { font-size: 13px !important; white-space: nowrap; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message li:has(> a.cmplz-hidden) { display: none !important; }
/* separator dot stays at the end of the previous link (a line never starts with "·") */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message li:has(+ li > a:not(.cmplz-hidden))::after { content: "\00B7"; margin: 0 6px 0 2px; color: var(--cc-muted); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message a {
	font: 500 13px/20px var(--fp-font) !important;
	color: var(--cc-ink) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-decoration-color: var(--cc-link-line) !important;
	text-underline-offset: 3px;
	transition: text-decoration-color .2s var(--cc-ease);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-links, .cmplz-message) a:hover { text-decoration-color: var(--cc-ink) !important; }

/* ---------------------------------------------------------------- buttons */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 8px !important;
	margin: 0 !important;
	min-width: 0;
	flex-direction: row;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: auto !important;
	min-height: 36px !important;
	width: auto !important;
	min-width: 0;
	max-width: 100%;
	flex: none !important;
	margin: 0 !important;
	padding: 6px 16px !important;
	border-radius: var(--cc-r-pill) !important;
	font: 500 13px/1.2 var(--fp-font) !important;
	letter-spacing: -0.005em;
	white-space: normal !important;
	text-wrap: balance;
	text-align: center;
	text-decoration: none !important;
	cursor: pointer;
	zoom: 1 !important;
	transition: background-color .2s var(--cc-ease), border-color .2s var(--cc-ease), color .2s var(--cc-ease), box-shadow .2s var(--cc-ease), transform .2s var(--cc-ease);
}
/* Complianz swaps Scegli <-> Salva preferenze with inline style.display (none/block): keep its logic, centre the label */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-save-preferences { display: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn[style*="display: block"] { display: inline-flex !important; }

/* twins: Rifiuta + Accetta tutti, identical size (variant tokens above decide Rifiuta's colours) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:is(.cmplz-accept, .cmplz-deny) { min-width: 120px; padding: 6px 18px !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept {
	background: var(--cc-ink) !important; color: var(--cc-on-ink) !important; border: 1px solid var(--cc-ink) !important; box-shadow: var(--cc-twin-shadow);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:hover { background: var(--cc-ink-hover) !important; border-color: var(--cc-ink-hover) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept:active { background: var(--cc-ink-active) !important; transform: scale(.98); box-shadow: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny {
	background: var(--cc-deny-bg) !important; color: var(--cc-deny-fg) !important; border: 1px solid var(--cc-deny-border) !important; box-shadow: var(--cc-deny-shadow);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:hover { background: var(--cc-deny-bg-hover) !important; border-color: var(--cc-deny-border-hover) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny:active { background: var(--cc-deny-bg-active) !important; transform: scale(.98); }

/* quiet pill: Scegli › / Salva preferenze */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences) {
	justify-self: start;
	padding: 6px 14px !important;
	background: transparent !important;
	color: var(--cc-ink) !important;
	border: 1px solid var(--cc-ghost-line) !important;
	box-shadow: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences):hover { background: var(--cc-surface) !important; border-color: var(--cc-ghost-line-hover) !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences):active { background: var(--cc-surface-2) !important; transform: scale(.98); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-view-preferences::after {
	content: ""; display: inline-block; flex: none; width: 6px; height: 6px; margin-left: 8px;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg);
}

/* ---------------------------------------------------------------- focus ring (every interactive element) */
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-btn, a, button, .cmplz-category-toggle, input):focus { outline: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-btn, a, button, .cmplz-category-toggle, input):focus-visible { outline: 2px solid var(--cc-focus) !important; outline-offset: 2px !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label::before { box-shadow: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label::before { box-shadow: 0 0 0 2px var(--cc-bg), 0 0 0 4px var(--cc-focus); }

/* ---------------------------------------------------------------- preferences panel (after "Scegli") */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories { margin: 0 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories.cmplz-fade-in {
	display: block;
	min-width: 0;
	max-height: min(44vh, 320px);
	overflow-y: auto;
	overflow-x: hidden;
	border-top: 1px solid var(--cc-divider);
	scrollbar-width: thin;
	scrollbar-color: var(--cc-scrollbar) transparent;
	animation: none;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background: transparent !important; border: 0 !important; border-bottom: 1px solid var(--cc-divider) !important; border-radius: 0 !important; margin: 0 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category:last-child { border-bottom: 0 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
	display: grid; grid-template-columns: minmax(0, 1fr) auto auto !important; gap: 12px; align-items: center; padding: 12px 0; min-height: 44px;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-title {
	font: 500 13px/18px var(--fp-font) !important; color: var(--cc-ink) !important; letter-spacing: -0.003em; overflow-wrap: anywhere; margin: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-always-active {
	font: 500 11px/1 var(--fp-mono) !important; text-transform: uppercase; letter-spacing: .06em; color: var(--cc-muted) !important; white-space: normal; text-align: right;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-always-active .cmplz-banner-checkbox { display: none !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle {
	width: 28px; height: 28px; border-radius: var(--cc-r-pill); display: grid; place-items: center; padding: 0; margin: 0; background: transparent; border: 0; color: var(--cc-muted); cursor: pointer;
	transition: background-color .2s var(--cc-ease);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-category-toggle:hover { background: var(--cc-surface); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open { width: 12px; height: 12px; display: grid; place-items: center; transition: transform .24s var(--cc-ease); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header .cmplz-icon.cmplz-open svg { width: 12px; height: 12px; fill: currentColor; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	font: 400 12px/18px var(--fp-font) !important; color: var(--cc-muted) !important; padding: 0 0 12px !important; margin: 0; max-width: 100%; overflow-wrap: anywhere;
}
/* toggle 34×20, OFF by default (Complianz never pre-checks) */
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox { position: relative; display: block; width: 34px; height: 20px; flex: none; margin: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox {
	position: absolute; inset: 0; top: 0; left: 0; width: 34px; height: 20px; margin: 0; opacity: 0; cursor: pointer; z-index: 1;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label { display: block; position: relative; width: 34px; height: 20px; padding: 0; margin: 0; font-size: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-label .screen-reader-text {
	position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before {
	content: ""; display: block; position: absolute; top: 0; left: 0; width: 34px; height: 20px; padding: 0; border-radius: var(--cc-r-pill);
	background: var(--cc-toggle-off) !important; transition: background-color .2s var(--cc-ease);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
	content: ""; display: block; position: absolute; top: 2px; left: 2px; width: 16px; height: 16px; border-radius: var(--cc-r-pill);
	background: var(--cc-knob); box-shadow: var(--cc-knob-shadow); transition: transform .24s var(--cc-ease);
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::before { background: var(--cc-action) !important; padding: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::after { left: 2px; transform: translateX(14px); }

/* ---------------------------------------------------------------- phone (< 640px) */
@media (max-width: 639px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		inset: auto 12px calc(12px + env(safe-area-inset-bottom, 0px)) 12px !important;
		width: auto !important;
		max-height: calc(100vh - 24px);
		max-height: calc(100dvh - 24px);
		padding: 16px 16px 12px !important;
		gap: 14px;
		grid-gap: 14px;
		border-radius: 14px !important;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { line-height: 19px !important; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas: "deny accept" "prefs prefs";
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { width: 100% !important; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:is(.cmplz-accept, .cmplz-deny) { min-width: 0; min-height: 44px !important; padding: 6px 12px !important; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-deny { grid-area: deny; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn.cmplz-accept { grid-area: accept; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:is(.cmplz-view-preferences, .cmplz-save-preferences) { grid-area: prefs; justify-self: stretch; min-height: 40px !important; }
}

/* ---------------------------------------------------------------- short viewports: cancel Complianz @media (max-height:400px) (zoom .6, 15vh buttons, nowrap) */
@media (max-height: 400px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner { zoom: 1 !important; height: auto !important; padding: 12px 16px !important; gap: 10px; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body { margin: 0 !important; flex: 0 1 auto; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { gap: 8px !important; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		height: auto !important; min-height: 36px !important; padding: 6px 14px !important; font-size: 13px !important; line-height: 1.2 !important; white-space: normal !important; zoom: 1 !important;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-documents, .cmplz-information) { zoom: 1 !important; }
}

/* ---------------------------------------------------------------- motion: 560ms rise after a 600ms pause (page settles first) */
@keyframes fp-cc-in {
	from { opacity: 0; transform: translateY(14px) scale(.985); }
	to { opacity: 1; transform: none; }
}
@keyframes fp-cc-rise {
	from { opacity: 0; transform: translateY(6px); }
	to { opacity: 1; transform: none; }
}
@keyframes fp-cc-panel {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: no-preference) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show { animation: fp-cc-in .56s var(--cc-ease) .6s both; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show .cmplz-body { animation: fp-cc-rise .44s var(--cc-ease) .72s both; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show .cmplz-buttons { animation: fp-cc-rise .44s var(--cc-ease) .8s both; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories.cmplz-fade-in { animation: fp-cc-panel .32s var(--cc-ease) both; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category-toggle[aria-expanded="true"] .cmplz-icon.cmplz-open { transform: rotate(180deg); }
}
@media (prefers-reduced-motion: reduce) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner,
	#cmplz-cookiebanner-container .cmplz-cookiebanner * { animation: none !important; transition: none !important; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:active { transform: none !important; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories .cmplz-category-toggle[aria-expanded="true"] .cmplz-icon.cmplz-open { transform: rotate(180deg); }
}

/* ---------------------------------------------------------------- manage-consent tab (after a choice; Complianz shows it on desktop only) */
#cmplz-manage-consent .cmplz-manage-consent {
	font: 500 12px/1 var(--fp-font) !important;
	min-height: 32px;
	border-radius: var(--cc-r-pill) var(--cc-r-pill) 0 0 !important;
	background: var(--cc-bg) !important;
	color: var(--cc-ink) !important;
	border: 1px solid var(--cc-divider) !important;
	border-bottom: 0 !important;
	box-shadow: var(--cc-tab-shadow) !important;
}
#cmplz-manage-consent .cmplz-manage-consent:focus-visible { outline: 2px solid var(--cc-focus) !important; outline-offset: 2px !important; }

/* R (S's report, /de/ at 375 px): long German labels (policy links, buttons) wrap inside the card; the card never
   exceeds the viewport minus the gutters */
#cmplz-cookiebanner-container .cmplz-cookiebanner { max-width: calc(100vw - 32px) !important; overflow-wrap: anywhere; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message li,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links a,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-documents a { white-space: normal !important; overflow-wrap: anywhere; }
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(.cmplz-links, .cmplz-documents) ul { flex-wrap: wrap !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { flex-wrap: wrap; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn { overflow-wrap: anywhere; hyphens: auto; }

/* V m2: the "Manage consent" tab is a small pill at the bottom left, out of the way of content and CTAs */
#cmplz-manage-consent .cmplz-manage-consent, .cmplz-manage-consent.cmplz-show {
	left: 12px !important; right: auto !important; bottom: 12px !important; top: auto !important;
	min-height: 0 !important; height: auto !important; width: auto !important;
	padding: 5px 11px !important; font-size: 12px !important; line-height: 1.3 !important;
	border-radius: 999px !important; opacity: .85; box-shadow: 0 1px 4px rgba(28, 27, 24, .12) !important;
	transform: none !important;
}
#cmplz-manage-consent .cmplz-manage-consent:hover, #cmplz-manage-consent .cmplz-manage-consent:focus-visible { opacity: 1; }
