/*
 * Vanshika Handicrafts theme styles.
 *
 * Parts:
 *   1. Fonts, colours, base          8. Product card and grids
 *   2. Buttons and small pieces      9. Shop and category pages
 *   3. Top strip and header         10. Product page
 *   4. Drawers and cart drawer      11. Pages, forms, blog
 *   5. Home: doors and facts        12. WooCommerce account, cart, notices
 *   6. Home: other sections         13. Footer and WhatsApp button
 *   7. Arches (shared shape)        14. Smaller screens
 *
 * Colours are set in Appearance > Customize > Vanshika Handicrafts > Colours
 * and arrive here as the --vh-* variables. Every class starts with "vh-" so
 * nothing clashes with WordPress or WooCommerce class names.
 */

/* ------------------------------------------------------------------
 * 1. Fonts, colours, base
 * ---------------------------------------------------------------- */
@font-face { font-family: "Gloock"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/gloock-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Gloock"; font-style: normal; font-weight: 400; font-display: swap; src: url(../fonts/gloock-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Anek Latin"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/anek-latin-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Anek Latin"; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/anek-latin-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	--vh-leaf: #1f3d33;
	--vh-wood: #6b3b20;
	--vh-brass: #b9864a;
	--vh-ink: #2e1c12;
	--vh-mist: #eef2ec;
	--vh-sale: #a3341d;
	--vh-paper: #fff;
	--vh-cream: #f6eee0;
	--vh-logo-h: 68px;

	--vh-leaf-deep: color-mix(in srgb, var(--vh-leaf) 80%, black);
	--vh-line: color-mix(in srgb, var(--vh-ink) 14%, white);
	--vh-soft: color-mix(in srgb, var(--vh-ink) 64%, white);
	--vh-brass-pale: color-mix(in srgb, var(--vh-brass) 55%, white);
	--vh-sale-tint: color-mix(in srgb, var(--vh-sale) 9%, white);

	--vh-display: "Gloock", "Times New Roman", serif;
	--vh-body: "Anek Latin", system-ui, -apple-system, "Segoe UI", sans-serif;
	--vh-r: 14px;
	--vh-btn-r: 999px;
	--vh-arch-r: 999px 999px 12px 12px;
	--vh-door-r: 210px 210px 12px 12px;
	--vh-wrap-w: 1320px;
	--vh-space: 52px;
	--vh-text: 1.0625rem;
	--vh-h-scale: 1;
	--vh-cols: 3;
	--vh-pad: 28px;
	--vh-shadow: 0 18px 40px -22px rgba(46, 28, 18, .45);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 150px; }
body { margin: 0; background: var(--vh-paper); color: var(--vh-ink); font-family: var(--vh-body); font-size: var(--vh-text); line-height: 1.55; -webkit-font-smoothing: antialiased; }
img, svg, video, iframe { max-width: 100%; }
img { height: auto; display: block; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
h1, h2 { font-family: var(--vh-display); font-weight: 400; line-height: 1.12; letter-spacing: -.005em; text-wrap: balance; }
h2 { font-size: calc(clamp(1.7rem, 2.6vw, 2.35rem) * var(--vh-h-scale)); }
h3 { font-size: 1.2rem; line-height: 1.3; font-weight: 600; }
:focus-visible { outline: 2px solid var(--vh-brass); outline-offset: 3px; border-radius: 4px; }
[hidden] { display: none !important; }

.vh-wrap { width: 100%; max-width: var(--vh-wrap-w); margin-inline: auto; padding-inline: var(--vh-pad); }
.vh-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.vh-skip { position: absolute; left: 12px; top: -60px; z-index: 300; background: var(--vh-ink); color: #fff; padding: 10px 16px; border-radius: 8px; }
.vh-skip:focus { top: 12px; }
.vh-icon { width: 22px; height: 22px; flex: none; }
.vh-hp { position: absolute; left: -9999px; }
body.vh-locked { overflow: hidden; }

/* ------------------------------------------------------------------
 * 2. Buttons and small pieces
 * ---------------------------------------------------------------- */
.vh-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 50px; padding: 12px 26px; border: 1.5px solid transparent; border-radius: var(--vh-btn-r); font-weight: 600; line-height: 1.2; text-align: center; cursor: pointer; transition: background-color .2s, color .2s, border-color .2s; }
.vh-btn .vh-icon { width: 20px; height: 20px; }
.vh-btn-leaf { background: var(--vh-leaf); color: var(--vh-cream); }
.vh-btn-leaf:hover { background: var(--vh-leaf-deep); }
.vh-btn-brass { background: var(--vh-brass); color: var(--vh-ink); }
.vh-btn-brass:hover { background: var(--vh-brass-pale); }
.vh-btn-line { border-color: color-mix(in srgb, var(--vh-cream) 55%, transparent); color: var(--vh-cream); }
.vh-btn-line:hover { background: var(--vh-cream); color: var(--vh-leaf); border-color: var(--vh-cream); }
.vh-btn-outline { border-color: var(--vh-ink); color: var(--vh-ink); background: transparent; }
.vh-btn-outline:hover { background: var(--vh-ink); color: #fff; }
.vh-btn-paper { background: #fff; color: var(--vh-ink); min-height: 44px; padding: 10px 22px; }
.vh-btn-sm { min-height: 44px; padding: 8px 18px; }
.vh-btn-block { width: 100%; }

.vh-more { font-weight: 600; color: var(--vh-wood); text-decoration: underline; text-decoration-color: var(--vh-brass); text-decoration-thickness: 1.5px; text-underline-offset: 5px; white-space: nowrap; }
.vh-more:hover { text-decoration-color: currentColor; }

.vh-round { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--vh-line); background: #fff; color: var(--vh-ink); padding: 0; transition: background-color .2s, color .2s, border-color .2s; }
.vh-round:hover { background: var(--vh-ink); border-color: var(--vh-ink); color: #fff; }
.vh-round[disabled] { opacity: .35; pointer-events: none; }

.vh-count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: var(--vh-brass); color: var(--vh-ink); font-size: .75rem; font-weight: 700; font-style: normal; line-height: 1; }

.vh-tag { display: inline-block; padding: 4px 11px; border-radius: 999px; background: #fff; color: var(--vh-ink); font-size: .82rem; font-weight: 600; line-height: 1.3; }
.vh-tag-off { background: var(--vh-sale); color: #fff; }

.vh-price { line-height: 1.3; }
.vh-price strong { font-weight: 700; font-size: 1.12rem; }
.vh-price s, .vh-price del { color: var(--vh-soft); font-size: .93rem; margin-left: 6px; }
.vh-price ins { text-decoration: none; }
.vh-rating { font-size: .92rem; color: var(--vh-soft); }
.vh-stars { color: var(--vh-brass); letter-spacing: .05em; }

.vh-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.vh-head p { color: var(--vh-soft); margin-top: 8px; }
.vh-section { padding-block: var(--vh-space); }

.vh-note { padding: 13px 18px; border-radius: 10px; margin-bottom: 18px; background: var(--vh-mist); }
.vh-note-err { background: var(--vh-sale-tint); color: var(--vh-sale); }

.vh-crumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: .9rem; color: var(--vh-soft); margin-bottom: 12px; }
.vh-crumbs a:hover { color: var(--vh-ink); text-decoration: underline; }

/* ------------------------------------------------------------------
 * 3. Top strip and header
 * ---------------------------------------------------------------- */
.vh-notice { background: var(--vh-leaf); color: var(--vh-cream); font-size: .92rem; }
.vh-notice-in { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 40px; }
.vh-notice-links { display: flex; gap: 24px; list-style: none; margin-left: auto; }
.vh-notice-links a { display: inline-flex; align-items: center; gap: 7px; }
.vh-notice-links a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.vh-notice .vh-icon { width: 16px; height: 16px; }

.vh-header { position: sticky; top: 0; z-index: 60; background: var(--vh-paper); border-bottom: 1px solid var(--vh-line); }
.vh-header-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding-block: 14px; }
.vh-header-left { display: flex; align-items: center; gap: 8px; min-width: 0; }
.vh-logo { display: block; }
.vh-logo-img, .vh-logo img { height: var(--vh-logo-h); width: auto; max-width: 100%; transition: height .25s; }
.vh-header.is-stuck .vh-logo img { height: calc(var(--vh-logo-h) * .72); }
.vh-logo-text { font-family: var(--vh-display); font-size: 1.6rem; }

.vh-find { display: flex; align-items: center; width: 100%; max-width: 330px; height: 46px; padding: 0 5px 0 18px; border: 1px solid var(--vh-line); border-radius: 999px; background: #fff; transition: border-color .2s; }
.vh-find:focus-within { border-color: var(--vh-ink); }
.vh-find input[type="search"] { flex: 1; min-width: 0; border: 0; background: transparent; outline: 0; padding: 0; -webkit-appearance: none; appearance: none; }
.vh-find input::-webkit-search-cancel-button { -webkit-appearance: none; }
.vh-find input::placeholder { color: var(--vh-soft); opacity: 1; }
.vh-find button { display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: transparent; padding: 0; }
.vh-find button:hover { background: var(--vh-mist); }
.vh-find .vh-icon { width: 20px; height: 20px; }
.vh-findbar { border-top: 1px solid var(--vh-line); padding-block: 12px; }
.vh-findbar .vh-find { max-width: none; }

.vh-tools { display: flex; justify-content: flex-end; align-items: center; gap: 4px; }
.vh-tool { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 12px; border: 0; border-radius: 999px; background: transparent; font-weight: 500; font-size: .98rem; transition: background-color .2s; }
.vh-tool:hover { background: var(--vh-mist); }
.vh-tool-icon { position: relative; display: grid; flex: none; min-width: 22px; }
.vh-tool-icon .vh-count { position: absolute; top: -8px; right: -10px; }
.vh-tool-cart { gap: 15px; }
.vh-burger, .vh-tool-find { display: none; }

.vh-nav { border-top: 1px solid var(--vh-line); }
.vh-menu { display: flex; justify-content: center; flex-wrap: wrap; list-style: none; }
.vh-menu-item > a { position: relative; display: flex; align-items: center; gap: 5px; padding: 13px 17px; font-weight: 500; }
.vh-menu-item > a .vh-icon { width: 15px; height: 15px; color: var(--vh-soft); transition: transform .2s; }
.vh-menu-item > a::after { content: ""; position: absolute; left: 17px; right: 17px; bottom: 7px; height: 2px; background: var(--vh-brass); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.vh-menu-item:hover > a::after, .vh-menu-item:focus-within > a::after, .vh-menu-item.is-open > a::after { transform: scaleX(1); }
.vh-menu-item:hover > a .vh-icon, .vh-menu-item.is-open > a .vh-icon { transform: rotate(180deg); }
.vh-menu .vh-is-sale > a { color: var(--vh-sale); }

.vh-panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--vh-paper); border-top: 1px solid var(--vh-line); box-shadow: var(--vh-shadow); opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .2s, transform .2s, visibility 0s .2s; }
.vh-has-panel:hover > .vh-panel, .vh-has-panel:focus-within > .vh-panel, .vh-has-panel.is-open > .vh-panel { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.vh-panel-in { display: grid; grid-template-columns: 250px 1fr; gap: 48px; align-items: start; padding-block: 30px 34px; }
.vh-panel-intro { display: grid; gap: 8px; justify-items: start; }
.vh-panel-intro strong { font-family: var(--vh-display); font-weight: 400; font-size: 1.7rem; line-height: 1.15; }
.vh-panel-intro span { color: var(--vh-soft); }
.vh-panel-intro .vh-more { margin-top: 8px; }
.vh-panel-tiles { display: flex; flex-wrap: wrap; gap: 22px; list-style: none; }
.vh-panel-tiles a { display: grid; gap: 3px; width: 150px; }
.vh-panel-img { display: block; aspect-ratio: 5 / 6; border-radius: var(--vh-arch-r); overflow: hidden; background: var(--vh-mist); margin-bottom: 8px; }
.vh-panel-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.vh-panel-tiles a:hover img { transform: scale(1.05); }
.vh-panel-tiles b { font-weight: 600; }
.vh-panel-tiles small { color: var(--vh-soft); font-size: .88rem; }

/* ------------------------------------------------------------------
 * 4. Drawers (phone menu, cart, filters) and the cart contents
 * ---------------------------------------------------------------- */
.vh-drawer { position: fixed; inset: 0; z-index: 120; visibility: hidden; pointer-events: none; transition: visibility 0s .3s; }
.vh-drawer.is-open { visibility: visible; pointer-events: auto; transition-delay: 0s; }
.vh-drawer-shade { position: absolute; inset: 0; background: rgba(30, 20, 12, .5); opacity: 0; transition: opacity .3s; }
.vh-drawer.is-open .vh-drawer-shade { opacity: 1; }
.vh-drawer-box { position: absolute; top: 0; bottom: 0; display: flex; flex-direction: column; width: min(430px, 92vw); background: var(--vh-paper); transition: transform .32s cubic-bezier(.2, .7, .2, 1); }
.vh-drawer-right .vh-drawer-box { right: 0; transform: translateX(100%); }
.vh-drawer-left .vh-drawer-box { left: 0; transform: translateX(-100%); }
.vh-drawer.is-open .vh-drawer-box { transform: none; }
.vh-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 14px 14px 22px; border-bottom: 1px solid var(--vh-line); }
.vh-drawer-head strong { font-family: var(--vh-display); font-weight: 400; font-size: 1.4rem; }
.vh-drawer-body { flex: 1; overflow-y: auto; padding: 20px 22px; overscroll-behavior: contain; }
.vh-drawer-foot { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 22px; border-top: 1px solid var(--vh-line); }
.vh-drawer-foot .vh-btn { margin-left: auto; }

.vh-mnav { list-style: none; }
.vh-mnav > li { border-bottom: 1px solid var(--vh-line); }
.vh-mnav > li > a, .vh-mnav summary { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; font-weight: 600; font-size: 1.08rem; cursor: pointer; list-style: none; }
.vh-mnav summary::-webkit-details-marker { display: none; }
.vh-mnav summary .vh-icon { width: 18px; height: 18px; transition: transform .2s; }
.vh-mnav details[open] summary .vh-icon { transform: rotate(180deg); }
.vh-mnav details ul { list-style: none; padding: 0 0 14px 14px; display: grid; gap: 2px; }
.vh-mnav details a { display: block; padding: 9px 0; }
.vh-mnav .vh-is-sale > a { color: var(--vh-sale); }
.vh-mnav-foot { list-style: none; display: grid; gap: 4px; margin-top: 22px; }
.vh-mnav-foot a { display: flex; align-items: center; gap: 12px; padding: 10px 0; }

.vh-minicart ul { list-style: none; display: grid; gap: 18px; }
.vh-minicart li { position: relative; min-height: 80px; padding-right: 30px; }
.vh-minicart li > a:not(.remove) { display: grid; grid-template-columns: 72px 1fr; gap: 14px; align-items: start; font-weight: 500; line-height: 1.3; }
.vh-minicart li img { width: 72px; height: 80px; object-fit: cover; border-radius: 10px; background: var(--vh-mist); }
.vh-minicart .quantity { display: block; margin: -34px 0 0 86px; color: var(--vh-soft); font-size: .95rem; }
.vh-minicart a.remove { position: absolute; right: 0; top: 0; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font-size: 1.25rem; line-height: 1; color: var(--vh-soft); }
.vh-minicart a.remove:hover { background: var(--vh-sale-tint); color: var(--vh-sale); }
.vh-minicart .total { display: flex; justify-content: space-between; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--vh-line); font-size: 1.1rem; }
.vh-minicart .buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 16px; }
.vh-minicart .woocommerce-mini-cart__empty-message { color: var(--vh-soft); padding-block: 30px; text-align: center; }
.vh-cart-note { margin-top: 16px; color: var(--vh-soft); font-size: .93rem; }

.vh-lightbox { position: fixed; inset: 0; z-index: 200; display: none; align-items: center; justify-content: center; background: rgba(22, 15, 10, .95); }
.vh-lightbox.is-open { display: flex; }
.vh-lightbox img { max-width: min(92vw, 1100px); max-height: 90vh; object-fit: contain; border-radius: 8px; }
.vh-lightbox .vh-round { position: absolute; border-color: transparent; }
.vh-lightbox-close { top: 18px; right: 18px; }
.vh-lightbox-prev { left: 18px; top: 50%; transform: translateY(-50%); }
.vh-lightbox-next { right: 18px; top: 50%; transform: translateY(-50%); }
.vh-lightbox-count { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); color: #fff; font-size: .95rem; }

/* ------------------------------------------------------------------
 * 5. Home: rooms as doors, and the four facts
 * ---------------------------------------------------------------- */
.vh-hero { background: var(--vh-leaf); color: var(--vh-cream); }
.vh-hero-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 60px; align-items: center; padding-block: 60px 68px; }
.vh-hero h1 { font-size: calc(clamp(2.5rem, 4.3vw, 4.1rem) * var(--vh-h-scale)); line-height: 1.05; letter-spacing: -.012em; }
.vh-hero-copy > p { margin-top: 22px; max-width: 36ch; font-size: 1.16rem; color: color-mix(in srgb, var(--vh-cream) 86%, var(--vh-leaf)); }
.vh-hero-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.vh-hero-copy > .vh-hero-note { margin-top: 38px; padding-top: 18px; border-top: 1px solid color-mix(in srgb, var(--vh-cream) 24%, transparent); font-size: .98rem; max-width: none; }

.vh-doors { display: flex; gap: 10px; height: 540px; list-style: none; }
.vh-door { flex: 1 1 0; min-width: 0; transition: flex-grow .55s cubic-bezier(.2, .7, .2, 1); }
.vh-door.is-open { flex-grow: 6.5; }
.vh-door a { position: relative; display: block; height: 100%; overflow: hidden; border-radius: var(--vh-door-r); background: var(--vh-leaf-deep); }
.vh-door img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: filter .4s; }
.vh-door a::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(to top, rgba(18, 12, 8, .8), rgba(18, 12, 8, 0)); }
.vh-door-label { position: absolute; z-index: 1; left: 26px; right: 20px; bottom: 22px; color: #fff; }
.vh-door-label b { display: block; font-family: var(--vh-display); font-weight: 400; font-size: 1.75rem; line-height: 1.15; white-space: nowrap; }
.vh-door-label small { display: block; margin-top: 3px; font-size: .98rem; white-space: nowrap; opacity: .92; }

.vh-facts { border-bottom: 1px solid var(--vh-line); }
.vh-facts ul { display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; }
.vh-facts li { display: flex; align-items: center; gap: 15px; padding: 24px 26px; border-left: 1px solid var(--vh-line); }
.vh-facts li:first-child { border-left: 0; padding-left: 0; }
.vh-facts .vh-icon { width: 30px; height: 30px; color: var(--vh-wood); }
.vh-facts b { display: block; font-weight: 600; line-height: 1.3; }
.vh-facts span { display: block; color: var(--vh-soft); font-size: .93rem; line-height: 1.35; }

/* ------------------------------------------------------------------
 * 6. Home: other sections
 * ---------------------------------------------------------------- */
.vh-pieces { padding-top: 64px; }
.vh-piece-list { display: flex; flex-wrap: wrap; justify-content: center; gap: 34px 22px; list-style: none; }
.vh-piece-list li { width: calc((100% - 5 * 22px) / 6); }
.vh-piece-list a { display: grid; justify-items: center; gap: 2px; text-align: center; }
.vh-piece-list .vh-arch { margin-bottom: 12px; }
.vh-piece-list b { font-weight: 600; }
.vh-piece-list small { color: var(--vh-soft); font-size: .9rem; }

/* Finish samples: wood chips hanging from a brass rail. */
.vh-finishes { background: var(--vh-mist); padding-block: 68px; }
.vh-finishes-in { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: 56px; align-items: center; }
.vh-finishes-copy p { margin-top: 14px; color: var(--vh-soft); max-width: 38ch; }
.vh-samples { position: relative; display: flex; justify-content: space-between; gap: 14px; list-style: none; padding-top: 34px; }
.vh-samples::before { content: ""; position: absolute; left: -10px; right: -10px; top: 6px; height: 7px; border-radius: 7px; background: linear-gradient(var(--vh-brass-pale), var(--vh-brass)); box-shadow: 0 2px 3px rgba(46, 28, 18, .18); }
.vh-samples li { flex: 1 1 0; min-width: 0; }
.vh-sample { position: relative; display: grid; justify-items: center; gap: 2px; text-align: center; }
.vh-sample::before { content: ""; position: absolute; top: -24px; left: 50%; width: 2px; height: 40px; margin-left: -1px; background: var(--vh-brass); }
.vh-sample-chip { position: relative; display: block; width: min(100%, 104px); aspect-ratio: 4 / 7; margin-bottom: 14px; border-radius: 12px; transform-origin: 50% 14px; transition: transform .4s cubic-bezier(.3, 1.4, .5, 1);
	background:
		linear-gradient(100deg, rgba(255, 255, 255, .16), rgba(255, 255, 255, 0) 32%, rgba(0, 0, 0, .16)),
		repeating-linear-gradient(93deg, rgba(0, 0, 0, .1) 0 1px, rgba(0, 0, 0, 0) 1px 7px),
		repeating-linear-gradient(87deg, rgba(255, 255, 255, .07) 0 2px, rgba(255, 255, 255, 0) 2px 13px),
		var(--vh-tone, #8c5529);
	box-shadow: 0 16px 22px -14px rgba(46, 28, 18, .6); }
.vh-sample-chip::before { content: ""; position: absolute; top: 9px; left: 50%; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; background: var(--vh-mist); box-shadow: inset 0 1px 2px rgba(0, 0, 0, .4), 0 0 0 2px var(--vh-brass); }
.vh-samples li:nth-child(odd) .vh-sample-chip { transform: rotate(-3.5deg); }
.vh-samples li:nth-child(even) .vh-sample-chip { transform: rotate(2.5deg); }
.vh-samples li:nth-child(3n) .vh-sample-chip { transform: rotate(-1.5deg); }
.vh-samples .vh-sample:hover .vh-sample-chip, .vh-samples .vh-sample:focus-visible .vh-sample-chip { transform: rotate(0) translateY(5px); }
.vh-sample b { font-weight: 600; }
.vh-sample small { color: var(--vh-soft); font-size: .9rem; }

.vh-spot-in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 60px; align-items: center; }
.vh-spot-media { display: grid; grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; gap: 12px; }
.vh-spot-media a { display: block; overflow: hidden; border-radius: var(--vh-r); background: var(--vh-mist); }
.vh-spot-main { grid-row: 1 / 3; aspect-ratio: 10 / 11; }
.vh-spot-main:only-child { grid-column: 1 / 3; }
.vh-spot-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.vh-spot-media a:hover img { transform: scale(1.04); }
.vh-spot-copy { display: grid; gap: 16px; justify-items: start; }
.vh-spot-copy h3 { font-family: var(--vh-display); font-weight: 400; font-size: clamp(1.6rem, 2.3vw, 2.15rem); line-height: 1.15; }
.vh-spot-copy h3 a:hover { text-decoration: underline; text-decoration-color: var(--vh-brass); text-underline-offset: 6px; }
.vh-spot-copy .vh-glance { width: 100%; }
.vh-price-lg { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
.vh-price-lg strong { font-size: 1.6rem; }

.vh-glance h2 { font-family: var(--vh-body); font-size: 1rem; font-weight: 700; letter-spacing: 0; margin-bottom: 4px; }
.vh-glance table { width: 100% !important; border-collapse: collapse; }
.vh-glance td, .vh-glance th { padding: 10px 0; border-bottom: 1px solid var(--vh-line); vertical-align: top; text-align: left; }
.vh-glance td:first-child { width: 36%; padding-right: 14px; color: var(--vh-soft); }
.vh-glance strong { font-weight: 500; }
.vh-glance p { margin: 0; }

.vh-rail-tools { display: flex; align-items: center; gap: 10px; }
.vh-rail-tools .vh-more { margin-right: 10px; }
.vh-duo-in { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.vh-banner { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 11; border-radius: var(--vh-r); background: var(--vh-leaf); }
.vh-banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .7s; }
.vh-banner:hover img { transform: scale(1.04); }
.vh-banner::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(to top, rgba(18, 12, 8, .82), rgba(18, 12, 8, 0)); }
.vh-banner-copy { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 28px; display: grid; justify-items: start; gap: 4px; color: #fff; }
.vh-banner-copy b { font-family: var(--vh-display); font-weight: 400; font-size: clamp(1.6rem, 2.4vw, 2.2rem); line-height: 1.15; }
.vh-banner-copy .vh-btn { margin-top: 12px; }

.vh-story-in { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: center; }
.vh-story-media .vh-arch { aspect-ratio: 4 / 5; max-width: 460px; }
.vh-story-copy { display: grid; gap: 20px; justify-items: start; }
.vh-story-copy > p { max-width: 58ch; font-size: 1.1rem; }
.vh-ticks { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 30px; list-style: none; width: 100%; max-width: 620px; padding-block: 6px; }
.vh-ticks li { display: flex; align-items: center; gap: 12px; }
.vh-ticks .vh-icon { width: 26px; height: 26px; padding: 5px; border-radius: 50%; background: var(--vh-mist); color: var(--vh-leaf); }

.vh-steps { background: var(--vh-mist); padding-block: 68px; }
.vh-step-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; list-style: none; counter-reset: vh-step; }
.vh-step-list li { position: relative; padding-top: 62px; counter-increment: vh-step; }
.vh-step-list li::before { content: counter(vh-step); position: absolute; top: 0; left: 0; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--vh-leaf); color: var(--vh-cream); font-family: var(--vh-display); font-size: 1.25rem; }
.vh-step-list li::after { content: ""; position: absolute; top: 22px; left: 58px; right: -16px; border-top: 1.5px dashed var(--vh-brass); }
.vh-step-list li:last-child::after { content: none; }
.vh-step-list p { margin-top: 8px; color: var(--vh-soft); }

.vh-quote-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; list-style: none; }
.vh-quote-list blockquote { height: 100%; padding: 28px; border: 1px solid var(--vh-line); border-radius: var(--vh-r); }
.vh-quote-list p { font-size: 1.1rem; }
.vh-quote-list cite { display: block; margin-top: 16px; font-style: normal; font-weight: 600; color: var(--vh-wood); }

.vh-enquire { padding: 28px var(--vh-pad) 76px; }
.vh-enquire-in { display: flex; align-items: center; justify-content: space-between; gap: 40px; max-width: 1264px; padding: 54px 60px; border-radius: 28px; background: var(--vh-leaf); color: var(--vh-cream); }
.vh-enquire p { margin-top: 10px; max-width: 52ch; color: color-mix(in srgb, var(--vh-cream) 86%, var(--vh-leaf)); }
.vh-enquire-btns { display: flex; flex-wrap: wrap; gap: 12px; flex: none; }

/* ------------------------------------------------------------------
 * 7. Arches: the doorway shape used for rooms and categories
 * ---------------------------------------------------------------- */
.vh-arch { display: block; width: 100%; aspect-ratio: 5 / 6; overflow: hidden; border-radius: var(--vh-arch-r); background: var(--vh-mist); }
.vh-arch img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
a:hover > .vh-arch img { transform: scale(1.05); }

/* ------------------------------------------------------------------
 * 8. Product card and grids
 * ---------------------------------------------------------------- */
ul.products { display: grid; grid-template-columns: repeat(var(--vh-cols), minmax(0, 1fr)); gap: 40px 24px; list-style: none; margin: 0; padding: 0; }
ul.products.vh-grid-4, .related ul.products, .upsells ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
ul.products::before, ul.products::after { content: none; }

.vh-card { min-width: 0; }
.vh-card-media { position: relative; overflow: hidden; aspect-ratio: 10 / 11; border-radius: var(--vh-r); background: var(--vh-mist); }
.vh-card-media > a:first-child { display: block; height: 100%; }
.vh-card-media img { width: 100%; height: 100%; object-fit: cover; transition: opacity .4s, transform .7s; }
.vh-card-media .vh-card-alt { position: absolute; inset: 0; opacity: 0; }
.vh-card:hover .vh-card-alt { opacity: 1; }
.vh-card:hover .vh-card-media img { transform: scale(1.03); }
.vh-card-media .vh-tag { position: absolute; top: 12px; left: 12px; }
.vh-add { position: absolute; right: 12px; bottom: 12px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: #fff; color: var(--vh-leaf); box-shadow: 0 8px 18px -8px rgba(46, 28, 18, .55); transition: background-color .2s, color .2s, transform .2s; }
.vh-add:hover, .vh-add.added { background: var(--vh-leaf); color: var(--vh-cream); }
.vh-add.loading { opacity: .55; pointer-events: none; }
.vh-add:active { transform: scale(.94); }
.vh-card .added_to_cart { display: none; }
.vh-card-body { display: grid; gap: 4px; padding-top: 14px; }
.vh-card-cat { font-size: .88rem; color: var(--vh-soft); }
.vh-card-title { font-weight: 500; line-height: 1.32; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.vh-card-title:hover { text-decoration: underline; text-decoration-color: var(--vh-brass); text-underline-offset: 4px; }
.vh-card .vh-price { margin-top: 3px; }

/* A row of cards that scrolls sideways. */
ul.products.vh-rail-track { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
ul.products.vh-rail-track::-webkit-scrollbar { display: none; }
.vh-rail-track > li { flex: 0 0 calc((100% - 3 * 24px) / 4); scroll-snap-align: start; }

/* ------------------------------------------------------------------
 * 9. Shop and category pages
 * ---------------------------------------------------------------- */
.vh-pagehead { background: var(--vh-mist); }
.vh-pagehead-in { display: flex; align-items: center; justify-content: space-between; gap: 40px; padding-block: 38px 42px; }
.vh-pagehead h1 { font-size: calc(clamp(2rem, 3.6vw, 3.1rem) * var(--vh-h-scale)); }
.vh-pagehead p { margin-top: 10px; max-width: 62ch; color: var(--vh-soft); }
.vh-pagehead time { display: block; margin-bottom: 8px; color: var(--vh-soft); }
.vh-pagehead .vh-pagehead-count { color: var(--vh-wood); font-weight: 600; }
.vh-pagehead-art { flex: none; width: 170px; align-self: flex-end; margin-bottom: -42px; border-end-start-radius: 0; border-end-end-radius: 0; }
.vh-pagehead .vh-find { margin-top: 20px; max-width: 420px; }

.vh-chips { display: flex; gap: 10px; list-style: none; overflow-x: auto; scrollbar-width: none; padding-block: 26px 2px; }
.vh-chips::-webkit-scrollbar { display: none; }
.vh-chips a, .vh-flt-steps a { display: block; padding: 9px 18px; border: 1px solid var(--vh-line); border-radius: 999px; font-weight: 500; white-space: nowrap; transition: border-color .2s, background-color .2s, color .2s; }
.vh-chips a:hover, .vh-flt-steps a:hover { border-color: var(--vh-ink); }
.vh-chips a.is-active, .vh-flt-steps a.is-active { background: var(--vh-ink); border-color: var(--vh-ink); color: #fff; }

.vh-toolbar { display: flex; align-items: center; gap: 18px; padding-block: 20px 28px; }
.vh-toolbar .vh-count { background: var(--vh-ink); color: #fff; }
.vh-toolbar-sort { margin-left: auto; }
.woocommerce-ordering { margin: 0; }
select.orderby, .vh-site select:not([multiple]):not([class*="wc-block"]):not([class*="components-"]) { height: 46px; padding: 0 44px 0 18px; border: 1px solid var(--vh-line); border-radius: 999px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%232e1c12' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5.5 9 6.5 6.5L18.500 9'/%3E%3C/svg%3E") no-repeat right 16px center; -webkit-appearance: none; appearance: none; max-width: 100%; }

.vh-shop { padding-bottom: 40px; }
.woocommerce-pagination, .vh-pager { margin-top: 52px; }
.woocommerce-pagination ul, .vh-pager .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; list-style: none; padding: 0; margin: 0; }
.woocommerce-pagination .page-numbers:not(ul), .vh-pager .page-numbers { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 8px; border: 1px solid var(--vh-line); border-radius: 999px; font-weight: 500; }
.woocommerce-pagination .page-numbers.current, .vh-pager .page-numbers.current { background: var(--vh-leaf); border-color: var(--vh-leaf); color: var(--vh-cream); }
.woocommerce-pagination a.page-numbers:hover, .vh-pager a.page-numbers:hover { border-color: var(--vh-ink); }
.woocommerce-pagination .dots, .vh-pager .dots { border-color: transparent; }

.vh-empty { text-align: center; padding: 70px 0; display: grid; gap: 14px; justify-items: center; }
.vh-empty p { color: var(--vh-soft); }

.vh-filters .vh-flt { padding-block: 20px; border-bottom: 1px solid var(--vh-line); }
.vh-filters .vh-flt:first-child { padding-top: 0; }
.vh-filters .vh-flt:last-child { border-bottom: 0; }
.vh-flt h3 { font-size: 1rem; font-weight: 700; margin-bottom: 12px; }
.vh-flt-steps { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.vh-flt ul:not(.vh-flt-steps) { list-style: none; display: grid; gap: 9px; }
.vh-flt ul ul { margin-top: 9px; padding-left: 18px; }
.vh-flt li a:hover { text-decoration: underline; text-underline-offset: 4px; }
.vh-flt .count { color: var(--vh-soft); font-size: .88rem; margin-left: 6px; }
.vh-flt .current-cat > a, .vh-flt .chosen > a { font-weight: 700; color: var(--vh-leaf); }
.vh-flt .chosen > a::before { content: "✓ "; }

/* ------------------------------------------------------------------
 * 10. Product page
 * ---------------------------------------------------------------- */
.vh-product-page { padding-block: 24px 40px; }
.vh-product { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 60px; align-items: start; }

.vh-stage { position: relative; overflow: hidden; aspect-ratio: 10 / 11; border-radius: var(--vh-r); background: var(--vh-mist); }
.vh-stage-img { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.vh-stage-img img { width: 100%; height: 100%; object-fit: cover; }
.vh-stage > .vh-tag { position: absolute; top: 16px; left: 16px; }
.vh-stage-prev, .vh-stage-next { position: absolute; top: 50%; transform: translateY(-50%); border-color: transparent; box-shadow: 0 6px 16px -6px rgba(46, 28, 18, .5); }
.vh-stage-prev { left: 16px; }
.vh-stage-next { right: 16px; }
.vh-stage-count { position: absolute; left: 16px; bottom: 16px; padding: 4px 13px; border-radius: 999px; background: rgba(255, 255, 255, .92); font-size: .88rem; font-weight: 500; }
.vh-stage-zoom { position: absolute; right: 16px; bottom: 16px; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: rgba(255, 255, 255, .92); pointer-events: none; }
.vh-stage-zoom .vh-icon { width: 18px; height: 18px; }
.vh-strip { display: flex; gap: 10px; list-style: none; margin-top: 12px; padding-bottom: 6px; overflow-x: auto; scrollbar-width: thin; }
.vh-strip li { flex: none; }
.vh-strip button { display: block; width: 78px; aspect-ratio: 1; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: 10px; background: var(--vh-mist); opacity: .72; transition: opacity .2s, border-color .2s; }
.vh-strip button:hover { opacity: 1; }
.vh-strip button.is-active { border-color: var(--vh-leaf); opacity: 1; }
.vh-strip img { width: 100%; height: 100%; object-fit: cover; }

.vh-buy { position: sticky; top: 150px; display: grid; gap: 18px; }
.vh-buy .product_title { font-size: calc(clamp(1.7rem, 2.4vw, 2.25rem) * var(--vh-h-scale)); line-height: 1.16; }
.vh-buy > .vh-card-cat { margin-bottom: -10px; }
.vh-buy-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; color: var(--vh-soft); font-size: .93rem; margin-top: -6px; }
.vh-pricebox { display: grid; gap: 3px; padding-block: 4px; }
.vh-pricebox small { color: var(--vh-soft); font-size: .9rem; }
.vh-price-xl { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 12px; }
.vh-price-xl strong { font-size: 2rem; }
.vh-price-xl s { font-size: 1.1rem; margin-left: 0; }
.vh-save { color: var(--vh-sale); font-weight: 600; }

.vh-buy form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; }
.vh-buy .single_variation_wrap, .vh-buy .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: 12px; width: 100%; }
.vh-buy .single_variation, .vh-buy table.variations { width: 100%; }
.vh-buy .woocommerce-variation-price { margin-bottom: 4px; }
.vh-buy .single_variation:empty { display: none; }
.vh-buy .woocommerce-variation-price .price strong { font-size: 1.4rem; }
.vh-buy .woocommerce-variation-price .price s { color: var(--vh-soft); margin-left: 8px; }
.vh-buy .quantity { display: inline-flex; align-items: center; height: 56px; border: 1px solid var(--vh-line); border-radius: 999px; padding-inline: 4px; }
.vh-buy .quantity input.qty { width: 44px; border: 0; background: transparent; text-align: center; font-weight: 600; -moz-appearance: textfield; appearance: textfield; padding: 0; }
.vh-buy .quantity input::-webkit-outer-spin-button, .vh-buy .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vh-buy .quantity button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; font-size: 1.3rem; line-height: 1; }
.vh-buy .quantity button:hover { background: var(--vh-mist); }
.vh-buy .quantity.hidden { display: none; }
.vh-buy .single_add_to_cart_button { flex: 1; min-width: 180px; height: 56px; padding: 0 28px; border: 0; border-radius: var(--vh-btn-r); background: var(--vh-leaf); color: var(--vh-cream); font-weight: 700; font-size: 1.06rem; transition: background-color .2s; }
.vh-buy .single_add_to_cart_button:hover { background: var(--vh-leaf-deep); }
.vh-buy .single_add_to_cart_button.disabled { opacity: .5; cursor: not-allowed; }
.vh-buy .stock { width: 100%; font-weight: 600; }
.vh-buy .out-of-stock { color: var(--vh-sale); }

.vh-buy table.variations { border-collapse: collapse; }
.vh-buy table.variations th, .vh-buy table.variations td { display: block; padding: 0; text-align: left; }
.vh-buy table.variations th { margin-bottom: 8px; font-weight: 600; }
.vh-buy table.variations th span { font-weight: 400; color: var(--vh-soft); margin-left: 6px; }
.vh-buy table.variations tr { display: block; margin-bottom: 14px; }
.vh-buy select.vh-swapped { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.vh-buy .reset_variations { display: inline-block; margin-top: 8px; font-size: .9rem; color: var(--vh-soft); text-decoration: underline; }
.vh-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.vh-opt { display: inline-flex; align-items: center; gap: 9px; min-height: 44px; padding: 6px 16px 6px 8px; border: 1px solid var(--vh-line); border-radius: 999px; background: #fff; font-weight: 500; transition: border-color .2s; }
.vh-opt i { width: 28px; height: 28px; border-radius: 50%; background: var(--vh-tone, var(--vh-mist)); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.vh-opt.vh-opt-plain { padding-left: 16px; }
.vh-opt:hover { border-color: var(--vh-ink); }
.vh-opt.is-active { border-color: var(--vh-leaf); box-shadow: 0 0 0 1px var(--vh-leaf); }
.vh-opt[disabled] { opacity: .4; cursor: not-allowed; }

.vh-promises { display: grid; gap: 11px; list-style: none; padding: 18px 20px; border-radius: var(--vh-r); background: var(--vh-mist); }
.vh-promises li { display: flex; align-items: center; gap: 13px; line-height: 1.35; }
.vh-promises .vh-icon { color: var(--vh-leaf); }
.vh-help { color: var(--vh-soft); }
.vh-help a { color: var(--vh-wood); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }

.vh-tabs { margin-top: 76px; }
.vh-tablist { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--vh-line); }
.vh-tablist::-webkit-scrollbar { display: none; }
.vh-tablist [role="tab"] { flex: none; padding: 14px 22px; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; font-weight: 600; color: var(--vh-soft); white-space: nowrap; }
.vh-tablist [role="tab"]:hover { color: var(--vh-ink); }
.vh-tablist [role="tab"][aria-selected="true"] { color: var(--vh-ink); border-bottom-color: var(--vh-leaf); }
.vh-tabpanel { max-width: 860px; padding-top: 30px; }
.vh-tabpanel-title { font-size: 1.5rem; margin-bottom: 14px; }
.vh-tabs.is-ready .vh-tabpanel-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.vh-tabs:not(.is-ready) .vh-tablist { display: none; }
.vh-clamp.is-clamped { max-height: 430px; overflow: hidden; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.vh-clamp-toggle { margin-top: 16px; padding: 0; border: 0; background: none; }

.vh-reviews { margin-top: 30px; border-top: 1px solid var(--vh-line); }
.vh-score { display: flex; flex-wrap: wrap; gap: 34px; align-items: center; margin-bottom: 30px; }
.vh-score-num { display: grid; justify-items: center; gap: 2px; }
.vh-score-num b { font-family: var(--vh-display); font-weight: 400; font-size: 3rem; line-height: 1; }
.vh-score-bars { display: grid; gap: 6px; flex: 1; min-width: 240px; max-width: 420px; }
.vh-score-bars div { display: grid; grid-template-columns: 38px 1fr 28px; align-items: center; gap: 10px; font-size: .92rem; color: var(--vh-soft); }
.vh-score-bars i { height: 7px; border-radius: 7px; background: linear-gradient(to right, var(--vh-brass) var(--vh-w, 0%), var(--vh-line) var(--vh-w, 0%)); }
.woocommerce-Reviews-title { display: none; }
#reviews ol.commentlist { list-style: none; display: grid; gap: 22px; max-width: 760px; }
#reviews .comment_container { display: grid; grid-template-columns: 46px 1fr; gap: 14px; }
#reviews img.avatar { border-radius: 50%; }
#reviews .meta { color: var(--vh-soft); font-size: .92rem; margin-block: 2px 6px; }
#reviews .woocommerce-noreviews { color: var(--vh-soft); }
#review_form_wrapper { max-width: 640px; margin-top: 26px; padding: 26px; border: 1px solid var(--vh-line); border-radius: var(--vh-r); }
.comment-reply-title { display: block; font-family: var(--vh-body); font-size: 1.15rem; font-weight: 700; margin-bottom: 12px; }
.star-rating { position: relative; display: inline-block; overflow: hidden; height: 1.25em; line-height: 1.25; color: var(--vh-brass); white-space: nowrap; }
.star-rating::before { content: "☆☆☆☆☆"; }
.star-rating span { position: absolute; top: 0; left: 0; height: 100%; overflow: hidden; font-size: 0; }
.star-rating span::before { content: "★★★★★"; font-size: var(--vh-text); }
p.stars a { display: inline-block; width: 1.5em; overflow: hidden; white-space: nowrap; font-size: 0; color: var(--vh-brass); }
p.stars a::before { content: "☆"; font-size: 1.6rem; }
p.stars:hover a::before, p.stars.selected a::before { content: "★"; }
p.stars a:hover ~ a::before, p.stars.selected a.active ~ a::before { content: "☆"; }
p.stars:hover a:hover ~ a::before { content: "☆"; }

.related, .upsells { padding-block: 60px 20px; }
.related > h2, .upsells > h2 { margin-bottom: 30px; }

.vh-buybar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; background: var(--vh-paper); border-top: 1px solid var(--vh-line); box-shadow: 0 -12px 30px -18px rgba(46, 28, 18, .4); transform: translateY(110%); transition: transform .3s; }
.vh-buybar.is-visible { transform: none; }
.vh-buybar .vh-wrap { display: flex; align-items: center; gap: 16px; padding-block: 10px; }
.vh-buybar img { width: 50px; height: 50px; object-fit: cover; border-radius: 8px; }
.vh-buybar-name { flex: 1; min-width: 0; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vh-buybar .vh-btn { min-height: 46px; }
body.vh-bar-on .vh-wa { bottom: 86px; }

/* ------------------------------------------------------------------
 * 11. Pages, forms, blog
 * ---------------------------------------------------------------- */
.vh-page-one, .vh-page-cols, .vh-about-in, .vh-contact-in { padding-block: 52px 60px; }
.vh-page-one > .vh-prose { max-width: 780px; margin-inline: auto; }
.vh-page-one > .vh-prose-wide { max-width: none; }
.vh-page-cols { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 64px; align-items: start; }
.vh-page-cols > .vh-prose { max-width: 780px; }
.vh-side { position: sticky; top: 150px; }
.vh-side h2 { font-family: var(--vh-body); font-size: 1rem; font-weight: 700; margin-bottom: 12px; }
.vh-side ul { list-style: none; display: grid; border-left: 1px solid var(--vh-line); }
.vh-side a { display: block; padding: 8px 0 8px 16px; margin-left: -1px; border-left: 2px solid transparent; color: var(--vh-soft); }
.vh-side a:hover { color: var(--vh-ink); }
.vh-side a.is-active { border-left-color: var(--vh-leaf); color: var(--vh-ink); font-weight: 600; }

.vh-prose > * + * { margin-top: 1em; }
.vh-prose h1, .vh-prose h2 { font-size: 1.65rem; margin-top: 1.7em; }
.vh-prose h3 { font-size: 1.25rem; margin-top: 1.5em; }
.vh-prose h4 { font-size: 1.05rem; font-weight: 700; margin-top: 1.4em; }
.vh-prose > :first-child { margin-top: 0; }
.vh-prose ul, .vh-prose ol { padding-left: 1.3em; }
.vh-prose li + li { margin-top: .35em; }
.vh-prose li::marker { color: var(--vh-brass); }
.vh-prose a:not(.vh-btn):not(.vh-more):not(.button):not([class*="wc-block"]):not([class*="wp-block"]) { color: var(--vh-wood); text-decoration: underline; text-decoration-color: var(--vh-brass); text-underline-offset: 4px; }
.vh-prose img { border-radius: 10px; }
.vh-prose table { width: 100%; border-collapse: collapse; }
.vh-prose th, .vh-prose td { padding: 11px 12px 11px 0; border-bottom: 1px solid var(--vh-line); text-align: left; vertical-align: top; }
.vh-prose blockquote { padding-left: 20px; border-left: 3px solid var(--vh-brass); font-size: 1.1rem; }
.vh-prose .wp-block-button__link { background: var(--vh-leaf); color: var(--vh-cream); border-radius: 999px; }

.vh-about-in { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 72px; align-items: start; }
.vh-about-media .vh-arch { aspect-ratio: 4 / 5; max-width: 430px; margin-left: auto; }

.vh-contact-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 60px; align-items: start; }
.vh-contact-btns { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin-bottom: 30px; }
.vh-contact-btns .vh-btn { min-height: 46px; padding: 9px 20px; }
.vh-contact-form { padding: 34px; border: 1px solid var(--vh-line); border-radius: var(--vh-r); }
.vh-contact-form h2 { font-size: 1.6rem; margin-bottom: 20px; }
.vh-map { margin-top: 30px; overflow: hidden; border-radius: var(--vh-r); }
.vh-map iframe { display: block; width: 100%; height: 320px; border: 0; }

.vh-form p, .comment-form p, .woocommerce form .form-row { margin-bottom: 16px; }
.vh-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vh-form label, .comment-form label, .woocommerce form .form-row label { display: block; margin-bottom: 6px; font-weight: 600; font-size: .97rem; }
.vh-form input, .vh-form textarea, .comment-form input:not([type="checkbox"]):not([type="submit"]), .comment-form textarea, .woocommerce form .input-text, .woocommerce form textarea { width: 100%; padding: 12px 15px; border: 1px solid var(--vh-line); border-radius: 10px; background: #fff; transition: border-color .2s; }
.vh-form input:focus, .vh-form textarea:focus, .comment-form input:focus, .comment-form textarea:focus, .woocommerce form .input-text:focus { border-color: var(--vh-ink); outline: 0; }
.vh-form textarea, .comment-form textarea { resize: vertical; min-height: 130px; }
.comment-form .submit, .comment-form input[type="submit"] { min-height: 50px; padding: 12px 26px; border: 0; border-radius: var(--vh-btn-r); background: var(--vh-leaf); color: var(--vh-cream); font-weight: 600; cursor: pointer; }
.comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; }
.comment-form-cookies-consent label { font-weight: 400; margin: 0; }

.vh-blog > .vh-wrap, .vh-lost > .vh-wrap { padding-block: 20px 30px; }
.vh-posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 28px; list-style: none; padding-top: 30px; }
.vh-posts li { display: grid; gap: 8px; align-content: start; }
.vh-post-media { display: block; overflow: hidden; aspect-ratio: 3 / 2; border-radius: var(--vh-r); background: var(--vh-mist); margin-bottom: 8px; }
.vh-post-media img { width: 100%; height: 100%; object-fit: cover; }
.vh-posts time { color: var(--vh-soft); font-size: .9rem; }
.vh-posts h2 { font-size: 1.4rem; }
.vh-posts p { color: var(--vh-soft); }
.vh-comments { max-width: 780px; margin: 50px auto 0; }
.vh-comment-list { list-style: none; display: grid; gap: 22px; margin-block: 20px 34px; }
.vh-comment-list .avatar { float: left; margin-right: 12px; border-radius: 50%; }

/* ------------------------------------------------------------------
 * 12. WooCommerce: buttons, notices, account, cart and checkout
 * ---------------------------------------------------------------- */
.vh-site .button, .vh-site button.button, .vh-site input.button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 22px; border: 1.5px solid var(--vh-ink); border-radius: var(--vh-btn-r); background: transparent; color: var(--vh-ink); font-weight: 600; line-height: 1.2; cursor: pointer; text-decoration: none; transition: background-color .2s, color .2s; }
.vh-site .button:hover { background: var(--vh-ink); color: #fff; }
.vh-site .button.checkout, .vh-site .button.alt, .vh-site button[name="login"], .vh-site button[name="register"], .vh-site button[name="save_account_details"], .vh-site button[name="save_address"] { background: var(--vh-leaf); border-color: var(--vh-leaf); color: var(--vh-cream); }
.vh-site .button.checkout:hover, .vh-site .button.alt:hover { background: var(--vh-leaf-deep); border-color: var(--vh-leaf-deep); color: var(--vh-cream); }

.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper .wc-block-components-notice-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 20px; list-style: none; margin: 0 0 22px; padding: 14px 20px; border: 0; border-radius: 12px; background: var(--vh-mist); }
.woocommerce-error { background: var(--vh-sale-tint); color: var(--vh-sale); }
.woocommerce-message .button, .woocommerce-info .button { order: 2; min-height: 40px; padding: 6px 18px; }
.woocommerce-notices-wrapper:empty { display: none; }
.vh-product-page .woocommerce-notices-wrapper { margin-bottom: 4px; }

.woocommerce-account .vh-prose > .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.woocommerce-account:not(.logged-in) .vh-prose > .woocommerce { display: block; max-width: 480px; margin-inline: auto; }
.woocommerce-account:not(.logged-in) .vh-prose > .woocommerce:has(.col2-set) { max-width: 920px; }
.woocommerce-account .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.lost_reset_password { padding: 28px; border: 1px solid var(--vh-line); border-radius: var(--vh-r); margin-top: 14px; }
.woocommerce-form__label-for-checkbox { display: inline-flex !important; align-items: center; gap: 8px; font-weight: 400 !important; margin-right: 14px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 2px; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 16px; border-radius: 10px; color: var(--vh-ink) !important; text-decoration: none !important; }
.woocommerce-MyAccount-navigation a:hover, .woocommerce-MyAccount-navigation .is-active a { background: var(--vh-mist); }
.woocommerce-MyAccount-navigation .is-active a { font-weight: 700; }
.woocommerce-MyAccount-content > * + * { margin-top: 1em; }
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--vh-line); text-align: left; }
.woocommerce form .form-row .required { color: var(--vh-sale); text-decoration: none; }
.woocommerce form fieldset { border: 1px solid var(--vh-line); border-radius: 12px; padding: 18px; margin-block: 18px; }
.woocommerce-password-strength, .woocommerce-password-hint { font-size: .9rem; color: var(--vh-soft); }
.show-password-input { display: none; }

/* Cart and checkout pages are WooCommerce blocks; give them the theme's buttons. */
.vh-site .wc-block-components-button:not(.is-link) { border-radius: var(--vh-btn-r); background: var(--vh-leaf); color: var(--vh-cream); font-weight: 600; min-height: 52px; }
.vh-site .wc-block-components-button:not(.is-link):hover { background: var(--vh-leaf-deep); }
.vh-site .wc-block-cart, .vh-site .wc-block-checkout { margin-top: 0; }
.vh-site .wc-block-components-product-name { color: var(--vh-ink) !important; text-decoration: none !important; font-weight: 500; }
.vh-site .wc-block-cart-items__header, .vh-site .wc-block-components-title { font-family: var(--vh-body); }

/* ------------------------------------------------------------------
 * 13. Footer and WhatsApp button
 * ---------------------------------------------------------------- */
.vh-footer { background: var(--vh-leaf-deep); color: color-mix(in srgb, var(--vh-cream) 80%, var(--vh-leaf)); font-size: .98rem; }
.vh-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.vh-signup { border-bottom: 1px solid rgba(255, 255, 255, .13); }
.vh-signup-in { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px 40px; padding-block: 38px; }
.vh-signup h2 { font-size: 1.7rem; color: var(--vh-cream); }
.vh-signup p { margin-top: 6px; }
.vh-signup-form { display: flex; flex-wrap: wrap; gap: 10px; }
.vh-signup-form input[type="email"] { width: 300px; max-width: 100%; height: 50px; padding: 0 20px; border: 1px solid rgba(255, 255, 255, .32); border-radius: 999px; background: transparent; color: #fff; }
.vh-signup-form input::placeholder { color: rgba(255, 255, 255, .6); }
.vh-signup-form input:focus { border-color: var(--vh-brass-pale); outline: 0; }
.vh-signup .vh-note { margin: 0; color: var(--vh-ink); }
.vh-signup-err { width: 100%; margin: 0; color: #ffd2c7; }

.vh-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.45fr; gap: 44px; padding-block: 58px 50px; }
.vh-footer-logo { display: inline-block; margin-bottom: 16px; }
.vh-footer-logo img { height: 66px; width: auto; }
.vh-footer-logo .vh-logo-text { color: var(--vh-cream); }
.vh-footer-brand p { max-width: 34ch; }
.vh-footer h3 { margin-bottom: 15px; font-size: .98rem; font-weight: 700; color: var(--vh-brass-pale); }
.vh-footer-col ul { list-style: none; display: grid; gap: 9px; }
.vh-footer-biz b { color: var(--vh-cream); font-weight: 600; }
.vh-social { display: flex; gap: 8px; list-style: none; margin-top: 18px; }
.vh-social a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; }
.vh-social a:hover { background: var(--vh-cream); color: var(--vh-leaf); }
.vh-footer-base { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 30px; padding-block: 20px 26px; border-top: 1px solid rgba(255, 255, 255, .13); font-size: .92rem; }
.vh-pay { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; }
.vh-pay li { padding: 3px 11px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 6px; }

.vh-wa { position: fixed; right: 20px; bottom: 20px; z-index: 50; display: inline-flex; align-items: center; gap: 9px; min-height: 52px; padding: 0 20px 0 16px; border-radius: 999px; background: #1c8a4b; color: #fff; font-weight: 600; box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .55); transition: bottom .3s, background-color .2s; }
.vh-wa:hover { background: #166e3c; }
.vh-wa .vh-icon { width: 26px; height: 26px; }

/* ------------------------------------------------------------------
 * 14. Smaller screens
 * ---------------------------------------------------------------- */

/* Closed doors read sideways. Only where the doors sit in one row. */
@media (min-width: 981px) {
	.vh-door:not(.is-open) img { filter: brightness(.72) saturate(.85); }
	.vh-door:not(.is-open) a::after { inset: 0; background: linear-gradient(to top, rgba(18, 12, 8, .7), rgba(18, 12, 8, .1)); }
	.vh-door:not(.is-open) .vh-door-label { left: 50%; right: auto; bottom: 22px; writing-mode: vertical-rl; transform: translateX(-50%) rotate(180deg); }
	.vh-door:not(.is-open) .vh-door-label b { font-family: var(--vh-body); font-weight: 600; font-size: 1.02rem; letter-spacing: .02em; }
	.vh-door:not(.is-open) .vh-door-label small { display: none; }
}

@media (max-width: 1180px) {
	.vh-tool span:not(.vh-tool-icon) { display: none; }
	.vh-menu-item > a { padding-inline: 12px; }
	.vh-menu-item > a::after { left: 12px; right: 12px; }
	.vh-hero-in { gap: 40px; }
	.vh-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
	.vh-footer-brand { grid-column: 1 / -1; }
	.vh-footer-biz { grid-column: 1 / -1; }
	.vh-product { gap: 40px; }
}

@media (max-width: 980px) {
	:root { --vh-pad: 20px; }
	html { scroll-padding-top: 90px; }
	.vh-section { padding-block: calc(var(--vh-space) * .77); }
	.vh-head { margin-bottom: 24px; }

	.vh-notice-links { display: none; }
	.vh-notice-in { justify-content: center; text-align: center; min-height: 36px; }
	.vh-nav, .vh-header-left .vh-find { display: none; }
	.vh-burger, .vh-tool-find { display: inline-flex; }
	.vh-header-row { gap: 6px; padding-block: 8px; }
	.vh-logo img, .vh-header.is-stuck .vh-logo img { height: min(var(--vh-logo-h), 44px); }
	.vh-tools { gap: 0; }
	.vh-tool { padding: 8px; flex: none; }
	.vh-tool-cart { gap: 0; margin-right: 6px; }
	.vh-tool-account { display: none; }

	.vh-hero-in { grid-template-columns: minmax(0, 1fr); gap: 34px; padding-block: 40px 44px; }
	.vh-hero-copy > .vh-hero-note { margin-top: 26px; }
	.vh-doors { height: 400px; gap: 12px; margin-inline: calc(var(--vh-pad) * -1); padding-inline: var(--vh-pad); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.vh-doors::-webkit-scrollbar { display: none; }
	.vh-door, .vh-door.is-open { flex: 0 0 66%; scroll-snap-align: center; }
	.vh-door-label b { font-size: 1.5rem; }

	.vh-facts ul { grid-template-columns: 1fr 1fr; }
	.vh-facts li { padding: 18px 16px; border-left: 0; border-top: 1px solid var(--vh-line); }
	.vh-facts li:first-child, .vh-facts li:nth-child(2) { border-top: 0; }
	.vh-facts li:nth-child(odd) { padding-left: 0; }
	.vh-facts li:nth-child(even) { border-left: 1px solid var(--vh-line); }

	.vh-pieces { padding-top: 44px; }
	.vh-piece-list, .vh-samples { flex-wrap: nowrap; justify-content: flex-start; margin-inline: calc(var(--vh-pad) * -1); padding-inline: var(--vh-pad); overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; }
	.vh-piece-list::-webkit-scrollbar, .vh-samples::-webkit-scrollbar { display: none; }
	.vh-piece-list { gap: 16px; }
	.vh-piece-list li { flex: 0 0 34%; width: auto; scroll-snap-align: start; }

	.vh-finishes, .vh-steps { padding-block: 46px; }
	.vh-finishes-in, .vh-spot-in, .vh-story-in, .vh-about-in, .vh-contact-in { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.vh-samples { gap: 18px; padding-bottom: 20px; }
	.vh-samples::before { left: 0; right: 0; }
	.vh-samples li { flex: 0 0 96px; }
	.vh-story-media .vh-arch, .vh-about-media .vh-arch { max-width: 320px; margin-inline: auto; }
	.vh-about-media { order: -1; }

	ul.products, ul.products.vh-grid-4, .related ul.products, .upsells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; }
	ul.products.vh-rail-track { gap: 14px; margin-inline: calc(var(--vh-pad) * -1); padding-inline: var(--vh-pad); scroll-padding-inline: var(--vh-pad); }
	.vh-rail-track > li { flex-basis: 62%; }
	.vh-rail-tools .vh-round { display: none; }
	.vh-add { width: 42px; height: 42px; right: 8px; bottom: 8px; }
	.vh-card-media .vh-tag { top: 8px; left: 8px; }

	.vh-duo-in { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.vh-step-list { grid-template-columns: 1fr 1fr; gap: 30px 24px; }
	.vh-step-list li::after { content: none; }
	.vh-quote-list, .vh-posts { grid-template-columns: minmax(0, 1fr); }
	.vh-enquire { padding-bottom: 48px; }
	.vh-enquire-in { flex-direction: column; align-items: flex-start; gap: 24px; padding: 36px 26px; border-radius: 22px; }

	.vh-pagehead-in { padding-block: 26px 30px; }
	.vh-pagehead-art { width: 110px; margin-bottom: -30px; }
	.vh-chips { margin-inline: calc(var(--vh-pad) * -1); padding-inline: var(--vh-pad); padding-top: 20px; }
	.vh-toolbar { padding-block: 16px 22px; gap: 12px; }

	.vh-product { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.vh-buy { position: static; }
	.vh-strip button { width: 64px; }
	.vh-tabs { margin-top: 48px; }
	.vh-tablist { margin-inline: calc(var(--vh-pad) * -1); padding-inline: var(--vh-pad); }
	.vh-tablist [role="tab"] { padding-inline: 14px; }

	.vh-page-one, .vh-page-cols, .vh-about-in, .vh-contact-in { padding-block: 34px 44px; }
	.vh-page-cols { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.vh-side { position: static; }
	.vh-side ul { display: flex; gap: 8px; overflow-x: auto; border-left: 0; margin-inline: calc(var(--vh-pad) * -1); padding-inline: var(--vh-pad); scrollbar-width: none; }
	.vh-side a { margin: 0; padding: 8px 16px; border: 1px solid var(--vh-line); border-radius: 999px; white-space: nowrap; }
	.vh-side a.is-active { border-color: var(--vh-ink); background: var(--vh-ink); color: #fff; }
	.woocommerce-account .vh-prose > .woocommerce, .woocommerce-account .col2-set { grid-template-columns: minmax(0, 1fr); gap: 24px; }

	.vh-footer-grid { grid-template-columns: 1fr 1fr; gap: 34px 24px; padding-block: 44px 36px; }
	.vh-signup-in { padding-block: 30px; }
	.vh-wa { right: 14px; bottom: 14px; width: 54px; height: 54px; min-height: 0; padding: 0; justify-content: center; }
	.vh-wa span { display: none; }
	.vh-buybar img, .vh-buybar-name { display: none; }
	.vh-buybar .vh-wrap { justify-content: space-between; }
	body.vh-bar-on .vh-wa { bottom: 80px; }
}

@media (max-width: 560px) {
	body { font-size: calc(var(--vh-text) - .0625rem); }
	.vh-hero h1 { font-size: 2.3rem; }
	.vh-doors { height: 360px; }
	.vh-door, .vh-door.is-open { flex-basis: 74%; }
	.vh-piece-list li { flex-basis: 40%; }
	.vh-facts b { font-size: .97rem; }
	.vh-facts span { font-size: .86rem; }
	.vh-facts .vh-icon { width: 24px; height: 24px; }
	.vh-facts li { gap: 10px; padding: 14px 10px; }
	.vh-head { flex-direction: column; align-items: flex-start; gap: 10px; }
	.vh-ticks, .vh-step-list, .vh-form-row { grid-template-columns: minmax(0, 1fr); }
	.vh-banner { aspect-ratio: 4 / 3; }
	.vh-banner-copy { left: 20px; right: 20px; bottom: 20px; }
	.vh-card-title { font-size: .97rem; }
	.vh-price strong { font-size: 1.04rem; }
	.vh-price s { margin-left: 3px; font-size: .86rem; }
	.vh-price-xl strong { font-size: 1.75rem; }
	.vh-contact-form { padding: 22px; }
	.vh-signup-form, .vh-signup-form input[type="email"] { width: 100%; }
	.vh-signup-form .vh-btn { width: 100%; }
	.vh-footer-grid { grid-template-columns: minmax(0, 1fr); }
	.vh-footer-base { flex-direction: column; align-items: flex-start; padding-bottom: 84px; }
	.vh-enquire-btns, .vh-enquire-btns .vh-btn { width: 100%; }
	.vh-toolbar-sort select { max-width: 190px; }
	.vh-buy .single_add_to_cart_button { min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
