
/* =========================
   TOKENS / SHARED VALUES
   ========================= */
:root {
	--vg-white: #fff;
	--vg-black: #000;
	--vg-text: #222;
	--vg-text-dark: #1f1f1f;
	--vg-text-price: #1f2430;
	--vg-border-light: #e9e9e9;
	--vg-border-mid: #ddd;
	--vg-border-hover: #d8d8d8;
	--vg-bg-soft: #fafafa;
	--vg-gold: #d4af37;
	--vg-gold-hover: #b8962e;
	--vg-red: #990000;
	--vg-green: #28a745;

	--vg-radius-sm: 5px;
	--vg-radius-md: 10px;
	--vg-radius-lg: 12px;
	--vg-radius-xl: 16px;
	--vg-radius-pill: 999px;

	--vg-shadow-card: 0 4px 14px rgba(0, 0, 0, 0.04);
	--vg-shadow-card-hover: 0 10px 22px rgba(0, 0, 0, 0.065);

	--vg-page-gutter: clamp(12px, 1.8vw, 24px);
	--vg-page-top-gap: 20px;
	--vg-page-top-gap-mobile: 14px;

	--vg-gap-desktop: 18px;
	--vg-gap-mobile: 12px;

	--vg-card-pad-desktop: 14px;
	--vg-card-pad-mobile: 10px;

	--vg-btn-min-h: 38px;
	--vg-btn-min-h-mobile: 34px;
	--vg-btn-font: 11.5px;
	--vg-btn-font-mobile: 10.5px;

	--vg-title-font: 14px;
	--vg-title-font-mobile: 12.5px;
	--vg-price-font: 14px;
	--vg-price-font-mobile: 12.5px;
}

/* =========================
   GLOBAL LAYOUT / BACKGROUND
   ========================= */
html,
body,
.site,
.site-content,
.content-area,
.site-main,
.inside-article,
.separate-containers .inside-article,
.separate-containers .site-main,
.separate-containers .site-content,
.woocommerce,
.woocommerce-page {
	background: var(--vg-white) !important;
}

body,
button,
input,
select,
textarea {
	color: var(--vg-text);
	line-height: 1.5;
	font-size: 15px;
}

.site-content,
.content-area,
.site-main {
	width: 100% !important;
	max-width: none !important;
}

.site-content .content-area {
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
}

.separate-containers .site-main,
.inside-article,
.entry-content:not(:first-child) {
	margin: 0 !important;
}

.inside-article {
	padding: 0 !important;
}

#right-sidebar {
	display: none !important;
	width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .site-content,
.inside-page-header {
	border: 0 !important;
	box-shadow: none !important;
}

/* =========================
   HIDE DEFAULT PAGE TITLES
   ========================= */
.page .entry-header,
.page .inside-article > .entry-header,
.single-post .entry-header,
.single-product .entry-header,
.blog .page-header,
.archive .page-header,
.search .page-header,
.inside-page-header,
.woocommerce-products-header {
	display: none !important;
}

.page .entry-title,
.single-post .entry-title,
.archive .page-title,
.blog .page-title,
.search .page-title {
	display: none !important;
}

/* =========================
   GLOBAL TOP SPACING UNDER HEADER/NAV
   ========================= */
.page:not(.home) .site-main,
.single-post .site-main,
.blog .site-main,
.archive .site-main,
.search .site-main {
	padding-top: var(--vg-page-top-gap) !important;
}

/* =========================
   SHOP ARCHIVES
   full width + centered + one gutter system only
   ========================= */
.post-type-archive-product .site-main,
.tax-product_cat .site-main,
.tax-product_tag .site-main {
	padding: 22px 0 34px !important;
}

.post-type-archive-product .content-area,
.tax-product_cat .content-area,
.tax-product_tag .content-area {
	width: 100% !important;
	max-width: none !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--vg-page-gutter) !important;
	padding-right: var(--vg-page-gutter) !important;
}

.woocommerce-shop {
	display: block !important;
}

.woocommerce-result-count,
.woocommerce-ordering {
	margin-bottom: 14px;
}

.woocommerce .woocommerce-ordering select {
	padding: 7px 11px;
	border: 1px solid #d9d9d9;
	border-radius: var(--vg-radius-md);
	background: var(--vg-white);
	color: var(--vg-text);
	font-size: 13px;
}

/* =========================
   WOO PRODUCT GRID RESET
   fixes off-center look from WooCommerce default floats/margins
   ========================= */
.woocommerce ul.products,
.woocommerce-page ul.products,
.home ul.products {
	display: grid !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	gap: var(--vg-gap-desktop) !important;
	align-items: stretch !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.home ul.products::before,
.home ul.products::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.home ul.products li.product {
	float: none !important;
	width: auto !important;
	clear: none !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	height: 100% !important;
	padding: var(--vg-card-pad-desktop) !important;
	border: 1px solid var(--vg-border-light);
	border-radius: var(--vg-radius-xl);
	background: var(--vg-white);
	box-shadow: var(--vg-shadow-card);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.home ul.products li.product:hover {
	transform: translateY(-2px);
	border-color: var(--vg-border-hover);
	box-shadow: var(--vg-shadow-card-hover);
}

/* Product images */
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product a img,
.woocommerce-page ul.products li.product img,
.home ul.products li.product a img,
.home ul.products li.product img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: cover !important;
	margin: 0 0 10px !important;
	padding: 6px;
	border-radius: var(--vg-radius-lg);
	background: var(--vg-bg-soft);
}

/* Product title */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.home ul.products li.product .woocommerce-loop-product__title,
.home ul.products li.product h2 {
	min-height: 2.7em;
	margin: 0 0 8px !important;
	color: var(--vg-text-dark);
	font-family: "Lato", sans-serif;
	font-size: var(--vg-title-font);
	font-weight: 600;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* Price */
.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.home ul.products li.product .price {
	display: flex;
	align-items: center;
	min-height: 22px !important;
	margin: 0 0 12px !important;
	color: var(--vg-text-price);
	font-family: "Lato", sans-serif;
	font-size: var(--vg-price-font);
	font-weight: 700;
	line-height: 1.35;
}

/* =========================
   BUTTONS
   ========================= */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce-page ul.products li.product .button,
.woocommerce-page ul.products li.product a.button,
.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
.button.product_type_variable,
.home ul.products li.product .button,
.home ul.products li.product a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-height: var(--vg-btn-min-h) !important;
	margin-top: auto !important;
	padding: 8px 12px !important;
	border: 0 !important;
	border-radius: var(--vg-radius-pill) !important;
	background: #1f2430 !important;
	color: var(--vg-white) !important;
	font-size: var(--vg-btn-font) !important;
	font-weight: 600 !important;
	letter-spacing: 0.015em;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background-color 0.25s ease, color 0.25s ease, transform 0.2s ease;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover,
.woocommerce-page ul.products li.product .button:hover,
.woocommerce-page ul.products li.product a.button:hover,
.button.product_type_simple.add_to_cart_button.ajax_add_to_cart:hover,
.button.product_type_variable:hover,
.home ul.products li.product .button:hover,
.home ul.products li.product a.button:hover {
	background: var(--vg-red) !important;
	color: var(--vg-white) !important;
	transform: translateY(-1px);
}

/* Added-to-cart state */
a.add_to_cart_button.added {
	background-color: var(--vg-green) !important;
	border-color: var(--vg-green) !important;
	color: var(--vg-white) !important;
}

/* Sale badge / save chip */
.woocommerce ul.products li.product span.onsale,
.vg-save-later-toggle,
.vg-save-later-toggle.is-compact,
.home .vg-save-later-toggle,
.home .vg-save-later-toggle.is-compact {
	border-radius: var(--vg-radius-pill) !important;
	font-size: 10px !important;
}

.woocommerce ul.products li.product span.onsale {
	padding: 5px 9px;
	font-weight: 700;
	background-color: var(--vg-red) !important;
	color: var(--vg-white) !important;
}

/* =========================
   PAGINATION
   ========================= */
.woocommerce nav.woocommerce-pagination {
	margin-top: 24px;
}

.woocommerce nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.woocommerce nav.woocommerce-pagination ul li {
	margin: 0 3px;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	border: 1px solid var(--vg-border-mid);
	border-radius: var(--vg-radius-md);
	background: var(--vg-white);
	color: var(--vg-text);
	font-size: 13px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	border-color: var(--vg-red) !important;
	background: var(--vg-red) !important;
	color: var(--vg-white) !important;
}

/* =========================
   FILTERS / SEARCH / WOOF / HUSKY
   ========================= */
.wp-block-search__button.wp-element-button,
.wc-block-product-categories__button,
.wpfFilterButton.wpfButton,
.woof_reset_search_form {
	background: var(--vg-gold) !important;
	color: var(--vg-black) !important;
}

.wpfFilterButton.wpfButton:hover,
.wp-block-search__button.wp-element-button:hover,
.wc-block-product-categories__button:hover,
.woof_reset_search_form:hover {
	background: var(--vg-gold-hover) !important;
	color: var(--vg-black) !important;
}

.wp-block-search__button.wp-element-button {
	font-size: 10px;
}

.is-form-style input.is-search-input {
	color: #333;
}

.astm-search-menu {
	margin-bottom: -8px;
}

.irs-to,
.irs-with-grid .irs-from,
.irs-with-grid .irs-to {
	background: var(--vg-black) !important;
	color: var(--vg-gold) !important;
	font-size: 11px;
}

.irs-with-grid .irs-from::before,
.irs-with-grid .irs-to::before {
	border-top-color: var(--vg-black) !important;
}

.irs--round .irs-handle {
	border: 4px solid var(--vg-black) !important;
}

.irs--round .irs-bar {
	background-color: var(--vg-black) !important;
}

.woof_container_inner_productcategories h4,
.woof_container_inner_productcolor h4,
.woof_container_inner_productsizes h4,
.woof_container_inner_productstyle h4 {
	background: var(--vg-black) !important;
	color: var(--vg-gold) !important;
	border-radius: var(--vg-radius-sm);
	padding: 6px 10px;
	font-size: 12px;
}

/* =========================
   SHOP-RELATED UI
   ========================= */
.cc-color-override-1332973529.cc-window {
	display: none;
}

.wc_stripe_cart_payment_methods .active {
	width: auto;
}

/* =========================
   SINGLE PRODUCT
   top gap only + full width
   ========================= */
.single-product .site-main {
	padding-top: 34px !important;
}

.single-product .site-content,
.single-product .content-area,
.single-product .woocommerce,
.single-product div.product {
	width: 100% !important;
	max-width: none !important;
}

/* =========================
   HOME PAGE PRODUCT GRID
   ========================= */
.home .woocommerce ul.products,
.home ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* =========================
   CHECKOUT PAGE
   small outer padding + smaller buttons
   ========================= */
.woocommerce-checkout .site-main {
	padding-left: 12px !important;
	padding-right: 12px !important;
	box-sizing: border-box;
}

.woocommerce-checkout .content-area,
.woocommerce-checkout .site-content,
.woocommerce-checkout .woocommerce {
	box-sizing: border-box;
}

.woocommerce-checkout form.checkout,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-payment,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .wc-stripe-express-checkout-element,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
	box-sizing: border-box;
}

.woocommerce-checkout h3,
.woocommerce-checkout h4,
.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout #ship-to-different-address label,
.woocommerce-checkout .form-row label {
	line-height: 1.35;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
	min-height: 40px;
	padding: 8px 12px !important;
	font-size: 14px !important;
	border-radius: 6px;
	box-sizing: border-box;
}

.woocommerce-checkout textarea {
	min-height: 96px;
}

.woocommerce-checkout button,
.woocommerce-checkout .button,
.woocommerce-checkout a.button,
.woocommerce-checkout input[type="submit"],
.woocommerce-checkout #place_order,
.woocommerce-checkout .wc-block-components-button,
.woocommerce-checkout .checkout-button,
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
	min-height: 38px !important;
	padding: 8px 14px !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
	border-radius: 999px !important;
}

.woocommerce-checkout #place_order {
	min-height: 40px !important;
	font-size: 12px !important;
}

.woocommerce-checkout .wc-stripe-express-checkout-element,
.woocommerce-checkout .wc-stripe-payment-request-wrapper,
.woocommerce-checkout .payment_methods {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.woocommerce-checkout .payment_request-button,
.woocommerce-checkout .google-pay-button,
.woocommerce-checkout .apple-pay-button,
.woocommerce-checkout .wc-stripe-express-checkout-element button,
.woocommerce-checkout .wc-stripe-payment-request-button {
	min-height: 40px !important;
	max-height: 42px !important;
	height: 42px !important;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message {
	padding-left: 12px !important;
	padding-right: 12px !important;
}

/* =========================
   HEADER MOBILE TWEAKS
   ========================= */
@media (max-width: 767px) {
	.has-inline-mobile-toggle .inside-header {
		flex-wrap: nowrap;
		padding: 10px 1px 0;
	}

	.site-logo {
		display: inline-block;
		max-width: 36%;
	}

	.site-branding-container {
		width: 130px;
	}

	.header-wrap .site-header {
		padding-left: 5px;
		padding-right: 5px;
	}

	.has-inline-mobile-toggle .header-widget,
	.has-inline-mobile-toggle #site-navigation {
		flex-basis: auto;
	}

	.site-header .header-widget {
		margin-top: 0;
	}
}

/* =========================
   TABLET
   ========================= */
@media (max-width: 1024px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.home .woocommerce ul.products,
	.home ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* =========================
   MOBILE SHOP / MOBILE GLOBAL
   ========================= */
@media (max-width: 767px) {
	.page:not(.home) .site-main,
	.single-post .site-main,
	.blog .site-main,
	.archive .site-main,
	.search .site-main {
		padding-top: var(--vg-page-top-gap-mobile) !important;
	}

	.post-type-archive-product .site-main,
	.tax-product_cat .site-main,
	.tax-product_tag .site-main {
		padding: 16px 0 26px !important;
	}

	.post-type-archive-product .content-area,
	.tax-product_cat .content-area,
	.tax-product_tag .content-area {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.home .woocommerce ul.products,
	.home ul.products {
		grid-template-columns: 1fr !important;
		gap: var(--vg-gap-mobile) !important;
	}

	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.home ul.products li.product {
		padding: var(--vg-card-pad-mobile) !important;
		border-radius: var(--vg-radius-lg);
	}

	.woocommerce ul.products li.product .woocommerce-loop-product__title,
	.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
	.home ul.products li.product .woocommerce-loop-product__title,
	.home ul.products li.product h2 {
		min-height: 2.6em !important;
		font-size: var(--vg-title-font-mobile);
	}

	.woocommerce ul.products li.product .price,
	.woocommerce-page ul.products li.product .price,
	.home ul.products li.product .price {
		font-size: var(--vg-price-font-mobile);
	}

	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product a.button,
	.woocommerce-page ul.products li.product .button,
	.woocommerce-page ul.products li.product a.button,
	.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
	.button.product_type_variable,
	.home ul.products li.product .button,
	.home ul.products li.product a.button,
	button:not(.menu-toggle),
	html input[type="button"],
	input[type="reset"],
	input[type="submit"],
	.button,
	.wp-block-button .wp-block-button__link {
		font-size: var(--vg-btn-font-mobile) !important;
	}

	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product a.button,
	.woocommerce-page ul.products li.product .button,
	.woocommerce-page ul.products li.product a.button,
	.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
	.button.product_type_variable,
	.home ul.products li.product .button,
	.home ul.products li.product a.button {
		min-height: var(--vg-btn-min-h-mobile) !important;
		padding: 8px 10px !important;
	}

	.single-product .site-main {
		padding-top: 22px !important;
	}

	.woocommerce-checkout .site-main {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.woocommerce-checkout input.input-text,
	.woocommerce-checkout select,
	.woocommerce-checkout textarea {
		min-height: 38px;
		padding: 7px 10px !important;
		font-size: 13px !important;
	}

	.woocommerce-checkout button,
	.woocommerce-checkout .button,
	.woocommerce-checkout a.button,
	.woocommerce-checkout input[type="submit"],
	.woocommerce-checkout #place_order,
	.woocommerce-checkout .wc-block-components-button,
	.woocommerce-checkout .checkout-button,
	.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
		min-height: 34px !important;
		padding: 7px 12px !important;
		font-size: 11px !important;
	}

	.woocommerce-checkout #place_order {
		min-height: 38px !important;
	}

	.woocommerce-checkout .payment_request-button,
	.woocommerce-checkout .google-pay-button,
	.woocommerce-checkout .apple-pay-button,
	.woocommerce-checkout .wc-stripe-express-checkout-element button,
	.woocommerce-checkout .wc-stripe-payment-request-button {
		height: 38px !important;
		min-height: 38px !important;
		max-height: 38px !important;
	}

	img {
		height: auto;
		max-width: 100%;
	}
}

/* =========================================================
   VALLETTA GLASS SAFE PERFORMANCE ADD-ON
   Does NOT change layout, cards, buttons, product grid, spacing, or design
   ========================================================= */

/* Prevent tiny horizontal overflow caused by sliders, shadows, or wide elements */
html,
body {
	overflow-x: clip;
}

@supports not (overflow: clip) {
	html,
	body {
		overflow-x: hidden;
	}
}

/* Safe responsive media handling */
img,
picture,
video,
canvas {
	max-width: 100%;
}

img {
	height: auto;
}

/* Prevent layout issues from logos/header images without changing their design */
.site-header img,
.site-logo img,
.custom-logo,
.header-widget img {
	height: auto;
	max-width: 100%;
}

/* Faster mobile tap response, no visual change */
a,
button,
.button,
input[type="button"],
input[type="submit"],
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button {
	touch-action: manipulation;
}

/* Prevent payment widgets from causing micro layout jumps */
.wc-stripe-express-checkout-element,
.wc-stripe-payment-request-wrapper,
.payment_methods,
.woocommerce-checkout-review-order-table,
.woocommerce-checkout-payment {
	min-height: 1px;
}

/* Remove tap highlight flash on mobile without changing layout */
.main-navigation a,
.site-header a,
.header-widget a,
.menu-toggle,
.woocommerce a.button,
.woocommerce button.button,
.button {
	-webkit-tap-highlight-color: transparent;
}

/* Accessibility/performance only for users/devices requesting reduced motion */
@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product,
	.woocommerce-page ul.products li.product,
	.home ul.products li.product,
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product a.button,
	.woocommerce-page ul.products li.product .button,
	.woocommerce-page ul.products li.product a.button,
	.home ul.products li.product .button,
	.home ul.products li.product a.button {
		transition: none !important;
	}
}
/* VG footer stats banner fix — remove background image that 404s on the homepage (2026-09-07) */
html body.home .site-footer .gb-element-e67e2e39,
html body.home .site-footer > .gb-element-e67e2e39 { background-image: none !important; }

