/*!
 * eCrew Accessibility Enhancements
 * Styles for the fixes. Each block only applies when its fix is on
 * (the plugin adds a matching class to <body>). Colours come from the settings page.
 */

/* Screen-reader-only text (used for the new-tab notes). */
.ecrew-a11y-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Skip to content: off screen until it receives keyboard focus. */
.ecrew-a11y-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999999;
	padding: 12px 16px;
	background: #000;
	color: #fff !important;
	font-weight: 600;
	text-decoration: underline;
}
.ecrew-a11y-skip:focus {
	left: 10px;
	top: 10px;
}
/* The skip target is focused by script, not by the user: no ring around the whole page. */
[data-ecrew-a11y-target]:focus {
	outline: none !important;
	box-shadow: none !important;
}

/* Visible focus ring: colour outline plus a halo, keyboard focus only. */
body.ecrew-a11y-focus a:focus-visible,
body.ecrew-a11y-focus button:focus-visible,
body.ecrew-a11y-focus input:focus-visible,
body.ecrew-a11y-focus select:focus-visible,
body.ecrew-a11y-focus textarea:focus-visible,
body.ecrew-a11y-focus summary:focus-visible,
body.ecrew-a11y-focus [role="button"]:focus-visible,
body.ecrew-a11y-focus [tabindex="0"]:focus-visible {
	outline: 3px solid var(--ecrew-a11y-focus, #0056b3) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 5px var(--ecrew-a11y-halo, #fff) !important;
}
body.ecrew-a11y-focus a:focus:not(:focus-visible) {
	outline: none !important;
}
/* Older browsers without :focus-visible. */
@supports not selector(:focus-visible) {
	body.ecrew-a11y-focus a:focus,
	body.ecrew-a11y-focus button:focus,
	body.ecrew-a11y-focus input:focus,
	body.ecrew-a11y-focus select:focus,
	body.ecrew-a11y-focus textarea:focus,
	body.ecrew-a11y-focus [role="button"]:focus {
		outline: 3px solid var(--ecrew-a11y-focus, #0056b3);
		outline-offset: 2px;
	}
}

/* Divi slider arrows: "Previous" / "Next" text available to screen readers, visually hidden. */
body.ecrew-a11y-slider-arrows .et-pb-arrow-prev span,
body.ecrew-a11y-slider-arrows .et-pb-arrow-next span {
	display: block !important;
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Gravity Forms: field borders with at least 3:1 contrast. */
body.ecrew-a11y-gf-borders .gform_wrapper input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]):not([type="hidden"]),
body.ecrew-a11y-gf-borders .gform_wrapper select,
body.ecrew-a11y-gf-borders .gform_wrapper textarea {
	border: 1px solid var(--ecrew-a11y-gf-border, #767676) !important;
}
