/**
 * Complianz – kompakte erste Ebene (TCF-Zwecke nur über „Optionen verwalten“).
 */

.cmplz-cookiebanner.banner-1,
.cmplz-cookiebanner.banner-1 * {
	font-family: "Source Sans 3", system-ui, -apple-system, sans-serif !important;
}

.cmplz-cookiebanner.banner-1 .cmplz-title {
	font-family: Manrope, system-ui, sans-serif !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	line-height: 1.25 !important;
}

.cmplz-cookiebanner.banner-1 {
	--cmplz_banner_width: 420px;
	width: min(420px, calc(100vw - 24px)) !important;
	max-width: min(420px, calc(100vw - 24px)) !important;
	max-height: none !important;
	height: auto !important;
	padding: 16px 18px 12px !important;
	grid-row-gap: 8px !important;
}

.cmplz-cookiebanner.cmplz-center.banner-1 {
	top: auto !important;
	bottom: 20px !important;
	transform: translateX(-50%) !important;
}

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

.cmplz-cookiebanner.banner-1 .cmplz-header {
	display: block !important;
	text-align: center !important;
	padding: 0 !important;
}

.cmplz-cookiebanner.banner-1 .cmplz-body {
	max-height: none !important;
	overflow: visible !important;
}

.cmplz-cookiebanner.banner-1 .cmplz-message {
	font-size: 14px !important;
	line-height: 1.5 !important;
	margin: 0 0 4px !important;
}

/* TCF: Kategorien + Lieferanten-Links nur in der zweiten Ebene */
.cmplz-cookiebanner.banner-1 .cmplz-categories.cmplz-tcf,
.cmplz-cookiebanner.banner-1 .cmplz-tcf-category-expl,
.cmplz-cookiebanner.banner-1 .cmplz-links.cmplz-information {
	display: none !important;
}

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

.cmplz-cookiebanner.banner-1 .cmplz-buttons {
	gap: 8px !important;
	margin-top: 4px !important;
}

.cmplz-cookiebanner.banner-1 .cmplz-buttons .cmplz-btn {
	height: 40px !important;
	min-height: 40px !important;
	padding: 8px 12px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	white-space: nowrap !important;
}

.cmplz-cookiebanner.banner-1 .cmplz-links.cmplz-documents {
	justify-content: center !important;
	gap: 12px !important;
	margin-top: 2px !important;
}

.cmplz-cookiebanner.banner-1 .cmplz-links .cmplz-link {
	font-size: 12px !important;
}

@media (max-width: 640px) {
	.cmplz-cookiebanner.banner-1 {
		width: calc(100vw - 16px) !important;
		max-width: calc(100vw - 16px) !important;
		bottom: 12px !important;
		padding: 14px 14px 10px !important;
	}

	.cmplz-cookiebanner.banner-1 .cmplz-buttons {
		flex-direction: column !important;
	}

	.cmplz-cookiebanner.banner-1 .cmplz-buttons .cmplz-btn {
		width: 100% !important;
	}
}

/* „Privatsphäre verwalten“ — Desktop: dezentes Icon, Mobil: nur im Menü */
#cmplz-manage-consent .cmplz-manage-consent {
	right: max(16px, env(safe-area-inset-right, 0px)) !important;
	left: auto !important;
	bottom: max(16px, env(safe-area-inset-bottom, 0px)) !important;
	z-index: 90 !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px !important;
	padding: 0 !important;
	border-radius: 999px !important;
	border: 1px solid color-mix(in srgb, var(--dm-line, #ddd) 85%, transparent) !important;
	background: color-mix(in srgb, var(--dm-bg-elev, #fff) 92%, transparent) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	color: var(--dm-text-2, #555) !important;
	box-shadow: 0 8px 24px color-mix(in srgb, var(--dm-text, #111) 8%, transparent) !important;
	font-size: 0 !important;
	line-height: 0 !important;
	animation: none !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	transition: color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

#cmplz-manage-consent .cmplz-manage-consent::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 0-4-4h-2a2 2 0 0 1-2-2 2 2 0 0 0-2-2 6 6 0 0 0-6-6Z'/%3E%3Ccircle cx='8.5' cy='11' r='1' fill='black' stroke='none'/%3E%3Ccircle cx='12' cy='7.5' r='1' fill='black' stroke='none'/%3E%3Ccircle cx='15.5' cy='12' r='1' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 0-4-4h-2a2 2 0 0 1-2-2 2 2 0 0 0-2-2 6 6 0 0 0-6-6Z'/%3E%3Ccircle cx='8.5' cy='11' r='1' fill='black' stroke='none'/%3E%3Ccircle cx='12' cy='7.5' r='1' fill='black' stroke='none'/%3E%3Ccircle cx='15.5' cy='12' r='1' fill='black' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
}

#cmplz-manage-consent .cmplz-manage-consent:hover,
#cmplz-manage-consent .cmplz-manage-consent:focus-visible {
	color: var(--dm-text, #111) !important;
	box-shadow: 0 12px 32px color-mix(in srgb, var(--dm-text, #111) 12%, transparent) !important;
	outline: 2px solid var(--dm-accent, #ff036e);
	outline-offset: 2px;
}

body.dm-island-toc-open #cmplz-manage-consent .cmplz-manage-consent {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.dm-nav__privacy-item {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
}

.dm-nav__privacy {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 12px 0;
	border: 0;
	border-top: 1px solid var(--dm-line);
	margin-top: 4px;
	background: transparent;
	color: var(--dm-text-2);
	font-family: var(--dm-font-body);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	cursor: pointer;
}

.dm-nav__privacy svg {
	width: 18px;
	height: 18px;
	flex: 0 0 18px;
	stroke-width: 2;
	color: var(--dm-text-3);
}

.dm-nav__privacy:hover,
.dm-nav__privacy:focus-visible {
	color: var(--dm-accent);
}

.dm-nav__privacy:hover svg,
.dm-nav__privacy:focus-visible svg {
	color: var(--dm-accent);
}

@media (max-width: 1023px) {
	#cmplz-manage-consent {
		display: none !important;
	}

	.dm-nav__privacy-item {
		display: list-item;
		width: 100%;
	}
}

@media (min-width: 1024px) {
	#dm-primary-nav .dm-nav__menu,
	#dm-primary-nav .dm-nav__inner > ul {
		align-items: center;
	}
}
