/* Document and accessibility foundations. Do not reset plugin components. */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-padding-block-start: var(--vr-header-offset, var(--wp-admin--admin-bar--height, 0px));
}

body {
	display: flex;
	flex-direction: column;
	min-block-size: 100vh;
	min-block-size: 100svh;
	margin: 0;
}

body.admin-bar {
	min-block-size: calc(100svh - var(--wp-admin--admin-bar--height, 0px));
}

:where(img, video) {
	max-inline-size: 100%;
	height: auto;
}

:where(iframe, embed, object) {
	max-inline-size: 100%;
}

:where(button, input, select, textarea) {
	font-family: inherit;
}

[hidden] {
	display: none !important;
}

:where([id]) {
	scroll-margin-block-start: var(--wp--preset--spacing--24);
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: var(--wp--custom--focus--width) solid var(--vr-focus-color);
	outline-offset: var(--wp--custom--focus--offset);
	box-shadow: 0 0 0 var(--wp--custom--focus--offset) var(--vr-focus-separation);
}

.screen-reader-text {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed;
	inset-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + var(--wp--preset--spacing--16));
	inset-inline-start: var(--vr-gutter);
	z-index: 100000;
	inline-size: auto;
	block-size: auto;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	overflow: visible;
	clip: auto;
	clip-path: none;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--brand);
	white-space: normal;
}

/* Native anchor scrolling preserves URLs, history and no-JavaScript links. */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}
