/**
 * Plugin overrides — WPForms, Forminator, Complianz.
 */

/* —— Shared form field look —— */
.wpforms-form .wpforms-field-label,
.forminator-custom-form .forminator-label {
	font: 700 12px/1.2 'Archivo', system-ui, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--ink);
}

.wpforms-form input[type='text'],
.wpforms-form input[type='email'],
.wpforms-form input[type='tel'],
.wpforms-form input[type='url'],
.wpforms-form input[type='number'],
.wpforms-form select,
.wpforms-form textarea,
.forminator-custom-form input,
.forminator-custom-form select,
.forminator-custom-form textarea {
	border: 2px solid var(--field) !important;
	border-radius: 0 !important;
	padding: 13px 14px !important;
	font: 400 15px/1.4 'Archivo', system-ui, sans-serif !important;
	background: #fff !important;
	box-shadow: none !important;
}

.wpforms-form input:focus,
.wpforms-form select:focus,
.wpforms-form textarea:focus,
.forminator-custom-form input:focus,
.forminator-custom-form textarea:focus,
.forminator-custom-form select:focus {
	border-color: var(--ink) !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Anrede pills */
.wpforms-form .wpforms-field-radio ul {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wpforms-form .wpforms-field-radio li {
	border: 2px solid var(--ink);
	padding: 10px 14px;
	margin: 0 !important;
}

.wpforms-form .wpforms-field-radio input {
	position: absolute;
	opacity: 0;
}

.wpforms-form .wpforms-field-radio input:checked + label,
.wpforms-form .wpforms-field-radio li:has(input:checked) {
	background: var(--ink);
	color: #fff;
}

.forminator-radio,
.forminator-custom-form .forminator-radio {
	border: 2px solid var(--ink) !important;
	padding: 10px 14px !important;
	border-radius: 0 !important;
	margin-right: 10px !important;
}

.wpforms-form .wpforms-error,
.forminator-error-message {
	color: var(--danger) !important;
	font: 600 12px/1.4 'Archivo', system-ui, sans-serif !important;
}

.wpforms-form .wpforms-error::before,
.forminator-error-message::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--danger);
	margin-right: 8px;
	vertical-align: middle;
}

.wpforms-form .wpforms-field-required .wpforms-field-label::after {
	content: ' *';
	color: var(--ink);
}

/* WPForms Modern setzt height/padding/Hover-Gradient via CSS-Vars — spezieller überschreiben. */
.wpforms-container {
	--wpforms-button-background-color: var(--ink);
	--wpforms-button-background-color-alt: var(--ink);
	--wpforms-button-text-color: var(--lime);
	--wpforms-button-border-color: var(--ink);
	--wpforms-button-border-size: 2px;
	--wpforms-button-border-style: solid;
	--wpforms-button-border-radius: 0;
	--wpforms-button-size-height: auto;
	--wpforms-button-size-padding-h: 17px;
	--wpforms-button-size-font-size: 15px;
	--wpforms-button-size-margin-top: 0;
}

div.wpforms-container-full .wpforms-form button[type='submit'].wpforms-submit,
div.wpforms-container-full .wpforms-form input[type='submit'].wpforms-submit,
.wpforms-submit,
.forminator-button-submit,
.forminator-custom-form .forminator-button-submit {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 17px !important;
	background: var(--ink) !important;
	background-image: none !important;
	color: var(--lime) !important;
	border: 2px solid var(--ink) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font: 800 15px / 1 'Archivo', system-ui, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	line-height: 1 !important;
	text-align: center !important;
	cursor: pointer !important;
	opacity: 1 !important;
	transition: background 0.25s ease, color 0.25s ease !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

div.wpforms-container-full .wpforms-form button[type='submit'].wpforms-submit:hover,
div.wpforms-container-full .wpforms-form button[type='submit'].wpforms-submit:active,
div.wpforms-container-full .wpforms-form input[type='submit'].wpforms-submit:hover,
div.wpforms-container-full .wpforms-form input[type='submit'].wpforms-submit:active,
.wpforms-submit:hover,
.wpforms-submit:active,
.forminator-button-submit:hover,
.forminator-button-submit:active {
	background: var(--lime) !important;
	background-image: none !important;
	color: var(--ink) !important;
	border-color: var(--ink) !important;
	opacity: 1 !important;
}

/* WPForms-Modern-Fokusring (blauer Pseudo-Rahmen) entfernen */
div.wpforms-container-full .wpforms-form button[type='submit'].wpforms-submit:focus::after,
div.wpforms-container-full .wpforms-form input[type='submit'].wpforms-submit:focus::after {
	content: none !important;
	display: none !important;
}

/* —— Erfolgszustand (WPForms + Forminator) —— */
div.wpforms-container-full .wpforms-confirmation-container-full,
div.wpforms-container-full .wpforms-confirmation-container,
.wpforms-confirmation-container-full,
.wpforms-confirmation-container,
.forminator-success,
.forminator-response-message,
.forminator-custom-form .forminator-response-message {
	margin: 0 !important;
	padding: clamp(28px, 4vw, 52px) 6px !important;
	text-align: center !important;
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--ink) !important;
	font-family: 'Archivo', system-ui, sans-serif !important;
}

div.wpforms-container-full .wpforms-confirmation-container-full p,
.wpforms-confirmation-container-full p,
.forminator-success p,
.forminator-response-message p {
	margin: 0 0 14px !important;
	color: inherit !important;
}

/* Eyebrow-Badge: erstes <strong> (GESENDET / Gesendet) */
div.wpforms-container-full .wpforms-confirmation-container-full > p:first-child,
.wpforms-confirmation-container-full > p:first-child,
.forminator-success > p:first-child,
.forminator-response-message > p:first-child {
	margin: 0 0 18px !important;
}

div.wpforms-container-full .wpforms-confirmation-container-full > p:first-child strong,
.wpforms-confirmation-container-full > p:first-child strong,
.forminator-success > p:first-child strong,
.forminator-response-message > p:first-child strong {
	display: inline-block !important;
	margin: 0 !important;
	padding: 8px 12px !important;
	background: var(--lime) !important;
	color: var(--ink) !important;
	font: 800 12px / 1 'Archivo', system-ui, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.08em !important;
}

/* Headline: zweites <strong> (Danke!) */
div.wpforms-container-full .wpforms-confirmation-container-full > p:nth-child(2),
.wpforms-confirmation-container-full > p:nth-child(2),
.forminator-success > p:nth-child(2),
.forminator-response-message > p:nth-child(2) {
	margin: 0 0 14px !important;
}

div.wpforms-container-full .wpforms-confirmation-container-full > p:nth-child(2) strong,
.wpforms-confirmation-container-full > p:nth-child(2) strong,
.forminator-success > p:nth-child(2) strong,
.forminator-response-message > p:nth-child(2) strong {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	color: var(--ink) !important;
	font: 900 clamp(40px, 7vw, 60px) / 0.9 'Archivo', system-ui, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: -0.03em !important;
}

/* Body-Zeile */
div.wpforms-container-full .wpforms-confirmation-container-full > p:nth-child(3),
.wpforms-confirmation-container-full > p:nth-child(3),
.forminator-success > p:nth-child(3),
.forminator-response-message > p:nth-child(3) {
	max-width: 380px !important;
	margin: 0 auto 26px !important;
	font: 400 clamp(15px, 1.7vw, 17px) / 1.65 'Archivo', system-ui, sans-serif !important;
	color: #3a3a3e !important;
}

/* „Neue Anfrage“-Button */
div.wpforms-container-full .wpforms-confirmation-container-full > p:nth-child(4),
.wpforms-confirmation-container-full > p:nth-child(4),
.forminator-success > p:nth-child(4),
.forminator-response-message > p:nth-child(4) {
	margin: 0 !important;
}

.acc-form-success__reset,
div.wpforms-container-full .wpforms-confirmation-container-full a,
.wpforms-confirmation-container-full a,
.forminator-success a,
.forminator-response-message a {
	display: inline-block !important;
	padding: 14px 22px !important;
	border: 2px solid var(--ink) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--ink) !important;
	font: 800 13px / 1 'Archivo', system-ui, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.25s ease, color 0.25s ease !important;
}

.acc-form-success__reset:hover,
div.wpforms-container-full .wpforms-confirmation-container-full a:hover,
.wpforms-confirmation-container-full a:hover,
.forminator-success a:hover,
.forminator-response-message a:hover {
	background: var(--ink) !important;
	color: var(--lime) !important;
}

/* —— Complianz (Prototyp-CookieBanner) —— */
.cmplz-cookiebanner,
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	--cmplz_banner_background_color: #0b0b0c;
	--cmplz_banner_border_color: #c6f03c;
	--cmplz_text_color: #b4b4b8;
	--cmplz_title_color: #ffffff;
	--cmplz_category_header_title_color: #ffffff;
	--cmplz_category_body_color: #8a8a8e;
	--cmplz_category_header_always_active_color: #0b0b0c;
	--cmplz_hyperlink_color: #c6f03c;
	--cmplz_slider_active_color: #c6f03c;
	--cmplz_slider_inactive_color: transparent;
	--cmplz_slider_bullet_color: #ffffff;
	--cmplz_button_accept_background_color: #c6f03c;
	--cmplz_button_accept_border_color: #c6f03c;
	--cmplz_button_accept_text_color: #0b0b0c;
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: rgba(255, 255, 255, 0.4);
	--cmplz_button_deny_text_color: #ffffff;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: rgba(198, 240, 60, 0.4);
	--cmplz_button_settings_text_color: #c6f03c;
	--cmplz_button_border_radius: 0;
	--cmplz_banner_border_radius: 0;
	--cmplz_banner_width: 100%;
	--cmplz_banner_margin: 0;

	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	left: 0 !important;
	right: 0 !important;
	top: auto !important;
	bottom: 0 !important;
	margin: 0 !important;
	/* Complianz default: left:50% + translateX(-50%) — muss weg, sonst Banner nach links abgeschnitten */
	transform: none !important;
	-ms-transform: none !important;
	padding: clamp(20px, 3vw, 30px) clamp(20px, 5vw, 48px) !important;
	background: var(--ink) !important;
	color: #b4b4b8 !important;
	border: none !important;
	border-top: 3px solid var(--lime) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: 'Archivo', system-ui, sans-serif !important;

	/* Prototyp-Layout: Intro | Buttons, darunter Links — ohne Leerraum */
	grid-template-columns: minmax(0, 1fr) auto !important;
	grid-template-rows: auto auto auto !important;
	grid-template-areas:
		'header header'
		'body buttons'
		'docs info' !important;
	gap: 14px clamp(16px, 2.5vw, 36px) !important;
	align-items: start !important;
	justify-content: stretch !important;
	overflow-x: hidden !important;
}

/* display:grid nur im sichtbaren Zustand — sonst bleibt der Banner nach Accept/Deny stehen */
.cmplz-cookiebanner.cmplz-show,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show {
	display: grid !important;
}

.cmplz-cookiebanner.cmplz-dismissed,
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-dismissed {
	display: none !important;
}

.cmplz-cookiebanner .cmplz-header {
	grid-area: header !important;
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px !important;
	width: 100% !important;
	grid-template-columns: none !important;
}

.cmplz-cookiebanner .cmplz-divider {
	display: none !important;
}

.cmplz-cookiebanner .cmplz-body {
	grid-area: body !important;
	grid-column: 1 !important;
	grid-row: 2 !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	max-height: none !important;
}

.cmplz-cookiebanner .cmplz-buttons {
	grid-area: buttons !important;
	grid-column: 2 !important;
	grid-row: 2 !important;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: auto !important;
	max-width: 100% !important;
	justify-self: end !important;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	width: auto !important;
	min-width: 0 !important;
	flex: 0 0 auto !important;
	white-space: nowrap !important;
}

.cmplz-cookiebanner .cmplz-documents.cmplz-links {
	grid-area: docs !important;
	grid-column: 1 !important;
	grid-row: 3 !important;
	display: flex !important;
	width: auto !important;
	max-width: none !important;
	justify-self: start !important;
}

.cmplz-cookiebanner .cmplz-documents ul {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 10px 28px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.cmplz-cookiebanner .cmplz-documents li {
	margin: 0 !important;
	padding: 0 !important;
}

.cmplz-cookiebanner .cmplz-documents .cmplz-link,
.cmplz-cookiebanner .cmplz-documents a {
	margin: 0 !important;
	display: inline-block !important;
}

.cmplz-cookiebanner .cmplz-links.cmplz-information {
	grid-area: info !important;
	grid-column: 2 !important;
	grid-row: 3 !important;
	width: auto !important;
	justify-self: end !important;
	justify-content: flex-end !important;
}

/* Kategorien geöffnet: Body über volle Breite, Buttons darunter */
.cmplz-cookiebanner.cmplz-categories-visible {
	grid-template-areas:
		'header header'
		'body body'
		'buttons buttons'
		'docs info' !important;
	grid-template-rows: auto auto auto auto !important;
}

.cmplz-cookiebanner.cmplz-categories-visible .cmplz-body {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
}

.cmplz-cookiebanner.cmplz-categories-visible .cmplz-buttons {
	grid-column: 1 / -1 !important;
	grid-row: 3 !important;
	justify-self: start !important;
}

.cmplz-cookiebanner.cmplz-categories-visible .cmplz-documents.cmplz-links {
	grid-row: 4 !important;
}

.cmplz-cookiebanner.cmplz-categories-visible .cmplz-links.cmplz-information {
	grid-row: 4 !important;
}

.cmplz-cookiebanner .cmplz-categories {
	width: 100% !important;
	max-width: none !important;
	grid-column: auto !important;
}

.cmplz-cookiebanner .cmplz-logo {
	display: none !important;
}

.cmplz-cookiebanner .cmplz-title {
	display: flex !important;
	align-items: center !important;
	gap: 9px !important;
	font: 800 13px / 1 'Archivo', system-ui, sans-serif !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #fff !important;
	margin: 0 0 12px !important;
}

.cmplz-cookiebanner .cmplz-title::before {
	content: '' !important;
	display: inline-block !important;
	width: 13px !important;
	height: 13px !important;
	background: var(--lime) !important;
	flex: none !important;
}

.cmplz-cookiebanner .cmplz-close {
	color: rgba(255, 255, 255, 0.55) !important;
}

.cmplz-cookiebanner .cmplz-divider {
	background: rgba(255, 255, 255, 0.14) !important;
	border: none !important;
}

.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-message p {
	font: 400 clamp(14px, 1.5vw, 15px) / 1.6 'Archivo', system-ui, sans-serif !important;
	color: #b4b4b8 !important;
	margin: 0 !important;
	max-width: none !important;
}

.cmplz-cookiebanner a {
	color: var(--lime) !important;
	border-bottom: 2px solid rgba(198, 240, 60, 0.45) !important;
	text-decoration: none !important;
}

/* Kategorie-Zeilen */
.cmplz-cookiebanner .cmplz-categories .cmplz-category {
	border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 0 !important;
	background: transparent !important;
	padding: 16px 0 !important;
	margin: 0 !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category-title {
	font: 800 14px / 1.2 'Archivo', system-ui, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em !important;
	color: #fff !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-description {
	font: 400 13px / 1.5 'Archivo', system-ui, sans-serif !important;
	color: #8a8a8e !important;
}

/* „Immer aktiv“ = Lime-Badge (kein Toggle) */
.cmplz-cookiebanner .cmplz-always-active {
	display: inline-flex !important;
	align-items: center !important;
	font: 800 11px / 1 'Archivo', system-ui, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.06em !important;
	color: var(--ink) !important;
	background: var(--lime) !important;
	padding: 8px 12px !important;
	border-radius: 0 !important;
}

.cmplz-cookiebanner .cmplz-always-active .cmplz-banner-checkbox {
	display: none !important;
}

/*
 * Eckige Toggles 48×27 (Prototyp role=switch), nicht runde Complianz-Slider.
 * Track = label::before, Thumb = label::after
 */
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox {
	position: relative !important;
	width: 48px !important;
	height: 27px !important;
	flex: none !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox {
	opacity: 0 !important;
	position: absolute !important;
	z-index: 2 !important;
	inset: 0 !important;
	width: 48px !important;
	height: 27px !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label {
	display: block !important;
	position: relative !important;
	width: 48px !important;
	height: 27px !important;
	padding: 0 !important;
	margin: 0 !important;
	cursor: pointer !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before,
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
	box-sizing: border-box !important;
	border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	-moz-border-radius: 0 !important;
	transition: background 0.15s ease, border-color 0.15s ease, left 0.15s ease !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::before {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 48px !important;
	height: 27px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 2px solid rgba(255, 255, 255, 0.45) !important;
	box-shadow: none !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label::after {
	content: '' !important;
	display: block !important;
	position: absolute !important;
	top: 4px !important;
	left: 4px !important;
	width: 19px !important;
	height: 19px !important;
	background: #fff !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* :has() statt A:checked + B::pseudo — zuverlässiger gegen Complianz-Slider-CSS */
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox:has(input.cmplz-consent-checkbox:checked) .cmplz-label::before {
	background: #c6f03c !important;
	border-color: #c6f03c !important;
	padding: 0 !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox:has(input.cmplz-consent-checkbox:checked) .cmplz-label::after {
	left: 25px !important;
	background: #0b0b0c !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox:has(input.cmplz-consent-checkbox:focus-visible) .cmplz-label::before,
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label::before {
	outline: 2px solid #c6f03c !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}

/* Buttons */
.cmplz-cookiebanner .cmplz-btn,
.cmplz-btn {
	border-radius: 0 !important;
	font: 800 14px / 1 'Archivo', system-ui, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.03em !important;
	padding: 13px 20px !important;
	box-shadow: none !important;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences {
	background: var(--lime) !important;
	color: var(--ink) !important;
	border: 2px solid var(--lime) !important;
	padding: 15px 22px !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
	background: transparent !important;
	color: #fff !important;
	border: 2px solid rgba(255, 255, 255, 0.4) !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options {
	background: transparent !important;
	color: var(--lime) !important;
	border: 2px solid rgba(198, 240, 60, 0.4) !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences:hover {
	background: #fff !important;
	border-color: #fff !important;
	color: var(--ink) !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover {
	border-color: #fff !important;
	color: #fff !important;
}

/* Mobil: einspaltig stapeln — nach Desktop-Grid-Regeln, sonst überschreiben die !important-Spalten */
@media (max-width: 720px) {
	.cmplz-cookiebanner,
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto !important;
		grid-template-areas:
			'header'
			'body'
			'buttons'
			'docs'
			'info' !important;
		padding: 18px 16px 20px !important;
		gap: 12px !important;
	}

	.cmplz-cookiebanner .cmplz-header,
	.cmplz-cookiebanner .cmplz-body,
	.cmplz-cookiebanner .cmplz-buttons,
	.cmplz-cookiebanner .cmplz-documents.cmplz-links,
	.cmplz-cookiebanner .cmplz-links.cmplz-information {
		grid-area: unset !important;
		grid-column: 1 / -1 !important;
		grid-row: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		justify-self: stretch !important;
	}

	.cmplz-cookiebanner .cmplz-header {
		grid-area: header !important;
	}

	.cmplz-cookiebanner .cmplz-body {
		grid-area: body !important;
	}

	.cmplz-cookiebanner .cmplz-buttons {
		grid-area: buttons !important;
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 10px !important;
	}

	.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		width: 100% !important;
		flex: 0 0 auto !important;
		white-space: normal !important;
		text-align: center !important;
	}

	.cmplz-cookiebanner .cmplz-documents.cmplz-links {
		grid-area: docs !important;
	}

	.cmplz-cookiebanner .cmplz-links.cmplz-information {
		grid-area: info !important;
		justify-content: flex-start !important;
	}

	.cmplz-cookiebanner .cmplz-documents ul {
		flex-direction: column !important;
		gap: 8px !important;
	}
}

/* —— Complianz Document (Cookie-Richtlinie etc.) = Prosa-Look —— */
.prose__body #cmplz-document,
#cmplz-document.cmplz-document {
	max-width: none;
	width: 100%;
	margin: 0;
	font: 400 var(--text-lead, 17px) / 1.75 var(--font, Archivo, system-ui, sans-serif);
	color: var(--ink-2, #2a2a2e);
	text-align: left;
}

.prose__body #cmplz-document > p:first-child {
	margin-top: 0;
}

#cmplz-document h2,
.prose__body #cmplz-document h2 {
	font: 900 clamp(28px, 4vw, 40px) / 0.95 var(--font) !important;
	letter-spacing: -0.03em;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 1.4em 0 0.5em !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
	text-align: left;
}

#cmplz-document h3,
.prose__body #cmplz-document h3 {
	font: 800 clamp(18px, 2.4vw, 24px) / 1.1 var(--font) !important;
	letter-spacing: -0.02em;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 1.2em 0 0.45em !important;
	padding-bottom: 0 !important;
	border-bottom: none !important;
	text-align: left;
}

#cmplz-document h4,
#cmplz-document h5,
.prose__body #cmplz-document h4,
.prose__body #cmplz-document h5 {
	font: 700 clamp(15px, 2vw, 18px) / 1.25 var(--font) !important;
	letter-spacing: 0.02em;
	text-transform: uppercase !important;
	color: var(--ink) !important;
	margin: 1em 0 0.4em !important;
	text-align: left;
}

#cmplz-document p,
#cmplz-document li,
#cmplz-document td,
.prose__body #cmplz-document p,
.prose__body #cmplz-document li,
.prose__body #cmplz-document td {
	font: 400 var(--text-lead, 17px) / 1.75 var(--font, Archivo, system-ui, sans-serif);
	color: var(--ink-2, #2a2a2e);
	font-size: inherit !important;
}

#cmplz-document a,
.prose__body #cmplz-document a {
	color: var(--ink, #0b0b0c);
	text-decoration: none !important;
	border-bottom: 2px solid var(--lime, #c6f03c);
}

#cmplz-document a[target='_blank']::after,
.prose__body #cmplz-document a[target='_blank']::after {
	content: none !important;
	display: none !important;
	margin: 0 !important;
}

#cmplz-document a:focus,
.prose__body #cmplz-document a:focus {
	border: none;
	outline: 2px solid var(--lime, #c6f03c);
	outline-offset: 3px;
	padding: 0;
}

#cmplz-document ul,
.prose__body #cmplz-document ul {
	list-style: none;
	padding: 0;
	margin: 0 0 1.2em;
}

#cmplz-document ul li,
.prose__body #cmplz-document ul li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin: 0 0 10px;
}

#cmplz-document ul li::before,
.prose__body #cmplz-document ul li::before {
	content: '';
	width: 8px;
	height: 8px;
	margin-top: 0.45em;
	background: var(--lime, #c6f03c);
	flex: none;
}

#cmplz-document .cmplz-dropdown,
#cmplz-cookies-overview .cmplz-dropdown {
	border: 2px solid var(--ink, #0b0b0c);
	border-radius: 0;
	margin: 12px 0;
	background: #fff;
	padding: 14px 16px;
}

#cmplz-document .cmplz-dropdown summary div h3,
#cmplz-cookies-overview .cmplz-dropdown summary div h3 {
	font: 800 15px / 1.2 var(--font, Archivo, system-ui, sans-serif) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.02em;
}

#cmplz-document .cookies-per-purpose,
#cmplz-cookies-overview .cookies-per-purpose {
	border-top: 2px solid var(--ink, #0b0b0c);
	margin-top: 12px;
	padding-top: 12px;
	gap: 12px;
}

#cmplz-manage-consent-container.cmplz-manage-consent-container .cmplz-categories .cmplz-category {
	background: transparent;
	border: 2px solid var(--ink, #0b0b0c);
	border-radius: 0;
	margin: 0 0 10px;
}

#cmplz-document i,
.prose__body #cmplz-document i {
	font-style: italic;
	color: var(--muted, #8a8a8e);
}

