/* KOPFPUNK Consent 1.0.0 – Farben aus dem Elementor-Kit (Fallbacks = Werte tierarzt-nordhorn.de) */
.kpcc-banner {
	--kpcc-bg: #fff;
	--kpcc-text: var(--e-global-color-secondary, #54595F);
	--kpcc-btn-bg: var(--e-global-color-secondary, #54595F);
	--kpcc-btn-text: #fff;
	--kpcc-focus: var(--e-global-color-primary, #189ABB);
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999999;
	padding: 16px;
	pointer-events: none;
	font-family: inherit;
}
.kpcc-banner[hidden] { display: none; }
.kpcc-inner {
	pointer-events: auto;
	max-width: 960px;
	margin: 0 auto;
	padding: 20px 24px;
	background: var(--kpcc-bg);
	color: var(--kpcc-text);
	border-top: 4px solid var(--kpcc-focus);
	box-shadow: 0 4px 24px rgba(0, 0, 0, .2);
	font-size: 16px;
	line-height: 1.5;
}
.kpcc-title {
	margin: 0 0 8px;
	font-size: 1.25em;
	line-height: 1.3;
	color: var(--kpcc-text);
}
.kpcc-title:focus { outline: none; }
.kpcc-text { margin: 0 0 12px; }
.kpcc-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 0 0 16px;
	padding: 0;
	border: 0;
}
.kpcc-option { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.kpcc-option input { width: 18px; height: 18px; margin: 0; }
.kpcc-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.kpcc-btn {
	flex: 1 1 auto;
	min-height: 44px;
	padding: 10px 18px;
	border: 0;
	border-radius: 0;
	background: var(--kpcc-btn-bg, #54595F);
	color: var(--kpcc-btn-text, #fff);
	font: inherit;
	cursor: pointer;
}
.kpcc-btn:hover { filter: brightness(1.15); }
.kpcc-banner a,
.kpcc-placeholder a { color: inherit; text-decoration: underline; }
.kpcc-links { margin: 12px 0 0; font-size: .875em; }
.kpcc-banner :focus-visible,
.kpcc-placeholder :focus-visible {
	outline: 3px solid var(--kpcc-focus, #189ABB);
	outline-offset: 2px;
}
.kpcc-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Karten-Platzhalter */
.kpcc-embed { position: relative; }
.kpcc-embed iframe[hidden] { display: none !important; }
.kpcc-placeholder {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 250px;
	padding: 20px;
	background: #f2f2f2;
	color: var(--e-global-color-secondary, #54595F);
	text-align: center;
	font-size: 15px;
	line-height: 1.5;
}
.kpcc-placeholder p { margin: 0 0 10px; }
.kpcc-placeholder .kpcc-btn { flex: 0 0 auto; }
.kpcc-placeholder label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }

@media (max-width: 600px) {
	.kpcc-banner { padding: 0; }
	.kpcc-inner { padding: 16px; max-height: 85vh; overflow-y: auto; }
	.kpcc-actions { flex-direction: column; }
}
