/*
 * DMN Cookie Consent – Frontend Styles (Borlabs-Style Banner)
 *
 * Background-Pattern pro Service-Typ + dunkler halbtransparenter Balken
 * mit zentriertem Hinweistext und zentrierten Buttons.
 *
 * Doppelte Klassen-Spezifität + !important auf Layout-kritischen Properties –
 * abgehärtet gegen Theme-Resets (line-height/position/margin/display).
 */

/* ---------- Reset / Defaults ---------- */
.dmn-cc-placeholder,
.dmn-cc-placeholder * {
	box-sizing: border-box !important;
	position: static !important;
	float: none !important;
	max-width: 100% !important;
}

/* ---------- Container ---------- */
.dmn-cc-placeholder {
	--dmn-cc-button-bg: var(--theme-button-background-initial-color, var(--ast-global-color-0, var(--theme-palette-color-1, var(--wp--preset--color--primary, #209529))));
	--dmn-cc-button-bg-hover: var(--theme-button-background-hover-color, var(--ast-global-color-0, var(--theme-palette-color-2, #187d20)));
	--dmn-cc-button-fg: var(--theme-button-text-initial-color, var(--ast-global-color-5, #fff));
	--dmn-cc-button-radius: var(--theme-button-border-radius, 4px);
	--dmn-cc-bar-bg: rgba(20, 20, 20, 0.88);
	--dmn-cc-bar-fg: #fff;
	--dmn-cc-link: var(--dmn-cc-button-bg);

	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100%;
	min-height: 220px;
	margin: 0 0 1em;
	padding: 0;
	overflow: hidden;
	border-radius: 4px;
	font-family: inherit;
	color: var(--dmn-cc-bar-fg);
	line-height: 1.5;
	background-color: #e9e6df;
	background-position: center;
	background-repeat: repeat;
}

/* ---------- Background-Patterns pro Service-Typ ---------- */
.dmn-cc-placeholder.dmn-cc-bg-map {
	background-color: #eef4f0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.14)),
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='760' viewBox='0 0 1200 760'><defs><pattern id='grid' width='120' height='120' patternUnits='userSpaceOnUse'><path d='M120 0H0V120' fill='none' stroke='%23dfe8e6' stroke-width='1' opacity='0.75'/><path d='M60 0V120M0 60H120' fill='none' stroke='%23e9efed' stroke-width='1' opacity='0.7'/></pattern></defs><rect width='1200' height='760' fill='%23eef4f0'/><rect width='1200' height='760' fill='url(%23grid)' opacity='0.75'/><g fill='%23b8ddb5' opacity='0.82'><path d='M-60 82C46 22 148 12 245 62c78 41 159 38 257-7 89-41 169-36 240 13 73 50 150 60 230 28 83-32 158-24 250 38v160H-60z'/><path d='M82 565c88-57 174-67 258-30 64 28 130 24 200-12 94-48 184-43 270 16 91 63 191 58 309-14l120 235H82z' opacity='0.72'/><ellipse cx='218' cy='258' rx='90' ry='58'/><ellipse cx='968' cy='492' rx='118' ry='70'/></g><g opacity='0.9'><path d='M-90 610C105 548 245 578 390 498c128-71 254-98 392-62 163 43 278 8 508-116' fill='none' stroke='%23c7e4ed' stroke-width='92' stroke-linecap='round'/><path d='M-90 610C105 548 245 578 390 498c128-71 254-98 392-62 163 43 278 8 508-116' fill='none' stroke='%239dccdc' stroke-width='22' stroke-linecap='round' opacity='0.65'/></g><g fill='none' stroke-linecap='round' stroke-linejoin='round'><g stroke='%23fffdf7' stroke-width='34'><path d='M-95 175C95 145 217 168 370 240c165 77 293 94 505 55 113-21 216-17 420 48'/><path d='M320-80C364 95 374 229 353 386c-22 164-13 289 54 460'/><path d='M760-95C735 75 754 229 828 368c78 146 88 258 52 485'/></g><g stroke='%23f3c443' stroke-width='8'><path d='M-95 175C95 145 217 168 370 240c165 77 293 94 505 55 113-21 216-17 420 48'/><path d='M320-80C364 95 374 229 353 386c-22 164-13 289 54 460'/><path d='M760-95C735 75 754 229 828 368c78 146 88 258 52 485'/></g><g stroke='%23ffffff' stroke-width='18' opacity='0.96'><path d='M68-50L145 810'/><path d='M560-70L610 835'/><path d='M1040-55L986 828'/><path d='M-70 402C98 372 220 376 365 414c176 46 345 37 518-34 126-52 240-68 410-48'/><path d='M-80 690C155 628 343 626 555 682c176 46 350 53 710-18'/><path d='M128 90C257 178 337 270 405 405c63 126 151 214 304 279'/><path d='M1100 20C990 144 950 281 978 430c27 145-26 251-166 366'/></g><g stroke='%23d7e1df' stroke-width='2' opacity='0.85'><path d='M68-50L145 810'/><path d='M560-70L610 835'/><path d='M1040-55L986 828'/><path d='M-70 402C98 372 220 376 365 414c176 46 345 37 518-34 126-52 240-68 410-48'/><path d='M-80 690C155 628 343 626 555 682c176 46 350 53 710-18'/><path d='M128 90C257 178 337 270 405 405c63 126 151 214 304 279'/><path d='M1100 20C990 144 950 281 978 430c27 145-26 251-166 366'/></g></g><g fill='%23ccd6d4' opacity='0.52'><rect x='188' y='122' width='74' height='34' rx='4' transform='rotate(-7 188 122)'/><rect x='468' y='118' width='88' height='40' rx='4' transform='rotate(4 468 118)'/><rect x='938' y='124' width='96' height='42' rx='4' transform='rotate(8 938 124)'/><rect x='198' y='448' width='96' height='42' rx='4' transform='rotate(10 198 448)'/><rect x='642' y='206' width='74' height='34' rx='4' transform='rotate(-8 642 206)'/><rect x='905' y='585' width='118' height='44' rx='4' transform='rotate(-6 905 585)'/><rect x='438' y='604' width='88' height='36' rx='4' transform='rotate(7 438 604)'/></g><rect width='1200' height='760' fill='%23ffffff' opacity='0.22'/></svg>");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.dmn-cc-placeholder.dmn-cc-bg-video {
	background-color: #111;
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.55)),
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'><rect width='60' height='60' fill='%23111'/><rect x='4' y='4' width='8' height='10' fill='%23222'/><rect x='4' y='22' width='8' height='10' fill='%23222'/><rect x='4' y='40' width='8' height='10' fill='%23222'/><rect x='48' y='4' width='8' height='10' fill='%23222'/><rect x='48' y='22' width='8' height='10' fill='%23222'/><rect x='48' y='40' width='8' height='10' fill='%23222'/></svg>");
	background-size: 60px 60px;
	background-repeat: repeat;
}

.dmn-cc-placeholder.dmn-cc-bg-audio {
	background-color: #1d1d2a;
	background-image:
		linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='400' height='100' viewBox='0 0 400 100'><g fill='%23ffffff' opacity='0.18'><rect x='4'   y='40' width='4' height='20'/><rect x='14'  y='30' width='4' height='40'/><rect x='24'  y='10' width='4' height='80'/><rect x='34'  y='25' width='4' height='50'/><rect x='44'  y='35' width='4' height='30'/><rect x='54'  y='20' width='4' height='60'/><rect x='64'  y='42' width='4' height='16'/><rect x='74'  y='30' width='4' height='40'/><rect x='84'  y='15' width='4' height='70'/><rect x='94'  y='28' width='4' height='44'/><rect x='104' y='40' width='4' height='20'/><rect x='114' y='25' width='4' height='50'/><rect x='124' y='10' width='4' height='80'/><rect x='134' y='35' width='4' height='30'/><rect x='144' y='20' width='4' height='60'/><rect x='154' y='42' width='4' height='16'/><rect x='164' y='30' width='4' height='40'/><rect x='174' y='12' width='4' height='76'/><rect x='184' y='34' width='4' height='32'/><rect x='194' y='40' width='4' height='20'/></g></svg>");
	background-size: 400px 100px;
	background-repeat: repeat;
}

/* ---------- Banner (mittig über Pattern) ---------- */
.dmn-cc-placeholder .dmn-cc-placeholder__bar {
	display: flex !important;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	margin: 0 !important;
	padding: 22px 28px !important;
	text-align: center !important;
	background: var(--dmn-cc-bar-bg) !important;
	color: var(--dmn-cc-bar-fg) !important;
}

.dmn-cc-placeholder .dmn-cc-placeholder__content {
	flex: 0 1 auto;
	width: 100%;
	max-width: 820px !important;
	min-width: 0;
	text-align: center !important;
}

.dmn-cc-placeholder .dmn-cc-placeholder__text {
	display: block !important;
	margin: 0 !important;
	padding: 0;
	font-size: 0.95em;
	line-height: 1.5 !important;
	color: var(--dmn-cc-bar-fg) !important;
}

.dmn-cc-placeholder .dmn-cc-placeholder__text strong {
	font-weight: 700;
	color: var(--dmn-cc-bar-fg) !important;
}

.dmn-cc-placeholder .dmn-cc-placeholder__link {
	display: inline-block !important;
	margin: 8px 0 0 !important;
	padding: 0;
	font-size: 0.9em;
	line-height: 1.3 !important;
	color: var(--dmn-cc-link) !important;
	text-decoration: none !important;
	border-bottom: 1px solid transparent;
}

.dmn-cc-placeholder .dmn-cc-placeholder__link:hover,
.dmn-cc-placeholder .dmn-cc-placeholder__link:focus-visible {
	border-bottom-color: var(--dmn-cc-link);
	outline: none;
}

/* ---------- Buttons ---------- */
.dmn-cc-placeholder .dmn-cc-placeholder__actions {
	display: flex !important;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	flex: 0 1 auto;
	width: 100%;
	max-width: 380px !important;
}

.dmn-cc-placeholder .dmn-cc-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 12px 22px !important;
	width: 100%;
	min-height: 48px;
	background: var(--dmn-cc-button-bg) !important;
	color: var(--dmn-cc-button-fg) !important;
	border: 0 !important;
	border-radius: var(--dmn-cc-button-radius) !important;
	font-family: inherit !important;
	font-size: 0.92em !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: var(--theme-button-shadow, none);
	transition: background-color 0.15s ease, filter 0.15s ease, transform 0.15s ease;
	white-space: normal;
}

.dmn-cc-placeholder .dmn-cc-btn:hover,
.dmn-cc-placeholder .dmn-cc-btn:focus-visible {
	background: var(--dmn-cc-button-bg-hover) !important;
	filter: brightness(1.1);
	outline: none;
}

.dmn-cc-placeholder .dmn-cc-btn:active {
	transform: translateY(1px);
}

/* ---------- Mobile ---------- */
@media (max-width: 720px) {
	.dmn-cc-placeholder .dmn-cc-placeholder__bar {
		flex-direction: column;
		align-items: center;
		padding: 18px 18px !important;
	}
	.dmn-cc-placeholder .dmn-cc-placeholder__content {
		text-align: center;
	}
	.dmn-cc-placeholder .dmn-cc-placeholder__actions {
		flex-direction: column;
	}
	.dmn-cc-placeholder .dmn-cc-btn {
		width: 100%;
	}
}
