/* Shared presentation only. WordPress supplies document direction from locale. */
:root,
.editor-styles-wrapper {
	--vistabest-red: var(--wp--preset--color--primary, #ed1b24);
	--vistabest-dark: var(--wp--preset--color--ink, #1f1f1f);
	--vistabest-white: var(--wp--preset--color--white, #ffffff);
	--vistabest-winabest: var(--wp--preset--color--winabest, #31927e);
	--vistabest-radius: 4px;
}

:where(.wp-site-blocks, .editor-styles-wrapper) {
	text-align: start;
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}

:where(.wp-site-blocks, .editor-styles-wrapper) :where(h1, h2, h3, h4, p) {
	text-align: start;
}

:where(.wp-site-blocks, .editor-styles-wrapper) :where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 4px;
}

.vb-container {
	width: 100%;
	max-width: var(--wp--style--global--wide-size, 1440px);
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 3vw, 3rem);
	box-sizing: border-box;
}

.vb-section { padding-block: clamp(3rem, 6vw, 5rem); }
.vb-card { border: 1px solid var(--wp--preset--color--border); border-radius: var(--vistabest-radius); padding: clamp(1.25rem, 3vw, 2rem); }
.vb-dark { background: var(--vistabest-dark); color: var(--vistabest-white); }
.vb-dark a:not(.wp-block-button__link) { color: inherit; }
.vb-accent { color: var(--vistabest-red); }
.vb-winabest-accent { color: var(--vistabest-winabest); }
.vb-meta { font-size: var(--wp--preset--font-size--meta); line-height: 1.6; color: var(--wp--preset--color--muted); }
.vb-dark .vb-meta { color: #d1d5db; }

/* Opt-in isolation for codes, English names, telephone numbers and values. */
.vb-ltr,
:where(.wp-site-blocks, .editor-styles-wrapper) [dir="ltr"] {
	direction: ltr;
	unicode-bidi: isolate;
}
.vb-ltr { display: inline-block; text-align: left; }

.vb-form :where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea) {
	width: 100%;
	max-width: 100%;
	min-height: 44px;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--muted);
	border-radius: var(--vistabest-radius);
	padding: .75rem 1rem;
	background: var(--vistabest-white);
	color: var(--vistabest-dark);
	font: inherit;
	text-align: start;
}
.vb-form label { display: block; margin-block-end: .5rem; font-size: var(--wp--preset--font-size--small); font-weight: 700; }
.vb-form :where(input, select, textarea)[aria-invalid="true"] { border-color: var(--wp--preset--color--error); }
.vb-media { display: block; width: 100%; height: auto; }

@media (prefers-reduced-motion: reduce) {
	:where(html, .wp-site-blocks, .editor-styles-wrapper) { scroll-behavior: auto !important; }
	:where(.wp-site-blocks, .editor-styles-wrapper) *,
	:where(.wp-site-blocks, .editor-styles-wrapper) *::before,
	:where(.wp-site-blocks, .editor-styles-wrapper) *::after {
		animation: none !important;
		transition: none !important;
	}
}
