@import url("https://fonts.googleapis.com/css2?family=Belleza&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap");
/* ==========================================================================
   Vantage Modern Earth — design system
   Palette: Espresso #3E362E · Caramel #B08968 · Off-white #F7F5F2 · Charcoal #1A1A1A
   ========================================================================== */

:root {
	--espresso: #3E362E;
	--espresso-2: #52493e;
	--caramel: #B08968;
	--caramel-2: #9d7758;
	--caramel-soft: #E7DED6;
	--offwhite: #F7F5F2;
	--paper: #FDFCFB;
	--charcoal: #1A1A1A;
	--ink: #2b2620;
	--muted: #7d7469;
	--line: #e5ded4;
	--wa: #25D366;
	--wa-dark: #1eab55;
	--radius: 14px;
	--radius-sm: 9px;
	--shadow: 0 10px 30px rgba(62, 54, 46, .10);
	--shadow-lg: 0 22px 60px rgba(26, 26, 26, .16);
	--font-head: "Fraunces", Georgia, "Times New Roman", serif;
	--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--wrap: 1240px;
	--header-h: 74px;
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.65;
	color: var(--ink);
	background: var(--offwhite);
	-webkit-font-smoothing: antialiased;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--espresso); text-decoration: none; transition: color .2s ease; }
a:hover { color: var(--caramel-2); }
h1, h2, h3, h4, h5 { font-family: var(--font-head); color: var(--espresso); line-height: 1.18; margin: 0 0 .5em; font-weight: 560; letter-spacing: -.01em; }
p { margin: 0 0 1em; }
button { font-family: inherit; cursor: pointer; }
input, select, textarea { font-family: inherit; font-size: 15px; color: var(--ink); }
:focus-visible { outline: 2px solid var(--caramel); outline-offset: 2px; }
.screen-reader-text, .vtg-skip-link {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.vtg-skip-link:focus { position: fixed; top: 10px; left: 10px; width: auto; height: auto; clip: auto; background: var(--espresso); color: #fff; padding: 10px 16px; z-index: 9999; border-radius: 8px; }

.vtg-wrap { width: min(var(--wrap), 100% - 40px); margin-inline: auto; }

/* ---------- Buttons & badges ---------- */
.vtg-btn, .button, button.button, a.button, input[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 9px;
	padding: 13px 26px; border-radius: 999px; border: 1.5px solid transparent;
	font-size: 14.5px; font-weight: 600; line-height: 1.2; cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
	text-decoration: none;
}
.vtg-btn--solid, .button.alt, #respond input[type="submit"], .checkout-button.button.alt {
	background: var(--espresso) !important; color: var(--offwhite) !important;
}
.vtg-btn--solid:hover, .button.alt:hover, .checkout-button.button.alt:hover { background: var(--charcoal) !important; transform: translateY(-2px); box-shadow: var(--shadow); }
.vtg-btn--light { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.55); backdrop-filter: blur(4px); }
.vtg-btn--light:hover { background: rgba(255,255,255,.92); color: var(--espresso); }
.vtg-btn--ghost { background: transparent; color: var(--espresso); border-color: var(--espresso); }
.vtg-btn--ghost:hover { background: var(--espresso); color: var(--offwhite); }
.vtg-wa-btn { background: var(--wa); color: #fff !important; }
.vtg-wa-btn:hover { background: var(--wa-dark); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(37, 211, 102, .35); }
.vtg-wa-btn--large { padding: 16px 30px; font-size: 15.5px; }
.vtg-wa-btn--ghost { background: transparent; color: var(--wa-dark) !important; border-color: var(--wa); }
.vtg-wa-btn--ghost:hover { background: var(--wa); color: #fff !important; box-shadow: none; transform: none; }
.vtg-wa-ico { display: inline-flex; }
.vtg-badge {
	position: absolute; top: 12px; left: 12px; z-index: 3;
	padding: 5px 11px; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
	border-radius: 999px; background: var(--caramel); color: #fff;
}
.vtg-badge--soon { position: static; background: var(--espresso); }

.vtg-eyebrow {
	font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--caramel); margin: 0 0 8px;
}
.vtg-eyebrow--light { color: var(--caramel); }

.vtg-link-arrow { font-weight: 600; font-size: 14.5px; color: var(--caramel-2); white-space: nowrap; }
.vtg-link-arrow:hover { color: var(--espresso); }

/* ==========================================================================
   HEADER
   ========================================================================== */
.vtg-topbar { background: var(--espresso); color: rgba(247, 245, 242, .88); font-size: 12.5px; }
.vtg-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-block: 7px; }
.vtg-topbar__item { display: inline-flex; align-items: center; gap: 6px; color: inherit; margin: 0; }
.vtg-topbar__links { display: flex; align-items: center; gap: 16px; }
.vtg-topbar a:hover { color: var(--caramel); }
.vtg-topbar__soc { opacity: .9; }

.vtg-header { background: var(--offwhite); position: sticky; top: 0; z-index: 200; }
.vtg-header.is-stuck { box-shadow: 0 6px 24px rgba(62, 54, 46, .10); }
.vtg-header__main { display: flex; align-items: center; gap: 20px; min-height: var(--header-h); padding-block: 10px; }

.vtg-logo { display: inline-flex; align-items: center; gap: 11px; }
.vtg-logo__mark { display: inline-flex; }
.vtg-logo__text { display: flex; flex-direction: column; line-height: 1.1; }
.vtg-logo__text strong { font-family: var(--font-head); font-size: 21px; color: var(--espresso); letter-spacing: .01em; }
.vtg-logo__text em { font-style: normal; font-size: 10.5px; letter-spacing: .18em; text-transform: uppercase; color: var(--caramel-2); margin-top: 3px; }

.vtg-header-search { position: relative; flex: 1 1 auto; max-width: 480px; margin-inline: auto; }
.vtg-searchform { display: flex; align-items: center; background: #fff; border: 1.5px solid var(--line); border-radius: 999px; overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.vtg-searchform:focus-within { border-color: var(--caramel); box-shadow: 0 0 0 4px rgba(176, 137, 104, .14); }
.vtg-search-input { flex: 1; border: 0; background: transparent; padding: 11px 18px; outline: none; font-size: 14.5px; min-width: 0; }
.vtg-search-go { border: 0; background: transparent; color: var(--espresso); padding: 11px 16px; display: inline-flex; }
.vtg-search-go:hover { color: var(--caramel); }

.vtg-search-results {
	position: absolute; top: calc(100% + 8px); left: 0; right: 0; z-index: 320;
	background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-lg); overflow: hidden;
	border: 1px solid var(--line); max-height: 420px; overflow-y: auto;
}
.vtg-search-results a.vtg-sr-item { display: flex; gap: 12px; align-items: center; padding: 10px 14px; border-bottom: 1px solid #f3eee6; }
.vtg-search-results a.vtg-sr-item:last-child { border-bottom: 0; }
.vtg-search-results a.vtg-sr-item:hover { background: var(--offwhite); }
.vtg-sr-item img { width: 46px; height: 46px; object-fit: cover; border-radius: 8px; flex: none; }
.vtg-sr-item .vtg-sr-noimg { width: 46px; height: 46px; border-radius: 8px; background: var(--caramel-soft); flex: none; }
.vtg-sr-item__name { font-size: 13.5px; font-weight: 600; color: var(--espresso); line-height: 1.3; }
.vtg-sr-item__meta { font-size: 12px; color: var(--muted); display: flex; gap: 8px; }
.vtg-sr-item__meta .vtg-tbc-label { font-size: 12px; padding: 0; background: none; color: var(--caramel-2); }
.vtg-search-empty { padding: 16px; font-size: 13.5px; color: var(--muted); margin: 0; }

.vtg-header-actions { display: flex; align-items: center; gap: 6px; flex: none; }
.vtg-haction {
	position: relative; display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 50%; border: 1.5px solid var(--line); background: #fff; color: var(--espresso);
	transition: all .2s ease;
}
.vtg-haction:hover { border-color: var(--caramel); color: var(--caramel-2); transform: translateY(-1px); }
.vtg-haction--wa { background: var(--wa); border-color: var(--wa); color: #fff; }
.vtg-haction--wa:hover { background: var(--wa-dark); color: #fff; }
.vtg-cart-count {
	position: absolute; top: -5px; right: -5px; min-width: 19px; height: 19px; padding-inline: 5px;
	background: var(--caramel); color: #fff; border-radius: 999px; font-size: 11px; font-weight: 700;
	display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
.vtg-nav-toggle { display: none; flex-direction: column; gap: 4.5px; }
.vtg-nav-toggle span { display: block; width: 18px; height: 2px; background: currentColor; border-radius: 2px; transition: all .25s ease; }

/* Primary nav */
.vtg-nav { border-top: 1px solid var(--line); background: var(--offwhite); }
.vtg-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: stretch; gap: 4px; flex-wrap: wrap; }
.vtg-menu li { position: relative; }
.vtg-menu a {
	display: flex; align-items: center; gap: 6px; padding: 14px 14px; font-size: 14px; font-weight: 600;
	color: var(--espresso); letter-spacing: .01em;
}
.vtg-menu a:hover, .vtg-menu .current-menu-item > a, .vtg-menu .current-menu-ancestor > a { color: var(--caramel-2); }
.vtg-menu .menu-item-has-children > a::after {
	content: ""; width: 7px; height: 7px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor;
	transform: rotate(45deg) translateY(-2px); transition: transform .2s ease;
}
.vtg-menu .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 220px; z-index: 240;
	list-style: none; margin: 0; padding: 8px; background: #fff; border-radius: 12px; box-shadow: var(--shadow-lg);
	opacity: 0; visibility: hidden; transform: translateY(8px); transition: all .2s ease;
}
.vtg-menu li:hover > .sub-menu, .vtg-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.vtg-menu .sub-menu a { padding: 9px 12px; border-radius: 8px; font-size: 13.5px; font-weight: 500; }
.vtg-menu .sub-menu a:hover { background: var(--offwhite); }

/* Mobile nav drawer */
.vtg-mobile-nav {
	position: fixed; top: 0; right: 0; bottom: 0; width: min(340px, 88vw); z-index: 400;
	background: var(--paper); box-shadow: -18px 0 50px rgba(0,0,0,.18); padding: 18px 20px;
	transform: translateX(105%); transition: transform .3s cubic-bezier(.32,.72,.35,1); overflow-y: auto;
}
.vtg-mobile-nav.is-open { transform: translateX(0); }
.vtg-mobile-nav__head { display: flex; align-items: center; justify-content: space-between; font-family: var(--font-head); font-size: 20px; color: var(--espresso); padding-bottom: 14px; border-bottom: 1px solid var(--line); margin-bottom: 12px; }
.vtg-mobile-nav__close { background: none; border: 0; font-size: 30px; line-height: 1; color: var(--muted); padding: 4px 8px; }
.vtg-menu--mobile { flex-direction: column; align-items: stretch; gap: 0; }
.vtg-menu--mobile li { border-bottom: 1px solid #f1ebe2; }
.vtg-menu--mobile a { padding: 13px 6px; font-size: 15.5px; }
.vtg-menu--mobile .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; padding: 0 0 0 16px; border-left: 2px solid var(--caramel-soft); border-radius: 0; margin-bottom: 8px; }
.vtg-menu--mobile .sub-menu li { border: 0; }
.vtg-mobile-nav__wa { margin-top: 18px; width: 100%; }
.vtg-overlay { position: fixed; inset: 0; background: rgba(26, 22, 18, .48); z-index: 390; opacity: 0; transition: opacity .3s ease; backdrop-filter: blur(2px); }
.vtg-overlay.is-visible { opacity: 1; }

/* ==========================================================================
   MAIN / SECTIONS
   ========================================================================== */
.vtg-main { min-height: 40vh; }
.vtg-section { padding-block: clamp(48px, 7vw, 84px); }
.vtg-section--tinted { background: var(--caramel-soft); }
.vtg-section--dark { background: var(--espresso); }
.vtg-section--dark h2, .vtg-section--dark h3 { color: var(--offwhite); }
.vtg-section__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 30px; flex-wrap: wrap; }
.vtg-section__head h2 { font-size: clamp(26px, 3.4vw, 38px); margin: 0; flex: 1 1 300px; }
.vtg-section__head--center { flex-direction: column; align-items: center; text-align: center; }
.vtg-section__head--center h2 { flex: none; }

/* ----- Hero ----- */
.vtg-hero { position: relative; background: var(--charcoal); overflow: hidden; }
.vtg-hero__track { position: relative; min-height: clamp(460px, 68vh, 640px); }
.vtg-hero__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .8s ease, visibility .8s; }
.vtg-hero__slide.is-active { opacity: 1; visibility: visible; position: relative; }
.vtg-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; animation: vtg-kenburns 9s ease-out forwards; }
@keyframes vtg-kenburns { from { transform: scale(1.06); } to { transform: scale(1); } }
.vtg-hero__scrim { position: absolute; inset: 0; background: linear-gradient(78deg, rgba(26,22,18,.78) 0%, rgba(62,54,46,.52) 45%, rgba(62,54,46,.08) 100%); }
.vtg-hero__content { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; min-height: clamp(460px, 68vh, 640px); padding-block: 60px; max-width: var(--wrap); }
.vtg-hero__eyebrow { color: var(--caramel); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; font-size: 12.5px; margin: 0 0 14px; }
.vtg-hero__title { color: #fff; font-size: clamp(34px, 5.6vw, 62px); max-width: 13ch; margin: 0 0 16px; }
.vtg-hero__sub { color: rgba(247,245,242,.85); font-size: clamp(15px, 1.6vw, 18px); max-width: 46ch; margin: 0 0 28px; }
.vtg-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.vtg-hero__dots { position: absolute; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; gap: 9px; z-index: 5; }
.vtg-hero__dots button { width: 34px; height: 4px; border-radius: 4px; border: 0; padding: 0; background: rgba(255,255,255,.35); transition: background .25s ease; }
.vtg-hero__dots button.is-active { background: var(--caramel); }

/* ----- Category grid ----- */
.vtg-cat-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.vtg-cat-card { position: relative; display: block; border-radius: var(--radius); overflow: hidden; background: #fff; box-shadow: var(--shadow); transition: transform .25s ease, box-shadow .25s ease; }
.vtg-cat-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.vtg-cat-card__media { position: relative; display: block; aspect-ratio: 4/3; overflow: hidden; background: var(--caramel-soft); }
.vtg-cat-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.vtg-cat-card:hover .vtg-cat-card__media img { transform: scale(1.06); }
.vtg-cat-card__body { display: flex; flex-direction: column; gap: 2px; padding: 13px 15px; }
.vtg-cat-card__body strong { font-family: var(--font-head); font-size: 17px; color: var(--espresso); }
.vtg-cat-card__body em { font-style: normal; font-size: 12.5px; color: var(--muted); }
.vtg-cat-card--soon .vtg-cat-card__media img { opacity: .55; filter: saturate(.6); }

/* ----- Product cards (native Woo loop augmented) ----- */
ul.products {
	display: grid !important; grid-template-columns: repeat(2, 1fr); gap: 14px;
	list-style: none !important; margin: 0 0 26px !important; padding: 0 !important;
}
ul.products::before, ul.products::after { display: none !important; }
ul.products li.product {
	position: relative; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important;
	background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: 0 3px 14px rgba(62,54,46,.07);
	transition: transform .22s ease, box-shadow .22s ease;
	display: flex; flex-direction: column; text-align: left !important;
}
ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
ul.products li.product a.woocommerce-LoopProduct-link,
ul.products li.product > a:not(.button):not(.vtg-wa-loop-btn) { display: flex; flex-direction: column; flex: 1; color: inherit; }
ul.products li.product a:hover { color: inherit; }
ul.products li.product .woocommerce-loop-product__link { position: relative; }
ul.products li.product img {
	width: 100% !important; aspect-ratio: 16/10.5; object-fit: cover; margin: 0 !important;
	transition: transform .45s ease; background: var(--caramel-soft);
}
ul.products li.product:hover img { transform: scale(1.05); }
ul.products li.product .onsale {
	top: 12px; right: 12px; left: auto; margin: 0; min-height: 0; padding: 5px 11px;
	background: var(--espresso); color: #fff; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; line-height: 1.5;
}
.vtg-card-cat {
	align-self: flex-start; margin: 10px 12px 0; font-size: 11px; font-weight: 700; letter-spacing: .1em;
	text-transform: uppercase; color: var(--caramel-2);
}
/* card image wraps within link — ensure cat label floats over image instead of pushing */
ul.products li.product { position: relative; }
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-head) !important; font-size: 16px !important; font-weight: 560 !important;
	color: var(--espresso) !important; padding: 4px 12px 0 !important; margin: 0 !important; line-height: 1.3 !important;
}
ul.products li.product .price { display: block; padding: 2px 12px 0; font-size: 15px; font-weight: 700; color: var(--charcoal); }
ul.products li.product .price del { color: var(--muted); font-weight: 400; margin-right: 6px; }
ul.products li.product .price ins { text-decoration: none; color: var(--caramel-2); }
.vtg-price-tbc .vtg-tbc-label, span.vtg-tbc-label {
	display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--caramel-soft);
	color: var(--espresso); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
}
ul.products li.product .star-rating { margin: 6px 12px 0; }
ul.products li.product .button, ul.products li.product .add_to_cart_button, ul.products li.product .vtg-wa-loop-btn {
	margin: 10px 12px 12px; padding: 10px 16px; font-size: 12.5px; border-radius: 999px;
	background: var(--espresso); color: #fff; border: 1.5px solid var(--espresso);
}
ul.products li.product .button:hover { background: var(--charcoal); border-color: var(--charcoal); color: #fff; }
ul.products li.product .button.added { background: var(--wa); border-color: var(--wa); }
ul.products li.product .button.loading { opacity: .7; }
ul.products li.product .vtg-wa-loop-btn { background: var(--wa); border-color: var(--wa); color: #fff; }
ul.products li.product .vtg-wa-loop-btn:hover { background: var(--wa-dark); border-color: var(--wa-dark); }
.added_to_cart.wc-forward { margin: 0 12px 12px; font-size: 12.5px; }

.vtg-card-extras { position: absolute; top: 10px; right: 10px; display: flex; flex-direction: column; gap: 7px; z-index: 3; }
.vtg-quick-view-btn, .vtg-card-wa {
	display: inline-flex; align-items: center; gap: 6px; padding: 8px 11px; border: 0; border-radius: 999px;
	background: rgba(255,255,255,.94); color: var(--espresso); font-size: 11.5px; font-weight: 700;
	box-shadow: 0 4px 14px rgba(26,26,26,.16); opacity: 0; transform: translateY(-4px); transition: all .22s ease;
	letter-spacing: .05em; text-transform: uppercase;
}
.vtg-card-wa { background: rgba(37,211,102,.95); color: #fff; padding: 9px; }
ul.products li.product:hover .vtg-quick-view-btn, ul.products li.product:hover .vtg-card-wa,
.vtg-quick-view-btn:focus-visible { opacity: 1; transform: translateY(0); }
.vtg-quick-view-btn:hover { background: var(--espresso); color: #fff; }
@media (hover: none) {
	.vtg-quick-view-btn { opacity: 1; transform: none; }
	.vtg-card-wa { opacity: 1; transform: none; }
}

/* ----- Splits ----- */
.vtg-splits { display: flex; flex-direction: column; gap: clamp(28px, 4vw, 48px); }
.vtg-split { display: grid; grid-template-columns: 1fr; gap: clamp(20px, 3.5vw, 52px); align-items: center; }
.vtg-split__media { border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); background: var(--caramel-soft); }
.vtg-split__media img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.vtg-split__body h3 { font-size: clamp(22px, 2.6vw, 30px); }
.vtg-split__body p { color: var(--muted); max-width: 52ch; }

/* ----- Testimonials ----- */
.vtg-testi-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.vtg-testi {
	margin: 0; padding: clamp(22px, 3vw, 32px); background: rgba(247,245,242,.06);
	border: 1px solid rgba(247,245,242,.14); border-radius: var(--radius);
}
.vtg-testi p { font-family: var(--font-head); font-size: clamp(16px, 1.9vw, 19px); color: var(--offwhite); font-style: italic; }
.vtg-testi footer { color: var(--caramel); font-weight: 600; font-size: 14px; }

/* ----- Showroom cards ----- */
.vtg-sr-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.vtg-sr-card { background: #fff; border-radius: var(--radius); padding: clamp(22px, 3vw, 32px); box-shadow: var(--shadow); border-top: 4px solid var(--caramel); }
.vtg-sr-card__addr { color: var(--muted); margin-bottom: 16px; }
.vtg-sr-card__hours { list-style: none; margin: 0 0 20px; padding: 0; border-top: 1px dashed var(--line); }
.vtg-sr-card__hours li { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--line); font-size: 13.5px; color: var(--muted); }
.vtg-sr-card__hours strong { color: var(--espresso); font-weight: 600; }
.vtg-sr-card__actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ----- Blog cards ----- */
.vtg-post-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.vtg-post-card { background: #fff; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); display: flex; flex-direction: column; transition: transform .22s ease; }
.vtg-post-card:hover { transform: translateY(-4px); }
.vtg-post-card__media { aspect-ratio: 16/10; overflow: hidden; background: var(--caramel-soft); }
.vtg-post-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.vtg-post-card:hover .vtg-post-card__media img { transform: scale(1.05); }
.vtg-post-card__noimg { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--caramel-soft), #d9cbbc); }
.vtg-post-card__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.vtg-post-card__meta { font-size: 12.5px; color: var(--muted); margin: 0; }
.vtg-post-card__title { font-size: 19px; margin: 0; }
.vtg-post-card__excerpt { font-size: 14px; color: var(--muted); margin: 0; flex: 1; }
.vtg-post-grid--index { margin-bottom: 34px; }

/* ----- CTA band ----- */
.vtg-cta { background: var(--charcoal); color: var(--offwhite); }
.vtg-cta__inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: clamp(36px, 5vw, 64px); flex-wrap: wrap; }
.vtg-cta h2 { color: #fff; font-size: clamp(24px, 3.4vw, 36px); margin: 0 0 6px; }
.vtg-cta p { color: rgba(247,245,242,.7); margin: 0; }

/* ==========================================================================
   SHOP / ARCHIVE
   ========================================================================== */
.vtg-shop-wrap { padding-bottom: 70px; }
.vtg-shop-head { padding-block: 30px 8px; }
.vtg-shop-title { font-size: clamp(30px, 4vw, 44px); margin: 0; }
.vtg-shop-desc { color: var(--muted); margin-top: 10px; max-width: 70ch; }
.vtg-breadcrumb { font-size: 13px; color: var(--muted); padding-block: 14px 4px; }
.vtg-breadcrumb a { color: var(--muted); }
.vtg-breadcrumb a:hover { color: var(--caramel-2); }
.vtg-crumb-sep { margin-inline: 7px; color: var(--caramel); }

.vtg-shop-toolbar {
	position: sticky; top: calc(var(--header-h) + 36px); z-index: 120;
	background: var(--offwhite); padding-block: 14px; border-bottom: 1px solid var(--line); margin-bottom: 24px;
	display: flex; flex-direction: column; gap: 12px;
}
.vtg-filter-chips { display: flex; gap: 8px; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.vtg-chip {
	flex: none; display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 16px; border-radius: 999px; border: 1.5px solid var(--line); background: #fff;
	font-size: 13px; font-weight: 600; color: var(--espresso); transition: all .2s ease;
}
.vtg-chip:hover { border-color: var(--caramel); }
.vtg-chip.is-active { background: var(--espresso); border-color: var(--espresso); color: #fff; }
.vtg-chip__soon { font-style: normal; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; background: var(--caramel); color: #fff; border-radius: 999px; padding: 2px 7px; }
.vtg-shop-controls { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.vtg-shop-search { position: relative; flex: 1 1 240px; max-width: 380px; }
.vtg-shop-search input { width: 100%; padding: 10px 38px 10px 15px; border: 1.5px solid var(--line); border-radius: 999px; background: #fff; }
.vtg-shop-search input:focus { outline: none; border-color: var(--caramel); }
.vtg-shop-search svg { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--muted); pointer-events: none; }
.vtg-ordering { margin: 0; }
.vtg-ordering select {
	padding: 10px 36px 10px 15px; border: 1.5px solid var(--line); border-radius: 999px; background: #fff;
	appearance: none; -webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%233E362E' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; cursor: pointer;
}
.vtg-shop-grid.is-loading { opacity: .45; pointer-events: none; transition: opacity .2s ease; }
.woocommerce-result-count { font-size: 13.5px; color: var(--muted); margin: 0 0 16px; }

.woocommerce-pagination ul, .vtg-blog-pagination ul {
	display: flex; gap: 7px; justify-content: center; list-style: none; border: 0 !important; margin: 26px 0 0 !important; padding: 0;
}
.woocommerce-pagination ul li, .vtg-blog-pagination .page-numbers { border: 0 !important; }
.page-numbers, .woocommerce-pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding-inline: 12px;
	border-radius: 10px; border: 1.5px solid var(--line); background: #fff; color: var(--espresso); font-size: 13.5px; font-weight: 600;
}
.page-numbers.current { background: var(--espresso); color: #fff; border-color: var(--espresso); }
button.page-numbers:hover:not(.current) { border-color: var(--caramel); color: var(--caramel-2); }
.vtg-none-found { background: #fff; border-radius: var(--radius); padding: 30px; text-align: center; color: var(--muted); }
.woocommerce-info.vtg-none-found { border-top-color: var(--caramel); }

/* Coming soon state (empty category, e.g. TV Stands) */
.vtg-coming-soon { background: #fff; border: 2px dashed var(--caramel); border-radius: var(--radius); padding: clamp(30px, 6vw, 60px); text-align: center; margin-block: 20px 40px; }
.vtg-coming-soon__eyebrow { color: var(--caramel); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; font-size: 12px; }
.vtg-coming-soon__title { font-size: clamp(22px, 3.4vw, 32px); }
.vtg-coming-soon p { color: var(--muted); max-width: 52ch; margin-inline: auto; }
.vtg-coming-soon__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 22px; }

/* ==========================================================================
   SINGLE PRODUCT
   ========================================================================== */
.single-product .product { display: grid; grid-template-columns: 1fr; gap: 26px; padding-top: 8px; }
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery__wrapper { border-radius: var(--radius); overflow: hidden; }
.woocommerce-product-gallery__image { border-radius: var(--radius); overflow: hidden; background: var(--caramel-soft); }
.woocommerce-product-gallery__image img { width: 100%; }
.flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 10px !important; list-style: none; padding: 0; }
.flex-control-thumbs li { float: none !important; width: auto !important; }
.flex-control-thumbs img { border-radius: 10px; border: 2px solid transparent; cursor: pointer; transition: border-color .2s ease; }
.flex-control-thumbs img.flex-active { border-color: var(--caramel); }
.woocommerce-product-gallery__trigger {
	top: 14px !important; right: 14px !important; border-radius: 50% !important; background: rgba(255,255,255,.92) !important;
	box-shadow: 0 4px 14px rgba(26,26,26,.18); z-index: 5;
}
.zoomImg { cursor: zoom-in; }

.single-product .summary.entry-summary { margin: 0 !important; }
.single-product .summary .product_title { font-size: clamp(26px, 3.4vw, 38px); margin-bottom: 10px; }
.single-product .summary .price { font-size: 24px; font-weight: 700; color: var(--charcoal); margin-bottom: 16px; }
.single-product .summary .woocommerce-product-details__short-description { color: var(--muted); }
.single-product .posted_in, .single-product .sku_wrapper { font-size: 13px; color: var(--muted); }
.single-product .posted_in a, .single-product .sku_wrapper { color: var(--muted); }
.single-product .posted_in a:hover { color: var(--caramel-2); }

.single-product .cart { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 14px !important; }
.single-product .cart .quantity { margin: 0 !important; }
.quantity .qty, .vtg-qty__input {
	width: 64px; padding: 11px 8px; text-align: center; border: 1.5px solid var(--line); border-radius: 10px; background: #fff;
}
.single-product .cart .button.single_add_to_cart_button {
	flex: 1 1 200px; padding: 15px 26px; font-size: 15px; background: var(--espresso); color: #fff;
}
.single-product .cart .button.single_add_to_cart_button:hover { background: var(--charcoal); }

.vtg-single-wa { margin: 14px 0 22px; padding-top: 18px; border-top: 1px dashed var(--line); }
.vtg-single-wa .vtg-tbc-note { font-size: 13px; color: var(--muted); margin: 12px 0 0; }
.vtg-single-wa--secondary .vtg-tbc-note--alt { margin-top: 10px; }
.vtg-single-wa--secondary .vtg-wa-btn { background: transparent; color: var(--wa-dark) !important; border-color: var(--wa); }
.vtg-single-wa--secondary .vtg-wa-btn:hover { background: var(--wa); color: #fff !important; }

.single-product .woocommerce-tabs { grid-column: 1 / -1; margin-top: 12px; }
.single-product .woocommerce-tabs ul.tabs { display: flex; gap: 8px; flex-wrap: wrap; border: 0 !important; padding: 0 !important; margin: 0 0 0 !important; }
.single-product .woocommerce-tabs ul.tabs::before { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li {
	background: #fff !important; border: 1.5px solid var(--line) !important; border-radius: 999px !important; margin: 0 !important; padding: 0 !important;
}
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display: none !important; }
.single-product .woocommerce-tabs ul.tabs li a { padding: 10px 20px; font-size: 13.5px; font-weight: 600; color: var(--espresso); }
.single-product .woocommerce-tabs ul.tabs li.active { background: var(--espresso) !important; border-color: var(--espresso) !important; }
.single-product .woocommerce-tabs ul.tabs li.active a { color: #fff !important; }
.single-product .woocommerce-tabs .panel {
	background: #fff; border: 1px solid var(--line); border-top: 1px solid var(--line) !important; border-radius: var(--radius);
	padding: clamp(20px, 3vw, 34px); margin-top: 14px; box-shadow: none !important;
}
.single-product .related.products { grid-column: 1 / -1; margin-top: 30px; }
.single-product .related.products > h2 { font-size: clamp(22px, 3vw, 30px); margin-bottom: 22px; }

.stock.in-stock { color: #48724d; }

/* ==========================================================================
   CART / CHECKOUT / ACCOUNT  (light polish on native WC UI)
   ========================================================================== */
.woocommerce table.shop_table { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line) !important; }
.woocommerce table.shop_table th { background: var(--espresso); color: #fff; font-size: 13px; letter-spacing: .04em; }
.woocommerce-cart .cart-collaterals .cart_totals h2 { font-size: 20px; }
.woocommerce a.remove { color: var(--caramel-2) !important; }
.woocommerce a.remove:hover { background: var(--espresso) !important; color: #fff !important; }
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border-radius: 12px !important; background: #fff; box-shadow: 0 4px 16px rgba(62,54,46,.08);
}
.woocommerce-message { border-top-color: var(--wa) !important; }
.woocommerce-info { border-top-color: var(--caramel) !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select {
	border: 1.5px solid var(--line); border-radius: 10px; padding: 11px 14px; background: #fff;
}
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { outline: none; border-color: var(--caramel); }
#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment { background: #fff; border-radius: var(--radius); border: 1px solid var(--line); }
.wc-block-components-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { border-radius: 999px !important; }

/* ==========================================================================
   PAGES / BLOG / PROSE
   ========================================================================== */
.vtg-page-head { padding-block: 34px 8px; }
.vtg-page-title { font-size: clamp(30px, 4vw, 44px); margin: 0; }
.vtg-page { padding-bottom: 60px; }
.vtg-page--elementor { padding-bottom: 0; width: 100%; margin-inline: 0; }
.vtg-prose { max-width: 100%; }
.vtg-prose h2 { font-size: clamp(22px, 2.8vw, 30px); margin-top: 1.6em; }
.vtg-prose h3 { font-size: clamp(19px, 2.3vw, 24px); margin-top: 1.4em; }
.vtg-prose img { border-radius: var(--radius); }
.vtg-prose a { color: var(--caramel-2); text-decoration: underline; text-underline-offset: 3px; }
.vtg-prose ul, .vtg-prose ol { padding-left: 22px; }
.vtg-prose li { margin-bottom: 6px; }
.vtg-prose blockquote {
	margin: 1.6em 0; padding: 6px 22px; border-left: 4px solid var(--caramel);
	font-family: var(--font-head); font-style: italic; color: var(--espresso); background: var(--caramel-soft); border-radius: 0 var(--radius) var(--radius) 0;
}

/* FAQ accordions */
.vtg-faq-item { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); margin-bottom: 12px; overflow: hidden; }
.vtg-faq-item summary {
	cursor: pointer; list-style: none; padding: 18px 22px; font-family: var(--font-head); font-size: 17px; color: var(--espresso);
	display: flex; justify-content: space-between; align-items: center; gap: 14px; font-weight: 560;
}
.vtg-faq-item summary::-webkit-details-marker { display: none; }
.vtg-faq-item summary::after { content: "+"; font-size: 24px; color: var(--caramel); font-weight: 400; transition: transform .2s ease; flex: none; }
.vtg-faq-item[open] summary::after { transform: rotate(45deg); }
.vtg-faq-item__body { padding: 0 22px 20px; color: var(--muted); }
.vtg-faq-item__body a { color: var(--caramel-2); }

/* Showroom page */
.vtg-map-embed { border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); background: var(--caramel-soft); min-height: 240px; display: flex; }
.vtg-map-embed iframe { width: 100%; min-height: 260px; border: 0; }

/* Contact form */
.vtg-contact-form { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: clamp(20px, 3vw, 30px); }
.vtg-contact-form label { display: block; font-size: 13px; font-weight: 600; color: var(--espresso); margin: 0 0 6px; }
.vtg-contact-form input, .vtg-contact-form textarea {
	width: 100%; border: 1.5px solid var(--line); border-radius: 10px; padding: 12px 14px; margin-bottom: 14px; background: var(--paper);
}
.vtg-contact-form input:focus, .vtg-contact-form textarea:focus { outline: none; border-color: var(--caramel); }
.vtg-form-note--ok { background: #e9f5ec; color: #31633a; border-radius: 10px; padding: 12px 16px; font-size: 14px; }
.vtg-form-note--err { background: #f9e9e5; color: #8a3b2a; border-radius: 10px; padding: 12px 16px; font-size: 14px; }

/* Blog single */
.vtg-single__head { padding-block: 12px 22px; }
.vtg-single__cat { font-size: 12.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--caramel-2); }
.vtg-single__title { font-size: clamp(28px, 4vw, 44px); margin: 8px 0 10px; max-width: 22ch; }
.vtg-single__meta { color: var(--muted); font-size: 13.5px; }
.vtg-single__hero { margin: 0 0 28px; border-radius: var(--radius); overflow: hidden; }
.vtg-single__content { max-width: 760px; padding-bottom: 40px; }
.vtg-post-nav { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); padding-block: 22px; font-weight: 600; flex-wrap: wrap; }
.vtg-comments { max-width: 760px; padding-bottom: 50px; }
.vtg-comment-list { list-style: none; padding: 0; }
.vtg-comment-list .comment-body { background: #fff; border-radius: var(--radius); padding: 16px 18px; margin-bottom: 12px; border: 1px solid var(--line); }
.comment-form input:not([type="submit"]), .comment-form textarea { width: 100%; border: 1.5px solid var(--line); border-radius: 10px; padding: 11px 14px; background: #fff; }

/* 404 */
.vtg-404 { text-align: center; padding-block: 80px; }
.vtg-404__code { font-family: var(--font-head); font-size: clamp(80px, 16vw, 140px); color: var(--caramel); margin: 0; line-height: 1; }
.vtg-404__actions { display: flex; gap: 12px; justify-content: center; margin-top: 24px; flex-wrap: wrap; }

/* ==========================================================================
   QUICK VIEW MODAL / TOAST / MISC
   ========================================================================== */
.vtg-qv-modal { position: fixed; inset: 0; z-index: 500; display: flex; align-items: center; justify-content: center; padding: 18px; }
.vtg-qv-modal::before { content: ""; position: absolute; inset: 0; background: rgba(26, 22, 18, .55); backdrop-filter: blur(3px); }
.vtg-qv-modal__box {
	position: relative; background: var(--paper); border-radius: 18px; width: min(880px, 100%); max-height: min(640px, 92vh);
	overflow-y: auto; box-shadow: var(--shadow-lg); animation: vtg-pop .28s cubic-bezier(.3,1.3,.4,1);
}
@keyframes vtg-pop { from { transform: translateY(22px) scale(.97); opacity: 0; } to { transform: none; opacity: 1; } }
.vtg-qv-modal__close {
	position: absolute; top: 12px; right: 12px; z-index: 6; width: 38px; height: 38px; border-radius: 50%;
	border: 0; background: var(--espresso); color: #fff; font-size: 22px; line-height: 1;
}
.vtg-qv-modal__loading { height: 220px; display: flex; align-items: center; justify-content: center; }
.vtg-qv-modal__loading::after {
	content: ""; width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--caramel-soft); border-top-color: var(--caramel);
	animation: vtg-spin .8s linear infinite;
}
@keyframes vtg-spin { to { transform: rotate(360deg); } }
.vtg-qv { display: grid; grid-template-columns: 1fr; }
.vtg-qv__media { background: var(--caramel-soft); }
.vtg-qv__main img { width: 100%; aspect-ratio: 1/.92; object-fit: cover; }
.vtg-qv__thumbs { display: flex; gap: 8px; padding: 10px; overflow-x: auto; }
.vtg-qv__thumb { border: 2px solid transparent; border-radius: 9px; overflow: hidden; padding: 0; background: none; flex: none; }
.vtg-qv__thumb img { width: 62px; height: 62px; object-fit: cover; }
.vtg-qv__thumb.is-active { border-color: var(--caramel); }
.vtg-qv__summary { padding: clamp(20px, 3.4vw, 34px); }
.vtg-qv__cat { font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--caramel-2); }
.vtg-qv__title { font-size: clamp(20px, 2.6vw, 26px); margin: 6px 0 10px; }
.vtg-qv__price { font-size: 21px; font-weight: 700; color: var(--charcoal); margin-bottom: 12px; }
.vtg-qv__desc { color: var(--muted); font-size: 14.5px; }
.vtg-qv__actions { margin-top: 18px; display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.vtg-qv__buy { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.vtg-qty { display: inline-flex; align-items: center; border: 1.5px solid var(--line); border-radius: 999px; overflow: hidden; background: #fff; }
.vtg-qty__btn { width: 38px; height: 42px; border: 0; background: transparent; font-size: 18px; color: var(--espresso); }
.vtg-qty__btn:hover { background: var(--offwhite); }
.vtg-qty__input { border: 0 !important; width: 48px; border-radius: 0 !important; -moz-appearance: textfield; }
.vtg-qty__input::-webkit-inner-spin-button { display: none; }
.vtg-qv__full { font-weight: 600; font-size: 14px; color: var(--caramel-2); }

.vtg-toast {
	position: fixed; bottom: 22px; left: 50%; transform: translateX(-50%) translateY(20px); z-index: 600;
	background: var(--charcoal); color: #fff; padding: 13px 22px; border-radius: 999px; font-size: 14px; font-weight: 600;
	box-shadow: var(--shadow-lg); opacity: 0; transition: all .3s ease; pointer-events: none; max-width: 90vw; text-align: center;
}
.vtg-toast.is-visible { opacity: 1; transform: translateX(-50%) translateY(0); }

.vtg-wa-float {
	position: fixed; right: 18px; bottom: 18px; z-index: 300; width: 56px; height: 56px; border-radius: 50%;
	background: var(--wa); color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 12px 30px rgba(37, 211, 102, .45); transition: transform .2s ease;
}
.vtg-wa-float:hover { transform: scale(1.08); color: #fff; }
.vtg-wa-float .vtg-wa-ico svg { width: 28px; height: 28px; }

/* Woo notices top offsets */
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error { margin-top: 20px; }

/* Elementor pages: give the builder a clean, unpadded canvas */
.vtg-elementor .vtg-main { background: var(--paper); }
.vtg-page--elementor .vtg-page-content { width: 100%; }
.elementor-page .vtg-wrap.vtg-page { width: 100%; margin: 0; }

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (min-width: 640px) {
	ul.products { grid-template-columns: repeat(3, 1fr); gap: 18px; }
	.vtg-cat-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
	.vtg-post-grid { grid-template-columns: repeat(2, 1fr); }
	.vtg-testi-grid { grid-template-columns: repeat(2, 1fr); }
	.vtg-sr-grid { grid-template-columns: repeat(2, 1fr); }
	.vtg-single-wa { display: block; }
}

@media (min-width: 900px) {
	.vtg-split { grid-template-columns: 1fr 1fr; }
	.vtg-split--flip .vtg-split__media { order: 2; }
	.vtg-qv { grid-template-columns: 1.05fr 1fr; }
	.vtg-qv__media { border-radius: 18px 0 0 18px; }
	.single-product .product { grid-template-columns: 1.05fr 1fr; gap: 40px; }
	.vtg-shop-toolbar { flex-direction: row; align-items: center; justify-content: space-between; }
	.vtg-shop-controls { flex: none; }
}

@media (min-width: 1100px) {
	ul.products { grid-template-columns: repeat(4, 1fr); }
	.vtg-cat-grid { grid-template-columns: repeat(3, 1fr); }
	.vtg-post-grid { grid-template-columns: repeat(3, 1fr); }
	.vtg-post-grid--index { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 900px) {
	.vtg-header-search { display: none; }
	.vtg-nav { display: none; }
	.vtg-nav-toggle { display: inline-flex; }
	.vtg-shop-toolbar { top: 56px; }
	.vtg-section__head { align-items: flex-start; flex-direction: column; }
	.vtg-topbar__hours { display: none; }
	.single-product .product { padding-top: 0; }
}

/* Show a search bar inside the mobile drawer-ish flow on small screens: header search becomes full row */
@media (max-width: 900px) and (min-width: 0px) {
	.vtg-header__main { flex-wrap: wrap; gap: 10px 14px; }
	.vtg-header-search { display: block; order: 10; flex-basis: 100%; max-width: none; margin: 0; }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
	html { scroll-behavior: auto; }
}

/* BUGFIX (visual-audit): [hidden] on the modal must win over display:flex,
   otherwise the invisible modal covers the viewport and blocks clicks. */
.vtg-qv-modal[hidden] { display: none; }

/* ==========================================================================
   Furniture House audit learnings (Vantage palette kept)
   ========================================================================== */

/* --- tighter section rhythm (their page had too much dead space) --- */
.vtg-section { padding-top: 44px; padding-bottom: 44px; }
.vtg-section--tinted .vtg-wrap > .products { margin-bottom: 4px; }

/* --- 4 · Shop by style tiles --- */
.vtg-style-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.vtg-style-tile { position: relative; display: block; border-radius: 14px; overflow: hidden; background: var(--espresso); color: #fff; text-decoration: none; min-height: 300px; box-shadow: 0 10px 30px rgba(26,26,26,.14); }
.vtg-style-tile__media { position: absolute; inset: 0; }
.vtg-style-tile__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.vtg-style-tile:hover .vtg-style-tile__media img { transform: scale(1.06); }
.vtg-style-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(62,54,46,0) 30%, rgba(62,54,46,.88) 100%); }
.vtg-style-tile__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 20px 22px; display: flex; flex-direction: column; gap: 4px; z-index: 2; }
.vtg-style-tile__body strong { font-family: var(--font-head, inherit); font-size: 22px; }
.vtg-style-tile__body em { font-style: normal; font-size: 13.5px; opacity: .85; }
.vtg-style-tile__body .vtg-link-arrow { margin-top: 8px; color: #fff; font-weight: 600; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; }

/* --- 5 · Trust / delivery strip --- */
.vtg-trust { background: #efe9e2; border-block: 1px solid rgba(62,54,46,.08); padding: 26px 0; }
.vtg-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.vtg-trust__item { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; color: var(--espresso); }
.vtg-trust__item svg { color: var(--caramel-2, var(--caramel)); }
.vtg-trust__item .vtg-wa-ico svg { width: 26px; height: 26px; color: var(--wa); }
.vtg-trust__item strong { font-size: 15px; }
.vtg-trust__item span { font-size: 13px; color: var(--muted, #6f655a); line-height: 1.45; }

/* --- 7 · Showroom cards with real photos --- */
.vtg-sr-card--photo { overflow: hidden; padding: 0; display: flex; flex-direction: column; }
.vtg-sr-card__media { aspect-ratio: 16/9; overflow: hidden; background: #e8e1d8; }
.vtg-sr-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vtg-sr-card--photo .vtg-sr-card__body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; }
.vtg-sr-card__actions { margin-top: auto; padding-top: 14px; display: flex; flex-wrap: wrap; gap: 10px; }
.vtg-sr-card__actions .vtg-wa-btn { display: inline-flex; align-items: center; gap: 7px; }
.vtg-sr-card__actions .vtg-wa-ico svg { width: 15px; height: 15px; }

/* --- 8 · Newsletter band --- */
.vtg-news { background: var(--espresso); color: #f4efe9; padding: 40px 0; margin-top: 40px; }
.vtg-news__inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.vtg-news__text h2 { color: #fff; margin: 0 0 6px; font-size: 26px; }
.vtg-news__text p { margin: 0; opacity: .8; font-size: 14.5px; max-width: 44ch; }
.vtg-news__form { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; min-width: 320px; }
.vtg-news__form input[type="email"] { flex: 1 1 240px; padding: 12px 14px; border-radius: 9px; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; font-size: 14.5px; }
.vtg-news__form input[type="email"]::placeholder { color: rgba(255,255,255,.55); }
.vtg-news__form input[type="email"]:focus { outline: 2px solid var(--caramel); border-color: var(--caramel); }
.vtg-news__hp { position: absolute !important; left: -9999px !important; height: 0; width: 0; opacity: 0; }
.vtg-news__msg { flex-basis: 100%; margin: 2px 0 0; font-size: 13.5px; min-height: 1.2em; }
.vtg-news__msg.is-ok { color: #9fe6b8; }
.vtg-news__msg.is-err { color: #ffb4a8; }

/* --- 2a · Card icon overlays (heart + quick view over image) --- */
ul.products li.product { position: relative; }
.vtg-card-actions { position: absolute; top: 10px; left: 10px; display: flex; flex-direction: column; gap: 7px; z-index: 3; }
.vtg-caction { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.94); color: var(--espresso); border: 1px solid rgba(62,54,46,.12); box-shadow: 0 2px 10px rgba(26,26,26,.12); cursor: pointer; padding: 0; transition: transform .15s ease, background .15s ease, color .15s ease; }
.vtg-caction:hover { transform: scale(1.08); background: #fff; }
.vtg-caction:focus-visible { outline: 2px solid var(--caramel); outline-offset: 2px; }
.vtg-caction--wl.is-active { color: #c0392b; }
.vtg-caction--wl.is-active svg path { fill: #c0392b; }

/* --- 2b · hover-reveal system (desktop pointer devices only) --- */
@media (hover: hover) and (min-width: 900px) {
	.vtg-card-actions, .vtg-card-extras { opacity: 0; transform: translateY(-4px); transition: opacity .18s ease, transform .18s ease; }
	ul.products li.product:hover .vtg-card-actions,
	ul.products li.product:hover .vtg-card-extras,
	ul.products li.product:focus-within .vtg-card-actions,
	ul.products li.product:focus-within .vtg-card-extras { opacity: 1; transform: translateY(0); }
	ul.products li.product .add_to_cart_button,
	ul.products li.product .button.product_type_simple { opacity: 0; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease; }
	ul.products li.product:hover .add_to_cart_button,
	ul.products li.product:hover .button.product_type_simple,
	ul.products li.product:focus-within .add_to_cart_button,
	ul.products li.product:focus-within .button.product_type_simple { opacity: 1; transform: translateY(0); }
	/* TBC products keep their WhatsApp button permanently visible (client rule) */
	ul.products li.product .vtg-wa-loop-btn { opacity: 1; transform: none; }
}

/* touch devices: every action visible without hover (audit point 6) */
@media (hover: none) {
	.vtg-card-actions { display: flex; }
}

/* --- card extras chip (WhatsApp, priced cards) --- */
.vtg-card-extras .vtg-card-wa { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.94); color: var(--wa-dark, #128c4b); font-size: 12px; font-weight: 700; border-radius: 999px; padding: 7px 11px; text-decoration: none; box-shadow: 0 2px 10px rgba(26,26,26,.12); }
.vtg-card-extras .vtg-card-wa .vtg-wa-ico svg { width: 14px; height: 14px; display: block; }

/* --- wishlist page --- */
#vtg-wl-grid.is-loading { opacity: .5; pointer-events: none; }
.vtg-wl-empty { background: #fff; border: 1px solid rgba(62,54,46,.1); border-radius: 12px; padding: 26px; font-size: 15px; color: var(--muted, #6f655a); }

/* --- single product: both purchase actions clear --- */
.vtg-single-wa.vtg-single-wa--secondary { margin-top: 18px; }
.single-product .summary .cart { margin-top: 6px; }

/* --- responsive: styles/trust/showroom/newsletter --- */
@media (max-width: 900px) {
	.vtg-style-grid { grid-template-columns: 1fr; }
	.vtg-style-tile { min-height: 230px; }
	.vtg-trust__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.vtg-news__inner { flex-direction: column; align-items: flex-start; gap: 16px; }
	.vtg-news__form { width: 100%; }
}
@media (max-width: 560px) {
	.vtg-trust__grid { grid-template-columns: 1fr 1fr; gap: 14px; }
	.vtg-section { padding-top: 34px; padding-bottom: 34px; }
}

/* ==========================================================================
   FOOTER + polished mobile footer (added 2026-09-29 — was missing entirely)
   ========================================================================== */
.vtg-footer {
	margin-top: 64px;
	background: #2b2620;
	color: #CFC6BE;
	font-size: 15px;
}
.vtg-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
	gap: 44px;
	padding-top: 56px;
	padding-bottom: 48px;
}
.vtg-footer__brand p { color: #A79B90; line-height: 1.65; margin: 14px 0 18px; max-width: 32ch; }
.vtg-footer .vtg-logo__text strong { color: #F7F5F2; font-size: 19px; }
.vtg-footer__socials { display: flex; gap: 10px; }
.vtg-footer__socials a {
	width: 36px; height: 36px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 1px solid rgba(247,245,242,.25);
	color: #E7DED6; transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.vtg-footer__socials a:hover { background: var(--caramel); border-color: var(--caramel); color: #fff; transform: translateY(-2px); }
.vtg-footer h4 {
	font-family: var(--font-head);
	font-size: 17px; font-weight: 600; letter-spacing: .4px;
	color: #F7F5F2; margin: 0 0 14px; padding-bottom: 10px;
	border-bottom: 2px solid var(--caramel);
	display: inline-block;
}
.vtg-footer__subhead { margin-top: 26px; }
.vtg-footer-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.vtg-footer-menu li { margin: 0; }
.vtg-footer-menu a {
	display: block; padding: 7px 0;
	color: #CFC6BE; text-decoration: none;
	transition: color .15s ease, padding-left .15s ease;
}
.vtg-footer-menu a:hover { color: var(--caramel); padding-left: 6px; }
.vtg-footer-hours { list-style: none; margin: 0; padding: 0; }
.vtg-footer-hours li {
	display: flex; justify-content: space-between; gap: 10px;
	padding: 6px 0; border-bottom: 1px solid rgba(247,245,242,.09);
	color: #CFC6BE; font-size: 14px;
}
.vtg-footer-hours li span:last-child { color: #F7F5F2; }
.vtg-footer-address {
	display: block; font-style: normal; line-height: 1.55;
	margin-bottom: 14px; padding-left: 12px;
	border-left: 2px solid var(--caramel);
}
.vtg-footer-address strong { display: block; color: #F7F5F2; font-size: 15px; }
.vtg-footer-address span { display: block; color: #A79B90; font-size: 14px; }
.vtg-footer-address a { color: #E7DED6; text-decoration: none; font-size: 14px; }
.vtg-footer-address a:hover { color: var(--caramel); }
.vtg-footer-mail { color: #E7DED6; text-decoration: none; word-break: break-all; }
.vtg-footer-mail:hover { color: var(--caramel); }
.vtg-footer__bar {
	border-top: 1px solid rgba(247,245,242,.12);
	padding: 18px 0; font-size: 13px; color: #8d8479;
}
.vtg-footer__bar-inner { display: flex; justify-content: space-between; align-items: center; gap: 8px 24px; flex-wrap: wrap; }
.vtg-footer__bar p { margin: 0; }

@media (max-width: 900px) {
	.vtg-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; padding-top: 42px; padding-bottom: 36px; }
}
@media (max-width: 560px) {
	.vtg-footer { margin-top: 44px; }
	.vtg-footer__grid { grid-template-columns: 1fr; gap: 34px; }
	.vtg-footer__brand p { max-width: none; }
	.vtg-footer__bar-inner { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* tiny polish: keep opening-hours rows on one line each */
.vtg-footer-hours li { white-space: nowrap; font-size: 13.5px; }

/* ==========================================================================
   Client-brand refresh (2026-09-29): their logo + their footer look
   ========================================================================== */
.vtg-logo--image { display: inline-flex; align-items: center; }
.vtg-logo__img { height: 44px; width: auto; display: block; }
@media (max-width: 560px) { .vtg-logo__img { height: 36px; } }

.vtg-footer { background: #161513; color: #b8b2ab; }
.vtg-footer__grid { gap: 56px; padding-top: 64px; padding-bottom: 56px; }
.vtg-footer-logo__img { height: 62px; width: auto; display: block; }
.vtg-footer__blurb { font-size: 15.5px; line-height: 1.75; color: #a8a29b; margin: 20px 0 26px; max-width: 34ch; }
.vtg-footer__socials { gap: 26px; }
.vtg-footer__socials a {
	border: 0; width: auto; height: auto; border-radius: 0;
	text-transform: uppercase; letter-spacing: 3px; font-size: 12px; font-weight: 600;
	color: #d8d2cb;
}
.vtg-footer__socials a:hover { background: none; color: var(--caramel); transform: none; }
.vtg-footer h4 {
	font-family: var(--font-body);
	font-size: 13.5px; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase;
	color: #ffffff; border-bottom: 0; padding-bottom: 0; margin-bottom: 20px;
	display: block;
}
.vtg-footer-menu a { color: #b8b2ab; padding: 8px 0; font-size: 14.5px; }
.vtg-footer-menu a:hover { color: #fff; padding-left: 4px; }
/* subscribe (their original footer block) */
.vtg-subscribe-form { max-width: 320px; }
.vtg-fsub__email {
	width: 100%; background: transparent; border: 0; border-bottom: 1px solid #45413b;
	color: #f4f1ed; padding: 12px 2px; font-size: 14.5px; outline: none;
}
.vtg-fsub__email::placeholder { color: #7f7871; }
.vtg-fsub__email:focus { border-bottom-color: var(--caramel); }
.vtg-fsub__note { color: #8d8680; font-size: 13px; margin: 10px 0 18px; }
.vtg-fsub__btn {
	display: block; width: 100%; padding: 15px 10px;
	background: transparent; border: 1px solid #45413b; color: #ffffff;
	font-size: 13px; letter-spacing: 3px; text-transform: uppercase; font-weight: 600;
	cursor: pointer; transition: background .18s ease, border-color .18s ease;
}
.vtg-fsub__btn:hover { background: var(--caramel); border-color: var(--caramel); }
.vtg-footer .vtg-news__msg { font-size: 13px; margin: 12px 0 0; }
.vtg-footer .vtg-news__msg.is-ok { color: #79d99b; }
.vtg-footer .vtg-news__msg.is-err { color: #e79a9a; }

/* ==========================================================================
   PREMIUM POLISH PASS — 2026-09-30
   Sources: furniturehouse.org (confident uppercase, gold accents, clean
   cards, generous rhythm) + original vantagehome.com.ng (serif captions,
   underline forms, refined minimalism). Replaces "app-like" cues with
   premium furniture-brand cues.
   ========================================================================== */

/* ---------- 1 · Confident, letterspaced buttons (no more pill-app look) ---------- */
.vtg-btn, .button, button.button, a.button, input[type="submit"],
#respond input[type="submit"], .checkout-button.button.alt {
	border-radius: 3px !important;
	padding: 15px 30px !important;
	font-size: 12px !important;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	transition: background .22s ease, color .22s ease, border-color .22s ease, transform .22s ease, box-shadow .22s ease;
}
.vtg-btn--solid, .button.alt { background: var(--caramel) !important; color: #fff !important; border-color: var(--caramel) !important; }
.vtg-btn--solid:hover, .button.alt:hover { background: var(--charcoal) !important; border-color: var(--charcoal) !important; }
.vtg-btn--light { background: transparent !important; backdrop-filter: blur(3px); border: 1px solid rgba(255,255,255,.65); }
.vtg-btn--light:hover { background: rgba(255,255,255,.95) !important; color: #1d1812 !important; }

/* WhatsApp CTAs: brand-dark instead of app-green plastic */
.vtg-wa-btn, .vtg-wa-btn--large { background: #2a251f !important; border: 1px solid #2a251f !important; color: #fff !important; }
.vtg-wa-btn:hover { background: var(--wa-dark) !important; border-color: var(--wa-dark) !important; box-shadow: 0 12px 26px rgba(26,171,85,.22); }
.vtg-wa-btn .vtg-wa-ico svg { filter: none; }
.vtg-btn--wa-ghost, .vtg-single-wa--secondary .vtg-wa-btn {
	background: transparent !important; color: #1d1812 !important; border: 1px solid #c9beb2 !important;
}
.vtg-single-wa--secondary .vtg-wa-btn:hover { background: #1d1812 !important; color: #fff !important; border-color: #1d1812 !important; }

/* ---------- 2 · Navigation: quiet, uppercase, luxury ---------- */
.vtg-menu { gap: 2px; }
.vtg-menu a {
	text-transform: uppercase; letter-spacing: .12em;
	font-size: 12px; font-weight: 600; color: #4a443c;
	padding: 10px 14px; position: relative;
}
.vtg-menu a::before {
	content: ""; position: absolute; left: 14px; right: 100%; bottom: 4px;
	height: 2px; background: var(--caramel); transition: right .25s ease;
}
.vtg-menu a:hover::before, .vtg-menu .current-menu-item > a::before, .vtg-menu .current-menu-ancestor > a::before { right: 14px; }
.vtg-menu .sub-menu { border-radius: 4px; box-shadow: 0 22px 48px rgba(26,20,14,.16); padding: 8px; }
.vtg-menu .sub-menu a { text-transform: none; letter-spacing: .02em; font-size: 13.5px; }

/* ---------- 3 · Hero: more assertive typography ---------- */
.vtg-hero__scrim { background: linear-gradient(75deg, rgba(24,20,16,.82) 0%, rgba(40,34,27,.55) 46%, rgba(40,34,27,.06) 100%); }
.vtg-hero__eyebrow { letter-spacing: .3em; font-size: 11.5px; font-weight: 700; }
.vtg-hero__eyebrow::after { content: ""; display: inline-block; width: 44px; height: 1px; background: var(--caramel); vertical-align: middle; margin-left: 14px; }
.vtg-hero__title { font-size: clamp(38px, 6vw, 72px); line-height: 1.03; letter-spacing: -.015em; font-weight: 600; max-width: 14ch; }
.vtg-hero__sub { font-size: clamp(15.5px, 1.7vw, 19px); line-height: 1.65; max-width: 50ch; color: rgba(247,245,242,.9); }
.vtg-hero__dots { bottom: 26px; gap: 10px; }
.vtg-hero__dots button { width: 44px; height: 3px; border-radius: 2px; background: rgba(255,255,255,.32); }
.vtg-hero__dots button.is-active { background: var(--caramel); }

/* ---------- 4 · Section rhythm + headings ---------- */
.vtg-section { padding-block: clamp(70px, 8.5vw, 104px); }
.vtg-section__head { margin-bottom: 42px; }
.vtg-section__head h2 { font-size: clamp(30px, 3.9vw, 48px); letter-spacing: -.015em; font-weight: 600; position: relative; padding-bottom: 16px; }
.vtg-section__head h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 52px; height: 3px; background: var(--caramel); }
.vtg-section__head--center h2::after { left: 50%; transform: translateX(-50%); }
.vtg-eyebrow { letter-spacing: .3em; font-size: 11px; font-weight: 700; }
.vtg-section--tinted { background: #F3EFE9; }
.vtg-link-arrow { text-transform: uppercase; letter-spacing: .16em; font-size: 11.5px; font-weight: 700; }

/* ---------- 5 · Category (room) tiles: editorial, not card-app ---------- */
.vtg-cat-card { box-shadow: none; border: 1px solid #EBE4DA; border-radius: 8px; transition: transform .3s ease, border-color .3s ease; }
.vtg-cat-card:hover { transform: translateY(-5px); border-color: var(--caramel); box-shadow: none; }
.vtg-cat-card__body { padding: 16px 18px 18px; }
.vtg-cat-card__body strong { font-family: var(--font-body); font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: #2b251e; }
.vtg-cat-card__body em { font-size: 12px; color: #8d8478; }

/* ---------- 6 · Product cards: quiet luxury with discoVERY hover ---------- */
ul.products li.product, .products .product {
	border: 1px solid #EBE4DA !important; border-radius: 8px; box-shadow: none !important;
	transition: border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
ul.products li.product:hover { border-color: #C9B8A4 !important; transform: translateY(-4px); box-shadow: 0 24px 44px rgba(43,36,28,.10) !important; }
ul.products li.product img { border-radius: 8px 8px 0 0; transition: transform .8s cubic-bezier(.2,.6,.2,1); }
ul.products li.product:hover img { transform: scale(1.07); }
ul.products li.product .woocommerce-loop-product__title {
	text-transform: uppercase !important; letter-spacing: .13em !important;
	font-size: 12.5px !important; font-weight: 700 !important; color: #2b251e !important;
	font-family: var(--font-body) !important; padding-top: 16px !important;
}
/* the "Chat to order" strip replaces the loud green pill */
ul.products li.product .vtg-wa-loop-btn {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	background: transparent !important; border: 0 !important; border-top: 1px solid #EFE8DF !important;
	border-radius: 0 0 8px 8px !important; box-shadow: none !important;
	padding: 13px 10px !important; margin-top: 12px;
	color: #6d6459 !important; font-size: 11px !important; font-weight: 700;
	letter-spacing: .18em !important; text-transform: uppercase;
	transition: background .22s ease, color .22s ease;
}
ul.products li.product .vtg-wa-loop-btn .vtg-wa-ico svg { width: 14px; height: 14px; color: #128C5E; transition: color .22s ease; }
ul.products li.product .vtg-wa-loop-btn:hover { background: #221c16 !important; color: #f4efe9 !important; }
ul.products li.product .vtg-wa-loop-btn:hover .vtg-wa-ico svg { color: #4be08d; }
/* keep touch-device strip readable without hover: same hairline look is fine */

/* ---------- 7 · Style tiles ---------- */
.vtg-style-tile { border-radius: 8px; overflow: hidden; }
.vtg-style-tile__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(22,18,14,0) 38%, rgba(22,18,14,.72) 100%); }
.vtg-style-tile__body { position: relative; z-index: 2; }
.vtg-style-tile__body h3, .vtg-style-tile__body strong { font-family: var(--font-head); font-weight: 600; letter-spacing: -.01em; font-size: 24px; }
.vtg-style-tile__body a, .vtg-style-tile__body .vtg-style-tile__cta { text-transform: uppercase; letter-spacing: .22em; font-size: 10.5px; font-weight: 700; color: var(--caramel-soft); }

/* ---------- 8 · Testimonials: editorial quotes ---------- */
.vtg-testi { background: #211c17; border-radius: 10px; padding: 34px 30px 30px; position: relative; }
.vtg-testi::before {
	content: "\201C"; position: absolute; top: 6px; left: 20px;
	font-family: var(--font-head); font-size: 74px; line-height: 1; color: var(--caramel); opacity: .38;
}
.vtg-testi p { font-size: clamp(17px, 2vw, 21px); line-height: 1.6; padding-left: 34px; }
.vtg-testi footer { padding-left: 34px; text-transform: uppercase; letter-spacing: .16em; font-size: 11.5px; font-weight: 700; }

/* ---------- 9 · Newsletter: richer band ---------- */
.vtg-news__text h2, .vtg-news__text h3 { font-size: clamp(23px, 2.8vw, 33px); letter-spacing: -.01em; }
.vtg-news__form input[type="email"] {
	background: rgba(255,255,255,.06); border: 1px solid rgba(247,245,242,.3); border-radius: 3px;
	color: #fff; padding: 15px 16px;
}
.vtg-news__form input[type="email"]:focus { border-color: var(--caramel); outline: none; }
.vtg-news__form button { border-radius: 3px; text-transform: uppercase; letter-spacing: .18em; font-size: 12px; }

/* ---------- 10 · Showroom cards + small buttons ---------- */
.vtg-sr-card img, .vtg-sr-card__img img { transition: transform .7s cubic-bezier(.2,.6,.2,1); }
.vtg-sr-card:hover img { transform: scale(1.05); }
.vtg-sr-card__actions .button, .vtg-sr-card__actions a {
	padding: 11px 18px !important; font-size: 10.5px !important; letter-spacing: .16em; border-radius: 3px;
}

/* ---------- 11 · Forms: underline elegance (contact etc.) ---------- */
.vtg-contact-form input:not([type="submit"]), .vtg-contact-form textarea,
.page-template-default .wpcf7 input:not([type="submit"]), .wpcf7 textarea {
	background: transparent; border: 0; border-bottom: 1px solid #cfc4b6; border-radius: 0;
	padding: 13px 2px; font-size: 15px; color: #2b251e;
}
.vtg-contact-form input:focus, .vtg-contact-form textarea:focus { border-bottom-color: var(--caramel); outline: none; box-shadow: none; }

/* ---------- 12 · Micro-details ---------- */
h1, h2, h3 { letter-spacing: -.012em; }
.vtg-badge--soon { background: #2a251f; text-transform: uppercase; letter-spacing: .2em; font-size: 10px; }
::selection { background: var(--caramel); color: #fff; }

@media (max-width: 720px) {
	.vtg-btn, .button, a.button { padding: 14px 22px !important; font-size: 11px !important; letter-spacing: .14em !important; }
	.vtg-section { padding-block: 58px; }
	ul.products li.product .woocommerce-loop-product__title { font-size: 11.5px !important; }
	ul.products li.product .vtg-wa-loop-btn { font-size: 10.5px !important; letter-spacing: .14em !important; }
}

/* ---------- Premium polish pass round 2 ---------- */
.vtg-wa-btn, a.vtg-wa-btn {
	text-transform: uppercase; letter-spacing: .16em; font-weight: 700;
	font-size: 12px; border-radius: 3px; padding: 15px 26px;
}
.vtg-wa-btn--large { padding: 17px 32px; font-size: 13px; }
.single-product .vtg-single-wa .vtg-wa-btn, .single-product .summary .vtg-wa-btn {
	text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 700;
	border-radius: 3px; padding: 15px 26px;
}
.vtg-mobile-nav__wa { letter-spacing: .16em; text-transform: uppercase; font-size: 12px; }

/* ---------- Premium polish round 3: restore style-tile caption anchoring ---------- */
.vtg-style-tile__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 22px 24px; display: flex; flex-direction: column; gap: 4px; z-index: 2; }
.vtg-style-tile__body strong { font-family: var(--font-head); font-size: 24px; font-weight: 600; letter-spacing: -.01em; text-shadow: 0 2px 14px rgba(0,0,0,.35); }
.vtg-style-tile__body em { font-style: normal; font-size: 13.5px; opacity: .88; }
.vtg-style-tile__body .vtg-link-arrow { margin-top: 10px; color: var(--caramel-soft); font-weight: 700; font-size: 11px; letter-spacing: .24em; }
.vtg-style-tile::after { background: linear-gradient(180deg, rgba(62,54,46,0) 34%, rgba(40,33,26,.88) 100%); }
.vtg-style-tile__media::after { content: none; }

/* ==========================================================================
   FURNITURE HOUSE LAYOUT PASS — 2026-09-30
   Category showcase (hero photo + product grid), promo banner,
   FH-bold headings, brand microline, uppercase hero.
   ========================================================================== */

/* ---------- Category showcase ---------- */
.vtg-catshow { padding-block: clamp(56px, 7vw, 92px); }
.vtg-catshow__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; flex-wrap: wrap; margin-bottom: 30px; }
.vtg-catshow__head h2 {
	font-family: var(--font-body); font-size: clamp(26px, 3.1vw, 36px); font-weight: 800; letter-spacing: -.01em;
	color: #221c16; margin: 0; position: relative; padding-bottom: 12px; line-height: 1.1;
	display: flex; flex-direction: column; gap: 6px;
}
.vtg-catshow__head h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 46px; height: 3px; background: var(--caramel); }
.vtg-catshow__eyebrow { font-size: 11px; letter-spacing: .26em; text-transform: uppercase; font-weight: 700; color: var(--caramel-2); }
.vtg-catshow__grid { display: grid; grid-template-columns: 5fr 7fr; gap: 26px; align-items: stretch; }
.vtg-catshow__grid--flip { grid-template-columns: 7fr 5fr; }
.vtg-catshow__hero {
	position: relative; display: block; border-radius: 8px; overflow: hidden; min-height: 420px;
	background: #241f1a; text-decoration: none;
}
.vtg-catshow__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.2,.6,.2,1); }
.vtg-catshow__hero:hover img { transform: scale(1.06); }
.vtg-catshow__hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(24,20,16,0) 46%, rgba(24,20,16,.78) 100%); }
.vtg-catshow__hero-cap { position: absolute; left: 26px; right: 26px; bottom: 22px; z-index: 2; color: #fff; display: flex; flex-direction: column; gap: 3px; }
.vtg-catshow__hero-cap strong { font-family: var(--font-head); font-size: 25px; font-weight: 600; letter-spacing: -.01em; }
.vtg-catshow__hero-cap em { font-style: normal; font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: rgba(247,245,242,.82); }
/* compact product grid inside the showcase (FH look) */
.vtg-catshow__products > .woocommerce, .vtg-catshow__products > ul.products { height: 100%; }
.vtg-catshow__products ul.products { display: grid; grid-template-columns: repeat(3, 1fr) !important; gap: 16px; margin: 0; }
.vtg-catshow__products ul.products li.product { margin: 0 !important; }
.vtg-catshow__products ul.products li.product .woocommerce-loop-product__title { font-size: 11.5px !important; letter-spacing: .1em !important; padding-top: 12px !important; }
.vtg-catshow__products ul.products li.product .vtg-wa-loop-btn { margin-top: 8px; }

/* ---------- Brand microline on every product card ---------- */
ul.products li.product .woocommerce-loop-product__title { text-align: center; }
ul.products li.product .woocommerce-loop-product__title::before {
	content: "Vantage Furniture"; display: block; font-size: 9px; letter-spacing: .24em;
	text-transform: uppercase; font-weight: 600; color: #9c9083; margin-bottom: 5px;
}
ul.products li.product .price, ul.products li.product .vtg-product-cat { text-align: center; }

/* ---------- Promo banner (FH "End of Season" style block) ---------- */
.vtg-promo { position: relative; overflow: hidden; background: #1c1712; color: #fff; text-align: center; }
.vtg-promo__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vtg-promo__scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(28,23,18,.86) 0%, rgba(28,23,18,.68) 100%); }
.vtg-promo__inner { position: relative; z-index: 2; max-width: 900px; margin: 0 auto; padding: clamp(64px, 8vw, 110px) 24px; display: flex; flex-direction: column; align-items: center; gap: 4px; }
.vtg-promo__logo { height: 56px; width: auto; margin-bottom: 22px; filter: brightness(0) invert(1); }
.vtg-promo__line {
	font-family: var(--font-head); font-size: clamp(34px, 5.2vw, 62px); line-height: 1.12; letter-spacing: -.01em;
	font-weight: 600; margin: 0;
}
.vtg-promo__line span { font-style: italic; color: var(--caramel); }
.vtg-promo__tag {
	display: inline-block; margin: 18px 0 26px; padding: 9px 22px;
	background: #fff; color: #221c16; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; font-weight: 700;
}
.vtg-promo__cta { margin-top: 2px; }

/* ---------- Hero: Furniture-House confident uppercase ---------- */
.vtg-hero__title { text-transform: uppercase; letter-spacing: .008em; line-height: 1.02; font-weight: 700; }

/* ---------- Responsive showcase ---------- */
@media (max-width: 1024px) {
	.vtg-catshow__grid, .vtg-catshow__grid--flip { grid-template-columns: 1fr; }
	.vtg-catshow__hero { min-height: 300px; }
	.vtg-catshow__products ul.products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 680px) {
	.vtg-catshow__hero { min-height: 260px; }
	.vtg-catshow__products ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 12px; }
	ul.products li.product .woocommerce-loop-product__title::before { font-size: 8.5px; }
}

/* ============ ROUND 5 · Testimonials premium pass (2026-09-30) ============ */
body.home section.vtg-section--dark:has(#vtg-testi-title) { position: relative; overflow: hidden; }
body.home section.vtg-section--dark:has(#vtg-testi-title)::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background: radial-gradient(880px 420px at 50% -140px, rgba(176,137,104,.24), transparent 70%);
}
body.home h2#vtg-testi-title::after { content: ""; display: block; width: 46px; height: 2px; background: var(--caramel); margin: 16px auto 0; border-radius: 2px; }
body.home .vtg-testi-grid { max-width: 1040px; margin-inline: auto; gap: 26px; align-items: stretch; }
body.home blockquote.vtg-testi {
	position: relative; margin: 0; display: flex; flex-direction: column;
	background: linear-gradient(180deg, #fbf7ef, #f3ecdf);
	border: 1px solid rgba(176,137,104,.45);
	border-radius: 16px; padding: 56px 40px 34px;
	box-shadow: 0 26px 60px -22px rgba(0,0,0,.55);
	transition: transform .35s ease, box-shadow .35s ease;
}
body.home blockquote.vtg-testi:hover { transform: translateY(-4px); box-shadow: 0 34px 70px -24px rgba(0,0,0,.62); }
body.home blockquote.vtg-testi::before {
	content: "\201C"; position: absolute; top: 20px; left: 30px;
	font-family: var(--font-head); font-weight: 700; font-size: 82px; line-height: .5; color: var(--caramel);
}
body.home blockquote.vtg-testi p {
	font-family: var(--font-head); font-style: italic; font-size: 19.5px; line-height: 1.66;
	color: #3a322a; margin: 0 0 26px;
}
body.home blockquote.vtg-testi footer {
	border-top: 1px solid rgba(176,137,104,.5); padding-top: 16px;
	font-family: var(--font-body); font-size: 12.5px; font-weight: 700; letter-spacing: .16em;
	text-transform: uppercase; color: #52493e;
}
@media (max-width: 680px) {
	body.home blockquote.vtg-testi { padding: 46px 26px 28px; }
	body.home blockquote.vtg-testi p { font-size: 17px; }
	body.home blockquote.vtg-testi::before { font-size: 64px; top: 18px; left: 22px; }
}

body.home blockquote.vtg-testi footer { margin-top: auto; }

/* ============ ROUND 6 · Client pass (2026-09-30): text-only WhatsApp buttons + tidy mobile header ============ */
/* 1 · Every WhatsApp button: icon removed, text-only, comfortable sizing */
.vtg-wa-btn .vtg-wa-ico, .vtg-wa-loop-btn .vtg-wa-ico { display: none !important; }
.vtg-wa-btn { display: inline-flex !important; align-items: center; justify-content: center; text-align: center; }
.vtg-wa-btn--large { min-height: 52px; }

/* 2 · Mobile header: no WhatsApp circle, logo left / menu right (menu drawer unchanged) */
@media (max-width: 900px) {
	.vtg-haction--wa { display: none !important; }
	.vtg-header__main { justify-content: space-between; }
	.vtg-branding { flex: 0 0 auto; }
	.vtg-header-actions { margin-left: auto; gap: 8px; }
}
@media (max-width: 560px) {
	.vtg-topbar__item--hide-m { display: none; }
	.vtg-topbar__links { gap: 12px; }
	.vtg-haction { width: 40px; height: 40px; }
}
/* ============ ROUND 7 · Client design round (2026-09-30) ============ */

/* -- 1 · Home typography: client's house fonts (Belleza body + Playfair Display headings) -- */
body.home { --font-head: "Playfair Display", Georgia, "Times New Roman", serif; --font-body: "Belleza", "Segoe UI", system-ui, sans-serif; }

/* -- 2 · Remove the floating WhatsApp circle -- */
/* ROUND 9: float restored at client request — hiding rule removed */

/* -- 3 · Remove the opening-hours topbar item -- */
.vtg-topbar__hours { display: none !important; }

/* -- 4 · WhatsApp ordering lives on the product page only — no WA actions on product cards -- */
ul.products li.product .vtg-wa-loop-btn { display: none !important; }
a.vtg-card-wa, .vtg-card-extras a.vtg-card-wa { display: none !important; }

/* -- 5 · Distinct identity: drop the Furniture-House brand microline, left-align card titles -- */
ul.products li.product .woocommerce-loop-product__title::before { display: none !important; }
ul.products li.product .woocommerce-loop-product__title { text-align: left !important; padding-inline: 14px !important; }

/* -- 6 · Product names: uniform casing everywhere (all uppercase) -- */
.single-product .product h1, .vtg-qv-modal .vtg-qv__title { text-transform: uppercase; letter-spacing: .05em; }

/* -- 7 · Bigger product photo + click-to-open full image -- */
@media (min-width: 900px) {
	.single-product .product { grid-template-columns: 1.28fr .95fr; }
	.single-product .vtg-wrap { max-width: 1320px; }
}
.single-product .woocommerce-product-gallery__image img { width: 100% !important; display: block; }
.single-product .woocommerce-product-gallery__image a { display: block; cursor: zoom-in; }
.single-product .woocommerce-product-gallery__trigger { display: none !important; }

/* -- 8 · Product description: readable paragraphs instead of one wall of text -- */
.single-product .product .summary p { line-height: 1.7; }
#tab-description p, .woocommerce-Tabs-panel--description p { font-size: 16px; line-height: 1.75; margin: 0 0 16px; color: #463e35; }
#tab-description p:last-child { margin-bottom: 0; }

/* -- 9 · Homepage recomposition: promo moves below the style tiles (new page rhythm) -- */
body.home .vtg-main { display: flex; flex-direction: column; }
body.home .vtg-hero { order: 10; }
body.home section:has(#vtg-sow-lr-title) { order: 20; }
body.home section:has(#vtg-sow-dn-title) { order: 30; }
body.home section:has(#vtg-sow-bd-title) { order: 40; }
body.home section:has(#vtg-style-title) { order: 50; }
body.home .vtg-promo { order: 60; }
body.home .vtg-trust { order: 70; }
body.home section:has(#vtg-testi-title) { order: 80; }
body.home section:has(#vtg-sr-title) { order: 90; }
body.home .vtg-news { order: 100; }

/* -- 10 · Showcase restyle: editorial serif heads (no FH underline), rounded hero with glass caption -- */
body.home .vtg-catshow__head h2 { font-family: var(--font-head); font-weight: 600; }
body.home .vtg-catshow__head h2::after { display: none; }
body.home .vtg-catshow__eyebrow { font-family: var(--font-body); letter-spacing: .3em; font-weight: 600; color: var(--caramel); }
body.home .vtg-catshow__head { border-bottom: 1px solid var(--line); padding-bottom: 18px; margin-bottom: 34px; }
body.home .vtg-catshow__hero { border-radius: 20px; min-height: 470px; }
body.home .vtg-catshow__hero-cap {
	left: 22px; right: 22px; bottom: 22px;
	background: rgba(247,245,242,.14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
	border: 1px solid rgba(247,245,242,.25); border-radius: 14px; padding: 16px 20px;
}
body.home .vtg-catshow__products ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 18px; }
body.home ul.products li.product { border-radius: 16px !important; overflow: hidden; }
@media (max-width: 680px) {
	body.home .vtg-catshow__hero { min-height: 300px; }
}

/* -- 11 · Info overlay (mirrors the client's original “about” panel) -- */
button.vtg-info-opener {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px; border-radius: 50%; cursor: pointer;
	border: 1.5px solid var(--line); background: #fff; color: var(--espresso);
	font-family: "Playfair Display", Georgia, serif; font-size: 17px; font-style: italic; line-height: 1;
	transition: all .2s ease;
}
button.vtg-info-opener:hover { border-color: var(--caramel); color: var(--caramel-2); transform: translateY(-1px); }
@media (max-width: 560px) { button.vtg-info-opener { width: 40px; height: 40px; } }
.vtg-info-overlay {
	position: fixed; inset: 0; z-index: 1600; display: flex; align-items: center; justify-content: center;
	padding: 24px; background: rgba(18,15,12,.72); backdrop-filter: blur(4px);
	opacity: 0; visibility: hidden; transition: opacity .28s ease, visibility .28s;
}
.vtg-info-overlay.is-open { opacity: 1; visibility: visible; }
.vtg-info-panel {
	position: relative; width: min(640px, 92vw); background: #1d1915; color: #f2ecE4;
	border-radius: 18px; padding: 58px 52px 46px; text-align: center;
	box-shadow: 0 40px 90px -20px rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.07);
	transform: translateY(14px); transition: transform .28s ease;
}
.vtg-info-overlay.is-open .vtg-info-panel { transform: translateY(0); }
.vtg-info-panel__close {
	position: absolute; top: 16px; right: 18px; border: 0; background: none; cursor: pointer;
	font-size: 30px; line-height: 1; color: rgba(242,236,228,.55); padding: 6px 10px;
}
.vtg-info-panel__close:hover { color: #fff; }
.vtg-info-panel p { margin: 0 0 20px; }
.vtg-info-panel__text { font-family: "Playfair Display", Georgia, serif; font-size: 19px; line-height: 1.75; letter-spacing: .01em; }
.vtg-info-panel__addr { font-family: "Belleza", system-ui, sans-serif; font-size: 15.5px; line-height: 1.8; color: rgba(242,236,228,.85); }
.vtg-info-panel__addr a { color: inherit; text-decoration: none; }
.vtg-info-panel__addr a:hover { color: var(--caramel); }
.vtg-info-panel__soc { display: flex; align-items: center; justify-content: center; gap: 34px; margin-bottom: 0 !important; }
.vtg-info-panel__soc a {
	font-family: "Belleza", system-ui, sans-serif; font-size: 12.5px; font-weight: 600;
	letter-spacing: .42em; text-transform: uppercase; color: rgba(242,236,228,.92); text-decoration: none;
	padding-block: 6px; border-bottom: 1px solid rgba(247,245,242,.28); transition: color .2s ease, border-color .2s ease;
}
.vtg-info-panel__soc a:hover { color: var(--caramel); border-color: var(--caramel); }
@media (max-width: 560px) {
	.vtg-info-panel { padding: 46px 24px 36px; }
	.vtg-info-panel__text { font-size: 16.5px; }
}
body.vtg-noscroll { overflow: hidden; }

/* -- 12 · Full-image lightbox for product photos -- */
.vtg-zoom-overlay {
	position: fixed; inset: 0; z-index: 1700; display: flex; align-items: center; justify-content: center;
	background: rgba(18,15,12,.9); padding: 3.5vh 3vw; cursor: zoom-out;
	opacity: 0; visibility: hidden; transition: opacity .24s ease, visibility .24s;
}
.vtg-zoom-overlay.is-open { opacity: 1; visibility: visible; }
.vtg-zoom-overlay img { max-width: 100%; max-height: 100%; border-radius: 6px; box-shadow: 0 30px 80px rgba(0,0,0,.6); }
.vtg-zoom-overlay__close {
	position: fixed; top: 16px; right: 20px; z-index: 1701; border: 0; background: none; cursor: pointer;
	font-size: 34px; color: rgba(247,245,242,.8); line-height: 1; padding: 8px 12px;
}
.vtg-zoom-overlay__close:hover { color: #fff; }

/* -- ROUND 7.1 · free the Woo gallery width caps so the photo is truly large -- */
.single-product div.product div.images.woocommerce-product-gallery { float: none !important; width: 100% !important; max-width: none !important; }
/* ============ ROUND 8 · Client recording pass (2026-09-30) ============ */

/* 1 · Cards: product name bigger + centered with real space; category label moves
       into its own padded row under the photo — nothing covers the top of the photo anymore */
ul.products li.product .woocommerce-loop-product__title {
	text-align: center !important; font-size: 14px !important; line-height: 1.35 !important;
}
ul.products li.product > a.woocommerce-LoopProduct-link { display: flex !important; flex-direction: column; }
ul.products li.product > a.woocommerce-LoopProduct-link > img { order: 1; }
ul.products li.product span.vtg-card-cat {
	position: static !important; display: block; order: 2;
	text-align: center; padding: 13px 14px 2px; font-size: 10px;
}
ul.products li.product .woocommerce-loop-product__title { order: 3; padding-top: 4px !important; margin-top: 0 !important; }
@media (max-width: 720px) {
	ul.products li.product .woocommerce-loop-product__title { font-size: 12.5px !important; letter-spacing: .12em !important; padding-inline: 8px !important; }
}

/* 2 · Product photo: moderate size (between the old small one and the last big one) */
@media (min-width: 900px) {
	.single-product .product { grid-template-columns: 1.06fr .94fr; }
	.single-product .vtg-wrap { max-width: 1240px; }
	.single-product div.product div.images.woocommerce-product-gallery { max-width: 540px !important; margin-inline: auto; }
}

/* 3 · Remove the duplicated “Description” heading right under the Description tab */
#tab-description > h2, .woocommerce-Tabs-panel--description > h2 { display: none !important; }

/* 4 · Topbar: phone + email (+ socials) aligned to the right */
.vtg-topbar__inner { justify-content: flex-end; }
.vtg-topbar__links { margin-left: auto; gap: 18px; }

/* 5 · Logo centered in the desktop header (phones keep logo left / menu right as before) */
@media (min-width: 901px) {
	.vtg-header__main { position: relative; justify-content: space-between; }
	.vtg-branding { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }
	.vtg-header-search { margin-left: 0 !important; margin-right: auto !important; }
}
/* -- ROUND 8.1 · category label centred like the product name (client: “text at the middle”) -- */
ul.products li.product span.vtg-card-cat { text-align: center !important; }
/* -- ROUND 8.2 · centre the category label box itself, not just its text -- */
ul.products li.product span.vtg-card-cat { align-self: center !important; }
ul.products li.product > a.woocommerce-LoopProduct-link > span.vtg-card-cat { align-self: center !important; }
/* -- ROUND 8.3 · remove the WhatsApp circle from the header on COMPUTERS too
     (phones already had it removed) — keeps the text-only WhatsApp button on product pages -- */
.vtg-header-actions a.vtg-haction--wa { display: none !important; }

/* ============================= ROUND 9 · client batch ============================= */
/* 1 · centre the main menu (desktop bar) */
@media (min-width: 901px) { .vtg-nav .vtg-menu { justify-content: center; } }

/* 3 · homepage room sections — 4 products per row on wide screens */
@media (min-width: 1100px) {
	body.home .vtg-catshow__products ul.products { grid-template-columns: repeat(4, 1fr) !important; gap: 13px; }
}
@media (min-width: 761px) and (max-width: 1099px) {
	body.home .vtg-catshow__products ul.products { grid-template-columns: repeat(3, 1fr) !important; gap: 13px; }
}

/* 6 · SHOP BY STYLE in capitals */
#vtg-style-title { text-transform: uppercase !important; letter-spacing: .1em; }

/* 7 · "Timeless pieces" promo — dedicated high-res white logo, no blurry CSS inversion filter */
.vtg-promo__logo { filter: none !important; height: 60px; width: auto; }

/* 9 · Showrooms page — remove ALL underlines; placeholder AI photos hidden until real photos arrive */
body.page-id-424 .vtg-page-content p a,
body.page-id-424 .vtg-page-content li a,
body.page-id-424 .vtg-sr-card a:not(.vtg-btn) { text-decoration: none !important; border-bottom: 0 !important; }
body.page-id-424 .vtg-sr-card__hours { border-top: 0 !important; }
body.page-id-424 .vtg-sr-card__hours li { border-bottom: 0 !important; }
body.page-id-424 .vtg-sr-card__media { display: none !important; }

/* 5 · FAQ — clean clickable question boxes */
.vtg-faq { margin: 26px auto 42px; display: grid; gap: 14px; max-width: 860px; }
.vtg-faq-item { background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; box-shadow: 0 10px 30px rgba(42, 33, 24, .05); transition: border-color .25s ease; }
.vtg-faq-item.is-open { border-color: var(--caramel); }
.vtg-faq-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 22px; background: none; border: 0; cursor: pointer; text-align: left; font-family: var(--font-body); font-size: 15.5px; font-weight: 600; line-height: 1.45; color: var(--espresso); }
.vtg-faq-ico { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--caramel-soft); color: var(--caramel-2); display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 500; transition: transform .25s ease, background .25s ease, color .25s ease; }
.vtg-faq-item.is-open .vtg-faq-ico { transform: rotate(45deg); background: var(--caramel); color: #fff; }
.vtg-faq-a { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .32s ease; }
.vtg-faq-item.is-open .vtg-faq-a { grid-template-rows: 1fr; }
.vtg-faq-a > div { overflow: hidden; }
.vtg-faq-a p { margin: 0; padding: 0 22px 22px; color: var(--muted); font-size: 14.5px; line-height: 1.8; }
.vtg-faq-cta { max-width: 860px; margin: 0 auto 46px; background: var(--offwhite); border: 1px solid var(--line); border-radius: 14px; padding: 24px 26px; text-align: center; color: var(--muted); font-size: 14.5px; }
.vtg-faq-cta a { color: var(--caramel-2); font-weight: 600; text-decoration: none !important; border-bottom: 0 !important; }

/* 4 · product gallery — ONE behaviour on every product: hover lens + click lightbox */
body.single-product .woocommerce-product-gallery__image { position: relative; overflow: hidden; cursor: zoom-in; }
body.single-product .woocommerce-product-gallery__image a { display: block; }
.vtg-gal-zoom { position: absolute; inset: 0; z-index: 6; pointer-events: none; background-repeat: no-repeat; background-color: #fff; opacity: 0; transition: opacity .18s ease; }
body.single-product .woocommerce-product-gallery__image.is-zooming .vtg-gal-zoom { opacity: 1; }
body.single-product .woocommerce-product-gallery__image.is-zooming > a > img { opacity: 0; }
@media (hover: none) { body.single-product .woocommerce-product-gallery__image { cursor: default; } }
.vtg-zoom-overlay img { object-fit: contain; width: auto; height: auto; max-width: 92vw; max-height: 88vh; border-radius: 6px; }

/* ROUND 9.1 · WooCommerce core CSS resets img height to auto on shop/product pages — keep logos at design size everywhere */
body .vtg-logo--image img.vtg-logo__img { height: 44px !important; width: auto !important; }
@media (max-width: 560px) { body .vtg-logo--image img.vtg-logo__img { height: 36px !important; } }
body .vtg-footer-logo__img, body .custom-logo-link img { height: 62px !important; width: auto !important; }


/* ROUND 9.2 · "Timeless" promo logo: true brand colours in a clean cream chip — crisp at 4×, no white blob */
.vtg-promo__logo { height: auto !important; width: 214px !important; background: rgba(246, 241, 232, .96); padding: 13px 20px; border-radius: 10px; box-shadow: 0 14px 34px rgba(0,0,0,.28); }

/* ROUND 9.3 · balance the single 4-card row against the tall room photo */
body.home .vtg-catshow__products { display: flex !important; align-items: center; }
body.home .vtg-catshow__products > .woocommerce, body.home .vtg-catshow__products > ul.products { width: 100%; }

/* ROUND 9.4 · complete the centring: let the card row size itself, then it can centre */
body.home .vtg-catshow__products > .woocommerce, body.home .vtg-catshow__products > ul.products { height: auto !important; }

/* ============================= ROUND 9.5 · client batch 2 ============================= */
/* room showcases: four items as TWO ON TOP + TWO BELOW, all card photos the same size */
@media (min-width: 761px) {
	body.home .vtg-catshow__products ul.products { grid-template-columns: repeat(2, 1fr) !important; gap: 18px; }
}
body.home .vtg-catshow__products ul.products li.product .woocommerce-LoopProduct-link > img,
body.home .vtg-catshow__products ul.products li.product .attachment-woocommerce_thumbnail { aspect-ratio: 3 / 2; width: 100%; height: auto; object-fit: cover; display: block; }

/* Description panel: calm, padded card — no harsh border box */
.single-product .woocommerce-tabs .panel {
	background: #faf7f1 !important; border: 0 !important; border-radius: 18px !important;
	padding: clamp(26px, 3.4vw, 40px) clamp(28px, 3.8vw, 44px) !important;
	box-shadow: inset 0 0 0 1px rgba(42, 33, 24, .04) !important;
}
.single-product .woocommerce-tabs .panel > *:first-child { margin-top: 0; }
.single-product .woocommerce-tabs ul.tabs { margin-bottom: 2px !important; }
#tab-description p, .woocommerce-Tabs-panel--description p { font-size: 15.5px !important; line-height: 1.9 !important; color: #463e35 !important; max-width: 76ch; margin: 0 0 14px !important; }
#tab-description p:last-child, .woocommerce-Tabs-panel--description p:last-child { margin-bottom: 0 !important; }

/* ROUND 9.6 · description panel: clearly visible white card with a soft shadow (page bg made the tint invisible) */
.single-product .woocommerce-tabs .panel { background: #ffffff !important; box-shadow: 0 18px 44px rgba(42, 33, 24, .08), inset 0 0 0 1px rgba(42, 33, 24, .03) !important; }


/* ============ ROUND 10 · Client pass (2026-10-07) ============ */
/* 1 · Announcement bar above the topbar (Rove-style promo strip) */
.vtg-announce { background: var(--espresso); color: #F3EFE9; }
.vtg-announce__inner { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 4px 12px; padding: 8px 12px; }
.vtg-announce__inner span, .vtg-announce__inner a { font-size: 10.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: inherit; text-decoration: none; }
.vtg-announce__inner a { color: var(--caramel-soft); border-bottom: 1px solid transparent; }
.vtg-announce__inner a:hover { border-color: currentColor; }
.vtg-announce__sep { opacity: .45; }
@media (max-width: 560px) { .vtg-announce__inner > span:first-child { flex-basis: 100%; text-align: center; } .vtg-announce__sep { display: none; } }

/* 2 · Mobile: section-head h2 was keeping its 300px column flex-basis as HEIGHT (big empty gap) */
@media (max-width: 900px) { .vtg-section__head h2 { flex: none; width: 100%; } }

/* 3 · Trust row: 3 items (pay item removed); odd leftover centres itself */
.vtg-trust__grid { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .vtg-trust__item:last-child { grid-column: 1 / -1; justify-self: center; min-width: 240px; } }

/* 4 · Bigger brand logo (client request) */
.vtg-logo__img { height: 56px; }
@media (max-width: 560px) { .vtg-logo__img { height: 50px; } }

/* ROUND 10b · logo override must beat the older per-element selector */
body .vtg-logo--image img.vtg-logo__img { height: 56px; }
@media (max-width: 560px) { body .vtg-logo--image img.vtg-logo__img { height: 50px; } }

/* ROUND 10c · mirror the legacy !important so the bigger logo actually wins */
body .vtg-logo--image img.vtg-logo__img { height: 56px !important; }
@media (max-width: 560px) { body .vtg-logo--image img.vtg-logo__img { height: 50px !important; } }

/* ============ ROUND 13 · Client pass (2026-10-10): promo-only top strip ============ */
/* 1 · Top strip now carries exactly one promo line; topbar (phone/email/socials) removed client-side */
.vtg-announce { background: var(--caramel); color: var(--espresso); }
.vtg-announce__inner { padding: 11px 16px; }
.vtg-announce__text { margin: 0; font-size: 11.5px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; text-align: center; line-height: 1.45; }
@media (max-width: 560px) { .vtg-announce__text { font-size: 10px; letter-spacing: .14em; } }

/* ROUND 13b · shop toolbar offset: sit exactly under the (now shorter) sticky header */
@media (min-width: 901px) { .vtg-shop-toolbar { top: calc(var(--header-h) + 41px); } }
@media (max-width: 900px) { .vtg-shop-toolbar { top: 128px; } }

/* ============ ROUND 15 · Client pass (2026-10-15): promo bar restyle + sale countdown ============ */
/* 0 · Blank-homepage fix lives in inc/helpers.php (pages OPENED in Elementor but left empty
      now correctly fall back to the curated homepage layout). */
/* 1 · Promo bar: deep espresso + gold, slightly larger, countdown to the End-of-Year Sale */
.vtg-announce { background: #221A12; color: #EFE4D6; }
.vtg-announce__inner { padding: 14px 16px 12px; display: flex; flex-direction: column; align-items: center; gap: 8px; flex-wrap: nowrap; }
.vtg-announce__text { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-align: center; line-height: 1.5; color: #F2EADB; }
.vtg-countdown { display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-variant-numeric: tabular-nums; }
.vtg-cd { display: inline-flex; flex-direction: column; align-items: center; min-width: 44px; }
.vtg-cd b { font-size: 18px; font-weight: 800; color: var(--caramel-soft, #D8B98F); line-height: 1.1; }
.vtg-cd i { font-style: normal; font-size: 8.5px; letter-spacing: .28em; text-transform: uppercase; opacity: .75; margin-top: 2px; }
.vtg-cd-sep { color: var(--caramel-soft, #D8B98F); font-weight: 700; opacity: .55; transform: translateY(-5px); }
@media (max-width: 560px) {
	.vtg-announce__inner { padding: 12px 12px 10px; }
	.vtg-announce__text { font-size: 11.5px; letter-spacing: .12em; }
	.vtg-cd { min-width: 38px; } .vtg-cd b { font-size: 16px; }
}

/* ============ ROUND 17·20 · Client banner slides (baked-in text) ========= */
/* Hero slides are client-designed art, each whole slide a link (.vtg-hero__link).
   The frame ITSELF takes the art's own ratio — desktop 1600×900, phones 828×1035 —
   so the design fills the frame edge-to-edge: nothing cropped, nothing added. */
.vtg-hero__picture { position: absolute; inset: 0; }
.vtg-hero__picture .vtg-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vtg-hero__content--bare { justify-content: flex-end; align-items: flex-start; }
.vtg-hero__link { position: absolute; inset: 0; z-index: 3; display: block; }
/* Bare art slides have no in-flow content — the slide ratio sizes the hero. */
.vtg-hero__slide--banner { aspect-ratio: 1600 / 900; }
@media (max-width: 714px) {
	.vtg-hero__slide--banner { aspect-ratio: 828 / 1035; }
}

/* ============ ROUND 23 · Scrolling announcement ticker (21 Oct 2026) ====== */
/* Classic news ticker (client pick "B"): text glides RIGHT → LEFT in a seamless
   infinite loop (two identical halves in .vtg-announce__ticker-track;
   translating 0→-50% = leftward drift). Constant glide speed ~190px/s is set in
   JS (header.php) from the real track width; CSS duration below is a fallback.
   Pauses on hover; respects reduced-motion. */
.vtg-announce__ticker { overflow: hidden; position: relative; width: 100%; min-width: 0; }
.vtg-announce__ticker-track { display: inline-flex; align-items: center; white-space: nowrap; will-change: transform; animation: vtg-ticker var(--ticker-dur, 25s) linear infinite; }
.vtg-announce__unit { display: inline-flex; align-items: center; }
.vtg-announce__star { font-style: normal; font-size: 8px; color: var(--caramel-soft, #D8B98F); margin: 0 26px; flex: none; }
.vtg-announce__text { white-space: nowrap; }
.vtg-announce--live .vtg-announce__ticker-track { --ticker-dur: 40s; }
.vtg-announce__ticker:hover .vtg-announce__ticker-track { animation-play-state: paused; }
@keyframes vtg-ticker {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}
/* Note: JS (header.php) takes over the actual motion via requestAnimationFrame,
   overriding the CSS animation — guaranteed movement in browsers that strip
   CSS animations (data-saver proxies). CSS animation is the no-JS fallback.
   (Reduced-motion override deliberately removed per client: bar must scroll.) */

/* ============ ROUND 19·21 · Category tiles, clean client art ============== */
/* Client art carries no text; old dark caption gradient and overlay removed.
   Client (21 Oct) confirmed the ORIGINAL hover is wanted: photo stays
   edge-to-edge (cover) and zooms IN slightly on hover — theme default at
   .vtg-catshow__hero:hover img { transform: scale(1.06); } — no changes here.
   (Rounds 20/22 experiments with fill/contain hover were rolled back.) */
.vtg-catshow__hero--art::after { display: none; }
