/*
 * Visual baseline only. Storefront and plugin CSS still owns layout, visibility,
 * validation, loading, icons and specialized controls. Do not use all: unset,
 * universal spacing resets or global appearance/outline removal here.
 */
/* Suppress the browser's tap overlay; keyboard focus keeps its own styles. */
html { -webkit-tap-highlight-color: transparent; }

body {
	margin: 0;
	background-color: var(--color-bg-page);
	color: var(--color-text-primary);
	font-family: var(--font-body);
	font-size: var(--ov-font-size-base);
	font-weight: var(--font-weight-regular);
	line-height: var(--ov-line-height-base);
	letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	color: inherit;
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: 0;
}

a {
	color: var(--color-text-primary);
}

/* Keep control sizing, native appearance and plugin state rules intact. */
button,
input,
select,
textarea {
	font-family: var(--font-ui);
}

/* Target the theme shell without repainting notices or payment components. */
#page > .site-header,
#page > .site-footer {
	background-color: var(--color-bg-page);
	background-image: none;
	color: var(--color-text-primary);
	box-shadow: none;
}

.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6,
.site-footer .widget .widget-title,
.site-footer .widget .widgettitle,
.site-footer a:not(.button):not(.components-button) {
	color: inherit;
}

/* Use ink for keyboard outlines: pink has low contrast on the page background. */
#page :where(a, button, input, select, textarea, summary, [tabindex]):where(:not(.ov-button, .ov-link, .ov-field__control, .ov-field__toggle, .ov-options__input, .ov-choice__input, .ov-selection__input, .ov-quantity__input, .ov-quantity__button, .ov-selection-tag__input, .ov-rating__input)):focus-visible {
	outline: 2px solid var(--color-text-primary);
	outline-offset: 3px;
}
