body.vs-product-page {
	--vs-ink:#2b190f;
	--vs-muted:#756a62;
	--vs-orange:#f2661b;
	--vs-orange-dark:#dd5611;
	--vs-beige:#f7efe5;
	--vs-line:#ece5de;
	background:var(--vs-beige);
}

body.vs-product-page #content,
body.vs-product-page .site-content {
	background:var(--vs-beige) !important;
}

body.vs-product-page .ast-container {
	max-width:1360px !important;
}

body.vs-product-page .site-main,
body.vs-product-page div.product {
	background:transparent !important;
}

body.vs-product-page .woocommerce-notices-wrapper {
	max-width:1320px;
	margin:0 auto;
}

/* Kill default Woo/Astra product composition */
body.vs-product-page div.product > .woocommerce-product-gallery,
body.vs-product-page div.product > .summary,
body.vs-product-page .woocommerce-tabs,
body.vs-product-page .product_meta,
body.vs-product-page .ast-woo-product-category,
body.vs-product-page .woocommerce-product-rating {
	display:none !important;
}

/* Main deterministic shell */
body.vs-product-page .vs-product-shell {
	max-width:1320px;
	margin:28px auto 36px;
	padding:34px;
	background:#fff;
	border-radius:10px;
}

body.vs-product-page .vs-product-grid {
	display:grid;
	grid-template-columns:minmax(0, 1.14fr) minmax(380px, .86fr);
	gap:44px;
	align-items:start;
}

/* Gallery */
body.vs-product-page .vs-product-gallery .woocommerce-product-gallery {
	width:100% !important;
	float:none !important;
	margin:0 !important;
}

body.vs-product-page .vs-product-gallery .woocommerce-product-gallery__image img {
	background:#f7f7f5;
}

body.vs-product-page .vs-product-gallery .flex-control-thumbs {
	display:flex !important;
	flex-wrap:wrap;
	gap:10px;
	margin-top:12px !important;
}

body.vs-product-page .vs-product-gallery .flex-control-thumbs li {
	float:none !important;
	width:88px !important;
	max-width:88px;
}

/* Summary */
body.vs-product-page .vs-product-summary {
	color:var(--vs-ink);
	padding-top:6px;
}

body.vs-product-page .vs-product-brand {
	margin:0 0 10px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:12px;
	font-weight:700;
	line-height:1.2;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:var(--vs-orange);
}

body.vs-product-page .vs-product-title {
	margin:0 0 14px;
	font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size:48px;
	font-weight:500;
	line-height:.98;
	letter-spacing:-.025em;
	color:var(--vs-ink);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

body.vs-product-page .vs-product-price {
	margin:0 0 15px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:27px;
	font-weight:600;
	line-height:1.2;
	color:var(--vs-ink);
}

body.vs-product-page .vs-product-price .price,
body.vs-product-page .vs-product-price ins,
body.vs-product-page .vs-product-price del {
	color:inherit;
}

body.vs-product-page .vs-product-intro {
	max-width:560px;
	margin:0 0 14px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:15px;
	line-height:1.58;
	color:#51463f;
}

body.vs-product-page .vs-product-intro p {
	margin:0;
}

body.vs-product-page .vs-availability {
	display:flex;
	align-items:center;
	gap:8px;
	margin:0 0 20px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:14px;
	font-weight:600;
	color:#4e734b;
}

body.vs-product-page .vs-availability.vs-sold {
	color:#8b4a43;
}

body.vs-product-page .vs-stock-dot {
	width:8px;
	height:8px;
	border-radius:50%;
	background:#5e8a59;
	display:inline-block;
}

/* Details */
body.vs-product-page .vs-product-details {
	margin:0 0 22px;
	border-top:1px solid var(--vs-line);
	border-bottom:1px solid var(--vs-line);
}

body.vs-product-page .vs-details-heading {
	padding:12px 0 8px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	color:#8b7b70;
}

body.vs-product-page .vs-product-detail-row {
	display:grid;
	grid-template-columns:135px 1fr;
	gap:20px;
	padding:11px 0;
	border-top:1px solid var(--vs-line);
	font-family:Arial, Helvetica, sans-serif;
	font-size:15px;
	line-height:1.35;
}

body.vs-product-page .vs-product-detail-label {
	font-weight:600;
	color:var(--vs-ink);
}

body.vs-product-page .vs-product-detail-value {
	color:#554a43;
}

/* Main CTA */
body.vs-product-page .vs-cart-zone form.cart {
	margin:0 !important;
	width:100%;
}

body.vs-product-page .vs-cart-zone form.cart .single_add_to_cart_button {
	width:100%;
	min-height:56px;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:13px 28px !important;
	border-radius:6px;
	background:var(--vs-orange) !important;
	color:#fff !important;
	font-size:16px !important;
	font-weight:700 !important;
	box-shadow:none !important;
}

body.vs-product-page .vs-cart-zone form.cart .single_add_to_cart_button:hover {
	background:var(--vs-orange-dark) !important;
}

/* Express payment note */
body.vs-product-page .vs-express-note {
	display:flex;
	flex-direction:column;
	gap:4px;
	margin:14px 0 18px;
	padding:12px 14px;
	border:1px solid var(--vs-line);
	border-radius:6px;
	background:#fcfaf7;
	font-family:Arial, Helvetica, sans-serif;
}

body.vs-product-page .vs-express-label {
	font-size:10.5px;
	font-weight:700;
	letter-spacing:.11em;
	color:#8b7b70;
}

body.vs-product-page .vs-express-copy {
	font-size:12.5px;
	line-height:1.4;
	color:#6b5c52;
}

/* Trust */
body.vs-product-page .vs-trust-signals {
	display:grid;
	grid-template-columns:1fr 1fr;
	margin:0;
	border:1px solid var(--vs-line);
	border-radius:8px;
	overflow:hidden;
	background:#fbf7f2;
}

body.vs-product-page .vs-trust-item {
	display:flex;
	align-items:flex-start;
	gap:10px;
	min-height:78px;
	padding:16px 18px;
	border-right:1px solid var(--vs-line);
	border-bottom:1px solid var(--vs-line);
	font-family:Arial, Helvetica, sans-serif;
}

body.vs-product-page .vs-trust-item:nth-child(2n) {
	border-right:0;
}

body.vs-product-page .vs-trust-item:nth-last-child(-n+2) {
	border-bottom:0;
}

body.vs-product-page .vs-trust-icon {
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 22px;
	width:22px;
	height:22px;
	border-radius:50%;
	background:#f9e4d5;
	color:var(--vs-orange);
	font-weight:800;
}

body.vs-product-page .vs-trust-item strong,
body.vs-product-page .vs-trust-item small {
	display:block;
}

body.vs-product-page .vs-trust-item strong {
	margin-bottom:4px;
	color:var(--vs-ink);
	font-size:14px;
}

body.vs-product-page .vs-trust-item small {
	color:var(--vs-muted);
	font-size:12.5px;
	line-height:1.35;
}

/* VintySplit difference */
body.vs-product-page .vs-difference {
	clear:both;
	max-width:1320px;
	margin:0 auto 36px;
	padding:44px 42px 40px;
	background:var(--vs-beige);
	border:1px solid #eadfd4;
}

body.vs-product-page .vs-difference-inner {
	max-width:1180px;
	margin:0 auto;
}

body.vs-product-page .vs-difference-intro {
	max-width:720px;
	margin:0 auto 28px;
	text-align:center;
}

body.vs-product-page .vs-difference-kicker {
	display:block;
	margin-bottom:10px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	color:var(--vs-orange);
}

body.vs-product-page .vs-difference h2 {
	margin:0 0 12px;
	font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size:38px;
	font-weight:500;
	line-height:1.05;
	letter-spacing:-.02em;
	color:var(--vs-ink);
}

body.vs-product-page .vs-difference-intro p {
	margin:0;
	font-size:15px;
	line-height:1.6;
	color:#65584f;
}

body.vs-product-page .vs-difference-points {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px;
	margin:0 0 22px;
}

body.vs-product-page .vs-difference-point {
	display:flex;
	align-items:flex-start;
	gap:13px;
	padding:20px;
	background:rgba(255,255,255,.72);
	border:1px solid rgba(86,59,42,.10);
	border-radius:8px;
}

body.vs-product-page .vs-difference-number {
	display:flex;
	align-items:center;
	justify-content:center;
	flex:0 0 28px;
	width:28px;
	height:28px;
	border-radius:50%;
	background:#f8dfcd;
	color:var(--vs-orange);
	font-weight:800;
}

body.vs-product-page .vs-difference-point strong {
	display:block;
	margin-bottom:4px;
	font-size:14px;
	color:var(--vs-ink);
}

body.vs-product-page .vs-difference-point p {
	margin:0;
	font-size:13px;
	line-height:1.45;
	color:#6b5c52;
}

body.vs-product-page .vs-difference-link {
	display:flex;
	width:max-content;
	margin:0 auto;
	padding:13px 20px;
	border:1px solid rgba(43,25,15,.18);
	border-radius:6px;
	color:var(--vs-ink);
	font-size:14px;
	font-weight:600;
	text-decoration:none !important;
	background:#fff;
}

body.vs-product-page .vs-difference-link:hover {
	border-color:var(--vs-orange);
	color:var(--vs-orange);
}

/* Related products */
body.vs-product-page section.related.products {
	clear:both;
	max-width:1320px;
	margin:0 auto 36px;
	padding:0 0 14px;
}

body.vs-product-page section.related.products > h2 {
	margin:0 0 24px;
	font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size:34px;
	font-weight:500;
	color:var(--vs-ink);
}

@media(max-width:921px) {
	body.vs-product-page .ast-container {
		max-width:100% !important;
	}

	body.vs-product-page .vs-product-shell {
		margin-top:18px;
		padding:24px;
		border-radius:0;
	}

	body.vs-product-page .vs-product-grid {
		grid-template-columns:1fr;
		gap:28px;
	}

	body.vs-product-page .vs-product-title {
		font-size:38px;
	}

	body.vs-product-page .vs-difference {
		margin-left:0;
		margin-right:0;
		padding:42px 24px;
	}

	body.vs-product-page .vs-difference-points {
		grid-template-columns:1fr;
	}
}

@media(max-width:544px) {
	body.vs-product-page .vs-product-shell {
		padding:18px 16px;
	}

	body.vs-product-page .vs-product-title {
		font-size:32px;
	}

	body.vs-product-page .vs-product-detail-row {
		grid-template-columns:105px 1fr;
		gap:12px;
	}

	body.vs-product-page .vs-trust-signals {
		grid-template-columns:1fr;
	}

	body.vs-product-page .vs-trust-item,
	body.vs-product-page .vs-trust-item:nth-child(2n),
	body.vs-product-page .vs-trust-item:nth-last-child(-n+2) {
		border-right:0;
		border-bottom:1px solid var(--vs-line);
	}

	body.vs-product-page .vs-trust-item:last-child {
		border-bottom:0;
	}

	body.vs-product-page .vs-difference {
		padding:36px 16px;
	}

	body.vs-product-page .vs-difference h2 {
		font-size:32px;
	}
}


/* =========================================
   VintySplit product page hotfix — 0.3.1
   ========================================= */

/* Astra's own stock line is redundant; our green One available sits above. */
body.vs-product-page .vs-cart-zone .ast-stock-detail,
body.vs-product-page .vs-cart-zone .stock {
	display:none !important;
}

/* Make Add to Bag and all express checkout rows share identical edges. */
body.vs-product-page .vs-cart-zone,
body.vs-product-page .vs-cart-zone form.cart,
body.vs-product-page .vs-cart-zone form.cart .single_add_to_cart_button,
body.vs-product-page .vs-cart-zone .wc-stripe-express-checkout-element,
body.vs-product-page .vs-cart-zone .wc-stripe-express-checkout-element > *,
body.vs-product-page .vs-cart-zone .wc-stripe-product-checkout-container,
body.vs-product-page .vs-cart-zone .wc-stripe-product-checkout-container > *,
body.vs-product-page .vs-cart-zone .wc-stripe-product-checkout,
body.vs-product-page .vs-cart-zone .wc-stripe-product-checkout > *,
body.vs-product-page .vs-cart-zone .wcpay-payment-request-wrapper,
body.vs-product-page .vs-cart-zone .wcpay-payment-request-wrapper > *,
body.vs-product-page .vs-cart-zone .amazon-payments-pay-button,
body.vs-product-page .vs-cart-zone .amazon-payments-pay-button > *,
body.vs-product-page .vs-cart-zone .wc-amazon-payments-advanced-populated,
body.vs-product-page .vs-cart-zone .wc-amazon-payments-advanced-populated > * {
	width:100% !important;
	max-width:100% !important;
	box-sizing:border-box !important;
	margin-left:0 !important;
	margin-right:0 !important;
	padding-left:0 !important;
	padding-right:0 !important;
}

/* Gateway wrappers should sit neatly under the main CTA. */
body.vs-product-page .vs-cart-zone .wc-stripe-express-checkout-element,
body.vs-product-page .vs-cart-zone .wc-stripe-product-checkout-container,
body.vs-product-page .vs-cart-zone .wc-stripe-product-checkout,
body.vs-product-page .vs-cart-zone .wcpay-payment-request-wrapper,
body.vs-product-page .vs-cart-zone .amazon-payments-pay-button,
body.vs-product-page .vs-cart-zone .wc-amazon-payments-advanced-populated {
	clear:both !important;
	display:block !important;
	margin-top:10px !important;
}

/* Remove the now-redundant explanatory express checkout box if cached markup remains. */
body.vs-product-page .vs-express-note {
	display:none !important;
}


/* Product category breadcrumb — 0.3.3 */
body.vs-product-page .vs-product-category {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:6px;
	margin:0 0 12px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:11px;
	font-weight:600;
	line-height:1.2;
	letter-spacing:.06em;
	text-transform:uppercase;
	color:#8b7b70;
}

body.vs-product-page .vs-category-separator {
	color:#c5b8ad;
	font-weight:400;
}


/* =========================================
   VintySplit Shop & Category Archives — 0.4.0
   ========================================= */

body.vs-shop-archive {
	--vs-ink:#2b190f;
	--vs-muted:#756a62;
	--vs-orange:#f2661b;
	--vs-orange-dark:#dd5611;
	--vs-beige:#f7efe5;
	--vs-line:#ece5de;
}

body.vs-shop-archive #content,
body.vs-shop-archive .site-content {
	background:var(--vs-beige) !important;
}

body.vs-shop-archive .ast-container {
	max-width:1320px !important;
	background:transparent !important;
}

body.vs-shop-archive .site-main {
	background:transparent !important;
}

/* Header */
body.vs-shop-archive .vs-shop-hero {
	padding:58px 0 34px;
	text-align:center;
}

body.vs-shop-archive .vs-shop-hero-inner {
	max-width:820px;
	margin:0 auto;
}

body.vs-shop-archive .vs-shop-kicker {
	display:block;
	margin:0 0 10px;
	font-family:Arial, Helvetica, sans-serif;
	font-size:11px;
	font-weight:700;
	letter-spacing:.13em;
	color:var(--vs-orange);
}

body.vs-shop-archive .vs-shop-hero h1 {
	margin:0 0 13px;
	font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif;
	font-size:54px;
	font-weight:500;
	line-height:.98;
	letter-spacing:-.025em;
	color:var(--vs-ink);
}

body.vs-shop-archive .vs-shop-hero p {
	max-width:620px;
	margin:0 auto 25px;
	font-size:15px;
	line-height:1.6;
	color:#6b5c52;
}

/* Category pills */
body.vs-shop-archive .vs-shop-nav {
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:8px;
}

body.vs-shop-archive .vs-shop-nav a {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:38px;
	padding:8px 16px;
	border:1px solid rgba(43,25,15,.12);
	border-radius:999px;
	background:#fff;
	color:#5f5148;
	font-size:12px;
	font-weight:700;
	letter-spacing:.04em;
	text-decoration:none !important;
	transition:.2s ease;
}

body.vs-shop-archive .vs-shop-nav a:hover,
body.vs-shop-archive .vs-shop-nav a.is-active {
	border-color:var(--vs-orange);
	background:#fff8f2;
	color:var(--vs-orange);
}

/* Result count + sort */
body.vs-shop-archive .vs-shop-controls {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin:0 0 22px;
	padding:0 2px;
}

body.vs-shop-archive .vs-shop-count .woocommerce-result-count {
	margin:0 !important;
	color:#766a61;
	font-size:13px;
}

body.vs-shop-archive .vs-shop-sort .woocommerce-ordering {
	margin:0 !important;
}

body.vs-shop-archive .vs-shop-sort select {
	min-width:190px;
	height:42px;
	padding:0 38px 0 14px;
	border:1px solid rgba(43,25,15,.12);
	border-radius:6px;
	background:#fff;
	color:#4f443d;
	font-size:13px;
}

/* Product grid */
body.vs-shop-archive ul.products {
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:34px 24px !important;
	margin:0 0 52px !important;
}

body.vs-shop-archive ul.products::before,
body.vs-shop-archive ul.products::after {
	display:none !important;
}

body.vs-shop-archive ul.products li.product {
	width:auto !important;
	margin:0 !important;
	padding:0 !important;
	float:none !important;
	background:#fff;
	border:1px solid rgba(43,25,15,.07);
	border-radius:8px;
	overflow:hidden;
	box-shadow:0 8px 24px rgba(60,38,24,.04);
	transition:transform .2s ease, box-shadow .2s ease;
}

body.vs-shop-archive ul.products li.product:hover {
	transform:translateY(-3px);
	box-shadow:0 14px 30px rgba(60,38,24,.08);
}

/* Product image */
body.vs-shop-archive ul.products li.product a.woocommerce-LoopProduct-link {
	display:block;
	color:inherit;
	text-decoration:none !important;
}

body.vs-shop-archive ul.products li.product img {
	width:100% !important;
	aspect-ratio:4 / 5;
	object-fit:cover;
	margin:0 !important;
	background:#f3f2ef;
}

/* Card copy */
body.vs-shop-archive .vs-loop-brand {
	margin:18px 18px 8px;
	color:var(--vs-orange);
	font-size:10.5px;
	font-weight:700;
	line-height:1.2;
	letter-spacing:.11em;
	text-transform:uppercase;
}

body.vs-shop-archive .vs-loop-title {
	margin:0 18px 8px !important;
	padding:0 !important;
	font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
	font-size:25px !important;
	font-weight:500 !important;
	line-height:1.02 !important;
	letter-spacing:-.02em;
	color:var(--vs-ink) !important;
}

body.vs-shop-archive .vs-loop-meta {
	margin:0 18px 8px;
	color:#75695f;
	font-size:12.5px;
	line-height:1.4;
}

body.vs-shop-archive .vs-loop-price {
	margin:0 18px 20px;
	color:var(--vs-ink);
	font-size:17px;
	font-weight:700;
	line-height:1.3;
}

body.vs-shop-archive .vs-loop-price .price {
	color:inherit !important;
}

/* Hide generic archive bits and Add to Cart buttons */
body.vs-shop-archive ul.products li.product .ast-woo-product-category,
body.vs-shop-archive ul.products li.product .button,
body.vs-shop-archive ul.products li.product .add_to_cart_button,
body.vs-shop-archive ul.products li.product .added_to_cart,
body.vs-shop-archive ul.products li.product .star-rating {
	display:none !important;
}

/* Pagination */
body.vs-shop-archive nav.woocommerce-pagination {
	margin:4px 0 50px;
}

body.vs-shop-archive nav.woocommerce-pagination ul {
	border:0 !important;
}

body.vs-shop-archive nav.woocommerce-pagination ul li {
	border:0 !important;
	margin:0 3px;
}

body.vs-shop-archive nav.woocommerce-pagination ul li a,
body.vs-shop-archive nav.woocommerce-pagination ul li span {
	min-width:38px;
	height:38px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background:#fff;
	color:#5d5048;
	font-size:13px;
}

body.vs-shop-archive nav.woocommerce-pagination ul li span.current,
body.vs-shop-archive nav.woocommerce-pagination ul li a:hover {
	background:var(--vs-orange);
	color:#fff;
}

/* Tablet */
@media(max-width:900px) {
	body.vs-shop-archive .vs-shop-hero {
		padding:44px 20px 28px;
	}

	body.vs-shop-archive .vs-shop-hero h1 {
		font-size:46px;
	}

	body.vs-shop-archive ul.products {
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
		gap:26px 18px !important;
	}
}

/* Mobile */
@media(max-width:600px) {
	body.vs-shop-archive .vs-shop-hero {
		padding:34px 16px 24px;
	}

	body.vs-shop-archive .vs-shop-hero h1 {
		font-size:40px;
	}

	body.vs-shop-archive .vs-shop-controls {
		flex-direction:column;
		align-items:stretch;
	}

	body.vs-shop-archive .vs-shop-sort select {
		width:100%;
	}

	body.vs-shop-archive ul.products {
		grid-template-columns:1fr !important;
		gap:22px !important;
	}

	body.vs-shop-archive .vs-loop-title {
		font-size:27px !important;
	}
}


/* =========================================
   VintySplit Shop polish — 0.4.1
   ========================================= */

/* Shop/category headers use the same readable white header as product pages */
body.vs-shop-archive #masthead .ast-primary-header-bar {
	background:#fff !important;
	border-bottom:1px solid rgba(43,25,15,.10) !important;
}

body.vs-shop-archive #masthead .site-logo-img img,
body.vs-shop-archive #masthead img.custom-logo {
	filter:brightness(0) !important;
	opacity:1 !important;
}

body.vs-shop-archive #masthead .site-header-primary-section-right a,
body.vs-shop-archive #masthead .main-header-menu .menu-link {
	color:#2b190f !important;
	opacity:1 !important;
}

body.vs-shop-archive #masthead .site-header-primary-section-right a:hover,
body.vs-shop-archive #masthead .main-header-menu .menu-link:hover {
	color:#f2661b !important;
}

/* Use our high-resolution archive image without theme thumbnail degradation */
body.vs-shop-archive ul.products li.product img.vs-loop-image {
	width:100% !important;
	height:auto !important;
	aspect-ratio:4 / 5;
	object-fit:cover;
	margin:0 !important;
	display:block;
	image-rendering:auto;
}

/* Hide any Astra/Woo duplicate title/price output that survives theme hooks */
body.vs-shop-archive ul.products li.product > .woocommerce-loop-product__title:not(.vs-loop-title),
body.vs-shop-archive ul.products li.product > .price,
body.vs-shop-archive ul.products li.product .astra-shop-summary-wrap > .woocommerce-loop-product__title:not(.vs-loop-title),
body.vs-shop-archive ul.products li.product .astra-shop-summary-wrap > .price {
	display:none !important;
}

/* Slightly stronger card typography */
body.vs-shop-archive .vs-loop-title {
	font-size:27px !important;
	margin-bottom:10px !important;
}

/* Condition + size styling */
body.vs-shop-archive .vs-loop-meta {
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	gap:8px;
	margin:0 18px 11px;
}

body.vs-shop-archive .vs-loop-condition {
	color:#75695f;
	font-size:12.5px;
	line-height:1.35;
}

body.vs-shop-archive .vs-loop-size {
	display:inline-flex;
	align-items:center;
	min-height:25px;
	padding:4px 9px;
	border-radius:999px;
	background:#f7efe5;
	border:1px solid rgba(43,25,15,.08);
	color:#4f4037;
	font-size:11.5px;
	font-weight:700;
	line-height:1;
}

/* Slightly tighter hero on wide screens */
body.vs-shop-archive .vs-shop-hero {
	padding-top:46px;
}


/* =========================================
   VintySplit Shop duplicate cleanup — 0.4.2
   ========================================= */

/* Our custom card owns the title/price. Hide Astra/Woo leftovers outside it. */
body.vs-shop-archive ul.products li.product > h2.woocommerce-loop-product__title,
body.vs-shop-archive ul.products li.product > .woocommerce-loop-product__title,
body.vs-shop-archive ul.products li.product > .price,
body.vs-shop-archive ul.products li.product .astra-shop-summary-wrap > h2.woocommerce-loop-product__title,
body.vs-shop-archive ul.products li.product .astra-shop-summary-wrap > .woocommerce-loop-product__title,
body.vs-shop-archive ul.products li.product .astra-shop-summary-wrap > .price,
body.vs-shop-archive ul.products li.product .ast-loop-product__link + h2,
body.vs-shop-archive ul.products li.product .ast-loop-product__link + .price {
	display:none !important;
}

/* Keep our own title/price visible */
body.vs-shop-archive ul.products li.product .vs-loop-title,
body.vs-shop-archive ul.products li.product .vs-loop-price {
	display:block !important;
}


/* =========================================
   VintySplit Shop Astra summary cleanup — 0.4.3
   ========================================= */

/*
 * Astra wraps its own category/title/price/add-to-cart output inside
 * .astra-shop-summary-wrap. VintySplit already renders a complete custom
 * card summary, so the Astra wrapper should not render at all.
 */
body.vs-shop-archive ul.products li.product > .astra-shop-summary-wrap {
	display:none !important;
}


/* =========================================
   VintySplit Shop card alignment — 0.4.4
   ========================================= */

/* Make every card fill its grid cell and let the product link control vertical layout. */
body.vs-shop-archive ul.products li.product {
	display:flex !important;
	flex-direction:column;
	height:100%;
}

body.vs-shop-archive ul.products li.product > a.woocommerce-LoopProduct-link {
	display:flex !important;
	flex-direction:column;
	flex:1 1 auto;
	height:100%;
}

/* Image remains at the top; copy below can flex naturally. */
body.vs-shop-archive ul.products li.product img.vs-loop-image {
	flex:0 0 auto;
}

/* Keep the price pinned to the bottom-left of each card. */
body.vs-shop-archive .vs-loop-price {
	margin:0 18px 20px !important;
	margin-top:auto !important;
	padding-top:12px;
	text-align:left;
}

/* Avoid an unusually short title/meta block making one card look compressed. */
body.vs-shop-archive .vs-loop-meta {
	min-height:26px;
}


/* =========================================
   VintySplit Shop card structure — 0.4.5
   ========================================= */

/*
 * The text area is now its own flex panel. This makes the card height
 * deterministic and lets the price genuinely sit at the bottom-left.
 */
body.vs-shop-archive ul.products {
	align-items:stretch !important;
}

body.vs-shop-archive ul.products li.product {
	height:100% !important;
}

body.vs-shop-archive ul.products li.product > a.woocommerce-LoopProduct-link {
	display:flex !important;
	flex-direction:column !important;
	height:100% !important;
}

body.vs-shop-archive .vs-loop-content {
	display:flex;
	flex-direction:column;
	flex:1 1 auto;
	min-height:190px;
	padding:18px 18px 20px;
	background:#fff;
}

/* Remove old per-element horizontal margins because the wrapper now owns padding. */
body.vs-shop-archive .vs-loop-brand,
body.vs-shop-archive .vs-loop-title,
body.vs-shop-archive .vs-loop-meta,
body.vs-shop-archive .vs-loop-price {
	margin-left:0 !important;
	margin-right:0 !important;
}

body.vs-shop-archive .vs-loop-brand {
	margin-top:0 !important;
}

body.vs-shop-archive .vs-loop-title {
	margin-bottom:10px !important;
}

body.vs-shop-archive .vs-loop-meta {
	margin-bottom:10px !important;
	min-height:27px;
}

/* This is now a real bottom pin, not a visual approximation. */
body.vs-shop-archive .vs-loop-price {
	margin-top:auto !important;
	margin-bottom:0 !important;
	padding-top:12px;
	text-align:left;
}

/* Avoid excessive empty space while keeping cards aligned. */
@media(max-width:900px) {
	body.vs-shop-archive .vs-loop-content {
		min-height:180px;
	}
}

@media(max-width:600px) {
	body.vs-shop-archive .vs-loop-content {
		min-height:0;
	}
}


/* =========================================
   VintySplit Shop category cues — 0.4.6
   ========================================= */

body.vs-shop-archive .vs-loop-category-row {
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;
	margin:0 0 10px;
	font-family:Arial, Helvetica, sans-serif;
}

body.vs-shop-archive .vs-loop-audience {
	display:inline-flex;
	align-items:center;
	min-height:23px;
	padding:4px 8px;
	border-radius:999px;
	font-size:10px;
	font-weight:800;
	line-height:1;
	letter-spacing:.08em;
	text-transform:uppercase;
	border:1px solid transparent;
}

/* Subtle visual distinction by audience */
body.vs-shop-archive .vs-loop-audience--women {
	background:#f9eee9;
	border-color:#efd9cf;
	color:#9a5945;
}

body.vs-shop-archive .vs-loop-audience--men {
	background:#edf1f4;
	border-color:#d9e0e5;
	color:#4f6471;
}

body.vs-shop-archive .vs-loop-audience--children {
	background:#f3efe4;
	border-color:#e5ddc9;
	color:#786847;
}

body.vs-shop-archive .vs-loop-category-detail {
	color:#8b7b70;
	font-size:10.5px;
	font-weight:700;
	line-height:1.2;
	letter-spacing:.05em;
	text-transform:uppercase;
}

/* Brand remains the orange luxury cue beneath category */
body.vs-shop-archive .vs-loop-brand {
	margin-bottom:7px !important;
}


/* =========================================
   VintySplit Shop price alignment — 0.4.7
   ========================================= */

body.vs-shop-archive ul.products li.product > a.woocommerce-LoopProduct-link {
	display:flex !important;
	flex-direction:column !important;
	height:100% !important;
}

body.vs-shop-archive .vs-loop-content {
	display:grid !important;
	grid-template-rows:
		auto
		auto
		minmax(58px, auto)
		minmax(30px, auto)
		1fr
		auto;
	height:100% !important;
	min-height:215px !important;
	align-content:stretch;
}

body.vs-shop-archive .vs-loop-title {
	min-height:58px;
}

body.vs-shop-archive .vs-loop-meta {
	min-height:30px;
	margin-bottom:0 !important;
}

body.vs-shop-archive .vs-loop-price {
	align-self:end;
	margin:0 !important;
	padding-top:12px !important;
}

@media(max-width:900px) {
	body.vs-shop-archive .vs-loop-content {
		min-height:205px !important;
	}
}

@media(max-width:600px) {
	body.vs-shop-archive .vs-loop-content {
		min-height:0 !important;
		grid-template-rows:auto;
	}

	body.vs-shop-archive .vs-loop-title,
	body.vs-shop-archive .vs-loop-meta {
		min-height:0;
	}
}


/* =========================================
   VintySplit Cart / Checkout / Account — 0.6.0
   ========================================= */

body.vs-commerce-page{
	--vs-ink:#2b190f;
	--vs-muted:#74685f;
	--vs-orange:#f2661b;
	--vs-orange-dark:#dd5611;
	--vs-beige:#f7efe5;
	--vs-soft:#faf6f0;
	--vs-line:#e7ddd4;
}

/* Match the polished product/shop header */
body.vs-commerce-page #masthead .ast-primary-header-bar{
	background:#fff !important;
	border-bottom:1px solid rgba(43,25,15,.10) !important;
}

body.vs-commerce-page #masthead .site-logo-img img,
body.vs-commerce-page #masthead img.custom-logo{
	filter:brightness(0) !important;
	opacity:1 !important;
}

body.vs-commerce-page #masthead .site-header-primary-section-right a,
body.vs-commerce-page #masthead .main-header-menu .menu-link{
	color:var(--vs-ink) !important;
	opacity:1 !important;
}

body.vs-commerce-page #masthead .site-header-primary-section-right a:hover,
body.vs-commerce-page #masthead .main-header-menu .menu-link:hover{
	color:var(--vs-orange) !important;
}

/* Beige only around the commerce panel */
body.vs-commerce-page #content,
body.vs-commerce-page .site-content{
	background:var(--vs-beige) !important;
}

body.vs-commerce-page .site-content > .ast-container,
body.vs-commerce-page #primary,
body.vs-commerce-page .site-main{
	background:transparent !important;
}

body.vs-commerce-page .site-main{
	max-width:1240px;
	margin:0 auto !important;
	padding:56px 30px 74px !important;
}

/* Main white shell */
body.vs-commerce-page article.page,
body.vs-commerce-page article.type-page{
	background:#fff !important;
	border:1px solid rgba(43,25,15,.06);
	border-radius:10px;
	box-shadow:0 12px 34px rgba(60,38,24,.045);
	padding:44px 48px 52px !important;
}

body.vs-commerce-page .entry-header{
	margin:0 0 30px !important;
}

body.vs-commerce-page .entry-title{
	margin:0 !important;
	font-family:"Cormorant Garamond", Georgia, "Times New Roman", serif !important;
	font-size:48px !important;
	font-weight:500 !important;
	line-height:1 !important;
	letter-spacing:-.03em !important;
	color:var(--vs-ink) !important;
}

/* Forms */
body.vs-commerce-page input[type="text"],
body.vs-commerce-page input[type="email"],
body.vs-commerce-page input[type="tel"],
body.vs-commerce-page input[type="password"],
body.vs-commerce-page input[type="number"],
body.vs-commerce-page select,
body.vs-commerce-page textarea{
	border:1px solid #dcd3cb !important;
	border-radius:6px !important;
	background:#fff !important;
	color:var(--vs-ink) !important;
	min-height:46px;
	box-shadow:none !important;
}

body.vs-commerce-page input:focus,
body.vs-commerce-page select:focus,
body.vs-commerce-page textarea:focus{
	border-color:#c79577 !important;
	outline:0 !important;
	box-shadow:0 0 0 2px rgba(242,102,27,.08) !important;
}

/* Buttons */
body.vs-commerce-page .button,
body.vs-commerce-page button.button,
body.vs-commerce-page input.button,
body.vs-commerce-page .wc-proceed-to-checkout a.checkout-button{
	border-radius:6px !important;
	background:var(--vs-orange) !important;
	color:#fff !important;
	border:1px solid var(--vs-orange) !important;
	font-weight:700 !important;
	text-decoration:none !important;
	transition:.2s ease;
}

body.vs-commerce-page .button:hover,
body.vs-commerce-page button.button:hover,
body.vs-commerce-page input.button:hover,
body.vs-commerce-page .wc-proceed-to-checkout a.checkout-button:hover{
	background:var(--vs-orange-dark) !important;
	border-color:var(--vs-orange-dark) !important;
}

/* CART */
body.vs-cart-page .woocommerce{
	display:grid;
	grid-template-columns:minmax(0,1.7fr) minmax(340px,.8fr);
	gap:34px;
	align-items:start;
}

body.vs-cart-page .woocommerce-notices-wrapper,
body.vs-cart-page .woocommerce-cart-form{
	grid-column:1;
}

body.vs-cart-page .cart-collaterals{
	grid-column:2;
	grid-row:1 / span 2;
	width:100% !important;
	margin:0 !important;
}

body.vs-cart-page .cart-collaterals .cart_totals{
	width:100% !important;
	float:none !important;
	margin:0 !important;
	padding:28px;
	border:1px solid var(--vs-line);
	border-radius:8px;
	background:var(--vs-soft);
}

body.vs-cart-page .cart-collaterals h2{
	margin:0 0 20px;
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:30px;
	font-weight:500;
	color:var(--vs-ink);
}

body.vs-cart-page table.shop_table{
	border:1px solid var(--vs-line) !important;
	border-radius:8px !important;
	border-collapse:separate !important;
	border-spacing:0 !important;
	overflow:hidden;
	background:#fff;
}

body.vs-cart-page table.shop_table th{
	background:var(--vs-soft);
	color:var(--vs-ink);
	font-weight:700;
	border-color:var(--vs-line) !important;
	padding:16px 18px !important;
}

body.vs-cart-page table.shop_table td{
	background:#fff !important;
	border-color:var(--vs-line) !important;
	padding:18px !important;
	vertical-align:middle;
}

body.vs-cart-page .product-thumbnail img{
	width:72px !important;
	height:88px !important;
	object-fit:cover;
	border-radius:4px;
}

body.vs-cart-page .product-name a{
	color:var(--vs-ink) !important;
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:21px;
	font-weight:500;
	line-height:1.1;
	text-decoration:none !important;
}

body.vs-cart-page .product-name a:hover{
	color:var(--vs-orange) !important;
}

body.vs-cart-page .product-price,
body.vs-cart-page .product-subtotal{
	color:var(--vs-ink);
	font-weight:700;
}

body.vs-cart-page .product-remove a{
	color:#9d8e84 !important;
}

body.vs-cart-page .product-remove a:hover{
	color:var(--vs-orange) !important;
}

body.vs-cart-page .coupon{
	display:flex !important;
	gap:8px;
	align-items:center;
}

body.vs-cart-page .coupon #coupon_code{
	width:190px !important;
	min-width:0 !important;
}

body.vs-cart-page .actions{
	background:#fff !important;
}

body.vs-cart-page .cart_totals table{
	margin:0 0 18px !important;
	border:0 !important;
	background:transparent !important;
}

body.vs-cart-page .cart_totals table th,
body.vs-cart-page .cart_totals table td{
	background:transparent !important;
	padding:14px 0 !important;
	border-width:0 0 1px !important;
	border-color:var(--vs-line) !important;
}

body.vs-cart-page .cart_totals table th{
	width:38%;
	font-weight:700;
}

body.vs-cart-page .order-total strong{
	font-size:20px;
	color:var(--vs-ink);
}

body.vs-cart-page .wc-proceed-to-checkout{
	padding:6px 0 0 !important;
}

body.vs-cart-page .wc-proceed-to-checkout a.checkout-button{
	display:flex !important;
	align-items:center;
	justify-content:center;
	min-height:56px;
	margin:0 0 14px !important;
	font-size:16px !important;
}

/* CHECKOUT */
body.vs-checkout-page form.checkout{
	display:grid;
	grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
	gap:42px;
	align-items:start;
}

body.vs-checkout-page #customer_details{
	grid-column:1;
}

body.vs-checkout-page #order_review_heading,
body.vs-checkout-page #order_review{
	grid-column:2;
}

body.vs-checkout-page #order_review_heading{
	margin:0 0 -22px !important;
	padding:28px 28px 0;
	border:1px solid var(--vs-line);
	border-bottom:0;
	border-radius:8px 8px 0 0;
	background:var(--vs-soft);
	font-family:"Cormorant Garamond", Georgia, serif !important;
	font-size:29px !important;
	font-weight:500 !important;
	color:var(--vs-ink) !important;
}

body.vs-checkout-page #order_review{
	padding:28px;
	border:1px solid var(--vs-line);
	border-top:0;
	border-radius:0 0 8px 8px;
	background:var(--vs-soft);
}

body.vs-checkout-page .woocommerce-billing-fields > h3,
body.vs-checkout-page .woocommerce-shipping-fields > h3,
body.vs-checkout-page h3#ship-to-different-address{
	font-family:"Cormorant Garamond", Georgia, serif !important;
	font-size:30px !important;
	font-weight:500 !important;
	color:var(--vs-ink) !important;
}

body.vs-checkout-page .form-row label{
	color:#4e423a;
	font-size:13px;
	font-weight:700;
}

body.vs-checkout-page table.shop_table{
	border:0 !important;
	background:transparent !important;
}

body.vs-checkout-page table.shop_table th,
body.vs-checkout-page table.shop_table td{
	padding:13px 0 !important;
	border-color:var(--vs-line) !important;
	background:transparent !important;
}

body.vs-checkout-page #payment{
	background:#fff !important;
	border:1px solid var(--vs-line);
	border-radius:7px;
}

body.vs-checkout-page #payment ul.payment_methods{
	border-bottom:1px solid var(--vs-line) !important;
}

body.vs-checkout-page #payment div.payment_box{
	background:var(--vs-soft) !important;
}

body.vs-checkout-page #payment div.payment_box::before{
	border-bottom-color:var(--vs-soft) !important;
}

body.vs-checkout-page #place_order{
	width:100%;
	min-height:56px;
	font-size:16px;
}

/* Notices */
body.vs-commerce-page .woocommerce-message,
body.vs-commerce-page .woocommerce-info,
body.vs-commerce-page .woocommerce-error{
	border-radius:7px;
	background:#fff !important;
	border:1px solid var(--vs-line) !important;
	border-top:3px solid var(--vs-orange) !important;
	color:#53473f !important;
	box-shadow:none !important;
}

/* MY ACCOUNT */
body.vs-account-page .woocommerce{
	color:#554940;
}

body.vs-account-page .woocommerce-MyAccount-navigation{
	width:25%;
}

body.vs-account-page .woocommerce-MyAccount-content{
	width:70%;
}

body.vs-account-page .woocommerce-MyAccount-navigation ul{
	margin:0;
	padding:0;
	list-style:none;
	border:1px solid var(--vs-line);
	border-radius:7px;
	overflow:hidden;
}

body.vs-account-page .woocommerce-MyAccount-navigation li{
	margin:0;
	border-bottom:1px solid var(--vs-line);
}

body.vs-account-page .woocommerce-MyAccount-navigation li:last-child{
	border-bottom:0;
}

body.vs-account-page .woocommerce-MyAccount-navigation a{
	display:block;
	padding:13px 16px;
	color:#5c5048;
	text-decoration:none !important;
}

body.vs-account-page .woocommerce-MyAccount-navigation .is-active a,
body.vs-account-page .woocommerce-MyAccount-navigation a:hover{
	background:var(--vs-soft);
	color:var(--vs-orange);
}

/* Responsive */
@media(max-width:900px){
	body.vs-commerce-page .site-main{
		padding:36px 20px 56px !important;
	}

	body.vs-commerce-page article.page,
	body.vs-commerce-page article.type-page{
		padding:32px 26px 40px !important;
	}

	body.vs-cart-page .woocommerce,
	body.vs-checkout-page form.checkout{
		grid-template-columns:1fr;
	}

	body.vs-cart-page .woocommerce-cart-form,
	body.vs-cart-page .cart-collaterals,
	body.vs-checkout-page #customer_details,
	body.vs-checkout-page #order_review_heading,
	body.vs-checkout-page #order_review{
		grid-column:1;
		grid-row:auto;
	}

	body.vs-checkout-page #order_review_heading{
		margin-top:15px !important;
	}
}

@media(max-width:600px){
	body.vs-commerce-page .site-main{
		padding:20px 12px 42px !important;
	}

	body.vs-commerce-page article.page,
	body.vs-commerce-page article.type-page{
		padding:24px 16px 30px !important;
		border-radius:7px;
	}

	body.vs-commerce-page .entry-title{
		font-size:38px !important;
	}

	body.vs-cart-page table.shop_table_responsive tr{
		margin-bottom:14px;
		border:1px solid var(--vs-line);
		border-radius:7px;
		overflow:hidden;
	}

	body.vs-cart-page .coupon{
		flex-direction:column;
		align-items:stretch;
	}

	body.vs-cart-page .coupon #coupon_code{
		width:100% !important;
	}

	body.vs-cart-page .coupon .button{
		width:100%;
	}

	body.vs-account-page .woocommerce-MyAccount-navigation,
	body.vs-account-page .woocommerce-MyAccount-content{
		width:100%;
		float:none;
	}

	body.vs-account-page .woocommerce-MyAccount-navigation{
		margin-bottom:24px;
	}
}


/* =========================================
   VintySplit sold items + richer cart — 0.7.0
   ========================================= */

/* Sold cards remain in the shop */
body.vs-shop-archive .vs-loop-image-wrap{
	position:relative;
	display:block;
	overflow:hidden;
}

body.vs-shop-archive .vs-loop-image-wrap.is-sold .vs-loop-image{
	filter:saturate(.72) brightness(.9);
}

body.vs-shop-archive .vs-loop-sold-overlay{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:24px;
	background:linear-gradient(180deg,rgba(43,25,15,.04) 30%,rgba(43,25,15,.5) 100%);
	color:#fff;
	text-align:center;
	pointer-events:none;
}

body.vs-shop-archive .vs-loop-sold-overlay strong{
	display:inline-flex;
	padding:10px 20px;
	border:1px solid rgba(255,255,255,.92);
	border-radius:999px;
	background:rgba(43,25,15,.88);
	box-shadow:0 8px 24px rgba(0,0,0,.2);
	font-size:14px;
	line-height:1;
	letter-spacing:.14em;
}

body.vs-shop-archive .vs-loop-sold-overlay small{
	padding:5px 10px;
	border-radius:999px;
	background:rgba(43,25,15,.76);
	font-size:11px;
	font-weight:600;
	line-height:1.25;
	letter-spacing:.01em;
	text-shadow:0 1px 6px rgba(0,0,0,.3);
}

/* Astra adds a second full-width OUT OF STOCK message to out-of-stock cards.
   The VintySplit image treatment above is the sole sold indicator. */
body.vs-shop-archive li.product.vs-product-sold .ast-shop-product-out-of-stock,
body.vs-shop-archive li.product.vs-product-sold .ast-shop-product-out-of-stock-label,
body.vs-shop-archive li.product.vs-product-sold .out-of-stock,
body.vs-product-page .related.products li.product.vs-product-sold .ast-shop-product-out-of-stock,
body.vs-product-page .related.products li.product.vs-product-sold .ast-shop-product-out-of-stock-label,
body.vs-product-page .related.products li.product.vs-product-sold .out-of-stock{
	display:none!important;
}

/* Avoid repeating SOLD again in the metadata underneath the photograph. */
body.vs-shop-archive li.product.vs-product-sold .vs-loop-sold-pill,
body.vs-product-page .related.products li.product.vs-product-sold .vs-loop-sold-pill{
	display:none!important;
}

body.vs-shop-archive .vs-loop-sold-pill{
	display:inline-flex;
	align-items:center;
	padding:5px 9px;
	border-radius:999px;
	background:#2b190f;
	color:#fff;
	font-size:10px;
	font-weight:800;
	line-height:1;
	letter-spacing:.07em;
	text-transform:uppercase;
}

/* Sold product page */
body.vs-product-sold .vs-product-gallery{
	position:relative;
}

body.vs-product-sold .vs-product-gallery::after{
	content:"SOLD";
	position:absolute;
	top:22px;
	left:22px;
	z-index:8;
	padding:9px 17px;
	border-radius:999px;
	background:rgba(43,25,15,.9);
	color:#fff;
	font-size:12px;
	font-weight:800;
	letter-spacing:.13em;
	pointer-events:none;
}

.vs-sold-success{
	margin:18px 0 22px;
	padding:20px 22px;
	border:1px solid #ead8ca;
	border-radius:8px;
	background:#fff8f3;
}

.vs-sold-success-kicker{
	display:block;
	margin-bottom:7px;
	color:#f2661b;
	font-size:10px;
	font-weight:800;
	letter-spacing:.12em;
}

.vs-sold-success strong{
	display:block;
	margin-bottom:6px;
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:23px;
	font-weight:600;
	line-height:1.05;
	color:#2b190f;
}

.vs-sold-success p{
	margin:0;
	color:#6d5f56;
	font-size:13px;
	line-height:1.55;
}

.vs-sold-cta{
	display:grid;
	grid-template-columns:1.4fr 1fr;
	gap:9px;
	margin:22px 0 12px;
}

.vs-sold-cta a{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:52px;
	padding:12px 18px;
	border-radius:6px;
	font-size:13px;
	font-weight:800;
	text-decoration:none !important;
}

.vs-sold-cta-primary{
	background:#f2661b;
	color:#fff !important;
}

.vs-sold-cta-primary:hover{
	background:#dd5611;
}

.vs-sold-cta-secondary{
	border:1px solid #ddd2c9;
	background:#fff;
	color:#2b190f !important;
}

.vs-sold-cta-secondary:hover{
	border-color:#c9b8aa;
}

/* Cart: explicit grid areas prevent empty notice wrappers creating the large gap */
body.vs-cart-page .woocommerce{
	grid-template-areas:
		"notices notices"
		"assurance assurance"
		"cart totals"
		"story story";
}

body.vs-cart-page .woocommerce-notices-wrapper{
	grid-area:notices;
}

body.vs-cart-page .woocommerce-notices-wrapper:empty{
	display:none;
}

body.vs-cart-page .vs-cart-assurance{
	grid-area:assurance;
}

body.vs-cart-page .woocommerce-cart-form{
	grid-area:cart;
	grid-column:auto !important;
}

body.vs-cart-page .cart-collaterals{
	grid-area:totals;
	grid-column:auto !important;
	grid-row:auto !important;
}

body.vs-cart-page .vs-cart-story{
	grid-area:story;
}

/* Compact trust strip */
.vs-cart-assurance{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:1px;
	margin:0 0 4px;
	overflow:hidden;
	border:1px solid #e7ddd4;
	border-radius:8px;
	background:#e7ddd4;
}

.vs-cart-assurance > div{
	display:grid;
	grid-template-columns:26px 1fr;
	column-gap:9px;
	align-items:start;
	padding:17px 18px;
	background:#faf6f0;
}

.vs-cart-assurance-icon{
	grid-row:1 / span 2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:24px;
	height:24px;
	border-radius:50%;
	background:#fde7d9;
	color:#f2661b;
	font-weight:900;
}

.vs-cart-assurance strong{
	color:#2b190f;
	font-size:12px;
}

.vs-cart-assurance small{
	margin-top:2px;
	color:#74685f;
	font-size:10.5px;
	line-height:1.4;
}

/* VintySplit story beneath the cart */
.vs-cart-story{
	display:grid;
	grid-template-columns:1.4fr .8fr;
	gap:34px;
	margin-top:6px;
	padding:30px 34px;
	border-radius:9px;
	background:#f7efe5;
}

.vs-cart-story-kicker{
	display:block;
	margin-bottom:7px;
	color:#f2661b;
	font-size:10px;
	font-weight:800;
	letter-spacing:.12em;
}

.vs-cart-story h2{
	margin:0 0 10px;
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:31px;
	font-weight:500;
	line-height:1.04;
	color:#2b190f;
}

.vs-cart-story p{
	margin:0;
	color:#6f6259;
	font-size:13px;
	line-height:1.6;
}

.vs-cart-story-sell{
	padding-left:30px;
	border-left:1px solid #dfd0c4;
}

.vs-cart-story-sell strong{
	display:block;
	margin-bottom:6px;
	color:#2b190f;
	font-size:14px;
}

.vs-cart-story-sell a{
	display:inline-flex;
	margin-top:14px;
	color:#f2661b !important;
	font-size:12px;
	font-weight:800;
	text-decoration:none !important;
}

/* Cart shell slightly tighter and more deliberate */
body.vs-cart-page article.page,
body.vs-cart-page article.type-page{
	padding-top:38px !important;
}

body.vs-cart-page .entry-header{
	margin-bottom:24px !important;
}

@media(max-width:900px){
	.vs-cart-assurance{
		grid-template-columns:1fr;
	}

	.vs-cart-story{
		grid-template-columns:1fr;
	}

	.vs-cart-story-sell{
		padding-left:0;
		padding-top:20px;
		border-left:0;
		border-top:1px solid #dfd0c4;
	}

	body.vs-cart-page .woocommerce{
		grid-template-areas:
			"notices"
			"assurance"
			"cart"
			"totals"
			"story";
	}
}

@media(max-width:600px){
	.vs-sold-cta{
		grid-template-columns:1fr;
	}
}


/* =========================================
   VintySplit cart refinement — 0.8.0
   ========================================= */

body.vs-cart-page article.page,
body.vs-cart-page article.type-page{
	max-width:1180px;
	margin:0 auto;
	padding:38px 46px 48px !important;
}

body.vs-cart-page .entry-header{
	margin-bottom:16px !important;
}

body.vs-cart-page .entry-title{
	font-size:50px !important;
}

/* Force an intentional two-column layout */
body.vs-cart-page .entry-content > .woocommerce,
body.vs-cart-page article .woocommerce{
	display:grid !important;
	grid-template-columns:minmax(0,1fr) 360px !important;
	grid-template-areas:
		"notices notices"
		"intro intro"
		"cart totals"
		"story story" !important;
	column-gap:30px !important;
	row-gap:26px !important;
	align-items:start !important;
}

body.vs-cart-page .woocommerce-notices-wrapper{
	grid-area:notices !important;
	margin:0 !important;
}

body.vs-cart-page .woocommerce-notices-wrapper:empty{
	display:none !important;
}

body.vs-cart-page .vs-cart-intro{
	grid-area:intro !important;
}

body.vs-cart-page .woocommerce-cart-form{
	grid-area:cart !important;
	grid-column:auto !important;
	grid-row:auto !important;
	width:100% !important;
	margin:0 !important;
	float:none !important;
}

body.vs-cart-page .cart-collaterals{
	grid-area:totals !important;
	grid-column:auto !important;
	grid-row:auto !important;
	width:100% !important;
	margin:0 !important;
	float:none !important;
}

body.vs-cart-page .vs-cart-story{
	grid-area:story !important;
}

/* Trust intro */
.vs-cart-intro{
	display:grid;
	grid-template-columns:minmax(0,1.05fr) minmax(0,1.55fr);
	gap:28px;
	align-items:center;
	padding:24px 26px;
	border:1px solid #eadfd6;
	border-radius:9px;
	background:#fffaf6;
}

.vs-cart-kicker{
	display:block;
	margin-bottom:5px;
	color:#f2661b;
	font-size:10px;
	font-weight:800;
	letter-spacing:.13em;
}

.vs-cart-intro h2{
	margin:0 0 7px;
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:31px;
	font-weight:500;
	line-height:1;
	color:#2b190f;
}

.vs-cart-intro p{
	max-width:430px;
	margin:0;
	color:#6d6057;
	font-size:13px;
	line-height:1.55;
}

.vs-cart-reassurance{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:10px 18px;
}

.vs-cart-reassurance > div{
	display:grid;
	grid-template-columns:24px 1fr;
	grid-template-rows:auto auto;
	column-gap:8px;
	align-items:start;
}

.vs-cart-reassurance > div > span{
	grid-row:1 / span 2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	border-radius:50%;
	background:#fde7d9;
	color:#f2661b;
	font-size:12px;
	font-weight:900;
}

.vs-cart-reassurance strong{
	color:#2b190f;
	font-size:11.5px;
	line-height:1.25;
}

.vs-cart-reassurance small{
	margin-top:2px;
	color:#8b7d73;
	font-size:9.5px;
	line-height:1.3;
}

/* Cart table */
body.vs-cart-page table.shop_table{
	margin:0 !important;
}

body.vs-cart-page table.shop_table th{
	font-size:13px;
}

body.vs-cart-page .woocommerce-cart-form table.shop_table td{
	padding:16px 14px !important;
}

body.vs-cart-page .product-thumbnail img{
	width:66px !important;
	height:82px !important;
}

body.vs-cart-page .product-name a{
	font-size:18px !important;
	line-height:1.15 !important;
}

body.vs-cart-page .product-price,
body.vs-cart-page .product-subtotal{
	font-size:14px;
}

/* Order summary */
body.vs-cart-page .cart-collaterals .cart_totals{
	position:sticky;
	top:24px;
	padding:24px !important;
	border:1px solid #e5d8ce !important;
	background:#faf6f0 !important;
	box-shadow:0 12px 28px rgba(43,25,15,.045);
}

body.vs-cart-page .cart-collaterals h2{
	font-size:29px !important;
}

body.vs-cart-page .cart_totals::before{
	content:"ORDER SUMMARY";
	display:block;
	margin-bottom:6px;
	color:#f2661b;
	font-size:9.5px;
	font-weight:800;
	letter-spacing:.13em;
}

body.vs-cart-page .wc-proceed-to-checkout a.checkout-button{
	min-height:54px !important;
	box-shadow:0 8px 18px rgba(242,102,27,.13);
}

body.vs-cart-page .cart_totals::after{
	content:"Secure payment · UK tracked delivery · 14-day returns";
	display:block;
	margin-top:12px;
	color:#85776d;
	font-size:10px;
	line-height:1.5;
	text-align:center;
}

/* Brand story */
.vs-cart-story{
	display:grid !important;
	grid-template-columns:minmax(0,1.4fr) minmax(260px,.75fr) !important;
	gap:38px !important;
	align-items:center;
	margin-top:4px !important;
	padding:34px 38px !important;
	border:1px solid #e5d8ce;
	border-radius:9px !important;
	background:#f7efe5 !important;
}

.vs-cart-story h2{
	margin:0 0 10px !important;
	font-size:33px !important;
}

.vs-cart-story-copy > p{
	max-width:650px;
	font-size:13px !important;
	line-height:1.65 !important;
}

.vs-cart-story-links{
	display:flex;
	flex-wrap:wrap;
	gap:10px 22px;
	margin-top:16px;
}

.vs-cart-story-links a{
	color:#7a6658 !important;
	font-size:11px;
	font-weight:700;
	text-decoration:none !important;
}

.vs-cart-story-links a:first-child{
	color:#f2661b !important;
}

.vs-cart-story-sell{
	padding:22px 0 22px 32px !important;
	border-left:1px solid #dccabd !important;
}

.vs-cart-story-sell strong{
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:22px !important;
	font-weight:600 !important;
	line-height:1.08;
}

.vs-cart-story-sell p{
	margin-top:8px !important;
}

.vs-cart-story-cta{
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	min-height:44px;
	margin-top:16px !important;
	padding:10px 16px;
	border-radius:6px;
	background:#f2661b;
	color:#fff !important;
	font-size:11px !important;
	font-weight:800 !important;
}

body.vs-cart-page .vs-cart-assurance{
	display:none !important;
}

@media(max-width:980px){
	body.vs-cart-page .entry-content > .woocommerce,
	body.vs-cart-page article .woocommerce{
		grid-template-columns:1fr !important;
		grid-template-areas:
			"notices"
			"intro"
			"cart"
			"totals"
			"story" !important;
	}

	.vs-cart-intro{
		grid-template-columns:1fr;
	}

	body.vs-cart-page .cart-collaterals .cart_totals{
		position:static;
	}

	.vs-cart-story{
		grid-template-columns:1fr !important;
	}

	.vs-cart-story-sell{
		padding:22px 0 0 !important;
		border-left:0 !important;
		border-top:1px solid #dccabd;
	}
}

@media(max-width:600px){
	body.vs-cart-page article.page,
	body.vs-cart-page article.type-page{
		padding:26px 16px 34px !important;
	}

	.vs-cart-reassurance{
		grid-template-columns:1fr;
	}

	.vs-cart-intro{
		padding:20px;
	}

	.vs-cart-story{
		padding:26px 22px !important;
	}
}


/* =========================================
   VintySplit cart polish — 0.8.1
   ========================================= */

/* Keep coupon controls on one row and visually aligned */
body.vs-cart-page .woocommerce-cart-form .actions{
	display:flex !important;
	align-items:center !important;
	gap:10px !important;
	padding:14px !important;
}

body.vs-cart-page .woocommerce-cart-form .actions .coupon{
	display:flex !important;
	align-items:center !important;
	gap:10px !important;
	flex:1 1 auto;
}

body.vs-cart-page .woocommerce-cart-form .actions .coupon #coupon_code{
	width:190px !important;
	height:46px !important;
	margin:0 !important;
}

body.vs-cart-page .woocommerce-cart-form .actions .coupon .button{
	height:46px !important;
	margin:0 !important;
	padding:0 22px !important;
	white-space:nowrap;
}

body.vs-cart-page .woocommerce-cart-form .actions > .button{
	height:46px !important;
	margin:0 0 0 auto !important;
	padding:0 22px !important;
	white-space:nowrap;
}

/* Order summary hierarchy */
body.vs-cart-page .cart_totals::before{
	font-size:11px !important;
	letter-spacing:.14em !important;
	margin-bottom:10px !important;
}

body.vs-cart-page .cart-collaterals h2{
	font-size:34px !important;
	line-height:1 !important;
	margin-bottom:18px !important;
}

body.vs-cart-page .cart_totals table th,
body.vs-cart-page .cart_totals table td{
	font-size:13px !important;
	line-height:1.45 !important;
}

body.vs-cart-page .cart_totals .woocommerce-shipping-methods,
body.vs-cart-page .cart_totals .woocommerce-shipping-destination,
body.vs-cart-page .cart_totals .woocommerce-shipping-calculator{
	font-size:12px !important;
	line-height:1.45 !important;
}

/* Trust copy larger and easier to scan */
.vs-cart-reassurance strong{
	font-size:12.5px !important;
}

.vs-cart-reassurance small{
	font-size:10.5px !important;
}

.vs-cart-intro p{
	font-size:14px !important;
}

.vs-cart-story-copy > p,
.vs-cart-story-sell p{
	font-size:14px !important;
}

.vs-cart-story-links a{
	font-size:12px !important;
}

/* Make seller CTA text visible regardless of theme/button inheritance */
.vs-cart-story-cta{
	color:#fff !important;
	background:#f2661b !important;
	border:1px solid #f2661b !important;
	min-width:180px;
}

.vs-cart-story-cta,
.vs-cart-story-cta:link,
.vs-cart-story-cta:visited,
.vs-cart-story-cta:hover,
.vs-cart-story-cta:focus{
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	text-shadow:none !important;
}

.vs-cart-story-cta:hover{
	background:#dd5611 !important;
	border-color:#dd5611 !important;
}

@media(max-width:700px){
	body.vs-cart-page .woocommerce-cart-form .actions{
		flex-direction:column !important;
		align-items:stretch !important;
	}

	body.vs-cart-page .woocommerce-cart-form .actions .coupon{
		width:100% !important;
	}

	body.vs-cart-page .woocommerce-cart-form .actions .coupon #coupon_code,
	body.vs-cart-page .woocommerce-cart-form .actions .coupon .button,
	body.vs-cart-page .woocommerce-cart-form .actions > .button{
		width:100% !important;
		margin:0 !important;
	}
}


/* =========================================
   VintySplit cart text repair + Latest Products — 0.9.0
   ========================================= */

/* Woo/Astra can apply responsive table rules early.
   Force the desktop cart back to a genuine table so the item title/price cannot disappear. */
@media(min-width:701px){
	body.vs-cart-page .woocommerce-cart-form table.shop_table{
		display:table !important;
		width:100% !important;
		table-layout:auto !important;
	}

	body.vs-cart-page .woocommerce-cart-form table.shop_table thead{
		display:table-header-group !important;
	}

	body.vs-cart-page .woocommerce-cart-form table.shop_table tbody{
		display:table-row-group !important;
	}

	body.vs-cart-page .woocommerce-cart-form table.shop_table tr{
		display:table-row !important;
	}

	body.vs-cart-page .woocommerce-cart-form table.shop_table th,
	body.vs-cart-page .woocommerce-cart-form table.shop_table td{
		display:table-cell !important;
		float:none !important;
		position:static !important;
		visibility:visible !important;
		opacity:1 !important;
	}

	body.vs-cart-page .woocommerce-cart-form th.product-remove,
	body.vs-cart-page .woocommerce-cart-form td.product-remove{
		width:34px !important;
		padding-left:12px !important;
		padding-right:6px !important;
	}

	body.vs-cart-page .woocommerce-cart-form th.product-thumbnail,
	body.vs-cart-page .woocommerce-cart-form td.product-thumbnail{
		width:84px !important;
		padding-left:6px !important;
		padding-right:10px !important;
	}

	body.vs-cart-page .woocommerce-cart-form th.product-name,
	body.vs-cart-page .woocommerce-cart-form td.product-name{
		width:auto !important;
		min-width:190px !important;
		color:#2b190f !important;
		text-align:left !important;
	}

	body.vs-cart-page .woocommerce-cart-form td.product-name a{
		display:block !important;
		visibility:visible !important;
		opacity:1 !important;
		color:#2b190f !important;
		-webkit-text-fill-color:#2b190f !important;
		font-family:"Cormorant Garamond", Georgia, serif !important;
		font-size:18px !important;
		font-weight:600 !important;
		line-height:1.2 !important;
	}

	body.vs-cart-page .woocommerce-cart-form th.product-price,
	body.vs-cart-page .woocommerce-cart-form td.product-price,
	body.vs-cart-page .woocommerce-cart-form th.product-subtotal,
	body.vs-cart-page .woocommerce-cart-form td.product-subtotal{
		width:92px !important;
		min-width:92px !important;
		color:#2b190f !important;
		white-space:nowrap !important;
		text-align:left !important;
	}

	/* Every VintySplit item is a one-off, so a quantity column adds noise. */
	body.vs-cart-page .woocommerce-cart-form th.product-quantity,
	body.vs-cart-page .woocommerce-cart-form td.product-quantity{
		display:none !important;
	}
}

/* Latest products shortcode */
.vs-latest-products{
	--vs-latest-ink:#2b190f;
	--vs-latest-muted:#74685f;
	--vs-latest-orange:#f2661b;
	--vs-latest-cream:#f7efe5;
	width:100%;
	max-width:1260px;
	margin:0 auto;
	padding:70px 28px;
}

.vs-latest-head{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:30px;
	margin-bottom:30px;
}

.vs-latest-kicker{
	display:block;
	margin-bottom:8px;
	color:var(--vs-latest-orange);
	font-size:10px;
	font-weight:800;
	letter-spacing:.14em;
}

.vs-latest-head h2{
	margin:0;
	color:var(--vs-latest-ink);
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:46px;
	font-weight:500;
	line-height:1;
	letter-spacing:-.025em;
}

.vs-latest-head p{
	max-width:600px;
	margin:12px 0 0;
	color:var(--vs-latest-muted);
	font-size:14px;
	line-height:1.6;
}

.vs-latest-shop-link{
	flex:0 0 auto;
	margin-bottom:4px;
	color:var(--vs-latest-orange) !important;
	font-size:13px;
	font-weight:800;
	text-decoration:none !important;
}

.vs-latest-grid{
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:20px;
}

.vs-latest-card{
	display:flex;
	flex-direction:column;
	min-width:0;
	overflow:hidden;
	border:1px solid rgba(43,25,15,.08);
	border-radius:9px;
	background:#fff;
	box-shadow:0 10px 28px rgba(43,25,15,.045);
}

.vs-latest-image-link,
.vs-latest-image-wrap{
	display:block;
}

.vs-latest-image-wrap{
	position:relative;
	overflow:hidden;
	background:#f3f1ee;
	aspect-ratio:4 / 5;
}

.vs-latest-image{
	display:block;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	transition:transform .35s ease;
}

.vs-latest-card:hover .vs-latest-image{
	transform:scale(1.018);
}

.vs-latest-sold{
	position:absolute;
	inset:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:6px;
	background:rgba(43,25,15,.22);
	color:#fff;
	text-align:center;
}

.vs-latest-sold strong{
	padding:8px 15px;
	border:1px solid rgba(255,255,255,.8);
	border-radius:999px;
	background:rgba(43,25,15,.72);
	font-size:12px;
	letter-spacing:.12em;
}

.vs-latest-sold small{
	font-size:10px;
	font-weight:700;
}

.vs-latest-card-body{
	display:flex;
	flex:1 1 auto;
	flex-direction:column;
	padding:18px 18px 19px;
}

.vs-latest-category{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;
	margin-bottom:9px;
	color:#8b765f;
	font-size:9px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}

.vs-latest-audience{
	padding:4px 8px;
	border:1px solid #e6d9cd;
	border-radius:999px;
	background:#faf6f0;
	color:#69564a;
}

.vs-latest-brand{
	margin-bottom:7px;
	color:var(--vs-latest-orange);
	font-size:9px;
	font-weight:800;
	letter-spacing:.11em;
	text-transform:uppercase;
}

.vs-latest-card h3{
	margin:0;
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:24px;
	font-weight:500;
	line-height:1.02;
	letter-spacing:-.02em;
}

.vs-latest-card h3 a{
	color:var(--vs-latest-ink) !important;
	text-decoration:none !important;
}

.vs-latest-meta{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;
	margin-top:12px;
	color:#776a61;
	font-size:11px;
}

.vs-latest-size{
	padding:5px 8px;
	border:1px solid #e5d8cd;
	border-radius:999px;
	background:#f8f2eb;
	color:#4e4037;
	font-weight:700;
}

.vs-latest-sold-pill{
	padding:5px 8px;
	border-radius:999px;
	background:#2b190f;
	color:#fff;
	font-size:9px;
	font-weight:800;
	text-transform:uppercase;
}

.vs-latest-price{
	margin-top:auto;
	padding-top:18px;
	color:var(--vs-latest-ink);
	font-size:17px;
	font-weight:800;
}

.vs-latest-price .amount{
	color:inherit !important;
}

@media(max-width:1024px){
	.vs-latest-grid{
		grid-template-columns:repeat(2,minmax(0,1fr));
	}

	.vs-latest-products{
		padding:56px 24px;
	}
}

@media(max-width:600px){
	.vs-latest-products{
		padding:44px 18px;
	}

	.vs-latest-head{
		align-items:flex-start;
		flex-direction:column;
		margin-bottom:24px;
	}

	.vs-latest-head h2{
		font-size:38px;
	}

	.vs-latest-grid{
		grid-template-columns:1fr;
	}

	.vs-latest-card h3{
		font-size:25px;
	}
}


/* Latest Products Elementor compatibility — 0.9.1 */
.elementor-widget-shortcode .vs-latest-products,
.elementor-widget-container .vs-latest-products{
	width:100% !important;
	max-width:1260px !important;
}

.elementor-widget-shortcode .vs-latest-grid,
.elementor-widget-container .vs-latest-grid{
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr)) !important;
	gap:20px !important;
	width:100% !important;
}

.elementor-widget-shortcode .vs-latest-card,
.elementor-widget-container .vs-latest-card{
	width:auto !important;
	max-width:none !important;
	min-width:0 !important;
}

@media(max-width:1024px){
	.elementor-widget-shortcode .vs-latest-grid,
	.elementor-widget-container .vs-latest-grid{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
}

@media(max-width:600px){
	.elementor-widget-shortcode .vs-latest-grid,
	.elementor-widget-container .vs-latest-grid{
		grid-template-columns:1fr !important;
	}
}


/* =========================================
   Latest Products card refinement — 0.9.2
   Match the Shop archive cards more closely
   ========================================= */

.vs-latest-products{
	padding-top:54px !important;
	padding-bottom:58px !important;
}

.vs-latest-head{
	margin-bottom:26px !important;
}

.vs-latest-grid{
	gap:20px !important;
}

.vs-latest-card{
	border-radius:8px !important;
	box-shadow:0 8px 22px rgba(43,25,15,.035) !important;
}

/* Slightly less tall than the original shortcode cards */
.vs-latest-image-wrap{
	aspect-ratio:4 / 4.65 !important;
}

.vs-latest-card-body{
	padding:16px 17px 18px !important;
}

/* Category line: compact like the main shop cards */
.vs-latest-category{
	gap:7px !important;
	margin-bottom:8px !important;
	font-size:9px !important;
	line-height:1 !important;
}

.vs-latest-audience{
	padding:4px 8px !important;
	border-radius:999px !important;
	background:#edf3f7 !important;
	border-color:#d8e1e7 !important;
	color:#486171 !important;
	font-size:9px !important;
	line-height:1 !important;
}

/* Brand/title hierarchy */
.vs-latest-brand{
	margin-bottom:6px !important;
	font-size:9px !important;
	line-height:1.1 !important;
}

.vs-latest-card h3{
	font-size:23px !important;
	line-height:1.03 !important;
	min-height:0 !important;
}

/* Condition + size stay on one compact line where possible */
.vs-latest-meta{
	gap:7px !important;
	margin-top:10px !important;
	font-size:10.5px !important;
	line-height:1.1 !important;
}

.vs-latest-size{
	padding:4px 8px !important;
	font-size:9.5px !important;
	line-height:1 !important;
}

/* Price sits neatly at the bottom, matching archive cards */
.vs-latest-price{
	margin-top:auto !important;
	padding-top:16px !important;
	font-size:17px !important;
	line-height:1 !important;
}

/* Prevent unnecessarily tall cards caused by Elementor/theme typography */
.elementor-widget-shortcode .vs-latest-card p,
.elementor-widget-shortcode .vs-latest-card h3,
.elementor-widget-shortcode .vs-latest-card div,
.elementor-widget-container .vs-latest-card p,
.elementor-widget-container .vs-latest-card h3,
.elementor-widget-container .vs-latest-card div{
	margin-bottom:0;
}

/* Header link lines up more naturally with heading */
.vs-latest-shop-link{
	align-self:flex-end !important;
	margin-bottom:2px !important;
}

/* On wide desktop, keep the shortcode visually close to the shop width */
@media(min-width:1180px){
	.vs-latest-products{
		max-width:1230px !important;
	}
}

@media(max-width:1024px){
	.vs-latest-image-wrap{
		aspect-ratio:4 / 4.8 !important;
	}
}

@media(max-width:600px){
	.vs-latest-products{
		padding-top:40px !important;
		padding-bottom:44px !important;
	}

	.vs-latest-card-body{
		padding:15px 16px 17px !important;
	}

	.vs-latest-card h3{
		font-size:24px !important;
	}
}


/* =========================================
   Checkout rebuild — 0.9.3
   ========================================= */

/* Give checkout a wider, retailer-style shell */
body.vs-checkout-page article.page,
body.vs-checkout-page article.type-page{
	max-width:1180px !important;
	margin:0 auto !important;
	padding:38px 46px 48px !important;
}

body.vs-checkout-page .entry-header{
	margin-bottom:20px !important;
}

body.vs-checkout-page .entry-title{
	font-size:48px !important;
	line-height:1 !important;
}

/* Express pay area above checkout */
body.vs-checkout-page .woocommerce-form-coupon-toggle{
	margin-bottom:22px !important;
}

body.vs-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info{
	padding:17px 20px !important;
}

/* Critical reset: Woo/Astra float widths were collapsing the order review. */
body.vs-checkout-page form.checkout{
	display:grid !important;
	grid-template-columns:minmax(0,1fr) 390px !important;
	grid-template-areas:
		"trust trust"
		"details heading"
		"details review" !important;
	gap:0 38px !important;
	align-items:start !important;
	width:100% !important;
}

body.vs-checkout-page #customer_details{
	grid-area:details !important;
	display:block !important;
	width:100% !important;
	max-width:none !important;
	float:none !important;
	margin:0 !important;
	padding:0 !important;
}

body.vs-checkout-page #customer_details .col-1,
body.vs-checkout-page #customer_details .col-2{
	display:block !important;
	width:100% !important;
	max-width:none !important;
	float:none !important;
	margin:0 !important;
	padding:0 !important;
}

body.vs-checkout-page #customer_details .col-2{
	margin-top:26px !important;
}

body.vs-checkout-page #order_review_heading{
	grid-area:heading !important;
	width:100% !important;
	max-width:none !important;
	float:none !important;
	box-sizing:border-box !important;
	margin:0 !important;
	padding:24px 26px 16px !important;
	border:1px solid #e5d8ce !important;
	border-bottom:0 !important;
	border-radius:9px 9px 0 0 !important;
	background:#faf6f0 !important;
	font-size:31px !important;
	line-height:1 !important;
}

body.vs-checkout-page #order_review_heading::before{
	content:"ORDER SUMMARY";
	display:block;
	margin-bottom:9px;
	color:#f2661b;
	font-family:Arial, Helvetica, sans-serif;
	font-size:10px;
	font-weight:800;
	letter-spacing:.13em;
}

body.vs-checkout-page #order_review{
	grid-area:review !important;
	display:block !important;
	width:100% !important;
	min-width:0 !important;
	max-width:none !important;
	float:none !important;
	box-sizing:border-box !important;
	margin:0 !important;
	padding:0 26px 26px !important;
	border:1px solid #e5d8ce !important;
	border-top:0 !important;
	border-radius:0 0 9px 9px !important;
	background:#faf6f0 !important;
	box-shadow:0 12px 28px rgba(43,25,15,.045);
}

/* Reassurance spans both columns */
.vs-checkout-reassurance{
	grid-area:trust !important;
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:1px;
	overflow:hidden;
	margin:0 0 30px;
	border:1px solid #eadfd6;
	border-radius:8px;
	background:#eadfd6;
}

.vs-checkout-reassurance > div{
	display:grid;
	grid-template-columns:24px 1fr;
	grid-template-rows:auto auto;
	column-gap:8px;
	padding:15px 14px;
	background:#fffaf6;
}

.vs-checkout-reassurance > div > span{
	grid-row:1 / span 2;
	display:flex;
	align-items:center;
	justify-content:center;
	width:22px;
	height:22px;
	border-radius:50%;
	background:#fde7d9;
	color:#f2661b;
	font-size:12px;
	font-weight:900;
}

.vs-checkout-reassurance strong{
	color:#2b190f;
	font-size:11.5px;
	line-height:1.2;
}

.vs-checkout-reassurance small{
	margin-top:2px;
	color:#80736a;
	font-size:9.5px;
	line-height:1.35;
}

/* Billing fields */
body.vs-checkout-page .woocommerce-billing-fields,
body.vs-checkout-page .woocommerce-shipping-fields,
body.vs-checkout-page .woocommerce-additional-fields{
	padding:24px 26px 26px;
	border:1px solid #e5d8ce;
	border-radius:9px;
	background:#fff;
}

body.vs-checkout-page .woocommerce-shipping-fields,
body.vs-checkout-page .woocommerce-additional-fields{
	margin-top:18px;
}

body.vs-checkout-page .woocommerce-billing-fields > h3,
body.vs-checkout-page .woocommerce-shipping-fields > h3,
body.vs-checkout-page h3#ship-to-different-address{
	margin:0 0 20px !important;
	padding-bottom:13px;
	border-bottom:1px solid #eadfd6;
	font-size:30px !important;
	line-height:1 !important;
}

body.vs-checkout-page .form-row{
	margin-bottom:14px !important;
}

body.vs-checkout-page .form-row-first,
body.vs-checkout-page .form-row-last{
	width:calc(50% - 7px) !important;
}

body.vs-checkout-page .form-row-first{
	float:left !important;
}

body.vs-checkout-page .form-row-last{
	float:right !important;
}

body.vs-checkout-page .form-row-wide{
	clear:both !important;
	width:100% !important;
}

body.vs-checkout-page .form-row input.input-text,
body.vs-checkout-page .form-row textarea,
body.vs-checkout-page .form-row select,
body.vs-checkout-page .select2-container .select2-selection--single{
	width:100% !important;
	min-height:46px !important;
	box-sizing:border-box !important;
	border:1px solid #dcd3cc !important;
	border-radius:6px !important;
	background:#fff !important;
	font-size:14px !important;
}

body.vs-checkout-page .form-row textarea{
	min-height:100px !important;
	padding:12px !important;
}

/* Order review table: prevent narrow-column word wrapping */
body.vs-checkout-page #order_review table.shop_table{
	display:table !important;
	width:100% !important;
	table-layout:auto !important;
	margin:0 0 22px !important;
	border-collapse:collapse !important;
}

body.vs-checkout-page #order_review table.shop_table thead{
	display:table-header-group !important;
}

body.vs-checkout-page #order_review table.shop_table tbody{
	display:table-row-group !important;
}

body.vs-checkout-page #order_review table.shop_table tfoot{
	display:table-footer-group !important;
}

body.vs-checkout-page #order_review table.shop_table tr{
	display:table-row !important;
}

body.vs-checkout-page #order_review table.shop_table th,
body.vs-checkout-page #order_review table.shop_table td{
	display:table-cell !important;
	width:auto !important;
	min-width:0 !important;
	padding:13px 0 !important;
	vertical-align:top !important;
	font-size:13px !important;
	line-height:1.45 !important;
	word-break:normal !important;
	overflow-wrap:normal !important;
	white-space:normal !important;
}

body.vs-checkout-page #order_review table.shop_table th:first-child,
body.vs-checkout-page #order_review table.shop_table td:first-child{
	padding-right:16px !important;
	text-align:left !important;
}

body.vs-checkout-page #order_review table.shop_table th:last-child,
body.vs-checkout-page #order_review table.shop_table td:last-child{
	width:100px !important;
	text-align:right !important;
	white-space:nowrap !important;
}

body.vs-checkout-page #order_review .product-name{
	color:#2b190f !important;
	font-size:13px !important;
}

/* Payment area */
body.vs-checkout-page #payment{
	width:100% !important;
	margin:0 !important;
	box-sizing:border-box !important;
	border:1px solid #e5d8ce !important;
	background:#fff !important;
}

body.vs-checkout-page #payment ul.payment_methods{
	margin:0 !important;
	padding:18px !important;
}

body.vs-checkout-page #payment li.wc_payment_method{
	margin-bottom:12px !important;
}

body.vs-checkout-page #payment label{
	font-size:13px !important;
	font-weight:700;
}

body.vs-checkout-page #payment .place-order{
	padding:18px !important;
}

body.vs-checkout-page #payment .woocommerce-privacy-policy-text{
	color:#75685f;
	font-size:11px !important;
	line-height:1.55 !important;
}

body.vs-checkout-page #place_order{
	display:flex !important;
	align-items:center;
	justify-content:center;
	width:100% !important;
	min-height:54px !important;
	margin-top:14px !important;
	background:#f2661b !important;
	color:#fff !important;
	-webkit-text-fill-color:#fff !important;
	border-radius:6px !important;
	font-size:14px !important;
	font-weight:800 !important;
}

/* Express checkout buttons: centred and sensibly sized */
body.vs-checkout-page .wc-stripe-express-checkout-element,
body.vs-checkout-page .wc-stripe-checkout-container,
body.vs-checkout-page .wcpay-payment-request-wrapper,
body.vs-checkout-page .amazon-payments-pay-button,
body.vs-checkout-page .wc-amazon-payments-advanced-populated{
	max-width:620px !important;
	margin-left:auto !important;
	margin-right:auto !important;
}

/* Tablet / mobile */
@media(max-width:900px){
	body.vs-checkout-page form.checkout{
		grid-template-columns:1fr !important;
		grid-template-areas:
			"trust"
			"details"
			"heading"
			"review" !important;
		gap:24px !important;
	}

	body.vs-checkout-page #order_review_heading{
		margin:0 !important;
	}

	.vs-checkout-reassurance{
		grid-template-columns:repeat(2,minmax(0,1fr));
		margin-bottom:0;
	}
}

@media(max-width:600px){
	body.vs-checkout-page article.page,
	body.vs-checkout-page article.type-page{
		padding:24px 16px 30px !important;
	}

	body.vs-checkout-page .entry-title{
		font-size:38px !important;
	}

	.vs-checkout-reassurance{
		grid-template-columns:1fr;
	}

	body.vs-checkout-page .woocommerce-billing-fields,
	body.vs-checkout-page .woocommerce-shipping-fields,
	body.vs-checkout-page .woocommerce-additional-fields{
		padding:20px 16px 22px;
	}

	body.vs-checkout-page .form-row-first,
	body.vs-checkout-page .form-row-last{
		float:none !important;
		width:100% !important;
	}

	body.vs-checkout-page #order_review_heading{
		padding:22px 18px 14px !important;
	}

	body.vs-checkout-page #order_review{
		padding:0 18px 20px !important;
	}
}


/* =========================================
   Checkout structural fix — 0.9.4
   ========================================= */

/*
 * 0.9.3 exposed a CSS Grid quirk: customer_details spanned the same
 * two grid rows used by the right-hand heading + review. Because the
 * billing column is very tall, the browser could distribute that height
 * into the heading row, producing the large blank gap under "Your order".
 *
 * Put the heading and review in the SAME grid cell instead, with the
 * review offset below the heading. The left billing panel can then grow
 * independently without moving the order summary down.
 */

body.vs-checkout-page form.checkout{
	grid-template-columns:minmax(0,1fr) 390px !important;
	grid-template-areas:none !important;
	grid-auto-flow:row !important;
	column-gap:38px !important;
	row-gap:28px !important;
}

/* Any injected express-payment / separator markup gets a safe full row. */
body.vs-checkout-page form.checkout > *{
	grid-column:1 / -1;
	min-width:0;
}

/* Trust strip first full-width row */
body.vs-checkout-page form.checkout > .vs-checkout-reassurance{
	grid-column:1 / -1 !important;
	grid-row:1 !important;
	margin-bottom:0 !important;
}

/* Main checkout columns share one grid row */
body.vs-checkout-page #customer_details{
	grid-column:1 !important;
	grid-row:3 !important;
	align-self:start !important;
}

body.vs-checkout-page #order_review_heading{
	grid-column:2 !important;
	grid-row:3 !important;
	align-self:start !important;
	z-index:2;
	min-height:84px;
}

body.vs-checkout-page #order_review{
	grid-column:2 !important;
	grid-row:3 !important;
	align-self:start !important;
	margin-top:84px !important;
	z-index:1;
}

/* Remove any inherited spacing that can reopen the gap. */
body.vs-checkout-page #order_review > table.shop_table:first-child{
	margin-top:0 !important;
}

body.vs-checkout-page #order_review .woocommerce-checkout-review-order-table{
	margin-top:0 !important;
}

/*
 * Express checkout integrations are injected by payment plugins and vary
 * slightly by provider/version. Keep the common wrappers together above
 * billing details, rather than letting them auto-place at the bottom.
 */
body.vs-checkout-page form.checkout > .wc-stripe-express-checkout-element,
body.vs-checkout-page form.checkout > .wc-stripe-checkout-container,
body.vs-checkout-page form.checkout > .wc-stripe-express-checkout-container,
body.vs-checkout-page form.checkout > .wcpay-payment-request-wrapper,
body.vs-checkout-page form.checkout > .wcpay-payment-request-button-separator,
body.vs-checkout-page form.checkout > .amazon-payments-pay-button,
body.vs-checkout-page form.checkout > .wc-amazon-payments-advanced-populated,
body.vs-checkout-page form.checkout > [class*="express-checkout"],
body.vs-checkout-page form.checkout > [class*="payment-request"]{
	grid-column:1 / -1 !important;
	grid-row:2 !important;
	align-self:center !important;
	justify-self:center !important;
	width:100% !important;
	max-width:620px !important;
}

/* Common OR/separator variants stay with express buttons. */
body.vs-checkout-page form.checkout > [class*="separator"],
body.vs-checkout-page form.checkout > [class*="express"][class*="or"]{
	grid-column:1 / -1 !important;
	grid-row:2 !important;
	justify-self:center !important;
}

/* Make the right-hand summary feel denser and more deliberate. */
body.vs-checkout-page #order_review_heading{
	padding:22px 24px 15px !important;
	font-size:29px !important;
}

body.vs-checkout-page #order_review_heading::before{
	margin-bottom:7px !important;
}

body.vs-checkout-page #order_review{
	padding:0 24px 22px !important;
}

body.vs-checkout-page #order_review table.shop_table th,
body.vs-checkout-page #order_review table.shop_table td{
	padding:11px 0 !important;
	font-size:12.5px !important;
}

body.vs-checkout-page #order_review .order-total th,
body.vs-checkout-page #order_review .order-total td{
	padding-top:15px !important;
	font-size:14px !important;
	font-weight:800 !important;
}

/* Payment panel no longer needs the oversized nested-box look. */
body.vs-checkout-page #payment{
	margin-top:6px !important;
	border-radius:7px !important;
	box-shadow:none !important;
}

body.vs-checkout-page #payment ul.payment_methods{
	padding:15px !important;
}

body.vs-checkout-page #payment .place-order{
	padding:15px !important;
}

/* Keep express section from hanging around beneath billing due provider margins. */
body.vs-checkout-page form.checkout > .wc-stripe-express-checkout-element,
body.vs-checkout-page form.checkout > .wc-stripe-checkout-container,
body.vs-checkout-page form.checkout > .wcpay-payment-request-wrapper,
body.vs-checkout-page form.checkout > .amazon-payments-pay-button{
	margin-top:0 !important;
	margin-bottom:0 !important;
}

/* Slightly cleaner billing panels */
body.vs-checkout-page .woocommerce-billing-fields,
body.vs-checkout-page .woocommerce-shipping-fields,
body.vs-checkout-page .woocommerce-additional-fields{
	box-shadow:0 8px 22px rgba(43,25,15,.025);
}

/* Tablet/mobile: stack cleanly, but still keep heading + review attached. */
@media(max-width:900px){
	body.vs-checkout-page form.checkout{
		grid-template-columns:1fr !important;
		column-gap:0 !important;
		row-gap:22px !important;
	}

	body.vs-checkout-page form.checkout > .vs-checkout-reassurance{
		grid-column:1 !important;
		grid-row:1 !important;
	}

	body.vs-checkout-page form.checkout > .wc-stripe-express-checkout-element,
	body.vs-checkout-page form.checkout > .wc-stripe-checkout-container,
	body.vs-checkout-page form.checkout > .wc-stripe-express-checkout-container,
	body.vs-checkout-page form.checkout > .wcpay-payment-request-wrapper,
	body.vs-checkout-page form.checkout > .wcpay-payment-request-button-separator,
	body.vs-checkout-page form.checkout > .amazon-payments-pay-button,
	body.vs-checkout-page form.checkout > .wc-amazon-payments-advanced-populated,
	body.vs-checkout-page form.checkout > [class*="express-checkout"],
	body.vs-checkout-page form.checkout > [class*="payment-request"],
	body.vs-checkout-page form.checkout > [class*="separator"]{
		grid-column:1 !important;
		grid-row:2 !important;
	}

	body.vs-checkout-page #customer_details{
		grid-column:1 !important;
		grid-row:3 !important;
	}

	body.vs-checkout-page #order_review_heading{
		grid-column:1 !important;
		grid-row:4 !important;
		margin-top:0 !important;
	}

	body.vs-checkout-page #order_review{
		grid-column:1 !important;
		grid-row:4 !important;
		margin-top:84px !important;
	}
}


/* =========================================
   Checkout final alignment fix — 0.9.5
   ========================================= */

/* Remove WooCommerce's little notice icon from the coupon bar.
   It was sitting over the first letter of "Have". */
body.vs-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info::before,
body.vs-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info:before{
	display:none !important;
	content:none !important;
}

body.vs-checkout-page .woocommerce-form-coupon-toggle .woocommerce-info{
	padding-left:20px !important;
}

/*
 * Treat "Your order" and its table as ONE panel.
 * Hiding the separate Woo heading removes the artificial vertical gap
 * that remained between the heading and order table.
 */
body.vs-checkout-page #order_review_heading{
	display:none !important;
}

body.vs-checkout-page #order_review{
	grid-column:2 !important;
	grid-row:3 !important;
	align-self:start !important;
	margin-top:0 !important;
	padding:0 24px 22px !important;
	border:1px solid #e5d8ce !important;
	border-radius:9px !important;
	background:#faf6f0 !important;
	overflow:hidden !important;
}

/* Rebuild the heading inside the same panel */
body.vs-checkout-page #order_review::before{
	content:"ORDER SUMMARY\A Your order";
	display:block;
	white-space:pre;
	margin:0 -24px 0 !important;
	padding:22px 24px 17px !important;
	border-bottom:1px solid #e5d8ce;
	background:#faf6f0;
	color:#2b190f;
	font-family:"Cormorant Garamond", Georgia, serif;
	font-size:29px;
	font-weight:500;
	line-height:1.45;
	letter-spacing:-.02em;
}

/* Style just the first line as the small orange kicker by overlaying it. */
body.vs-checkout-page #order_review{
	position:relative;
	padding-top:88px !important;
}

body.vs-checkout-page #order_review::before{
	position:absolute;
	top:0;
	left:24px;
	right:24px;
	height:88px;
	box-sizing:border-box;
	padding:40px 0 14px !important;
	margin:0 !important;
	font-size:29px;
	line-height:1;
}

body.vs-checkout-page #order_review::after{
	content:"ORDER SUMMARY";
	position:absolute;
	top:20px;
	left:24px;
	color:#f2661b;
	font-family:Arial, Helvetica, sans-serif;
	font-size:10px;
	font-weight:800;
	line-height:1;
	letter-spacing:.13em;
}

/* Order table starts immediately under the rebuilt heading. */
body.vs-checkout-page #order_review table.shop_table,
body.vs-checkout-page #order_review .woocommerce-checkout-review-order-table{
	margin-top:0 !important;
}

/* Remove the extra blank white strip at the top of order review generated
   by theme spacing. */
body.vs-checkout-page #order_review > :first-child{
	margin-top:0 !important;
}

/* Mobile/tablet: same single-panel treatment */
@media(max-width:900px){
	body.vs-checkout-page #order_review{
		grid-column:1 !important;
		grid-row:4 !important;
		margin-top:0 !important;
	}

	body.vs-checkout-page #order_review_heading{
		display:none !important;
	}
}


/* =========================================
   Checkout order-summary heading cleanup — 0.9.6
   ========================================= */

/*
 * 0.9.5 was still inheriting an ORDER SUMMARY label from an earlier
 * pseudo-element rule, while also drawing our replacement heading.
 * Reset every previous pseudo heading first, then build one clean header.
 */
body.vs-checkout-page #order_review::before,
body.vs-checkout-page #order_review::after{
	content:none !important;
	display:none !important;
}

/* Remove the old standalone Woo heading completely. */
body.vs-checkout-page #order_review_heading{
	display:none !important;
}

/* Order review becomes one complete summary card. */
body.vs-checkout-page #order_review{
	position:relative !important;
	margin-top:0 !important;
	padding:0 24px 22px !important;
	overflow:hidden !important;
	border:1px solid #e5d8ce !important;
	border-radius:9px !important;
	background:#faf6f0 !important;
}

/* Insert a real visual header using the table caption-like top area. */
body.vs-checkout-page #order_review .woocommerce-checkout-review-order-table{
	position:relative;
	margin:0 !important;
	padding-top:0 !important;
}

/* Header is added before the table via first-row positioning, avoiding
   pseudo-element collisions from Astra/WooCommerce. */
body.vs-checkout-page #order_review{
	background:
		linear-gradient(#faf6f0,#faf6f0) top/100% 104px no-repeat,
		#faf6f0 !important;
	padding-top:104px !important;
}

body.vs-checkout-page #order_review .woocommerce-checkout-review-order-table::before{
	content:"ORDER SUMMARY";
	position:absolute;
	top:-82px;
	left:0;
	color:#f2661b;
	font-family:Arial,Helvetica,sans-serif;
	font-size:10px;
	font-weight:800;
	line-height:1;
	letter-spacing:.13em;
}

body.vs-checkout-page #order_review .woocommerce-checkout-review-order-table::after{
	content:"Your order";
	position:absolute;
	top:-58px;
	left:0;
	color:#2b190f;
	font-family:"Cormorant Garamond",Georgia,serif;
	font-size:30px;
	font-weight:500;
	line-height:1;
	letter-spacing:-.02em;
}

/* Divider immediately beneath the new header */
body.vs-checkout-page #order_review table.shop_table thead tr:first-child th{
	border-top:1px solid #e5d8ce !important;
}

/* Ensure nothing from themes injects heading text above table */
body.vs-checkout-page #order_review > h3,
body.vs-checkout-page #order_review > .order_review_heading{
	display:none !important;
}

/* Express buttons: a little more breathing room below trust strip */
body.vs-checkout-page form.checkout > .wc-stripe-express-checkout-element,
body.vs-checkout-page form.checkout > .wc-stripe-checkout-container,
body.vs-checkout-page form.checkout > .wc-stripe-express-checkout-container,
body.vs-checkout-page form.checkout > .wcpay-payment-request-wrapper,
body.vs-checkout-page form.checkout > .amazon-payments-pay-button,
body.vs-checkout-page form.checkout > .wc-amazon-payments-advanced-populated,
body.vs-checkout-page form.checkout > [class*="express-checkout"],
body.vs-checkout-page form.checkout > [class*="payment-request"]{
	margin-top:8px !important;
	margin-bottom:12px !important;
}


/* =========================================
   Related products / "You may also like" — 0.9.9
   Match the VintySplit Shop cards
   ========================================= */

body.vs-product-page .related.products{
	clear:both;
	max-width:1180px;
	margin:42px auto 0 !important;
	padding:0 0 10px !important;
}

body.vs-product-page .related.products > h2{
	margin:0 0 24px !important;
	color:#2b190f;
	font-family:"Cormorant Garamond",Georgia,serif !important;
	font-size:38px !important;
	font-weight:500 !important;
	line-height:1 !important;
	letter-spacing:-.025em;
}

body.vs-product-page .related.products ul.products{
	display:grid !important;
	grid-template-columns:repeat(3,minmax(0,1fr)) !important;
	gap:22px !important;
	margin:0 !important;
	padding:0 !important;
}

body.vs-product-page .related.products ul.products li.product{
	display:flex !important;
	flex-direction:column !important;
	width:auto !important;
	min-width:0 !important;
	max-width:none !important;
	float:none !important;
	margin:0 !important;
	padding:0 !important;
	overflow:hidden;
	border:1px solid rgba(43,25,15,.06);
	border-radius:8px;
	background:#fff !important;
	box-shadow:0 8px 24px rgba(43,25,15,.035);
}

/* Woo's outer product link should not interfere with our inner card layout. */
body.vs-product-page .related.products li.product > a.woocommerce-LoopProduct-link{
	display:block !important;
	color:inherit !important;
	text-decoration:none !important;
}

body.vs-product-page .related.products .vs-loop-image-wrap{
	display:block;
	position:relative;
	width:100%;
	aspect-ratio:4 / 5;
	overflow:hidden;
	background:#f2f0ed;
}

body.vs-product-page .related.products .vs-loop-image{
	display:block;
	width:100% !important;
	height:100% !important;
	margin:0 !important;
	object-fit:cover !important;
}

body.vs-product-page .related.products .vs-loop-content{
	display:flex;
	flex:1 1 auto;
	flex-direction:column;
	min-height:188px;
	padding:17px 18px 18px;
}

body.vs-product-page .related.products .vs-loop-category-row{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;
	margin:0 0 9px;
	color:#77665a;
	font-size:9px;
	font-weight:700;
	line-height:1;
	letter-spacing:.06em;
	text-transform:uppercase;
}

body.vs-product-page .related.products .vs-loop-audience{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:5px 9px;
	border:1px solid #d8e1e7;
	border-radius:999px;
	background:#edf3f7;
	color:#486171;
	font-size:9px;
	font-weight:800;
	line-height:1;
	letter-spacing:.07em;
}

body.vs-product-page .related.products .vs-loop-brand{
	margin:0 0 6px;
	color:#f2661b;
	font-size:9px;
	font-weight:800;
	line-height:1.1;
	letter-spacing:.08em;
	text-transform:uppercase;
}

body.vs-product-page .related.products .vs-loop-title{
	margin:0 !important;
	padding:0 !important;
	color:#2b190f !important;
	font-family:"Cormorant Garamond",Georgia,serif !important;
	font-size:25px !important;
	font-weight:500 !important;
	line-height:1.02 !important;
	letter-spacing:-.025em;
}

body.vs-product-page .related.products .vs-loop-meta{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:7px;
	margin-top:11px;
	color:#75685f;
	font-size:11px;
	line-height:1.15;
}

body.vs-product-page .related.products .vs-loop-size{
	display:inline-flex;
	align-items:center;
	padding:5px 9px;
	border:1px solid #e1d6cb;
	border-radius:999px;
	background:#f8f1e9;
	color:#4c3c32;
	font-size:10px;
	font-weight:700;
	line-height:1;
}

body.vs-product-page .related.products .vs-loop-price{
	margin-top:auto !important;
	padding-top:18px;
	color:#17110d;
	font-size:18px;
	font-weight:800;
	line-height:1;
}

/* Kill any stray Astra/Woo fragments that survive theme updates. */
body.vs-product-page .related.products li.product > .price,
body.vs-product-page .related.products li.product > .button,
body.vs-product-page .related.products li.product > h2:not(.vs-loop-title),
body.vs-product-page .related.products li.product > .ast-woo-product-category{
	display:none !important;
}

@media(max-width:1024px){
	body.vs-product-page .related.products ul.products{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
}

@media(max-width:600px){
	body.vs-product-page .related.products{
		margin-top:30px !important;
	}

	body.vs-product-page .related.products > h2{
		font-size:32px !important;
	}

	body.vs-product-page .related.products ul.products{
		grid-template-columns:1fr !important;
	}

	body.vs-product-page .related.products .vs-loop-content{
		min-height:0;
	}
}


/* =========================================
   Related product duplicate cleanup — 0.10.3
   ========================================= */

/* Stock Woo/Astra title/price/button fragments must never appear underneath
   the VintySplit related-product card. */
body.vs-product-page .related.products li.product .woocommerce-loop-product__title:not(.vs-loop-title),
body.vs-product-page .related.products li.product .ast-loop-product__link > .woocommerce-loop-product__title,
body.vs-product-page .related.products li.product .ast-woo-product-category,
body.vs-product-page .related.products li.product > .price,
body.vs-product-page .related.products li.product .woocommerce-LoopProduct-link + .price,
body.vs-product-page .related.products li.product > .button,
body.vs-product-page .related.products li.product > a.button,
body.vs-product-page .related.products li.product .add_to_cart_button,
body.vs-product-page .related.products li.product .added_to_cart{
	display:none !important;
}

/* Our own title and price remain visible. */
body.vs-product-page .related.products li.product .vs-loop-title,
body.vs-product-page .related.products li.product .vs-loop-price{
	display:block !important;
}

/* Remove any empty space left by suppressed stock elements. */
body.vs-product-page .related.products li.product > a.woocommerce-LoopProduct-link:empty{
	display:none !important;
}


/* =========================================
   Related products raw Astra price cleanup — 0.10.4
   ========================================= */

/*
 * Astra is still outputting its own raw span.price underneath our
 * .vs-loop-price. In the DOM it is a direct child of li.product after
 * .astra-shop-summary-wrap, so hide every non-VintySplit price fragment.
 */
body.vs-product-page .related.products li.product > span.price,
body.vs-product-page .related.products li.product > .price,
body.vs-product-page .related.products li.product .astra-shop-summary-wrap > span.price,
body.vs-product-page .related.products li.product .astra-shop-summary-wrap > .price,
body.vs-product-page .related.products li.product > a.add_to_cart_button,
body.vs-product-page .related.products li.product > a.added_to_cart{
	display:none !important;
}

/* Our custom price stays visible. */
body.vs-product-page .related.products li.product .vs-loop-price{
	display:block !important;
}

/* If Astra leaves its stock summary wrapper empty, collapse it. */
body.vs-product-page .related.products li.product .astra-shop-summary-wrap:empty{
	display:none !important;
}
