/* Generated by scripts/build-theme-css.ps1. Edit the source modules, not this file. */

/* Source: tokens.css */
@font-face {
	font-family: "VSB Bevan";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/Bevan-Regular.woff2") format("woff2");
}
@font-face {
	font-family: "VSB Outfit";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src: url("../fonts/Outfit-ExtraBold.woff2") format("woff2");
}
@font-face {
	font-family: "Karla";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("../fonts/Karla-Latin-Ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Karla";
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url("../fonts/Karla-Latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Staatliches";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/Staatliches-Regular-Latin-Ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Staatliches";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/Staatliches-Regular-Latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--vsb-color-ink: #161616;
	--vsb-color-paper: #fff;
	--vsb-color-muted: #f3f1ec;
	--vsb-color-accent: #9f2f28;
	--vsb-color-border: #d7d3ca;
	--vsb-color-brand-blue: #205182;
	--vsb-section-divider: rgba(32, 81, 130, .23);
	--vsb-section-surface: #f7fafd;
	/* Round 3 local SIL OFL 1.1 display roles. */
	--vsb-font-display-primary: "VSB Bevan", Georgia, "Times New Roman", serif;
	--vsb-font-display-secondary: "VSB Outfit", "Arial Black", Arial, sans-serif;
	--vsb-font-display: var(--vsb-font-display-primary);
	--vsb-font-body: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--vsb-headline-h1: clamp(3rem, 3.7vw, 3.5rem);
	--vsb-headline-h2: clamp(2rem, 2.65vw, 2.5rem);
	--vsb-step--1: clamp(.875rem, .84rem + .15vw, .95rem);
	--vsb-step-0: clamp(1rem, .95rem + .22vw, 1.125rem);
	--vsb-step-1: clamp(1.25rem, 1.1rem + .65vw, 1.625rem);
	--vsb-step-2: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	--vsb-step-3: clamp(2.25rem, 1.65rem + 2.5vw, 4rem);
	--vsb-space-1: .5rem;
	--vsb-space-2: .75rem;
	--vsb-space-3: 1rem;
	--vsb-space-4: 1.5rem;
	--vsb-space-5: 2rem;
	--vsb-space-6: clamp(2.5rem, 5vw, 5rem);
	--vsb-container: 1200px;
	--vsb-gutter: clamp(1.25rem, 3vw, 2.25rem);
	--vsb-secondary-max: 1120px;
	--vsb-reading-max: 68ch;
	--vsb-form-max: 760px;
	--vsb-control-height: 48px;
	--vsb-secondary-section: clamp(3rem, 5vw, 4.25rem);
	--vsb-radius: .35rem;
	--vsb-section-space: clamp(4rem, 5.5vw, 5.25rem);
	--vsb-card-gap: clamp(1rem, 2vw, 1.75rem);
	--vsb-product-card-column-gap: clamp(24px, 2.4vw, 36px);
	--vsb-product-card-row-gap: clamp(36px, 4vw, 52px);
	--vsb-product-card-padding: 12px;
	--vsb-product-card-border: rgba(32, 81, 130, .2);
	--vsb-product-card-border-active: rgba(32, 81, 130, .62);
	--vsb-header-height: 0px;
}

/* Source: base.css */
html { scroll-behavior: smooth; }
body:not(.home) { color: var(--vsb-color-ink); font-family: var(--vsb-font-body); line-height: 1.55; }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, [tabindex]):focus-visible { outline: 3px solid var(--vsb-color-accent); outline-offset: 3px; }
.screen-reader-text:focus, .skip-link:focus { clip: auto !important; width: auto; height: auto; padding: .75rem 1rem; background: var(--vsb-color-paper); color: var(--vsb-color-ink); z-index: 100000; }
.site-content { overflow-x: clip; }
.ast-container { width: min(100% - (2 * var(--vsb-gutter)), var(--vsb-container)); max-width: none; }
.entry-content :where(p, li) { line-height: 1.55; }
.entry-content p { margin-bottom: 1.1em; }
.entry-content p:not(:where(
	form p,
	.woocommerce p,
	.tml p,
	.wp-block-button p,
	.wc-block-components-notice-banner p,
	[role="alert"] p,
	.price,
	.stock,
	.woocommerce-info,
	.woocommerce-message,
	.woocommerce-error
)) {
	letter-spacing: .015em;
	line-height: 1.55;
	max-width: 68ch !important;
}
.site-footer { border-top: 1px solid color-mix(in srgb, var(--vsb-color-ink) 18%, transparent); }
.site-footer .site-primary-footer-wrap { padding-block: clamp(2.25rem, 4vw, 3.5rem); }
.site-footer :where(.widget, .footer-widget-area) { margin-bottom: 0; }
.wp-site-blocks > :where(*), .vsb-container { width: min(100% - (2 * var(--vsb-gutter)), var(--vsb-container)); margin-inline: auto; }
body:not(.home) :where(h1, h2, h3, .entry-title, .woocommerce-products-header__title) { color: var(--vsb-color-ink); line-height: 1.1; text-wrap: balance; }
body:not(.home) :where(h1, .woocommerce-products-header__title) { font-size: var(--vsb-step-3); }
body:not(.home) h2 { font-size: var(--vsb-step-2); }
body:not(.home) h3 { font-size: var(--vsb-step-1); }

/* Consecutive headings share a compact rhythm only when no content sits between them. */
:where(.entry-content, .woocommerce, .site-main) :is(h1, h2, h3):has(+ :is(h1, h2, h3)) {
	margin-bottom: 0 !important;
}
:where(.entry-content, .woocommerce, .site-main) :is(h1, h2, h3) + :is(h1, h2, h3) {
	margin-top: 6px !important;
}

/* Round 2: display typography is intentionally limited to approved primary headings. */
:where(
	body.home .entry-content h1, body.home .entry-content h2, body.home .entry-content h3,
	body.post-type-archive-product .woocommerce-products-header__title,
	body.tax-product_cat .woocommerce-products-header__title, body.single-product .product_title,
	body.single-product .woocommerce-Tabs-panel h2, body.single-product .related > h2,
	body.page-id-1289 .entry-content h1, body.page-id-1289 .entry-content h2,
	body.page-id-276 .entry-content h1, body.page-id-276 .entry-content h2,
	body.page-id-346 .entry-content h1, body.page-id-346 .entry-content h2,
	body.page-id-219 .entry-content h1, body.page-id-219 .entry-content h2,
	body.page-id-348 .entry-content h1, body.page-id-6 .entry-content h1,
	body.page-id-7 .entry-content h1, body.page-id-237 .entry-content h1,
	body.page-id-236 .entry-content h1, body.page-id-238 .entry-content h1,
	body.page-id-238 .entry-content h2
) {
	font-family: var(--vsb-font-display-primary) !important;
	font-weight: 400;
	font-style: normal;
	line-height: 1.02;
	letter-spacing: -.015em;
	text-transform: none;
	text-wrap: balance;
	overflow-wrap: anywhere;
}
:where(
	body.home .entry-content h1, body.post-type-archive-product .woocommerce-products-header__title,
	body.tax-product_cat .woocommerce-products-header__title, body.single-product .product_title,
	body.page-id-1289 .entry-content h1, body.page-id-276 .entry-content h1,
	body.page-id-346 .entry-content h1, body.page-id-219 .entry-content h1,
	body.page-id-348 .entry-content h1, body.page-id-6 .entry-content h1,
	body.page-id-7 .entry-content h1, body.page-id-237 .entry-content h1,
	body.page-id-236 .entry-content h1, body.page-id-238 .entry-content h1
) { font-size: var(--vsb-headline-h1) !important; }
:where(
	body.home .entry-content h2, body.page-id-1289 .entry-content h2,
	body.page-id-276 .entry-content h2, body.page-id-346 .entry-content h2,
	body.page-id-219 .entry-content h2, body.page-id-238 .entry-content h2,
	body.single-product .woocommerce-Tabs-panel h2, body.single-product .related > h2
) { font-size: var(--vsb-headline-h2) !important; }

/* Outfit ExtraBold is reserved for compact utility headings, not body or controls. */
:where(
	body.home .entry-content h3,
	body.post-type-archive-product .woocommerce-loop-product__title,
	body.tax-product_cat .woocommerce-loop-product__title,
	body.single-product .related .woocommerce-loop-product__title,
	body.single-product .woocommerce-Tabs-panel h3,
	body.page-id-1289 .entry-content h3,
	body.page-id-276 .entry-content h3,
	body.page-id-346 .entry-content h3,
	body.page-id-219 .entry-content h3,
	body.page-id-348 .entry-content h2,
	body.page-id-237 .entry-content h2,
	body.page-id-236 .entry-content h2,
	body.page-id-236 .entry-content h3
) {
	font-family: var(--vsb-font-display-secondary) !important;
	font-weight: 800 !important;
	font-style: normal;
	line-height: 1.08;
	letter-spacing: -.015em;
	text-transform: none;
	overflow-wrap: anywhere;
}
.vsb-sr-only,
.is-visually-hidden,
.u-hide,
.vsb-hide {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	white-space: nowrap;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
}
.u-hide-h1h2 h1,
.u-hide-h1h2 h2 {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	white-space: nowrap;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Source: header.css */
body.ast-theme-transparent-header .site-content { padding-top: var(--vsb-header-height); }
body.admin-bar.ast-theme-transparent-header .site-content { --vsb-admin-offset: 32px; }
@media (max-width: 782px) { body.admin-bar.ast-theme-transparent-header .site-content { --vsb-admin-offset: 46px; } }
.site-header { border-bottom: 1px solid color-mix(in srgb, var(--vsb-color-ink) 24%, transparent); }
.ast-primary-header-bar .site-primary-header-wrap { width: min(100% - (2 * var(--vsb-gutter)), var(--vsb-container)); }
.header-widget-area [aria-label="Vintage Style Blanks home"] img[alt="Vintage Style Blanks"] {
	width: 128px !important;
	height: auto;
}
.main-header-menu > .menu-item > .menu-link { letter-spacing: .045em; }
@media (min-width: 1200px) {
	.main-header-menu > .menu-item + .menu-item { margin-left: clamp(26px, 2vw, 32px); }
}
@media (min-width: 1024px) and (max-width: 1199.98px) {
	.main-header-menu > .menu-item + .menu-item { margin-left: clamp(20px, 2vw, 26px); }
}
@media (min-width: 922px) and (max-width: 1023.98px) {
	.main-header-menu > .menu-item + .menu-item { margin-left: clamp(16px, 2vw, 22px); }
	.ast-builder-menu-1 { padding-right: 0; }
	.ast-header-woo-cart { padding-left: 16px; }
}
@media (min-width: 922px) {
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link {
		position: relative;
		text-decoration: none !important;
		border-bottom: 0 !important;
	}
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link::before {
		content: none !important;
	}
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link::after {
		content: none;
	}
	#ast-desktop-header .main-header-menu > .current-menu-item > .menu-link,
	#ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link {
		color: var(--vsb-color-brand-blue);
	}
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link:hover,
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link:focus-visible {
		color: #111;
		text-decoration: none !important;
	}
	#ast-desktop-header .main-header-menu > .current-menu-item > .menu-link::after,
	#ast-desktop-header .main-header-menu > .current-menu-ancestor > .menu-link::after {
		content: "";
		position: absolute;
		left: 50%;
		bottom: 8px;
		width: 55%;
		height: 1px;
		transform: translateX(-50%);
		background: var(--vsb-color-brand-blue);
		pointer-events: none;
	}
	#ast-desktop-header .main-header-menu > .menu-item > .menu-link:focus-visible {
		outline: 2px solid currentColor;
		outline-offset: 2px;
		border-radius: 2px;
	}
}
.ast-header-account-wrap,
.ast-site-header-cart { display: flex; align-items: center; }
.ast-header-account-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}
.ast-site-header-cart .cart-container {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
}

/* Source: pages.css */
.shop-collections-grid, .shop-collections-grid.wp-block-columns { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(.75rem, 2vw, 1.5rem); }
.shop-collections-grid > * { min-width: 0; }
.shop-collections-grid figure, .shop-collections-grid img { width: 100% !important; margin: 0; }
.vsb-social-links { display: flex; align-items: center; justify-content: center; gap: 12px; }
.vsb-social-link { display: block; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 0; background: none; line-height: 0; transition: opacity .15s ease; }
.vsb-social-link:hover { opacity: .86; }
.vsb-social-link:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.vsb-social-link img { display: block; width: 100%; height: 100%; object-fit: contain; }
@media (prefers-reduced-motion: reduce) { .vsb-social-link { transition: none; } }
.u-show-mobile { display: none !important; }
.tml-link-box.align-center { text-align: center; }
.tml-link-box.align-right { text-align: right; }

/* Secondary-page shell: one editorial rhythm without changing Gutenberg content. */
body.vsb-secondary-shell.ast-separate-container .site-content > .ast-container,
body.vsb-secondary-shell .site-content > .ast-container {
	width: min(100% - (2 * var(--vsb-gutter)), var(--vsb-secondary-max));
	max-width: none;
}
body.vsb-secondary-shell :where(#primary, .content-area) {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
}
body.vsb-secondary-shell.ast-separate-container .ast-article-single,
body.vsb-secondary-shell .ast-article-single {
	padding: clamp(2.75rem, 5vw, 4.5rem) 0;
	background: transparent;
}
body.vsb-secondary-shell .entry-content {
	width: 100%;
	max-width: var(--vsb-secondary-max);
	margin-inline: auto;
}
body.vsb-secondary-shell .entry-content > :where(.wp-block-group, .wp-block-columns):not(.u-hide) {
	margin-block: 0 !important;
	padding: var(--vsb-secondary-section) clamp(0rem, 1.75vw, 1.25rem) !important;
	border: 0 !important;
}
body.vsb-secondary-shell .entry-content > :where(.wp-block-group, .wp-block-columns):not(.u-hide) + :where(.wp-block-group, .wp-block-columns):not(.u-hide) {
	border-top: 1px solid var(--vsb-section-divider) !important;
}
body.vsb-secondary-shell .entry-content :where(.wp-block-group)[style*="border-width:2px"] {
	border-width: 0 !important;
}
body.vsb-secondary-shell .entry-content :where(h1, h2) {
	font-family: var(--vsb-font-display-primary) !important;
	font-weight: 400 !important;
	font-style: normal;
	line-height: 1.06;
	letter-spacing: -.015em;
	text-transform: none;
	text-wrap: balance;
}
body.vsb-secondary-shell .entry-content h1 { font-size: clamp(2.875rem, 4vw, 3.5rem) !important; }
body.vsb-secondary-shell .entry-content h2 { font-size: clamp(2rem, 2.8vw, 2.5rem) !important; }
body.vsb-secondary-shell .entry-content :where(h3, h4, summary) {
	font-family: var(--vsb-font-display-secondary);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
	text-transform: none;
}
body.vsb-secondary-shell .entry-content :where(p, li) {
	max-width: var(--vsb-reading-max) !important;
	text-align: left;
}
body.vsb-secondary-shell .entry-content :where(a:not(.button, .wp-block-button__link)) {
	text-decoration-thickness: .08em;
	text-underline-offset: .14em;
}
body.vsb-secondary-shell .entry-content > :where(.wp-block-group, .wp-block-columns):not(.u-hide) > :first-child { margin-top: 0; }
body.vsb-secondary-shell .entry-content > :where(.wp-block-group, .wp-block-columns):not(.u-hide) > :last-child { margin-bottom: 0; }

/* Long-form policies use a deliberate reading measure and left-aligned hierarchy. */
body.vsb-policy-flow .entry-content > :where(.wp-block-group, .wp-block-columns):not(.u-hide) {
	width: min(100%, 78ch);
	margin-inline: auto !important;
}
body.vsb-policy-flow .entry-content :where(h1, h2, h3, h4, p, li) { text-align: left !important; }
body.vsb-policy-flow .entry-content :where(h2, h3) { margin-top: clamp(2rem, 4vw, 3rem); }
body.vsb-policy-flow .entry-content :where(ul, ol) { max-width: var(--vsb-reading-max); padding-left: 1.35rem; }

/* FAQ details retain native behavior and gain an editorial question rhythm. */
body.vsb-faq-flow .entry-content :where(.wp-block-details, details) {
	max-width: 78ch;
	margin: 0 auto;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--vsb-section-divider);
}
body.vsb-faq-flow .entry-content :where(.wp-block-details, details) summary {
	display: flex;
	align-items: center;
	min-height: 48px;
	padding: .8rem 0;
	cursor: pointer;
}
body.vsb-faq-flow .entry-content :where(.wp-block-details, details)[open] summary { margin-bottom: .75rem; }
body.vsb-faq-flow .entry-content :where(.wp-block-details, details) > :not(summary) { margin-inline: 0; }

/* About columns keep their authored image order with consistent alignment. */
body.page-id-346.vsb-secondary-shell .entry-content .wp-block-columns {
	align-items: flex-start !important;
	gap: clamp(1.75rem, 4vw, 3.5rem);
}
body.page-id-346.vsb-secondary-shell .entry-content figure { margin: 0; }

/* Search and error states reuse the same shell without touching product archives. */
body.vsb-search-flow .site-main > :where(.page-title, .ast-row) { width: min(100%, 900px); margin-inline: auto; }
body.vsb-search-flow .page-title {
	font-family: var(--vsb-font-display-primary);
	font-size: clamp(2.5rem, 4vw, 3.5rem);
	font-weight: 400;
	line-height: 1.06;
	letter-spacing: -.015em;
}
body.vsb-search-flow article {
	margin: 0 !important;
	padding: clamp(1.75rem, 4vw, 3rem) 0 !important;
	border-bottom: 1px solid var(--vsb-section-divider);
	background: transparent !important;
}
body.vsb-search-flow article .entry-title {
	font-family: var(--vsb-font-display-secondary);
	font-size: clamp(1.5rem, 2.5vw, 2rem) !important;
	font-weight: 800;
	line-height: 1.15;
}
body.vsb-search-flow .search-form { display: flex; gap: .75rem; width: min(100%, 680px); }
body.vsb-search-flow .search-form label { flex: 1; }
body.vsb-error-flow .entry-content > .wp-block-group:not(.u-hide) {
	width: min(100%, 760px);
	margin-inline: auto !important;
	padding-inline: clamp(1.25rem, 4vw, 2.5rem) !important;
	border: 1px solid var(--vsb-section-divider) !important;
}
body.vsb-error-flow .entry-content figure img { width: min(100%, 520px); }

body.vsb-thank-you-flow .entry-content > .wp-block-group:not(.u-hide) { width: min(100%, 780px); margin-inline: auto !important; }

/* Round 1: conservative homepage rhythm and image/text balance. */
body.home .entry-content { width: min(100% - (2 * var(--vsb-gutter)), var(--vsb-container)); margin-inline: auto; }
body.home .entry-content > .wp-block-group.alignwide:first-of-type > .wp-block-group.alignfull:first-child > p.wp-block-paragraph:first-child {
	width: 100%;
	max-width: 82ch !important;
	font-weight: 700;
}
body.home .entry-content > p:first-child { max-width: 82ch !important; margin: 1.5rem auto clamp(2.75rem, 4vw, 4rem); font-size: clamp(1rem, .96rem + .18vw, 1.1rem); line-height: 1.55; }
body.home .entry-content > .wp-block-columns { display: grid !important; grid-template-columns: minmax(0, 42%) minmax(0, 58%); align-items: center !important; column-gap: clamp(2rem, 4vw, 4rem); margin-block: 0 var(--vsb-section-space); }
body.home .entry-content > .wp-block-columns > .wp-block-column { min-width: 0; margin: 0 !important; }
body.home .entry-content > .wp-block-columns figure { margin: 0; }
body.home .entry-content > .wp-block-columns img { display: block; width: 100%; height: auto; object-fit: contain; }
body.home .entry-content > .wp-block-columns :where(h2, h3) { line-height: 1.12; margin-top: 0; margin-bottom: .7em; }
body.home .entry-content > .wp-block-columns p { max-width: 68ch !important; letter-spacing: .015em; line-height: 1.55; }

/* Homepage image-and-text rows: consistent image scale, gap, and row rhythm. */
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) {
	display: grid !important;
	grid-template-columns: minmax(280px, 32%) minmax(0, 1fr) !important;
	align-items: center !important;
	column-gap: clamp(2.25rem, 3.25vw, 3.25rem);
	margin: 0 !important;
	padding-block: clamp(3.25rem, 4vw, 4.25rem);
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img):not(:nth-of-type(2)) {
	border-top: 1px solid var(--vsb-section-divider);
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img):nth-of-type(2) {
	padding-top: 0;
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img):nth-of-type(odd) {
	background-color: var(--vsb-section-surface);
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img):nth-of-type(7) {
	padding-bottom: clamp(3.5rem, 5vw, 4.5rem);
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) > .wp-block-column {
	min-width: 0;
	margin: 0 !important;
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) > .wp-block-column:first-child figure {
	width: min(100%, 340px);
	margin: 0 auto;
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) > .wp-block-column:first-child figure > a {
	display: block;
	width: 100%;
}
body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) > .wp-block-column:first-child img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* Align side-by-side row images with the first heading while retaining Gutenberg column padding. */
@media (min-width: 601px) {
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) {
		align-items: flex-start !important;
	}
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:nth-child(2)[style*="padding-top:var(--wp--preset--spacing--20)"]) > .wp-block-column:first-child {
		position: relative;
		top: var(--wp--preset--spacing--20);
	}
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:nth-child(2)[style*="padding-top:var(--wp--preset--spacing--30)"]) > .wp-block-column:first-child {
		position: relative;
		top: var(--wp--preset--spacing--30);
	}
}

/* Source: woocommerce.css */
:where(.woocommerce, .woocommerce-page) ul.products, .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	column-gap: var(--vsb-product-card-column-gap) !important;
	row-gap: var(--vsb-product-card-row-gap) !important;
	align-items: stretch;
	margin: 0 !important;
	padding: 0 !important;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product, .wc-block-grid__product {
	display: flex !important;
	flex-direction: column;
	float: none !important;
	width: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: var(--vsb-product-card-padding) !important;
	border: 1px solid var(--vsb-product-card-border);
	background: var(--vsb-color-paper);
	transition: border-color 160ms ease;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product:hover,
:where(.woocommerce, .woocommerce-page) ul.products li.product:focus-within,
.wc-block-grid__product:hover,
.wc-block-grid__product:focus-within { border-color: var(--vsb-product-card-border-active); }
:where(.woocommerce, .woocommerce-page) ul.products li.product :where(.astra-shop-thumbnail-wrap, .wc-block-grid__product-image),
.wc-block-grid__product-image {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	padding: .8px;
	border: 0;
	background: transparent;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product img, .wc-block-grid__product-image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0 !important;
	border: 0 !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: transparent;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-summary-wrap,
.wc-block-grid__product > :where(.wc-block-grid__product-title, .wc-block-grid__product-price, .wc-block-grid__product-add-to-cart) { min-width: 0; }
:where(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-summary-wrap {
	display: flex;
	flex: 1;
	flex-direction: column;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product :where(h2, h3, .woocommerce-loop-product__title),
.wc-block-grid__product-title {
	margin: 18px 0 9px !important;
	font-size: 18px !important;
	line-height: 1.2;
	overflow-wrap: anywhere;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product .price,
.wc-block-grid__product-price {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	margin: 0 !important;
	font-weight: 700;
	line-height: 1.25;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product .wwp_show_wholesale_prices_text { margin-top: 3px; }
:where(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-summary-wrap > .button,
.wc-block-grid__product-add-to-cart .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	min-height: 44px;
	margin: 16px 0 0 !important;
}
:where(.woocommerce, .woocommerce-page) ul.products li.product a:focus-visible,
.wc-block-grid__product a:focus-visible {
	outline: 3px solid var(--vsb-color-brand-blue);
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	:where(.woocommerce, .woocommerce-page) ul.products li.product, .wc-block-grid__product { transition: none; }
}
body:not(.wp-admin) :where(.ast-breadcrumbs, .ast-woocommerce-breadcrumb, .woocommerce-breadcrumb, .rank-math-breadcrumb, #breadcrumbs),
body:not(.wp-admin).single-product .single-product-category {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.single-product .entry-header { display: none; }
.woocommerce-products-header, .woocommerce-products-header__title { text-align: center; }
.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.04fr) minmax(320px, .96fr);
	align-items: start;
	column-gap: clamp(2rem, 4vw, 4.5rem);
}
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
	float: none !important;
	width: auto !important;
	min-width: 0;
}
.single-product div.product .woocommerce-product-gallery { margin-bottom: 0 !important; }
.single-product .woocommerce-product-gallery .flex-viewport {
	height: auto !important;
	aspect-ratio: 1 / 1;
	margin-bottom: 1rem !important;
	background: transparent;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image img {
	aspect-ratio: 1 / 1;
}
.single-product .woocommerce-product-gallery__image img { object-fit: contain; }
.single-product .vsb-rvb-gallery-caption {
	min-height: 2.75rem;
	margin: -.25rem 0 1rem;
	padding: .65rem .8rem;
	border: 0;
	background: rgba(24, 29, 34, .88);
	color: #fff;
	font-size: clamp(.88rem, 1.4vw, 1rem);
	line-height: 1.35;
	text-align: center;
}
.single-product .vsb-rvb-gallery-navigation {
	display: flex;
	justify-content: space-between;
	gap: .75rem;
	margin: -1rem 0 1rem;
}
.single-product .vsb-rvb-gallery-navigation button {
	min-width: 6.5rem;
	min-height: 44px;
	padding: .45rem .75rem;
	border: 1px solid var(--vsb-section-divider);
	border-radius: 0;
	background: transparent;
	color: inherit;
}
.single-product .vsb-rvb-gallery-navigation button:hover,
.single-product .vsb-rvb-gallery-navigation button:focus-visible {
	border-color: var(--vsb-color-brand-blue);
	color: var(--vsb-color-brand-blue);
}
.single-product .woocommerce-product-gallery__image:focus-visible,
.single-product .woocommerce-product-gallery .flex-control-thumbs img:focus-visible {
	outline: 3px solid var(--vsb-color-brand-blue);
	outline-offset: 3px;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(.45rem, 1vw, .7rem);
	margin: 0 !important;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	min-width: 0;
	aspect-ratio: 1 / 1;
	background: transparent;
}
.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}
.single-product div.product .summary { padding-top: clamp(.25rem, 1vw, .75rem); }
.single-product div.product .summary .product_title.entry-title {
	position: static !important;
	width: auto;
	height: auto;
	margin: 0 0 .45em !important;
	padding: 0;
	overflow: visible;
	white-space: normal;
	clip: auto;
	clip-path: none;
	font-size: clamp(2rem, 3.15vw, 2.75rem) !important;
	line-height: 1.04 !important;
}
.single-product div.product .summary .price {
	margin: 0 0 .35rem !important;
	font-size: clamp(1.5rem, 2vw, 1.75rem);
	font-weight: 750;
	line-height: 1.25;
}
.single-product div.product .summary .wwp_show_wholesale_prices_text {
	display: block;
	margin: 0 0 clamp(1rem, 2vw, 1.35rem) !important;
}
.single-product div.product .summary .woocommerce-product-details__short-description { margin: 0; }
.single-product div.product .summary .woocommerce-product-details__short-description > :last-child { margin-bottom: 0; }
.single-product div.product .summary .stock {
	display: block;
	margin: clamp(1rem, 2vw, 1.35rem) 0 .8rem !important;
}
.single-product div.product .summary form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: .75rem;
	margin: 0 !important;
}
.single-product div.product .summary form.cart .quantity,
.single-product div.product .summary form.cart .single_add_to_cart_button { margin: 0 !important; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products { grid-column: 1 / -1; }
.single-product div.product .woocommerce-tabs {
	margin: clamp(3rem, 5vw, 4.5rem) 0 clamp(3rem, 5vw, 4.5rem);
	padding-top: clamp(1.5rem, 3vw, 2.25rem);
	border-top: 1px solid var(--vsb-color-border);
}
.single-product div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: .25rem clamp(1rem, 3vw, 2rem);
	margin: 0 0 clamp(1.25rem, 2.5vw, 2rem) !important;
}
.single-product div.product .woocommerce-tabs ul.tabs li { margin: 0 !important; }
.single-product div.product .woocommerce-tabs ul.tabs li a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-family: var(--vsb-font-display-secondary);
	font-weight: 800;
}
.single-product div.product .woocommerce-Tabs-panel { margin-bottom: 0 !important; }
.single-product div.product .related.products {
	margin-top: 0;
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--vsb-color-border);
}
.single-product div.product .related.products > h2 { margin: 0 0 clamp(1.5rem, 3vw, 2.25rem); }
.single-product .woocommerce-product-details__short-description p,
.single-product .woocommerce-Tabs-panel p {
	letter-spacing: .015em;
	line-height: 1.55;
	max-width: 68ch !important;
}
@media (max-width: 921px) {
	.single-product div.product {
		grid-template-columns: minmax(0, 1fr);
		row-gap: clamp(1.75rem, 4vw, 2.5rem);
	}
	.single-product div.product .woocommerce-tabs,
	.single-product div.product .related.products { grid-column: 1; }
	.single-product div.product .woocommerce-tabs { margin-top: clamp(1.5rem, 4vw, 2.5rem); }
}
@media (max-width: 480px) {
	.single-product div.product .summary .product_title.entry-title { font-size: clamp(1.75rem, 8vw, 2rem) !important; }
	.single-product .woocommerce-product-gallery .flex-control-thumbs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.single-product div.product .summary form.cart { gap: .6rem; }
	/* Paperboy has 11 slides. Keep its final three-row gallery height stable through FlexSlider initialization. */
	body.postid-90 div.product { container-type: inline-size; }
	body.postid-90 .woocommerce-product-gallery {
		overflow: hidden;
		min-height: calc((100vw - 5rem) * 1.88);
		min-height: 188cqi;
	}
	body.postid-90 .woocommerce-product-gallery:not(:has(.flex-viewport)) .woocommerce-product-gallery__image:not(:first-child) {
		display: none;
	}
}
.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout,
.woocommerce-account .woocommerce { margin-block: clamp(2rem, 4vw, 4rem); }

/* Cart, checkout, and account presentation; WooCommerce behavior remains untouched. */
body.vsb-commerce-flow :where(.wc-block-cart, .woocommerce-cart-form, .cart-collaterals, .wc-block-checkout, form.checkout) {
	width: 100%;
	max-width: var(--vsb-secondary-max);
	margin-inline: auto;
}
body.vsb-commerce-flow :where(.wc-block-cart-items, .wc-block-components-order-summary, .shop_table) {
	border: 0;
	border-collapse: collapse;
}
body.vsb-commerce-flow :where(.wc-block-cart-items__row, .cart_item, .wc-block-components-order-summary-item) {
	border-bottom: 1px solid var(--vsb-section-divider);
}
body.vsb-commerce-flow :where(.wc-block-components-product-name, .product-name a) {
	font-family: var(--vsb-font-display-secondary);
	font-weight: 800;
	line-height: 1.18;
}
body.vsb-commerce-flow :where(.wc-block-components-product-details, .variation) {
	margin-top: .45rem;
	font-size: .95rem;
	line-height: 1.45;
}
body.vsb-commerce-flow :where(.wc-block-components-quantity-selector, .quantity) {
	min-height: 44px;
	border-radius: 0;
}
body.vsb-commerce-flow :where(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .checkout-button, button, .button) {
	min-height: 48px;
	border-radius: 0;
}
body.vsb-commerce-flow :where(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .input-text, select, textarea) {
	min-height: var(--vsb-control-height);
	border-radius: 0 !important;
}
body.vsb-commerce-flow .wc-block-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
	gap: clamp(2rem, 4vw, 4rem);
}
body.vsb-commerce-flow .wc-block-checkout > * { min-width: 0; }
body.vsb-commerce-flow :where(.wc-block-components-title, .wc-block-checkout__contact-fields h2, .wc-block-checkout__shipping-fields h2, .wc-block-checkout__billing-fields h2) {
	font-family: var(--vsb-font-display-secondary);
	font-weight: 800;
	line-height: 1.15;
}
body.vsb-commerce-flow :where(.wc-block-components-sidebar, .cart_totals) {
	padding: clamp(1rem, 2.5vw, 1.75rem);
	border: 1px solid var(--vsb-section-divider);
	background: var(--vsb-section-surface);
}
body.vsb-commerce-flow .wc-block-components-totals-coupon__form { display: flex; flex-wrap: wrap; gap: .65rem; }
body.vsb-commerce-flow .wc-block-components-totals-coupon__form .wc-block-components-text-input { flex: 1 1 14rem; }

body.vsb-account-flow .woocommerce {
	display: grid;
	grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
	gap: clamp(1.5rem, 4vw, 3rem);
}
body.vsb-account-flow .woocommerce:has(.woocommerce-form-login, .woocommerce-ResetPassword) { display: block; }
body.vsb-account-flow .woocommerce-MyAccount-navigation { width: 100%; }
body.vsb-account-flow .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
body.vsb-account-flow .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--vsb-section-divider); }
body.vsb-account-flow .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 48px; padding: .65rem .25rem; }
body.vsb-account-flow .woocommerce-MyAccount-content { width: 100%; min-width: 0; }
body.vsb-account-flow :where(.woocommerce-form-login, .woocommerce-ResetPassword, .tml) {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--vsb-section-divider);
	border-radius: 0;
}

/* Existing product tabs retain their markup with a clearer active state. */
.single-product div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--vsb-section-divider);
}
.single-product div.product .woocommerce-tabs ul.tabs li a {
	padding-inline: .15rem;
	border-bottom: 3px solid transparent;
}
.single-product div.product .woocommerce-tabs ul.tabs li.active a,
.single-product div.product .woocommerce-tabs ul.tabs li a:focus-visible {
	border-bottom-color: var(--vsb-color-brand-blue);
	color: var(--vsb-color-brand-blue);
}
.single-product div.product .woocommerce-Tabs-panel { padding-top: .25rem; }
.single-product div.product .related.products { padding-top: clamp(2.75rem, 5vw, 4rem); }

/* Source: forms.css */
body:not(.home) :where(.button, button, input[type="submit"], .wp-element-button, .wp-block-button__link) { min-height: 44px; padding: .7rem 1rem; border-radius: var(--vsb-radius); }
body:not(.home) :where(input:not([type="checkbox"], [type="radio"]), select, textarea) { min-height: 44px; }
body:not(.home) .quantity :where(.minus, .plus, .qty), body:not(.home) .show-password-input { min-width: 44px !important; min-height: 44px !important; }
body:not(.home) .site-footer :where(a, button, summary) { min-height: 44px; display: flex; align-items: center; }
body:not(.home) :where(input:not([type="checkbox"], [type="radio"]), select, textarea) { padding-inline: .85rem; border-color: color-mix(in srgb, var(--vsb-color-ink) 32%, transparent); }
body:not(.home) :where(form, .tml, .woocommerce-form, .woocommerce-ResetPassword) label { font-weight: 600; }
body:not(.home) :where(.woocommerce-form, .tml, .woocommerce-ResetPassword) { max-width: 44rem; }

/* Secondary forms share one accessible, square-edged control system. */
body.vsb-form-flow :where(.entry-content form, .forminator-ui, .wwlc-register, .tml, .woocommerce-form, .woocommerce-ResetPassword),
body.vsb-account-flow :where(.entry-content form, .tml, .woocommerce-form, .woocommerce-ResetPassword) {
	width: min(100%, var(--vsb-form-max));
	max-width: var(--vsb-form-max);
	margin-inline: auto;
}
body.vsb-form-flow :where(.forminator-row, .forminator-field, .wwlc_form_field, form > p),
body.vsb-account-flow :where(.form-row, form > p) { margin-bottom: 1.25rem; }
body.vsb-form-flow :where(label, .forminator-label, .wwlc_field label),
body.vsb-account-flow :where(label, .woocommerce-form-row label) {
	display: inline-block;
	margin-bottom: .45rem;
	font-weight: 700;
	line-height: 1.35;
}
body.vsb-form-flow :where(.forminator-required, .required, abbr.required),
body.vsb-account-flow :where(.required, abbr.required) { color: var(--vsb-color-accent); }
body.vsb-form-flow :where(
	input:not([type="checkbox"], [type="radio"], [type="hidden"], [type="file"], [type="submit"], [type="button"]),
	select, textarea, .select2-selection
),
body.vsb-account-flow :where(
	input:not([type="checkbox"], [type="radio"], [type="hidden"], [type="submit"], [type="button"]),
	select, textarea
) {
	width: 100%;
	min-height: var(--vsb-control-height);
	padding: .72rem .85rem;
	border: 1px solid color-mix(in srgb, var(--vsb-color-brand-blue) 48%, var(--vsb-color-border));
	border-radius: 0;
	background: var(--vsb-color-paper);
	color: var(--vsb-color-ink);
	line-height: 1.35;
}
body.vsb-form-flow textarea,
body.vsb-account-flow textarea { min-height: 9rem; resize: vertical; }
body.vsb-form-flow :where(input, select, textarea):focus,
body.vsb-account-flow :where(input, select, textarea):focus {
	border-color: var(--vsb-color-brand-blue);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--vsb-color-brand-blue) 24%, transparent);
	outline: 0;
}
body.vsb-form-flow :where(input[type="file"], .forminator-file-upload) {
	max-width: 100%;
	min-height: 48px;
	padding: .65rem;
	border: 1px dashed color-mix(in srgb, var(--vsb-color-brand-blue) 55%, var(--vsb-color-border));
	background: var(--vsb-section-surface);
}
body.vsb-form-flow :where(.select2-container, .country_select) { width: 100% !important; max-width: 100%; }
body.vsb-form-flow .select2-container .select2-selection--single { display: flex; align-items: center; height: var(--vsb-control-height); }
body.vsb-form-flow :where(.forminator-checkbox, .forminator-radio, .woocommerce-form__label-for-checkbox),
body.vsb-account-flow :where(.woocommerce-form__label-for-checkbox, .form-row label.checkbox) {
	display: flex;
	align-items: center;
	gap: .65rem;
	min-height: 44px;
}
body.vsb-form-flow :where(input[type="checkbox"], input[type="radio"]),
body.vsb-account-flow :where(input[type="checkbox"], input[type="radio"]) { width: 1.2rem; height: 1.2rem; flex: 0 0 auto; }
body.vsb-form-flow :where(button, input[type="submit"], .forminator-button, .button),
body.vsb-account-flow :where(button, input[type="submit"], .button) {
	min-height: 48px;
	padding: .75rem 1.2rem;
	border-radius: 0;
}
body.vsb-form-flow :where(.forminator-error-message, .forminator-response-message, .woocommerce-error, .woocommerce-message),
body.vsb-account-flow :where(.woocommerce-error, .woocommerce-message) {
	margin-top: .5rem;
	padding: .85rem 1rem;
	line-height: 1.45;
}

/* Forminator loads its selected skin after the theme and resets inputs to 40px. */
:is(body.vsb-form-flow, body.vsb-account-flow) .forminator-ui.forminator-custom-form[data-design="bold"] :where(.forminator-input, .forminator-select2 .select2-selection) {
	box-sizing: border-box;
	min-height: var(--vsb-control-height);
	padding: .55rem .85rem;
}
:is(body.vsb-form-flow, body.vsb-account-flow) .entry-content .forminator-ui.forminator-custom-form[data-design="bold"] :where(.forminator-input, .forminator-textarea):focus {
	border-color: var(--vsb-color-brand-blue);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--vsb-color-brand-blue) 24%, transparent);
	outline: 2px solid transparent;
	outline-offset: 2px;
}
body.vsb-wholesale-flow #registration_form,
body.vsb-upload-flow .forminator-ui,
body.page-id-348.vsb-form-flow .forminator-ui { padding-top: clamp(1rem, 2vw, 1.5rem); }

/* Source: responsive.css */
@media (max-width: 1024px) {
	:root { --vsb-gutter: clamp(1.75rem, 3.5vw, 2.25rem); --vsb-section-space: clamp(3rem, 6vw, 4.25rem); --vsb-headline-h1: clamp(2.5rem, 4.5vw, 3rem); --vsb-headline-h2: clamp(1.875rem, 3.6vw, 2.25rem); }
	:where(.entry-content, .woocommerce, .site-main) :is(h1, h2, h3) + :is(h1, h2, h3) { margin-top: 5px !important; }
	:where(.woocommerce, .woocommerce-page) ul.products, .wc-block-grid__products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) {
		grid-template-columns: minmax(220px, 32%) minmax(0, 1fr) !important;
		column-gap: clamp(1.75rem, 3.5vw, 2.5rem);
		padding-block: clamp(2.75rem, 5vw, 3.5rem);
	}
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img):nth-of-type(7) {
		padding-bottom: clamp(2.75rem, 5vw, 3.75rem);
	}
	body.vsb-secondary-shell .entry-content > :where(.wp-block-group, .wp-block-columns):not(.u-hide) {
		padding-block: clamp(2.5rem, 5vw, 3.5rem) !important;
	}
}
@media (max-width: 768px) {
	:root { --vsb-gutter: clamp(1.125rem, 5vw, 1.375rem); --vsb-section-space: clamp(2.125rem, 9vw, 3.25rem); --vsb-headline-h1: clamp(2.125rem, 8.8vw, 2.5rem); --vsb-headline-h2: clamp(1.75rem, 7vw, 2rem); }
	.vsb-social-links { gap: 10px; }
	.vsb-social-link { width: 44px; height: 44px; }
	:where(.entry-content, .woocommerce, .site-main) :is(h1, h2, h3) + :is(h1, h2, h3) { margin-top: 4px !important; }
	:where(.woocommerce, .woocommerce-page) ul.products, .wc-block-grid__products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		column-gap: clamp(16px, 3vw, 22px) !important;
		row-gap: clamp(28px, 6vw, 40px) !important;
	}
	:where(.woocommerce, .woocommerce-page) ul.products li.product, .wc-block-grid__product { padding: 10px !important; }
	:where(.woocommerce, .woocommerce-page) ul.products li.product :where(h2, h3, .woocommerce-loop-product__title), .wc-block-grid__product-title { margin-top: 16px !important; margin-bottom: 8px !important; }
	:where(.woocommerce, .woocommerce-page) ul.products li.product .astra-shop-summary-wrap > .button, .wc-block-grid__product-add-to-cart .button { margin-top: 14px !important; }
	.shop-collections-grid, .shop-collections-grid.wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.u-hide-mobile { display: none !important; }
	.u-show-mobile { display: block !important; }
	body.home .entry-content > p:first-child { margin-top: 1.1rem; margin-bottom: 2.25rem; }
	body.home .entry-content > .wp-block-columns { grid-template-columns: minmax(0, 1fr); row-gap: 1.5rem; margin-bottom: var(--vsb-section-space); }
	body.home .entry-content > .wp-block-columns :where(h2, h3) { margin-bottom: .6em; }
	.ast-primary-header-bar .site-primary-header-wrap { width: min(100% - (2 * var(--vsb-gutter)), var(--vsb-container)); }
	.main-header-menu > .menu-item + .menu-item { margin-left: 0; }
	body.vsb-secondary-shell.ast-separate-container .ast-article-single,
	body.vsb-secondary-shell .ast-article-single { padding-block: clamp(2rem, 7vw, 3rem); }
	body.vsb-secondary-shell .entry-content > :where(.wp-block-group, .wp-block-columns):not(.u-hide) {
		padding: clamp(2rem, 7vw, 2.75rem) 0 !important;
	}
	body.vsb-secondary-shell .entry-content h1 { font-size: clamp(2.125rem, 8.8vw, 2.5rem) !important; }
	body.vsb-secondary-shell .entry-content h2 { font-size: clamp(1.75rem, 7vw, 2rem) !important; }
	body.vsb-commerce-flow .wc-block-checkout,
	body.vsb-account-flow .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
	body.vsb-account-flow .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0 1rem;
	}
}
@media (max-width: 921px) {
	.main-header-menu > .menu-item + .menu-item { margin-left: 0; }
	.menu-toggle,
	.ast-mobile-menu-trigger-minimal { min-width: 44px; min-height: 44px; }
}
@media (max-width: 600px) {
	:root { --vsb-section-divider: rgba(32, 81, 130, .18); }
	.header-widget-area [aria-label="Vintage Style Blanks home"] img[alt="Vintage Style Blanks"] { width: 120px !important; }
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: clamp(1rem, 3vw, 1.375rem);
		padding-block: clamp(2rem, 7vw, 2.4rem);
	}
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img) > .wp-block-column:first-child figure {
		width: min(100%, 340px);
	}
	body.home .entry-content .wp-block-columns:has(> .wp-block-column:first-child img):nth-of-type(7) {
		padding-bottom: clamp(2.25rem, 8vw, 3rem);
	}
	body.vsb-secondary-shell .site-content > .ast-container { width: min(100% - 36px, var(--vsb-secondary-max)); }
	body.vsb-form-flow :where(button, input[type="submit"], .forminator-button),
	body.vsb-account-flow :where(button, input[type="submit"]) { width: 100%; }
	body.vsb-search-flow .search-form { flex-direction: column; }
	body.vsb-search-flow .search-form :where(input, button) { width: 100%; }
	body.vsb-commerce-flow :where(.wc-block-components-sidebar, .cart_totals) { padding: 1rem; }
}
@media (max-width: 420px) {
	:where(.woocommerce, .woocommerce-page) ul.products, .wc-block-grid__products { grid-template-columns: minmax(0, 1fr) !important; }
	:where(.woocommerce, .woocommerce-page) ul.products li.product, .wc-block-grid__product { padding: 12px !important; }
	body.vsb-account-flow .woocommerce-MyAccount-navigation ul { grid-template-columns: minmax(0, 1fr); }
	body.vsb-secondary-shell .entry-content :where(h1, h2) { overflow-wrap: anywhere; }
}
@media (min-width: 768px) { .u-hide-desktop { display: none !important; } }
@media (min-width: 768px) and (max-width: 1023.98px) { .u-hide-tablet { display: none !important; } }

/* Source: production-parity.css */
/* Current production Customizer CSS consolidated into the child theme. */
.is-visually-hidden,
.u-hide,
.vsb-hide {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	white-space: nowrap;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}
.u-hide-h1h2 h1,
.u-hide-h1h2 h2 {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	white-space: nowrap;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
}
.u-tight-top { margin-top: 0 !important; padding-top: 0 !important; }
.u-tight-top > *:first-child { margin-top: 0 !important; padding-top: 0 !important; }
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header,
.tax-product_tag .woocommerce-products-header,
.post-type-archive-product .ast-archive-title,
.tax-product_cat .ast-archive-title,
.tax-product_tag .ast-archive-title,
.post-type-archive-product .ast-archive-description,
.tax-product_cat .ast-archive-description,
.tax-product_tag .ast-archive-description {
	display: none !important;
}
.post-type-archive-product .site-content,
.tax-product_cat .site-content,
.tax-product_tag .site-content,
.single-product .site-content {
	padding-top: 0 !important;
}
.tag .ast-archive-title,
.tag .ast-archive-description,
.tax-product_tag .woocommerce-products-header,
.tax-product_tag .ast-archive-title,
.tax-product_tag .ast-archive-description {
	display: none !important;
}
.tag .site-content,
.tax-product_tag .site-content { padding-top: 0 !important; }
.ast-theme-transparent-header .site-content,
html.ast-sticky-header-active .site-content,
.ast-sticky-header-enabled .site-content {
	padding-top: 0 !important;
}
#content.site-content,
.site-content,
.ast-container,
#primary,
.site-main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.entry-content > *:first-child,
.entry-content > .wp-block-group:first-child,
.entry-content > .wp-block-cover:first-child,
.entry-content > .wp-block-columns:first-child,
.entry-content > .uagb-section:first-child,
.entry-content > .uagb-section__wrap:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.post-type-archive-product .woocommerce-products-header {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
html.ast-sticky-header-active .site-content,
html.ast-theme-transparent-header .site-content {
	padding-top: 0 !important;
}
.tml-link-box { display: flex; justify-content: center; }
.tml-link-box.align-left { justify-content: flex-start; }
.tml-link-box.align-right { justify-content: flex-end; }
body.page .entry-content > *:first-child { margin-top: 0 !important; }
.ast-desktop .ast-primary-header-bar,
.ast-desktop .ast-above-header,
.ast-desktop .ast-below-header {
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}
/* Staging receives Astra's ast-desktop marker; production currently does not. */
body.home .ast-primary-header-bar {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.custom-logo-link img,
.site-branding img {
	max-height: 48px !important;
	height: auto !important;
}
.ast-desktop .main-header-menu > li > a {
	line-height: 48px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.ast-header-break-point .ast-primary-header-bar {
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}
.ast-header-break-point .custom-logo-link img,
.ast-header-break-point .site-branding img {
	max-height: 42px !important;
}
.ast-theme-transparent-header .site-content .entry-content > *:first-child {
	padding-top: 64px !important;
}
html { scroll-padding-top: 64px; }
@media (max-width: 768px) { html { scroll-padding-top: 54px; } }
.single-product .entry-header,
.single-product .entry-header .entry-title,
.single-product .entry-title:not(.product_title) {
	display: none !important;
}
@media (max-width: 768px) {
	body.single-product .site-content,
	body.single-product .content-area {
		padding-top: 20px;
	}
}

/* Active production uniform-top-gap snippet, now child-theme owned. */
:root { --page-top-gap: 0px; }
.ast-separate-container .site-main,
.site-content {
	padding-top: var(--page-top-gap) !important;
	margin-top: 0 !important;
}
body.home,
body.home .site-content,
body.home .ast-container,
body.home .site-main {
	padding-top: var(--page-top-gap) !important;
	margin-top: 0 !important;
}
.entry-content > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.rank-math-breadcrumb,
.ast-breadcrumbs {
	margin: 0 !important;
	padding: 0 !important;
}
/* VSB mobile cart intrinsic-width containment. */
@media (max-width: 480px) {
	body.vsb-commerce-flow .wc-block-cart .wc-block-cart-items { width: 100%; min-width: 0; table-layout: fixed; }
	body.vsb-commerce-flow .wc-block-cart .wc-block-cart-items__row { width: 100%; min-width: 0; grid-template-columns: 64px minmax(0, 1fr) max-content; column-gap: 8px; }
	body.vsb-commerce-flow .wc-block-cart .wc-block-cart-item__image { grid-column: 1; }
	body.vsb-commerce-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product { grid-column-start: 2; grid-column-end: 3; min-width: 0; overflow-wrap: anywhere; }
	body.vsb-commerce-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product .wc-block-components-product-name { max-width: 100%; overflow-wrap: anywhere; }
	body.vsb-commerce-flow .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { grid-column-start: 3; grid-column-end: 4; min-width: 0; justify-self: end; white-space: nowrap; }
}
@media (max-width: 360px) {
	body.vsb-commerce-flow .wc-block-cart .wc-block-cart-items__row { grid-template-columns: 52px minmax(0, 1fr) max-content; column-gap: 6px; }
}
