/*
 * 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-webcam {
	background-color: #dce8e8;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.2)),
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='760' viewBox='0 0 1200 760'><defs><linearGradient id='sky' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%23c6dfe9'/><stop offset='0.52' stop-color='%23eff3ee'/><stop offset='1' stop-color='%23d7dfcf'/></linearGradient><linearGradient id='ridge' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='%238ea0a4'/><stop offset='1' stop-color='%235e7171'/></linearGradient></defs><rect width='1200' height='760' fill='url(%23sky)'/><circle cx='972' cy='128' r='82' fill='%23f4d987' opacity='0.58'/><path d='M0 420L122 258l116 106 156-218 172 242 116-124 150 158 98-86 270 238v186H0z' fill='%23eef2ef' opacity='0.96'/><path d='M0 486L152 328l134 122 112-94 152 134 104-72 150 120 130-158 266 204v176H0z' fill='%23aebfc0' opacity='0.84'/><path d='M0 552c132-50 266-58 402-22 142 37 270 26 418-34 136-55 260-58 380-8v272H0z' fill='url(%23ridge)' opacity='0.8'/><path d='M0 620c156-46 314-40 474 18 162 58 318 54 474-12 94-40 178-50 252-28v162H0z' fill='%234f645e' opacity='0.72'/><g fill='none' stroke='%23ffffff' stroke-width='7' stroke-linecap='round' opacity='0.5'><path d='M86 112h92M86 112v92M1022 112h92M1114 112v92M86 648h92M86 648v-92M1022 648h92M1114 648v-92'/></g><g opacity='0.36'><rect x='888' y='504' width='178' height='98' rx='16' fill='%231f2d2f'/><rect x='914' y='476' width='74' height='36' rx='10' fill='%231f2d2f'/><circle cx='978' cy='553' r='34' fill='%23d7e6e8'/><circle cx='978' cy='553' r='18' fill='%235b7175'/><circle cx='1040' cy='526' r='9' fill='%23d84b3e'/></g><rect width='1200' height='760' fill='%23ffffff' opacity='0.12'/></svg>");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.dmn-cc-placeholder.dmn-cc-bg-instagram {
	background-color: #f3ece8;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.18)),
		url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1200' height='760' viewBox='0 0 1200 760'><defs><linearGradient id='ig' x1='0' y1='0' x2='1' y2='1'><stop offset='0' stop-color='%23feda75'/><stop offset='0.38' stop-color='%23fa7e1e'/><stop offset='0.68' stop-color='%23d62976'/><stop offset='1' stop-color='%234f5bd5'/></linearGradient><pattern id='dots' width='48' height='48' patternUnits='userSpaceOnUse'><circle cx='8' cy='8' r='2' fill='%23ffffff' opacity='0.35'/></pattern></defs><rect width='1200' height='760' fill='%23f4eee9'/><circle cx='164' cy='104' r='260' fill='url(%23ig)' opacity='0.22'/><circle cx='1040' cy='646' r='330' fill='url(%23ig)' opacity='0.2'/><rect width='1200' height='760' fill='url(%23dots)'/><g transform='rotate(-7 600 380)' opacity='0.86'><rect x='134' y='92' width='244' height='244' rx='26' fill='%23ffffff' opacity='0.84'/><rect x='164' y='122' width='184' height='184' rx='20' fill='%23d8e4e1'/><path d='M164 266l48-48 38 34 34-58 64 72v40H164z' fill='%239ab7a4'/><circle cx='304' cy='168' r='23' fill='%23f1c46a'/><rect x='438' y='72' width='292' height='292' rx='30' fill='%23ffffff' opacity='0.9'/><rect x='474' y='108' width='220' height='220' rx='22' fill='%23e9d8d0'/><path d='M474 286l56-66 48 46 58-86 58 78v70H474z' fill='%23cc805f'/><circle cx='642' cy='154' r='26' fill='%23d84f7b'/><rect x='790' y='118' width='250' height='250' rx='28' fill='%23ffffff' opacity='0.82'/><rect x='822' y='150' width='186' height='186' rx='20' fill='%23d7d8eb'/><path d='M822 290l54-50 44 34 34-56 54 70v48H822z' fill='%236b78b8'/><circle cx='958' cy='194' r='22' fill='%23f2a256'/><rect x='248' y='408' width='288' height='288' rx='30' fill='%23ffffff' opacity='0.88'/><rect x='284' y='444' width='216' height='216' rx='22' fill='%23e6e0d9'/><path d='M284 610l66-74 44 38 52-82 54 76v92H284z' fill='%238f9f89'/><circle cx='452' cy='490' r='25' fill='%23ebbe65'/><rect x='602' y='396' width='326' height='326' rx='34' fill='%23ffffff' opacity='0.92'/><rect x='642' y='436' width='246' height='246' rx='24' fill='%23ead4de'/><path d='M642 624l78-78 52 44 62-94 54 82v104H642z' fill='%23bd5d85'/><circle cx='842' cy='488' r='28' fill='%23fa7e1e'/></g><g transform='translate(514 252)' opacity='0.22'><rect width='172' height='172' rx='48' fill='none' stroke='%231f2933' stroke-width='18'/><circle cx='86' cy='86' r='38' fill='none' stroke='%231f2933' stroke-width='18'/><circle cx='126' cy='46' r='12' fill='%231f2933'/></g><rect width='1200' height='760' fill='%23ffffff' opacity='0.18'/></svg>");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.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%;
	}
}
