/* Erbrechtler Accessibility Fixes – WCAG 2.2 */

/* Nur bei Tastaturbedienung sichtbar. */
.erbrechtler-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 1000000;
	padding: 12px 18px;
	border-radius: 3px;
	background: #fff;
	color: #173f2a !important;
	font-size: 16px;
	font-weight: 700;
	text-decoration: underline;
	transform: translateY(-180%);
	transition: transform .15s ease;
}
.erbrechtler-skip-link:focus {
	transform: translateY(0);
}

/* Zweifarbige Markierung funktioniert auf hellen und dunklen Flächen. */
:where(a, button, input, select, textarea, summary, [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 3px solid #005fcc !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 2px #fff !important;
}
#main-content:focus {
	outline: none;
}
#main-content {
	scroll-margin-top: 32px;
}

/* #9e8256 erreicht mit Weiß nicht 4,5:1; #80663c erreicht ca. 5,41:1. */
html body .a11y-gold-bg {
	background-color: #80663c !important;
}
html body .a11y-gold-text {
	color: #80663c !important;
}
html body .a11y-gold-border {
	border-color: #80663c !important;
}

/* Eigenständige mobile Bedienelemente: mindestens 24 × 24 CSS-Pixel. */
@media (max-width: 980px) {
	.a11y-touch-target {
		box-sizing: border-box !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		min-width: 24px !important;
		min-height: 24px !important;
		padding-block: 2px;
	}
	:where(
		button,
		input[type="button"],
		input[type="submit"],
		input[type="reset"],
		.et_pb_button,
		.et_pb_contact_submit,
		.mobile_menu_bar,
		.et_mobile_menu a,
		#top-menu a,
		.cmplz-close,
		.cmplz-links a,
		.sbr_lb-close,
		.sbr_lb-cancel,
		.sb-expand-on-click,
		.et_pb_widget a,
		footer a,
		[role="button"]
	) {
		min-width: 24px;
		min-height: 24px;
	}
	:where(.mobile_menu_bar, .cmplz-close, .sbr_lb-close, .sbr_lb-cancel, .sb-expand-on-click, [role="button"]) {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}
