/* JDS Accessibility. Colours, fonts and sizes come from site variables set in Settings > Accessibility. */
.jdsa-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;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Visible focus ring: outer ring plus a thin inner band so it shows on light and dark. */
body.jdsa-focus :is(a[href], button, input:not([type="hidden"]), select, textarea, summary, [tabindex]:not([tabindex="-1"]), [role="button"], [role="tab"], [role="link"], [contenteditable="true"]):focus-visible {
	outline: 3px solid var(--jdsa-focus) !important;
	outline-offset: 2px !important;
	box-shadow: 0 0 0 2px var(--jdsa-halo) !important;
}
body.jdsa-focus .jdsa-main:focus,
body.jdsa-focus main[tabindex="-1"]:focus {
	outline: none;
}

/* JetSmartFilters search clear, printed as a button: drop the theme's button look. */
.jet-smart-filters-search button.jet-search-filter__input-clear,
.jet-smart-filters-search button.jet-search-filter__input-clear:hover,
.jet-smart-filters-search button.jet-search-filter__input-clear:focus {
	background: none;
	border: 0;
	line-height: 0;
}

/* Reduced motion: animations and transitions finish at once. */
@media (prefers-reduced-motion: reduce) {
	html:has(body.jdsa-rm) {
		scroll-behavior: auto !important;
	}
	body.jdsa-rm *,
	body.jdsa-rm *::before,
	body.jdsa-rm *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Rested decoration. */
.jdsa-rest {
	animation-play-state: paused !important;
}

/* JetFormBuilder's show password control, made a real button: no button look from the theme. */
.jet-form-builder .jet-form-builder__field-wrap button.jfb-eye-icon,
.jet-form-builder .jet-form-builder__field-wrap button.jfb-eye-icon:hover,
.jet-form-builder .jet-form-builder__field-wrap button.jfb-eye-icon:focus {
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	color: inherit;
	font: inherit;
	line-height: 0;
	text-transform: none;
	min-width: 24px;
	min-height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
