/* Prime Consent – banner & placeholders (Elementor-safe) */

/* ── Overlay ── */
.pcc-overlay {
	position: fixed !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	z-index: 2147483647 !important;
	background: rgba(11, 26, 62, 0.6) !important;
	backdrop-filter: blur(4px) !important;
	-webkit-backdrop-filter: blur(4px) !important;
	padding: 0 !important;
	display: none;
	isolation: isolate !important;
	contain: layout style !important;
}

.pcc-overlay.pcc-visible {
	display: block;
	animation: pcc-slide-up 0.4s ease-out;
}

@keyframes pcc-slide-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ── Banner-Container ── */
.pcc-banner {
	max-width: 900px;
	margin: 0 auto;
	background: #0b1a3e;
	border-radius: 20px 20px 0 0;
	padding: 28px 32px 24px;
	color: #ffffff;
	box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.3);
}

/* ── Titel ── */
.pcc-overlay .pcc-banner__title,
.pcc-banner .pcc-banner__title {
	font-family: "Exo", sans-serif !important;
	font-style: italic !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	margin: 0 0 10px 0 !important;
	padding: 0 !important;
	border: none !important;
	text-align: left !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.3 !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* ── Text ── */
.pcc-overlay .pcc-banner__text,
.pcc-banner .pcc-banner__text {
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: rgba(255, 255, 255, 0.6) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.6) !important;
	line-height: 1.65 !important;
	margin: 0 0 20px 0 !important;
	padding: 0 !important;
	max-width: 600px !important;
	text-align: left !important;
	text-transform: none !important;
}

.pcc-overlay .pcc-banner__text a,
.pcc-banner .pcc-banner__text a {
	color: rgba(255, 255, 255, 0.7) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.7) !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	font-weight: 400 !important;
	font-size: inherit !important;
	border: none !important;
	background: none !important;
	padding: 0 !important;
}

.pcc-overlay .pcc-banner__text a:hover {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* ── Button-Zeile ── */
.pcc-banner__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

/* ══ Shared button reset (kills Elementor/theme overrides) ══ */
.pcc-overlay button,
.pcc-overlay button:hover,
.pcc-overlay button:focus,
.pcc-overlay button:active,
.pcc-overlay button:visited {
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: none !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: none !important;
	line-height: 1 !important;
	min-height: auto !important;
	min-width: auto !important;
	margin: 0 !important;
	float: none !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	vertical-align: middle !important;
	-webkit-text-fill-color: unset !important;
}

/* ── Primär: Alle akzeptieren ── */
.pcc-overlay .pcc-btn-accept-all,
.pcc-banner .pcc-btn-accept-all {
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	padding: 12px 28px !important;
	border-radius: 25px !important;
	border: none !important;
	background: #ffffff !important;
	color: #0b1a3e !important;
	cursor: pointer !important;
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
	width: auto !important;
	height: auto !important;
}

.pcc-overlay .pcc-btn-accept-all:hover {
	background: #e5e7eb !important;
	color: #0b1a3e !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 16px rgba(255, 255, 255, 0.15) !important;
	border: none !important;
}

/* ── Sekundär: Nur Notwendige ── */
.pcc-overlay .pcc-btn-necessary,
.pcc-banner .pcc-btn-necessary {
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	padding: 12px 28px !important;
	border-radius: 25px !important;
	border: 1px solid rgba(255, 255, 255, 0.25) !important;
	background: transparent !important;
	color: #ffffff !important;
	cursor: pointer !important;
	transition: border-color 0.2s ease, background 0.2s ease !important;
	width: auto !important;
	height: auto !important;
}

.pcc-overlay .pcc-btn-necessary:hover {
	border-color: #ffffff !important;
	background: rgba(255, 255, 255, 0.06) !important;
	color: #ffffff !important;
}

/* ── Tertiär: Einstellungen ── */
.pcc-overlay .pcc-btn-settings,
.pcc-banner .pcc-btn-settings {
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	font-style: normal !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	color: rgba(255, 255, 255, 0.45) !important;
	cursor: pointer !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
	padding: 8px 4px !important;
	transition: color 0.2s ease !important;
	width: auto !important;
	height: auto !important;
	border-radius: 0 !important;
}

.pcc-overlay .pcc-btn-settings:hover {
	color: rgba(255, 255, 255, 0.8) !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	text-decoration: underline !important;
}

/* ── Detail-Panel (Einstellungen) ── */
.pcc-details {
	display: none;
	margin: 20px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.pcc-details.pcc-details-visible {
	display: block;
	animation: pcc-fade-in 0.3s ease;
}

@keyframes pcc-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* ── Kategorie-Zeile ── */
.pcc-category {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pcc-category:last-child {
	border-bottom: none;
}

.pcc-category__info {
	flex: 1;
	min-width: 0;
	padding-right: 16px;
}

/* ── Kategorie-Name ── */
.pcc-overlay .pcc-category__name,
.pcc-banner .pcc-category__name {
	font-family: "Inter", sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	display: block !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1.3 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ── Kategorie-Beschreibung ── */
.pcc-overlay .pcc-category__desc,
.pcc-banner .pcc-category__desc {
	font-family: "Inter", sans-serif !important;
	font-size: 11px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: rgba(255, 255, 255, 0.4) !important;
	-webkit-text-fill-color: rgba(255, 255, 255, 0.4) !important;
	display: block !important;
	margin: 2px 0 0 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	text-transform: none !important;
}

/* ── Toggle-Switch ── */
.pcc-toggle {
	position: relative;
	display: inline-block;
	width: 40px;
	height: 22px;
	flex-shrink: 0;
}

.pcc-toggle input,
.pcc-overlay .pcc-toggle input[type="checkbox"] {
	opacity: 0 !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: absolute !important;
}

.pcc-toggle__slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(255, 255, 255, 0.15);
	transition: background-color 0.2s;
	border-radius: 999px;
}

.pcc-toggle__slider::before {
	content: "";
	position: absolute;
	height: 16px;
	width: 16px;
	left: 3px;
	bottom: 3px;
	background-color: #ffffff;
	transition: transform 0.2s;
	border-radius: 50%;
}

.pcc-toggle input:checked + .pcc-toggle__slider {
	background-color: #059669;
}

.pcc-toggle input:checked + .pcc-toggle__slider::before {
	transform: translateX(18px);
}

.pcc-toggle input:disabled + .pcc-toggle__slider {
	opacity: 0.5;
	cursor: not-allowed;
}

/* ── Auswahl speichern ── */
.pcc-overlay .pcc-btn-save,
.pcc-banner .pcc-btn-save {
	font-family: "Inter", system-ui, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	padding: 12px 32px !important;
	border-radius: 25px !important;
	border: none !important;
	background: #113286 !important;
	color: #ffffff !important;
	cursor: pointer !important;
	margin: 16px 0 0 0 !important;
	transition: background 0.2s ease, transform 0.15s ease !important;
	width: auto !important;
	height: auto !important;
}

.pcc-overlay .pcc-btn-save:hover {
	background: #0540d6 !important;
	color: #ffffff !important;
	transform: translateY(-1px) !important;
	border: none !important;
}

/* ── Placeholder (Maps / YouTube) ── */
.pcc-placeholder-wrap {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	background: #f7f8fa;
	border: 1px solid #e5e7eb;
}

.pcc-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	background: #f7f8fa;
}

.pcc-placeholder__inner {
	text-align: center;
	padding: 24px;
}

.pcc-placeholder__inner p {
	font-family: "Inter", sans-serif;
	font-size: 13px;
	color: #6b7280;
	margin: 12px 0 16px 0;
	line-height: 1.55;
}

.pcc-placeholder__inner strong {
	color: #1b2341;
}

.pcc-placeholder-wrap .pcc-placeholder__btn,
.pcc-placeholder .pcc-placeholder__btn {
	font-family: "Inter", sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	font-style: normal !important;
	padding: 10px 24px !important;
	border-radius: 25px !important;
	border: 1px solid #e5e7eb !important;
	background: #ffffff !important;
	color: #113286 !important;
	cursor: pointer !important;
	transition: all 0.2s ease !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	outline: none !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	line-height: 1 !important;
	width: auto !important;
	height: auto !important;
	min-height: auto !important;
}

.pcc-placeholder-wrap .pcc-placeholder__btn:hover {
	border-color: #113286 !important;
	background: #eff6ff !important;
	color: #113286 !important;
}

.pcc-placeholder-wrap.pcc-placeholder--loaded .pcc-placeholder {
	display: none;
}

/* ── Responsive ── */
@media (max-width: 600px) {
	.pcc-banner {
		padding: 22px 18px 20px !important;
		border-radius: 16px 16px 0 0 !important;
	}

	.pcc-overlay .pcc-banner__title,
	.pcc-banner .pcc-banner__title {
		font-size: 16px !important;
	}

	.pcc-overlay .pcc-banner__text,
	.pcc-banner .pcc-banner__text {
		font-size: 12px !important;
	}

	.pcc-banner__actions {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	.pcc-overlay .pcc-btn-accept-all,
	.pcc-overlay .pcc-btn-necessary {
		width: 100% !important;
		text-align: center !important;
	}

	.pcc-overlay .pcc-btn-settings {
		text-align: center !important;
		width: 100% !important;
	}

	.pcc-overlay .pcc-btn-save {
		width: 100% !important;
		text-align: center !important;
	}
}
