/* ------------------------------------------------------------------
   Consent-Banner: schlanke Leiste am unteren Rand statt Box über dem Inhalt.
   Abgedeckt: Complianz (.cmplz-cookiebanner), Codex-Themes (.cookie-banner,
   #vf-cookie-banner, .nw-cookie), deutsche Sport-Themes (.*-consent),
   .cookie-notice / .cookie-note / .cookie-bar.
   Die Banner bleiben funktionsfähig – nur Position/Größe ändern sich.
   ------------------------------------------------------------------ */
:is(.cmplz-cookiebanner,
    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
    [id$="-consent"], [class$="-consent"], [class*="-consent "]) {
	position: fixed !important;
	top: auto !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	border-radius: 0 !important;
	max-height: 38vh;
	overflow: auto;
	box-shadow: 0 -2px 14px rgba(0, 0, 0, .14) !important;
}

/* Kompakter Innenraum, damit die Leiste flach bleibt */
:is(.cmplz-cookiebanner,
    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
    [id$="-consent"], [class$="-consent"], [class*="-consent "]) {
	padding: .75rem 1.1rem !important;
}

:is(.cmplz-cookiebanner,
    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
    [id$="-consent"], [class$="-consent"], [class*="-consent "]):is(img, svg) {
	display: none !important;
}

:is(.cmplz-cookiebanner,
    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
    [id$="-consent"], [class$="-consent"], [class*="-consent "]) :is(img, picture, svg) {
	display: none !important;
}

:is(.cmplz-cookiebanner,
    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
    [id$="-consent"], [class$="-consent"], [class*="-consent "]) :is(h1, h2, h3, h4) {
	font-size: 1.02rem !important;
	margin: .1rem 0 .3rem !important;
	line-height: 1.25 !important;
}

:is(.cmplz-cookiebanner,
    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
    [id$="-consent"], [class$="-consent"], [class*="-consent "]) :is(p, label, li, small) {
	font-size: .84rem !important;
	line-height: 1.4 !important;
	margin: 0 0 .45rem !important;
}

:is(.cmplz-cookiebanner,
    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
    [id$="-consent"], [class$="-consent"], [class*="-consent "]) :is(button, a[class*="btn"], a[class*="button"], .cmplz-btn) {
	padding: .45rem .95rem !important;
	font-size: .84rem !important;
}

/* ------------------------------------------------------------------
   Doppelte Banner vermeiden: läuft Complianz (echtes Consent-Management),
   bleiben die zusätzlichen Theme-Banner aus.
   ------------------------------------------------------------------ */
body:has(.cmplz-cookiebanner) :is(.cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar),
body:has(.cmplz-cookiebanner) :is([id$="-consent"], [class$="-consent"], [class*="-consent "]),
body:has(.cmplz-cookiebanner) .nw-cookie {
	display: none !important;
}

/* ------------------------------------------------------------------
   Complianz zusätzlich flach legen: Text links, Buttons rechts.
   Die Einwilligungs-Infos bleiben vollständig (nur scrollbar begrenzt).
   ------------------------------------------------------------------ */
.cmplz-cookiebanner {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: .6rem 1.5rem !important;
}

.cmplz-cookiebanner .cmplz-header {
	flex: 0 0 100%;
	margin: 0 !important;
}

.cmplz-cookiebanner .cmplz-body {
	flex: 1 1 52%;
	min-width: 260px;
	margin: 0 !important;
}

.cmplz-cookiebanner .cmplz-body .cmplz-message,
.cmplz-cookiebanner .cmplz-message {
	max-height: 4.8em;
	overflow-y: auto;
	margin: 0 !important;
}

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

.cmplz-cookiebanner .cmplz-buttons {
	flex: 0 0 auto;
	margin: 0 !important;
	gap: .5rem !important;
}

.cmplz-cookiebanner .cmplz-documents,
.cmplz-cookiebanner .cmplz-links.cmplz-documents {
	flex: 0 0 100%;
	margin: 0 !important;
}

/* Mobil: Leiste noch flacher, damit der Inhalt sichtbar bleibt */
@media (max-width: 782px) {
	:is(.cmplz-cookiebanner,
	    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
	    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
	    [id$="-consent"], [class$="-consent"], [class*="-consent "]) {
		max-height: 30vh;
		padding: .6rem .8rem !important;
	}

	:is(.cmplz-cookiebanner,
	    .cookie-banner, .cookie-notice, .cookie-note, .cookie-consent, .cookie-bar,
	    #vf-cookie-banner, #oudejia-cookie-banner, .nw-cookie,
	    [id$="-consent"], [class$="-consent"], [class*="-consent "]) :is(button, a[class*="btn"], a[class*="button"], .cmplz-btn) {
		padding: .4rem .7rem !important;
		font-size: .8rem !important;
	}

	.cmplz-cookiebanner .cmplz-body .cmplz-message,
	.cmplz-cookiebanner .cmplz-message {
		max-height: 3.4em;
	}
}
