/* Farben und Schrift der Website (Impreza: Primär #646cfd, Text #35415b, Lato). */
#cc-main {
	--cc-font-family: inherit;
	--cc-modal-border-radius: 0.5rem;
	--cc-btn-border-radius: 0.3rem;
	--cc-primary-color: #0f131f;
	--cc-secondary-color: #35415b;
	--cc-btn-primary-bg: #646cfd;
	--cc-btn-primary-color: #fff;
	--cc-btn-primary-border-color: #646cfd;
	--cc-btn-primary-hover-bg: #35415b;
	--cc-btn-primary-hover-border-color: #35415b;
	--cc-btn-secondary-bg: #e3e7f0;
	--cc-btn-secondary-color: #35415b;
	--cc-btn-secondary-hover-bg: #c9cfdc;
	--cc-toggle-on-bg: #646cfd;
	--cc-link-color: #646cfd;
}

/* Dauerhaft erreichbarer Widerruf */
.pnt-cc-floating {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 9990;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: #35415b;
	color: #fff;
	display: grid;
	place-items: center;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(15, 19, 31, 0.25);
}
.pnt-cc-floating:hover { background: #646cfd; }
.pnt-cc-floating:focus-visible,
.pnt-cc-link:focus-visible,
.pnt-embed button:focus-visible { outline: 2px solid #646cfd; outline-offset: 2px; }

.pnt-cc-link {
	background: none;
	border: 0;
	padding: 0;
	color: #646cfd;
	text-decoration: underline;
	cursor: pointer;
	font: inherit;
}

/* Platzhalter für externe Medien */
.pnt-embed { position: relative; width: 100%; margin: 0 auto; background: #0f131f; border-radius: 0.3rem; overflow: hidden; }
.pnt-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pnt-embed:not(.is-loaded) iframe { visibility: hidden; }
.pnt-embed__placeholder {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 0.6rem; padding: 1rem; text-align: center; color: #e3e7f0; font-size: 0.95rem;
}
.pnt-embed__placeholder p { margin: 0; max-width: 34rem; }
.pnt-embed__placeholder button { border: 0; border-radius: 0.3rem; padding: 0.6em 1.2em; cursor: pointer; font: inherit; }
.pnt-embed__load { background: #646cfd; color: #fff; font-weight: 700; }
.pnt-embed__always { background: transparent; color: #e3e7f0; text-decoration: underline; }
.pnt-embed.is-loaded .pnt-embed__placeholder { display: none; }

/* Cookie-Tabelle in der Datenschutzerklärung */
.pnt-cookie-table { overflow-x: auto; }
.pnt-cookie-table table { width: 100%; border-collapse: collapse; margin-bottom: 1.5rem; font-size: 0.9rem; }
.pnt-cookie-table th, .pnt-cookie-table td { border: 1px solid #e3e7f0; padding: 0.4rem 0.6rem; text-align: left; vertical-align: top; }
