/* WCAG-oriented storefront accessibility (keyboard focus, skip link, reduced motion) */

.storefront-skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 100000;
	padding: 12px 16px;
	background: #0a2540;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
}

.storefront-skip-link:focus,
.storefront-skip-link:focus-visible {
	left: 12px;
	top: 12px;
	width: auto;
	height: auto;
	overflow: visible;
	outline: 3px solid #fff;
	outline-offset: 2px;
}

#storefront-main-content:focus {
	outline: none;
}

textarea:focus-visible,
input:focus-visible,
select:focus-visible,
button:focus-visible,
a:focus-visible,
.form-control:focus-visible,
.checkout-btn:focus-visible,
.cookie-btn:focus-visible,
.cookie-close:focus-visible {
	outline: 2px solid #005fcc;
	outline-offset: 2px;
}

textarea:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
button:focus:not(:focus-visible),
a:focus:not(:focus-visible),
.form-control:focus:not(:focus-visible) {
	outline: none;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
