/* Matomo Consent Banner – Selektoren bewusst spezifisch, damit Avada-Styles nicht durchschlagen. */
#mcb-banner {
	--mcb-bg: var(--awb-color1, #ffffff);
	--mcb-fg: var(--awb-color8, #3a3536);
	--mcb-muted: var(--awb-color7, #4a4446);
	--mcb-soft: var(--awb-color2, #f6f6f6);
	--mcb-border: var(--awb-color3, #e0e0e0);
	position: fixed;
	z-index: 2147483000;
	font-family: var(--awb-typography4-font-family, inherit);
	font-size: 15px;
	line-height: 1.5;
	color: var(--mcb-fg);
	box-sizing: border-box;
}
#mcb-banner[hidden],
#mcb-float[hidden] { display: none !important; }
#mcb-banner *, #mcb-banner *::before, #mcb-banner *::after { box-sizing: border-box; }

#mcb-banner .mcb__box {
	background: var(--mcb-bg);
	color: var(--mcb-fg);
	padding: 20px 24px;
	box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
	max-height: 85vh;
	overflow-y: auto;
}

/* Positionen */
#mcb-banner.mcb--bottom { left: 0; right: 0; bottom: 0; }
#mcb-banner.mcb--bottom .mcb__box { max-width: 1100px; margin: 0 auto; border-radius: 10px 10px 0 0; }
#mcb-banner.mcb--box { left: 16px; bottom: 16px; width: min(420px, calc(100vw - 32px)); }
#mcb-banner.mcb--box .mcb__box { border-radius: 10px; }
#mcb-banner.mcb--center {
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0, 0, 0, .45);
}
#mcb-banner.mcb--center .mcb__box { width: min(560px, 100%); border-radius: 12px; }
html.mcb-lock, html.mcb-lock body { overflow: hidden !important; }

/* Typo */
#mcb-banner .mcb__title { font-family: var(--awb-typography1-font-family, inherit); margin: 0 0 6px; font-size: 1.1em; font-weight: 700; color: var(--mcb-fg); }
#mcb-banner .mcb__text { margin: 0 0 10px; color: var(--mcb-fg); }
#mcb-banner p { margin: 0 0 8px; padding: 0; }

/* Gegen globale Theme-Styles (Avada, Seiten-CSS wie p { text-align: justify }) */
#mcb-banner .mcb__box,
#mcb-banner p,
#mcb-banner strong,
#mcb-banner summary {
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}
#mcb-banner p,
#mcb-banner summary { font-size: inherit !important; line-height: 1.5 !important; }
#mcb-banner .mcb__title { font-size: 1.1em !important; }
#mcb-banner .mcb__links a { color: var(--mcb-muted) !important; text-decoration: underline !important; font-weight: 400 !important; }
#mcb-banner .mcb__details { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; }
#mcb-banner .mcb__details-body strong { font-size: inherit !important; font-weight: 700 !important; }
#mcb-banner .mcb__details summary { color: var(--mcb-accent, #c4001a) !important; text-decoration: underline !important; list-style: revert; }

/* Details */
#mcb-banner .mcb__details { margin: 0 0 14px; font-size: .9em; color: var(--mcb-muted); }
#mcb-banner .mcb__details summary { cursor: pointer; color: var(--mcb-accent, #c4001a); text-decoration: underline; display: list-item; }
#mcb-banner .mcb__details-body { background: var(--mcb-soft); margin-top: 8px; padding: 10px 12px; border: 1px solid var(--mcb-border); border-radius: 6px; }
#mcb-banner .mcb__details-body strong { display: block; color: var(--mcb-fg); margin-top: 4px; }
#mcb-banner .mcb__status:empty { display: none; }
#mcb-banner .mcb__status { font-weight: 600; color: var(--mcb-fg); margin: 6px 0 0; }

/* Buttons – identisch gestaltet (gleichwertige Wahl) */
#mcb-banner .mcb__actions { display: flex; flex-wrap: wrap; gap: 10px; }
#mcb-banner .mcb__btn {
	flex: 1 1 160px;
	margin: 0;
	padding: 11px 18px !important;
	min-height: 44px;
	font: inherit;
	font-weight: 600 !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	color: #fff !important;
	background: var(--mcb-accent, #c4001a) !important;
	border: 2px solid var(--mcb-accent, #c4001a) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: filter .15s ease;
}
#mcb-banner .mcb__btn:hover { filter: brightness(.9); }
#mcb-banner .mcb__btn:focus-visible,
#mcb-banner a:focus-visible,
#mcb-banner summary:focus-visible,
#mcb-float:focus-visible { outline: 3px solid var(--mcb-fg); outline-offset: 2px; }

/* Links */
#mcb-banner .mcb__links { margin: 12px 0 0; font-size: .85em; display: flex; gap: 16px; flex-wrap: wrap; }
#mcb-banner .mcb__links a { color: var(--mcb-muted); text-decoration: underline; }

/* Schwebender Button */
#mcb-float {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 2147482999;
	width: 44px;
	height: 44px;
	padding: 0 !important;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	border: 0 !important;
	background: var(--mcb-accent, #c4001a) !important;
	color: #fff !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .25);
	cursor: pointer;
	opacity: .85;
}
#mcb-float:hover { opacity: 1; }

@media (max-width: 600px) {
	#mcb-banner .mcb__box { padding: 16px; }
	#mcb-banner.mcb--bottom .mcb__box { border-radius: 10px 10px 0 0; }
	#mcb-banner.mcb--box { left: 8px; bottom: 8px; width: calc(100vw - 16px); }
}

@media (prefers-reduced-motion: reduce) {
	#mcb-banner .mcb__btn { transition: none; }
}
