/* Sichtbar, sobald der Sprunglink mit der Tastatur fokussiert wird. */
.kh-skip-link {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 1000000;
	padding: 0.75rem 1rem;
	background: #ffffff;
	color: #263652;
	border: 3px solid #263652;
	border-radius: 0.2rem;
	box-shadow: 0 0.25rem 0.8rem rgba(0, 0, 0, 0.28);
	font: 700 1rem/1.25 sans-serif;
	text-decoration: none;
	transform: translateY(-180%);
	transition: transform 0.15s ease;
}

.kh-skip-link:focus,
.kh-skip-link:focus-visible {
	transform: translateY(0);
	outline: 3px solid #ffffff;
	outline-offset: 2px;
}

/* Der vorhandene Magnific-Popup-Schließen-Button wird wirklich sichtbar und erreichbar. */
.mfp-wrap .mfp-close.kh-mfp-close {
	display: flex !important;
	align-items: center;
	justify-content: center;
	position: fixed !important;
	top: 0.75rem !important;
	right: 0.75rem !important;
	left: auto !important;
	z-index: 1048 !important;
	width: 3rem !important;
	height: 3rem !important;
	min-width: 3rem;
	padding: 0 !important;
	margin: 0 !important;
	border: 2px solid #ffffff !important;
	border-radius: 0.2rem;
	background: #263652 !important;
	color: #ffffff !important;
	font: 700 2rem/1 sans-serif !important;
	text-align: center;
	opacity: 1 !important;
	cursor: pointer;
}

.mfp-wrap .mfp-close.kh-mfp-close:focus,
.mfp-wrap .mfp-close.kh-mfp-close:focus-visible {
	outline: 3px solid #ffffff !important;
	outline-offset: 3px !important;
}

/*
 * Kontrastkorrekturen aus dem WAVE-Livetest vom 02.09.2026.
 * Der Cookie-Dialog verwendet bei jedem Aufruf neu erzeugte Klassennamen.
 * Deshalb wird er über seine stabilen semantischen Attribute angesprochen.
 */
[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] p {
	color: #2b2b2b !important;
}

[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] a[role="button"] {
	color: #3f4749 !important;
}

[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] a[role="button"] span {
	color: inherit !important;
}

/* Der Hauptbutton braucht für weiße Schrift einen dunkleren Blauton. */
[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] a[role="button"][id] {
	border-color: #465878 !important;
	background-color: #465878 !important;
	color: #ffffff !important;
}

[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] a:not([role="button"]),
[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] span[aria-hidden="true"],
[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] span[data-flag="true"] {
	color: #3f4749 !important;
}

[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] select,
[consent-skip-blocker="1"] dialog[data-nosnippet="true"][aria-modal="true"] option {
	background-color: #ffffff !important;
	color: #2b2b2b !important;
}

/*
 * Die responsive Buchungsfläche hatte weiße Schrift auf transparentem Grund.
 * Der solide Hintergrund liefert an jeder Bildstelle mindestens 7,6:1.
 */
#Smartphone .booking-button-highlight,
#Tablet .booking-button-highlight {
	color: #ffffff !important;
}

#Smartphone .kh-booking-contrast,
#Tablet .kh-booking-contrast {
	display: inline-block;
	padding: 0.5rem 0.75rem;
	background-color: #3f5478 !important;
	color: #ffffff !important;
}

/* Entfernt die Transparenz des Magazin-Platzhaltertextes (5,78:1). */
.mx-platzhalter__badge {
	color: #4a5051 !important;
	opacity: 1 !important;
}

@media (prefers-reduced-motion: reduce) {
	.kh-skip-link {
		transition: none;
	}
}
