/* Base layer: utilities, focus rings, WordPress classes, reduced motion. */

.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:active) {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Keyboard focus rings. */

a:focus-visible {
	outline: 2px solid var(--color-focus);
	outline-offset: 2px;
}

button:focus-visible,
.bc-account-panel__link:focus-visible,
.sub-menu-link:focus-visible {
	outline: 2px solid var(--color-focus);
	outline-offset: 0;
}

.single_add_to_cart_button:focus-visible {
	outline-offset: 2px;
}

/* WordPress generated classes */

.alignleft {
	float: left;
	margin-right: 1rem;
	text-align: left;
}

.alignright {
	float: right;
	margin-left: 1rem;
	text-align: right;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.wp-caption {
	max-width: 100%;
}

.wp-caption-text {
	margin: 0;
}

/*
 * Resources on prefers-reduced-motion:
 * https://webkit.org/blog-files/prefers-reduced-motion/prm.htm
 * https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion
 */
@media (prefers-reduced-motion: reduce) {

	*,
	*::before,
	*::after {
		animation-duration: 0.001s !important;
		transition-duration: 0.001s !important;
	}
}
