/* getVIRTUAL — every page other than the homepage, in the new design.
 * Restyles the theme's own markup (page titles, content, forms, wizard,
 * listing cards, office pages, popups, blog, portals) so it all matches
 * the homepage: Manrope headings, DM Sans text, navy / blue / red,
 * thin grey lines, square corners, generous spacing.
 */

/* ======================================================================
   0. Old header / footer / loader are replaced by the new ones
   ====================================================================== */
body.gvh-site :is(#apus-header, #apus-header-mobile, #apus-mobile-menu, #apus-footer, #back-to-top, .apus-page-loading, .over-dark) {
	display: none !important;
}
body.gvh-site #wrapper-container { padding-top: 0 !important; margin-top: 0 !important; }

/* ======================================================================
   1. Old colour / font tokens used by the site's own stylesheets
   ====================================================================== */
html:root {
	--gv-ink: #19283a;
	--gv-paper: #ffffff;
	--gv-seal: #284fc5;
	--gv-slate: #6e7784;
	--gv-line: #e1e3e6;
	--gv-check: #2f6f4e;
	--gv-primary: #19283a;
}
body.gvh-site [class*="elementor-kit-"] {
	--e-global-color-primary: #19283a;
	--e-global-color-secondary: #6e7784;
	--e-global-color-text: #3b4450;
	--e-global-color-accent: #284fc5;
	--e-global-typography-primary-font-family: "Manrope";
	--e-global-typography-secondary-font-family: "Manrope";
	--e-global-typography-text-font-family: "DM Sans";
	--e-global-typography-accent-font-family: "DM Sans";
}

/* ======================================================================
   2. Base text
   ====================================================================== */
body.gvh-site,
body.gvh-site #apus-main-content {
	font-family: var(--gvh-body);
	font-size: 16px;
	color: var(--gvh-ink);
	background: #fff;
}
body.gvh-site #apus-main-content :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--gvh-head);
	font-weight: 600;
	color: var(--gvh-navy);
	letter-spacing: -.025em;
}
body.gvh-site #apus-main-content a { color: var(--gvh-blue); }
body.gvh-site #apus-main-content a:hover { color: var(--gvh-blue-dark); }
body.gvh-site ::selection { background: var(--gvh-blue-soft); color: var(--gvh-navy); }

/* ======================================================================
   3. Page title band (every normal page) — same look as the homepage hero
   ====================================================================== */
body.gvh-site #apus-breadscrumb {
	background: var(--gvh-paper) !important;
	background-image: none !important;
	padding: 88px 0 72px !important;
	margin: 0 !important;
	min-height: 0 !important;
	border-bottom: 1px solid var(--gvh-line);
	text-align: left !important;
}
body.gvh-site #apus-breadscrumb::before,
body.gvh-site #apus-breadscrumb::after { display: none !important; }
body.gvh-site #apus-breadscrumb > .container,
body.gvh-site #main-container.container,
body.gvh-site #main-container.container-fluid,
body.gvh-site .wrapper-posts-related > .container-fluid {
	max-width: calc(var(--gvh-wrap) + var(--gvh-gutter) * 2) !important;
	padding-left: var(--gvh-gutter) !important;
	padding-right: var(--gvh-gutter) !important;
	margin-left: auto;
	margin-right: auto;
}
body.gvh-site #apus-breadscrumb .wrapper-breads,
body.gvh-site #apus-breadscrumb .wrapper-breads-inner { padding: 0 !important; margin: 0 !important; background: none !important; }
body.gvh-site #apus-breadscrumb .wrapper-breads-inner { display: flex; flex-direction: column-reverse; align-items: flex-start; }
body.gvh-site #apus-breadscrumb .bread-title {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(36px, 4.3vw, 54px) !important;
	line-height: 1.04 !important;
	letter-spacing: -.05em !important;
	color: var(--gvh-navy) !important;
	text-align: left !important;
	text-transform: none !important;
	margin: 0 !important;
}
body.gvh-site #apus-breadscrumb .breadcrumb {
	justify-content: flex-start !important;
	background: none !important;
	padding: 0 !important;
	margin: 0 0 22px !important;
	font-family: var(--gvh-body);
	font-size: 11px !important;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
}
body.gvh-site #apus-breadscrumb .breadcrumb li,
body.gvh-site #apus-breadscrumb .breadcrumb a,
body.gvh-site #apus-breadscrumb .breadcrumb .active { color: var(--gvh-blue) !important; font-size: 11px !important; }
body.gvh-site #apus-breadscrumb .breadcrumb li + li::before { color: var(--gvh-muted-2) !important; padding: 0 8px !important; }

/* App-like pages use their own heading instead of the band */
body.gvh-site:has(#getvirtual-wizard) #apus-breadscrumb,
body.gvh-site:has(.gv-detail-header) #apus-breadscrumb,
body.gvh-site:has(.gv-location-archive) #apus-breadscrumb,
body.gvh-site:has(.gv-wf-wrap, .gv-wf-login-wrap, .gv-team-login-wrap, .gv-tp-wrap, .gv-tl-wrap) #apus-breadscrumb { display: none !important; }

/* ======================================================================
   4. Main content area + long-form text (About, FAQs, Terms, Privacy ...)
   ====================================================================== */
body.gvh-site #main-container { padding-top: 72px; padding-bottom: var(--gvh-section); }
body.gvh-site #main-container > .row { margin-left: 0; margin-right: 0; }
body.gvh-site #main-container #main-content { padding-left: 0; padding-right: 0; }

body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom, .site-main > article .entry-content) {
	font-family: var(--gvh-body) !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
	color: var(--gvh-text) !important;
}
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) :is(p, li) {
	font-family: var(--gvh-body) !important;
	font-size: 16px !important;
	line-height: 1.75 !important;
	color: var(--gvh-text) !important;
}
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) p { margin: 0 0 18px; }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) :is(ul, ol) { padding-left: 22px; margin: 0 0 18px; }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) li { margin-bottom: 6px; }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) strong { color: var(--gvh-ink); font-weight: 600; }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) a { color: var(--gvh-blue) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(40, 79, 197, .35); }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom, .elementor-widget-heading) :is(h1, h2) {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(28px, 2.8vw, 36px) !important;
	line-height: 1.12 !important;
	letter-spacing: -.04em !important;
	color: var(--gvh-navy) !important;
	margin: 48px 0 18px !important;
}
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom, .elementor-widget-heading) :is(h3, h4, h5) {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 20px !important;
	line-height: 1.3 !important;
	letter-spacing: -.02em !important;
	color: var(--gvh-navy) !important;
	margin: 32px 0 12px !important;
}
body.gvh-site .elementor-widget-text-editor > .elementor-widget-container > :first-child :is(h1, h2),
body.gvh-site .elementor-widget-text-editor > .elementor-widget-container > :is(h1, h2):first-child { margin-top: 0 !important; }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) :is(th, td) { border: 0; border-bottom: 1px solid var(--gvh-line); padding: 12px 14px 12px 0; text-align: left; vertical-align: top; }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) th { font-weight: 600; color: var(--gvh-navy); }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) blockquote { border-left: 2px solid var(--gvh-blue); padding: 4px 0 4px 20px; margin: 24px 0; color: var(--gvh-ink); }
body.gvh-site :is(.elementor-widget-text-editor, .entry-content, .inner-content-bottom) hr { border: 0; border-top: 1px solid var(--gvh-line); margin: 40px 0; }

/* Elementor sections on normal pages: no grey boxes, no rounded cards */
body.gvh-site #main-container .elementor .e-con,
body.gvh-site #main-container .elementor .elementor-section { border-radius: 0 !important; }

/* Table of contents (Easy TOC) */
body.gvh-site #ez-toc-container {
	background: var(--gvh-paper) !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 22px 26px !important;
	margin: 0 0 40px !important;
	font-family: var(--gvh-body) !important;
	min-width: 280px;
	max-width: 520px;
}
body.gvh-site #ez-toc-container .ez-toc-title,
body.gvh-site #ez-toc-container p.ez-toc-title {
	font-family: var(--gvh-body) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--gvh-blue) !important;
}
body.gvh-site #ez-toc-container .ez-toc-title-toggle { display: none !important; }
body.gvh-site #ez-toc-container nav { margin-top: 12px; }
body.gvh-site #ez-toc-container :is(ul, li) { font-size: 14px !important; line-height: 1.55 !important; margin: 0; }
body.gvh-site #ez-toc-container li { padding: 3px 0; }
body.gvh-site #ez-toc-container a { color: var(--gvh-navy) !important; text-decoration: none !important; }
body.gvh-site #ez-toc-container a:hover { color: var(--gvh-blue) !important; }

/* FAQ page accordions (Elementor toggle / accordion / details) */
body.gvh-site :is(.elementor-toggle-item, .elementor-accordion-item, .e-n-accordion-item) {
	border: 0 !important;
	border-bottom: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	background: none !important;
}
body.gvh-site :is(.elementor-tab-title, .e-n-accordion-item-title) {
	font-family: var(--gvh-body) !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	color: var(--gvh-ink) !important;
	background: none !important;
	border: 0 !important;
	padding: 22px 0 !important;
}
body.gvh-site :is(.elementor-tab-title, .e-n-accordion-item-title) a { color: inherit !important; text-decoration: none !important; }
body.gvh-site :is(.elementor-tab-title, .e-n-accordion-item-title):hover { color: var(--gvh-blue) !important; }
body.gvh-site :is(.elementor-tab-title .elementor-toggle-icon, .elementor-accordion-icon) { color: var(--gvh-navy) !important; }
body.gvh-site .elementor-tab-content { border: 0 !important; padding: 0 40px 22px 0 !important; color: var(--gvh-text) !important; font-size: 15px !important; line-height: 1.7 !important; }
body.gvh-site #apus-main-content details { border-bottom: 1px solid var(--gvh-line); }
body.gvh-site #apus-main-content details > summary { cursor: pointer; padding: 22px 0; font-weight: 600; color: var(--gvh-ink); list-style: none; }

/* ======================================================================
   5. Forms and buttons (pages + the site's popups)
   ====================================================================== */
body.gvh-site :is(#apus-main-content, .gv-modal, #gv-compare-bar) :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], input[type="password"], input[type="search"], input[type="date"], input:not([type]), select, textarea) {
	font-family: var(--gvh-body) !important;
	font-size: 15px !important;
	color: var(--gvh-ink) !important;
	background-color: #fff !important;
	border: 1px solid var(--gvh-field) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 12px 14px !important;
	min-height: 48px;
	height: auto !important;
	line-height: 1.4 !important;
	transition: border-color .15s, box-shadow .15s;
}
body.gvh-site :is(#apus-main-content, .gv-modal) textarea { min-height: 120px; }
body.gvh-site :is(#apus-main-content, .gv-modal) select { padding-right: 36px !important; }
body.gvh-site :is(#apus-main-content, .gv-modal, #gv-compare-bar) :is(input, select, textarea):focus {
	border-color: var(--gvh-blue) !important;
	box-shadow: 0 0 0 3px rgba(40, 79, 197, .15) !important;
	outline: none !important;
}
body.gvh-site :is(#apus-main-content, .gv-modal) ::placeholder { color: #9aa1aa !important; opacity: 1; }
body.gvh-site :is(#apus-main-content, .gv-modal) input:is([type="checkbox"], [type="radio"]) { accent-color: var(--gvh-blue); width: 16px; height: 16px; }
body.gvh-site :is(#apus-main-content, .gv-modal) label {
	font-family: var(--gvh-body);
	font-size: 13px;
	font-weight: 600;
	color: var(--gvh-navy);
}

/* Main buttons — blue, square */
body.gvh-site :is(#apus-main-content, .gv-modal, #gv-compare-bar) :is(input[type="submit"], button[type="submit"], .wpcf7-submit, .btn-theme, .gv-btn-primary, .gv-wf-submit-btn, .gv-wf-btn-primary, .gv-team-submit-btn, .gv-tp-btn-primary, .gv-tl-btn-primary, .elementor-button) {
	font-family: var(--gvh-body) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	line-height: 1.2 !important;
	color: #fff !important;
	background: var(--gvh-blue) !important;
	border: 1px solid var(--gvh-blue) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 15px 22px !important;
	height: auto !important;
	min-height: 0 !important;
	transform: none !important;
	transition: background-color .15s, border-color .15s !important;
	cursor: pointer;
}
body.gvh-site :is(#apus-main-content, .gv-modal, #gv-compare-bar) :is(input[type="submit"], button[type="submit"], .wpcf7-submit, .btn-theme, .gv-btn-primary, .gv-wf-submit-btn, .gv-wf-btn-primary, .gv-team-submit-btn, .gv-tp-btn-primary, .gv-tl-btn-primary, .elementor-button):hover {
	background: var(--gvh-blue-dark) !important;
	border-color: var(--gvh-blue-dark) !important;
	color: #fff !important;
}
/* Second-choice buttons — white with a grey line */
body.gvh-site :is(#apus-main-content, .gv-modal, #gv-compare-bar) :is(.gv-btn-secondary, .gv-wf-btn, .gv-wf-btn-secondary, .gv-tp-btn-secondary, .gv-tl-btn-secondary, .gv-tl-btn:not(.gv-tl-btn-primary), .gv-tp-btn:not(.gv-tp-btn-primary)):not(.gv-wf-btn-primary) {
	font-family: var(--gvh-body) !important;
	font-weight: 600 !important;
	color: var(--gvh-navy) !important;
	background: #fff !important;
	border: 1px solid #c9cdd3 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.gvh-site :is(#apus-main-content, .gv-modal, #gv-compare-bar) :is(.gv-btn-secondary, .gv-wf-btn, .gv-wf-btn-secondary, .gv-tp-btn-secondary, .gv-tl-btn-secondary, .gv-tl-btn:not(.gv-tl-btn-primary), .gv-tp-btn:not(.gv-tp-btn-primary)):not(.gv-wf-btn-primary):hover { border-color: var(--gvh-navy) !important; color: var(--gvh-navy) !important; }

/* Contact Form 7 */
body.gvh-site .wpcf7 form p { margin: 0 0 16px; }
body.gvh-site .wpcf7 .wpcf7-response-output { border-radius: 0 !important; font-size: 14px; margin: 16px 0 0 !important; }
body.gvh-site .wpcf7 .wpcf7-not-valid-tip { font-size: 13px; color: var(--gvh-red); }

/* Grey Elementor boxes around forms (e.g. Contact page) become white with a thin line */
body.gvh-site #main-container .e-con:has(> .e-con-inner > .elementor-widget .wpcf7, > .elementor-widget .wpcf7) {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	box-shadow: 0 22px 44px -30px rgba(25, 40, 58, .35) !important;
	padding: 32px !important;
}

/* Icon lists (address / phone / email lines) */
body.gvh-site #main-container :is(.elementor-icon-list-text, .widget-list-icon .description) { font-family: var(--gvh-body) !important; color: var(--gvh-text) !important; font-size: 15px !important; }
body.gvh-site #main-container :is(.elementor-icon-list-icon, .widget-list-icon .icon) :is(i, svg) { color: var(--gvh-blue) !important; fill: var(--gvh-blue) !important; }

/* ======================================================================
   6. Search wizard (Browse by City / Wizard pages)
   ====================================================================== */
body.gvh-site:has(#getvirtual-wizard) #apus-main-content { background: var(--gvh-paper); }
body.gvh-site:has(#getvirtual-wizard) #main-container { padding-top: 64px; }
body.gvh-site .e-con:has(#getvirtual-wizard),
body.gvh-site .elementor-section:has(#getvirtual-wizard) {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	border: 0 !important;
	padding-top: 0 !important;
}
body.gvh-site .e-con:has(#getvirtual-wizard)::before,
body.gvh-site .e-con:has(#getvirtual-wizard)::after,
body.gvh-site .elementor-section:has(#getvirtual-wizard) > .elementor-background-overlay { display: none !important; }

body.gvh-site #getvirtual-wizard.getvirtual-wizard { padding: 0 0 20px !important; max-width: 1240px; }
body.gvh-site #getvirtual-wizard :is(.gv-hero-title, h2) {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(32px, 3.6vw, 46px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.045em !important;
	color: var(--gvh-navy) !important;
}
body.gvh-site #getvirtual-wizard .gv-hero { margin: 0 auto 36px !important; max-width: 760px; }
body.gvh-site #getvirtual-wizard .gv-hero-subtext { color: var(--gvh-muted-2) !important; font-family: var(--gvh-body); font-size: 16px; }

/* Step card */
body.gvh-site #gv-progress-bar {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-bottom: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	padding: 14px 24px !important;
}
body.gvh-site #gv-step-indicator { color: var(--gvh-muted-2) !important; font-family: var(--gvh-body) !important; font-size: 11px !important; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; }
body.gvh-site #getvirtual-wizard .gv-step {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-top: 0 !important;
	border-radius: 0 !important;
	box-shadow: 0 22px 44px -30px rgba(25, 40, 58, .45) !important;
	padding: 36px 32px 40px !important;
}
body.gvh-site #getvirtual-wizard .gv-step :is(p, label, li, span:not(.gv-submit-btn):not(.gv-pill-text):not(.gv-exact-match-tag):not(.gv-best-match-star)) { color: var(--gvh-ink); }
body.gvh-site #getvirtual-wizard .gv-step .gv-subtext {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
	letter-spacing: -.025em !important;
	color: var(--gvh-navy) !important;
	margin-bottom: 22px !important;
}
body.gvh-site #getvirtual-wizard .gv-bundled-items-list,
body.gvh-site #getvirtual-wizard .gv-bundled-items-list li { color: var(--gvh-text) !important; font-family: var(--gvh-body) !important; }
body.gvh-site #getvirtual-wizard :is(.gv-bundled-panel, .gv-group-b-panel) {
	background: var(--gvh-paper) !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
}

/* Choice tiles (licences, CA yes/no, business type) */
body.gvh-site #getvirtual-wizard :is(.gv-pill-group .gv-pill-option, .gv-tier-option, .gv-radio-option, .gv-checkbox-option) {
	background: #fff !important;
	border: 1px solid #c9cdd3 !important;
	border-radius: 0 !important;
	color: var(--gvh-navy) !important;
	transition: border-color .15s, background-color .15s;
}
body.gvh-site #getvirtual-wizard .gv-pill-group .gv-pill-option:hover { border-color: var(--gvh-navy) !important; }
body.gvh-site #getvirtual-wizard .gv-pill-group .gv-pill-text,
body.gvh-site #getvirtual-wizard .gv-pill-group .gv-pill-option.gv-pill-selected .gv-pill-text {
	color: var(--gvh-navy) !important;
	font-family: var(--gvh-body) !important;
	font-weight: 500 !important;
	font-size: 14px !important;
}
body.gvh-site #getvirtual-wizard .gv-pill-group .gv-pill-option::after { border: 1.5px solid #9aa1aa !important; color: #fff !important; }
body.gvh-site #getvirtual-wizard .gv-pill-group .gv-pill-option.gv-pill-selected {
	border-color: var(--gvh-blue) !important;
	background: var(--gvh-blue-soft) !important;
	box-shadow: inset 0 0 0 1px var(--gvh-blue);
}
body.gvh-site #getvirtual-wizard .gv-pill-group .gv-pill-option.gv-pill-selected::after { background: var(--gvh-blue) !important; border-color: var(--gvh-blue) !important; }
body.gvh-site #getvirtual-wizard :is(.gv-ca-services-block, #gv-step-2) .gv-pill-option.gv-pill-selected::after { box-shadow: inset 0 0 0 3px #fff; }
body.gvh-site #getvirtual-wizard .gv-pill-option input:focus-visible + .gv-pill-text { outline-color: var(--gvh-blue) !important; }

/* Continue / See Recommendations */
body.gvh-site .gv-submit-btn {
	background: var(--gvh-blue) !important;
	color: #fff !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-family: var(--gvh-body) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	padding: 15px 28px !important;
	transform: none !important;
}
body.gvh-site .gv-submit-btn:hover:not(:disabled) { background: var(--gvh-blue-dark) !important; box-shadow: none !important; transform: none !important; }
body.gvh-site .gv-submit-btn:disabled { background: #c9cdd3 !important; color: #fff !important; }
body.gvh-site :is(.gv-link-btn, #gv-progress-bar .gv-link-btn) {
	color: var(--gvh-navy) !important;
	font-family: var(--gvh-body) !important;
	font-size: 13px !important;
	font-weight: 500;
	text-decoration: underline !important;
	text-underline-offset: 4px;
	text-decoration-color: #c4c8ce !important;
}
body.gvh-site :is(.gv-link-btn, #gv-progress-bar .gv-link-btn):hover { color: var(--gvh-blue) !important; text-decoration-color: var(--gvh-blue) !important; }
body.gvh-site .gv-browse-toggle-highlight {
	background: #fff !important;
	color: var(--gvh-navy) !important;
	border: 1px solid #c9cdd3 !important;
	border-radius: 0 !important;
	font-family: var(--gvh-body) !important;
	transform: none !important;
}
body.gvh-site .gv-required { color: var(--gvh-red); }

/* Results header */
body.gvh-site .gv-results-group-heading {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 24px !important;
	letter-spacing: -.03em;
	color: var(--gvh-navy) !important;
}
body.gvh-site .gv-sort-row label { color: var(--gvh-muted) !important; font-family: var(--gvh-body) !important; font-weight: 500; }
body.gvh-site .gv-sort-row select {
	font-family: var(--gvh-body) !important;
	color: var(--gvh-ink) !important;
	background-color: #fff !important;
	border: 1px solid var(--gvh-field) !important;
	border-radius: 0 !important;
	min-height: 40px !important;
	padding: 8px 32px 8px 12px !important;
}
body.gvh-site :is(.gv-results-message, .gv-results-intro) { border-radius: 0 !important; font-family: var(--gvh-body) !important; }
body.gvh-site .gv-results-message { background: var(--gvh-paper) !important; border: 1px solid var(--gvh-line) !important; color: var(--gvh-ink) !important; }
body.gvh-site .gv-exact-match-banner {
	background: var(--gvh-green-soft) !important;
	border: 1px solid #c4ddcd !important;
	border-radius: 0 !important;
	color: var(--gvh-green) !important;
	font-family: var(--gvh-body) !important;
	font-size: 15px !important;
}

/* ======================================================================
   7. Listing cards (results)
   ====================================================================== */
body.gvh-site :is(.gv-card2, .gv-card) {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: transform .25s, box-shadow .25s;
}
body.gvh-site .gv-card2:hover { transform: translateY(-3px); box-shadow: 0 24px 44px -32px rgba(25, 40, 58, .5) !important; }
body.gvh-site .gv-card2-best-match { border: 2px solid var(--gvh-green) !important; }
body.gvh-site .gv-card2-photo { background: #e7e6e1; }
body.gvh-site .gv-card2-name {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 16px !important;
	letter-spacing: -.01em;
	background: linear-gradient(to top, rgba(17, 29, 43, .85), rgba(17, 29, 43, 0)) !important;
	padding: 28px 16px 12px !important;
}
body.gvh-site .gv-card2-body { padding: 20px 22px 22px !important; }
body.gvh-site .gv-card-locality {
	background: var(--gvh-chip) !important;
	border-radius: 0 !important;
	color: var(--gvh-navy) !important;
	font-family: var(--gvh-body) !important;
	font-size: 12px !important;
	padding: 6px 10px !important;
}
body.gvh-site .gv-tag {
	background: var(--gvh-chip) !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--gvh-muted) !important;
	font-family: var(--gvh-body) !important;
	font-size: 11px !important;
	padding: 7px 10px !important;
}
body.gvh-site .gv-card-turnaround { color: var(--gvh-muted-2) !important; font-family: var(--gvh-body) !important; }
body.gvh-site .gv-card-turnaround strong { font-family: var(--gvh-body) !important; font-weight: 600 !important; color: var(--gvh-ink) !important; }
body.gvh-site .gv-card2-footer { border-top: 1px solid var(--gvh-line) !important; padding-top: 18px !important; }
body.gvh-site .gv-price-eyebrow { font-size: 11px !important; letter-spacing: .12em !important; color: var(--gvh-muted-2) !important; }
body.gvh-site .gv-price-figure {
	font-family: var(--gvh-body) !important;
	font-weight: 600 !important;
	font-size: 24px !important;
	color: var(--gvh-ink) !important;
	letter-spacing: -.01em;
}
body.gvh-site .gv-price-figure span { font-size: 13px !important; color: var(--gvh-muted-2) !important; font-weight: 400 !important; }
body.gvh-site .gv-btn {
	font-family: var(--gvh-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	border-radius: 0 !important;
	padding: 12px 16px !important;
}
body.gvh-site .gv-btn-primary { background: var(--gvh-blue) !important; border: 1px solid var(--gvh-blue) !important; color: #fff !important; }
body.gvh-site .gv-btn-primary:hover { background: var(--gvh-blue-dark) !important; border-color: var(--gvh-blue-dark) !important; }
body.gvh-site .gv-btn-secondary { background: #fff !important; border: 1px solid #c9cdd3 !important; color: var(--gvh-navy) !important; }
body.gvh-site .gv-btn-secondary:hover { border-color: var(--gvh-navy) !important; background: #fff !important; }
body.gvh-site .gv-compare-checkbox-label { color: var(--gvh-muted) !important; font-family: var(--gvh-body) !important; font-weight: 500 !important; }
body.gvh-site .gv-verified-stamp,
body.gvh-site .gv-verified-stamp2 {
	background: var(--gvh-navy) !important;
	color: #fff !important;
	border-radius: 0 !important;
	transform: none !important;
	box-shadow: none !important;
	font-family: var(--gvh-body) !important;
	font-size: 10px !important;
	letter-spacing: .14em !important;
	padding: 5px 9px !important;
}
body.gvh-site .gv-best-match-banner {
	background: var(--gvh-green-soft) !important;
	border: 1px solid #c4ddcd !important;
	border-radius: 0 !important;
}
body.gvh-site :is(.gv-best-match-star, .gv-exact-match-tag, .gv-compare-winner-badge, .gv-compare-winner-badge-inline) { border-radius: 0 !important; font-family: var(--gvh-body) !important; letter-spacing: .08em !important; }
body.gvh-site .gv-best-match-banner p { font-family: var(--gvh-body) !important; color: var(--gvh-ink) !important; }
body.gvh-site .gv-card-missing { border-radius: 0 !important; font-family: var(--gvh-body) !important; }

/* ======================================================================
   8. Office detail page + List Your Space form (same building blocks)
   ====================================================================== */
body.gvh-site .gv-detail-page { font-family: var(--gvh-body) !important; color: var(--gvh-ink); max-width: 1240px !important; margin: 56px auto 0 !important; }
body.gvh-site .gv-detail-page :is(h1, h2, h3) { font-family: var(--gvh-head) !important; font-weight: 600 !important; color: var(--gvh-navy) !important; }
body.gvh-site .gv-detail-page > h1,
body.gvh-site .gv-detail-name {
	font-size: clamp(32px, 3.8vw, 48px) !important;
	line-height: 1.06 !important;
	letter-spacing: -.045em !important;
	color: var(--gvh-navy) !important;
}
body.gvh-site .gv-detail-header { border-bottom: 1px solid var(--gvh-line) !important; }
body.gvh-site .gv-detail-locality { color: var(--gvh-muted-2) !important; font-size: 15px !important; }
body.gvh-site .gv-property-type-tag { background: var(--gvh-chip) !important; color: var(--gvh-muted) !important; border-radius: 0 !important; font-family: var(--gvh-body) !important; letter-spacing: .1em !important; padding: 5px 9px !important; }
body.gvh-site .gv-detail-section h2,
body.gvh-site .gv-form-section-heading {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 24px !important;
	letter-spacing: -.03em !important;
	color: var(--gvh-navy) !important;
}
body.gvh-site .gv-detail-description,
body.gvh-site .gv-detail-page > p { color: var(--gvh-text) !important; font-size: 16px !important; line-height: 1.75 !important; }
body.gvh-site :is(.gv-compat-table, .gv-support-table) td { border-bottom: 1px solid var(--gvh-line) !important; font-size: 15px; padding: 13px 0 !important; }
body.gvh-site :is(.gv-compat-table, .gv-support-table) th { color: var(--gvh-muted-2) !important; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
body.gvh-site .gv-check, body.gvh-site .gv-support-yes { color: var(--gvh-green) !important; font-weight: 600 !important; }
body.gvh-site :is(.gv-not-supported, .gv-support-no) { color: #b42e2e !important; }
body.gvh-site .gv-faq-item { border-left: 2px solid var(--gvh-blue) !important; }
body.gvh-site .gv-faq-q { font-family: var(--gvh-body); color: var(--gvh-navy) !important; }
body.gvh-site .gv-faq-a { color: var(--gvh-text) !important; }

/* Gallery */
body.gvh-site .gv-gallery-main { border-radius: 0 !important; border: 0 !important; }
body.gvh-site .gv-gallery-thumb { border-radius: 0 !important; }
body.gvh-site .gv-gallery-thumb.gv-thumb-active { border-color: var(--gvh-blue) !important; }
body.gvh-site .gv-gallery-nav-arrow { background: rgba(17, 29, 43, .6) !important; border-radius: 0 !important; }

/* Sidebar cards (price, enquiry) */
body.gvh-site :is(.gv-price-card, .gv-enquiry-card) {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	box-shadow: 0 22px 44px -30px rgba(25, 40, 58, .35) !important;
	padding: 28px !important;
}
body.gvh-site .gv-enquiry-card h3 { font-size: 22px !important; letter-spacing: -.03em; }
body.gvh-site :is(.gv-price-breakdown, .gv-price-disclaimer) { border-top: 1px solid var(--gvh-line) !important; color: var(--gvh-muted-2) !important; }
body.gvh-site .gv-price-breakdown-main { color: var(--gvh-ink) !important; }
body.gvh-site :is(.gv-price-breakdown-main strong, .gv-turnaround strong) { font-family: var(--gvh-body) !important; font-weight: 600 !important; }
body.gvh-site .gv-requirement-summary { background: var(--gvh-paper) !important; border: 1px solid var(--gvh-line) !important; border-radius: 0 !important; }
body.gvh-site .gv-form-field label { font-size: 13px !important; font-weight: 600 !important; color: var(--gvh-navy) !important; }
body.gvh-site .gv-enquiry-status { border-radius: 0 !important; }
body.gvh-site .gv-detail-page .gv-card-actions .gv-btn,
body.gvh-site :is(.gv-price-card, .gv-enquiry-card) .gv-btn { width: 100%; padding: 15px 18px !important; font-size: 14px !important; }

/* List Your Space pieces */
body.gvh-site :is(.gv-photo-upload-box) { border: 1px dashed var(--gvh-field) !important; border-radius: 0 !important; background: #fff; }
body.gvh-site .gv-photo-upload-box:hover { border-color: var(--gvh-blue) !important; background: var(--gvh-blue-soft) !important; }
body.gvh-site .gv-photo-upload-box.gv-photo-filled { border-style: solid !important; border-color: var(--gvh-green) !important; background: var(--gvh-green-soft) !important; }
body.gvh-site .gv-listing-pill { border: 1px solid #c9cdd3 !important; border-radius: 0 !important; font-family: var(--gvh-body) !important; color: var(--gvh-navy); padding: 9px 14px !important; }
body.gvh-site .gv-optional-tag { color: var(--gvh-muted-2) !important; }
body.gvh-site .gv-spinner { border-color: rgba(40, 79, 197, .2) !important; border-top-color: var(--gvh-blue) !important; }

/* ======================================================================
   9. Popups (Multi-State, Site Visit, Compare, sourcing request)
   ====================================================================== */
body.gvh-site .gv-modal { background: rgba(17, 29, 43, .55) !important; }
body.gvh-site .gv-modal-inner {
	background: #fff !important;
	border-radius: 0 !important;
	box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .5) !important;
	padding: 36px 36px 32px !important;
	font-family: var(--gvh-body);
	color: var(--gvh-ink);
}
body.gvh-site .gv-modal-inner :is(h2, h3) {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(24px, 2.4vw, 30px) !important;
	line-height: 1.15 !important;
	letter-spacing: -.035em !important;
	color: var(--gvh-navy) !important;
	white-space: normal !important;
	margin: 0 0 10px !important;
}
body.gvh-site .gv-modal-inner > p,
body.gvh-site .gv-bulk-enquiry-inner > p { color: var(--gvh-muted-2) !important; font-size: 15px !important; }
body.gvh-site :is(.gv-bulk-enquiry-close-btn, .gv-modal-close-x) { color: var(--gvh-muted-2) !important; font-size: 28px !important; }
body.gvh-site :is(.gv-bulk-enquiry-close-btn, .gv-modal-close-x):hover { color: var(--gvh-ink) !important; }
body.gvh-site .gv-bulk-enquiry-inner .gv-field > label:first-child { font-size: 13px !important; color: var(--gvh-navy) !important; }
body.gvh-site .gv-bulk-enquiry-inner .gv-checkbox-option,
body.gvh-site .gv-modal-inner .gv-checkbox-option {
	border: 1px solid #c9cdd3 !important;
	border-radius: 0 !important;
	font-weight: 500;
	color: var(--gvh-navy);
}
body.gvh-site :is(.gv-bulk-enquiry-table-wrap) { border: 1px solid var(--gvh-line) !important; border-radius: 0 !important; }
body.gvh-site .gv-bulk-enquiry-table thead th { background: var(--gvh-paper) !important; font-family: var(--gvh-body) !important; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--gvh-muted-2); }
body.gvh-site .gv-bulk-enquiry-table td { border-bottom: 1px solid var(--gvh-line) !important; }
body.gvh-site .gv-bulk-enquiry-table .gv-checkbox-option { border: 0 !important; }
body.gvh-site .gv-be-city-select { min-height: 40px !important; padding: 8px 32px 8px 10px !important; }
body.gvh-site .gv-compare-modal-inner { max-width: 960px !important; }
body.gvh-site .gv-compare-table :is(th, td) { border-bottom: 1px solid var(--gvh-line) !important; }
body.gvh-site .gv-compare-table thead th { font-family: var(--gvh-head) !important; background: var(--gvh-paper) !important; }
body.gvh-site :is(.gv-compare-row-label, .gv-compare-section-row td) { background: var(--gvh-paper) !important; }
body.gvh-site :is(.gv-compare-winner-dialog, .gv-compare-winner-card) { border-radius: 0 !important; }
body.gvh-site #gv-compare-bar { background: var(--gvh-navy) !important; font-family: var(--gvh-body); }
body.gvh-site #gv-compare-bar .gv-link-btn { color: #fff !important; }
body.gvh-site .gv-visit-modal-inner h3 { font-size: 24px !important; }

/* ======================================================================
   10. City pages (state -> cities) and city tiles
   ====================================================================== */
body.gvh-site:has(.gv-location-archive) #apus-main-content { background: var(--gvh-paper); }
body.gvh-site .gv-location-archive,
body.gvh-site .gv-all-locations-section { max-width: 1240px !important; margin: 0 auto !important; padding: 72px var(--gvh-gutter) var(--gvh-section) !important; }
body.gvh-site .gv-location-header { text-align: left !important; }
body.gvh-site .gv-location-title,
body.gvh-site :is(.gv-top-cities-heading, .gv-testimonials-heading) {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(32px, 3.6vw, 46px) !important;
	letter-spacing: -.045em !important;
	color: var(--gvh-navy) !important;
}
body.gvh-site .gv-location-intro,
body.gvh-site .gv-term-description { text-align: left !important; color: var(--gvh-muted-2) !important; margin-left: 0 !important; font-size: 16px; }
body.gvh-site :is(.gv-location-city-tile, .gv-city-tile) {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	padding: 0 0 18px !important;
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 17px !important;
	color: var(--gvh-navy) !important;
	overflow: hidden;
	transition: transform .25s, box-shadow .25s !important;
}
body.gvh-site :is(.gv-location-city-tile, .gv-city-tile):hover { transform: translateY(-3px) !important; box-shadow: 0 24px 44px -32px rgba(25, 40, 58, .5); border-color: var(--gvh-line) !important; }
body.gvh-site :is(.gv-location-city-tile-image, .gv-city-tile-image) { border-radius: 0 !important; height: 140px !important; margin-bottom: 16px !important; }
body.gvh-site .gv-location-nav-row { max-width: 1240px !important; padding: 0 !important; }
body.gvh-site .gv-testimonial-card { border: 1px solid var(--gvh-line) !important; border-radius: 0 !important; }

/* ======================================================================
   11. News & Tips (blog list, single article, sidebar)
   ====================================================================== */
body.gvh-site .layout-posts-list { display: flex; flex-direction: column; gap: 22px; }
body.gvh-site article.post-list-item-v2 {
	background: #fff;
	border: 1px solid var(--gvh-line);
	padding: 0 !important;
	margin: 0 !important;
	transition: transform .25s, box-shadow .25s;
}
body.gvh-site article.post-list-item-v2:hover { transform: translateY(-3px); box-shadow: 0 24px 44px -32px rgba(25, 40, 58, .5); }
body.gvh-site article.post-list-item-v2 > .d-flex { align-items: stretch !important; }
body.gvh-site article.post-list-item-v2 .top-image { flex: 0 0 300px; max-width: 300px; margin: 0 !important; position: relative; }
body.gvh-site article.post-list-item-v2 :is(.entry-thumb, .post-thumbnail, .image-wrapper, img) { height: 100%; border-radius: 0 !important; margin: 0 !important; }
body.gvh-site article.post-list-item-v2 img { object-fit: cover; width: 100%; }
body.gvh-site article.post-list-item-v2 .col-content { padding: 26px 28px !important; display: flex; flex-direction: column; justify-content: center; }
body.gvh-site :is(.list-categories .categories-name, .entry-content-detail .list-categories a) {
	background: var(--gvh-navy) !important;
	color: #fff !important;
	border-radius: 0 !important;
	font-family: var(--gvh-body) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	padding: 5px 9px !important;
}
body.gvh-site :is(.top-detail-info, .top-detail-info a, .top-detail-info .date) { color: var(--gvh-muted-2) !important; font-size: 12px !important; font-family: var(--gvh-body) !important; }
body.gvh-site .top-detail-info i { color: var(--gvh-muted-2) !important; }
body.gvh-site #apus-main-content .entry-title { font-family: var(--gvh-head) !important; font-weight: 600 !important; font-size: 22px !important; line-height: 1.25 !important; letter-spacing: -.025em !important; margin: 10px 0 !important; }
body.gvh-site #apus-main-content .entry-title a { color: var(--gvh-navy) !important; }
body.gvh-site #apus-main-content .entry-title a:hover { color: var(--gvh-blue) !important; }
body.gvh-site .post-list-item-v2 .description { color: var(--gvh-muted-2) !important; font-size: 15px !important; line-height: 1.65 !important; }
body.gvh-site .btn-readmore { color: var(--gvh-blue) !important; font-family: var(--gvh-body) !important; font-weight: 600 !important; font-size: 13px !important; text-transform: none !important; letter-spacing: 0 !important; background: none !important; padding: 0 !important; border: 0 !important; }
body.gvh-site .paging-navigation :is(a, span) { border-radius: 0 !important; font-family: var(--gvh-body) !important; }
body.gvh-site .paging-navigation .current { background: var(--gvh-navy) !important; border-color: var(--gvh-navy) !important; color: #fff !important; }

/* Sidebar */
body.gvh-site #apus-main-content :is(.sidebar, .widget-area) .widget {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 24px !important;
	margin-bottom: 22px !important;
}
body.gvh-site #apus-main-content .widget :is(.widget-title, .widgettitle, h2.widget-title, h3.widget-title) {
	font-family: var(--gvh-body) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .15em !important;
	text-transform: uppercase !important;
	color: var(--gvh-blue) !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
	border: 0 !important;
}
body.gvh-site #apus-main-content .widget :is(.widget-title, .widgettitle)::before,
body.gvh-site #apus-main-content .widget :is(.widget-title, .widgettitle)::after { display: none !important; }
body.gvh-site #apus-main-content .widget a { color: var(--gvh-navy) !important; }
body.gvh-site #apus-main-content .widget a:hover { color: var(--gvh-blue) !important; }
body.gvh-site #apus-main-content .widget :is(img, .image-wrapper) { border-radius: 0 !important; }
body.gvh-site #apus-main-content .widget_search :is(button, .btn) { background: var(--gvh-blue) !important; color: #fff !important; border-radius: 0 !important; border: 0 !important; }

/* Single article */
body.gvh-site .header-info-blog {
	background: var(--gvh-paper) !important;
	background-image: none !important;
	color: var(--gvh-navy) !important;
	text-align: left !important;
	padding: 88px max(var(--gvh-gutter), calc((100vw - var(--gvh-wrap)) / 2)) 64px !important;
	margin: 0 calc(50% - 50vw) !important;
	border-bottom: 1px solid var(--gvh-line);
}
body.gvh-site .header-info-blog::before,
body.gvh-site .header-info-blog::after { display: none !important; }
body.gvh-site .header-info-blog :is(.entry-title, h1) {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(32px, 3.8vw, 48px) !important;
	line-height: 1.08 !important;
	letter-spacing: -.045em !important;
	color: var(--gvh-navy) !important;
	max-width: 900px;
	text-align: left !important;
}
body.gvh-site .header-info-blog :is(.top-detail-info, .list-categories) { justify-content: flex-start !important; text-align: left !important; }
body.gvh-site .header-info-blog :is(a, span, i) { color: var(--gvh-muted-2) !important; }
body.gvh-site .header-info-blog .list-categories a { color: #fff !important; }
body.gvh-site .detail-post .inner-content-bottom { max-width: 800px; margin: 56px auto 0; }
body.gvh-site .detail-post .inner-content-bottom > :is(h1, .entry-title):first-child { display: none; } /* title already in the band above */
body.gvh-site .wrapper-posts-related { background: var(--gvh-paper); padding: 80px 0 !important; margin-top: 80px; }
body.gvh-site .wrapper-posts-related .title { font-family: var(--gvh-head) !important; font-weight: 600 !important; font-size: clamp(26px, 2.6vw, 34px) !important; letter-spacing: -.035em !important; color: var(--gvh-navy) !important; }
body.gvh-site :is(.tag-links a, .entry-tags a) { background: var(--gvh-chip) !important; color: var(--gvh-muted) !important; border: 0 !important; border-radius: 0 !important; font-size: 12px !important; }

/* ======================================================================
   12. Document Portal, Partner Console, team pages
   ====================================================================== */
body.gvh-site:has(.gv-wf-login-wrap, .gv-team-login-wrap) #apus-main-content { background: var(--gvh-paper); }
body.gvh-site :is(.gv-wf-login-wrap, .gv-team-login-wrap) { margin: 0 auto !important; padding: 88px var(--gvh-gutter) var(--gvh-section) !important; max-width: 520px !important; }
body.gvh-site :is(.gv-wf-login-box, .gv-team-login-box) {
	background: #fff !important;
	border: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	box-shadow: 0 22px 44px -30px rgba(25, 40, 58, .45) !important;
	padding: 40px 36px !important;
}
body.gvh-site :is(.gv-wf-login-box, .gv-team-login-box) h1 {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 32px !important;
	letter-spacing: -.04em !important;
	color: var(--gvh-navy) !important;
}
body.gvh-site :is(.gv-wf-login-box, .gv-team-login-box) .gv-subtitle { color: var(--gvh-muted-2) !important; font-size: 15px !important; line-height: 1.65 !important; }
body.gvh-site :is(.gv-wf-submit-btn, .gv-team-submit-btn) { width: 100%; }
body.gvh-site :is(.gv-wf-resend, .gv-team-resend) a { color: var(--gvh-blue) !important; }
body.gvh-site :is(.gv-wf-wrap, .gv-tp-wrap) { padding-top: 64px !important; }
body.gvh-site :is(.gv-wf-header, .gv-tp-header) h1 {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(28px, 3vw, 38px) !important;
	letter-spacing: -.04em !important;
	color: var(--gvh-navy) !important;
}
body.gvh-site :is(.gv-wf-card, .gv-wf-booking-row, .gv-tp-table-wrap, .gv-tp-doc-group, .gv-tp-dropzone, [class^="gv-wf-"][class*="-card"], [class^="gv-tp-"][class*="-card"]) {
	border-radius: 0 !important;
	border-color: var(--gvh-line) !important;
}
body.gvh-site :is(.gv-wf-card) { background: var(--gvh-paper) !important; }
body.gvh-site .gv-wf-booking-row:hover { border-color: var(--gvh-navy) !important; }
body.gvh-site .gv-tp-table th { background: var(--gvh-paper) !important; color: var(--gvh-muted-2) !important; font-family: var(--gvh-body); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
body.gvh-site .gv-tp-table td { border-color: var(--gvh-line) !important; }
body.gvh-site .gv-tp-dropzone.gv-tp-dropzone-active { border-color: var(--gvh-blue) !important; background: var(--gvh-blue-soft) !important; color: var(--gvh-blue) !important; }
body.gvh-site [class^="gv-tp-"][class*="badge"],
body.gvh-site [class^="gv-wf-"][class*="badge"],
body.gvh-site [class^="gv-wf-"][class*="status-pill"],
body.gvh-site [class^="gv-tp-"][class*="pill"] { border-radius: 0 !important; }

/* ======================================================================
   13. Phones and tablets
   ====================================================================== */
@media (max-width: 991px) {
	body.gvh-site #apus-breadscrumb { padding: 64px 0 52px !important; }
	body.gvh-site #main-container { padding-top: 48px; }
	body.gvh-site article.post-list-item-v2 > .d-flex { flex-direction: column; }
	body.gvh-site article.post-list-item-v2 .top-image { flex: none; max-width: none; aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) {
	body.gvh-site #getvirtual-wizard .gv-step { padding: 28px 18px 32px !important; }
	body.gvh-site #gv-progress-bar { padding: 12px 16px !important; }
	body.gvh-site .gv-modal-inner { padding: 30px 22px 24px !important; }
	body.gvh-site :is(.gv-wf-login-box, .gv-team-login-box) { padding: 32px 22px !important; }
	body.gvh-site #main-container .e-con:has(> .e-con-inner > .elementor-widget .wpcf7, > .elementor-widget .wpcf7) { padding: 22px !important; }
}

/* ======================================================================
   14. Fine-tuning after the page-by-page review
   ====================================================================== */

/* Same left edge everywhere: stretched Elementor sections line up with the header */
body.gvh-site #main-container .elementor-section-stretched > .elementor-container {
	max-width: calc(var(--gvh-wrap) + var(--gvh-gutter) * 2 - 30px) !important;
	padding-left: calc(var(--gvh-gutter) - 15px);
	padding-right: calc(var(--gvh-gutter) - 15px);
}
/* No double gap under the title band */
body.gvh-site #main-container { padding-top: 56px; }
body.gvh-site #main .elementor > :is(.elementor-top-section, .e-con):first-child { padding-top: 0 !important; margin-top: 0 !important; }
body.gvh-site #main .elementor > :is(.elementor-top-section, .e-con):first-child > .elementor-container > .elementor-column > .elementor-widget-wrap { padding-top: 0 !important; }
/* Square corners on every Elementor box */
body.gvh-site #main-container .elementor :is(.elementor-column, .elementor-widget-wrap, .elementor-widget-container, .elementor-column-wrap) { border-radius: 0 !important; }

/* List Your Space has its own H1 at the top: that becomes the page title */
body.gvh-site:has(.gv-detail-page > h1:first-child) #apus-breadscrumb { display: none !important; }
body.gvh-site .gv-detail-page > h1:first-child {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(36px, 4.3vw, 54px) !important;
	line-height: 1.04 !important;
	letter-spacing: -.05em !important;
	color: var(--gvh-navy) !important;
	margin: 16px 0 18px !important;
}
/* FAQ page heading under the band */
body.gvh-site .gv-faq-wrap h1 {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: clamp(28px, 2.8vw, 36px) !important;
	letter-spacing: -.04em !important;
	color: var(--gvh-navy) !important;
}

/* Block-editor pages (Terms, Privacy, Refunds): same text styles as the rest */
body.gvh-site #main.site-main > :is(p, ul, ol) { font-size: 16px; line-height: 1.75; color: var(--gvh-text); max-width: 860px; }
body.gvh-site #main.site-main > :is(p, ul, ol) li { margin-bottom: 6px; }
body.gvh-site #main.site-main > :is(h2, h3, h4).wp-block-heading,
body.gvh-site #main.site-main > :is(h2, h3, h4) {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	color: var(--gvh-navy) !important;
	letter-spacing: -.035em !important;
	line-height: 1.15 !important;
	margin: 48px 0 16px !important;
}
body.gvh-site #main.site-main > h2 { font-size: clamp(26px, 2.6vw, 32px) !important; }
body.gvh-site #main.site-main > :is(h3, h4) { font-size: 20px !important; letter-spacing: -.02em !important; }
body.gvh-site #main.site-main > :is(h1, h2, h3, h4) strong { font-weight: inherit; }
body.gvh-site #main.site-main > .wp-block-separator,
body.gvh-site #main.site-main hr.wp-block-separator {
	width: 100% !important;
	max-width: 860px;
	margin: 40px 0 0 !important;
	border: 0 !important;
	border-top: 1px solid var(--gvh-line) !important;
	opacity: 1 !important;
	background: none !important;
	height: 0 !important;
}
body.gvh-site #main.site-main > .wp-block-separator + :is(h2, h3) { margin-top: 40px !important; }

/* Table of contents: the headings carry their own numbers, so no extra 1.1.1 */
body.gvh-site #ez-toc-container a::before,
body.gvh-site #ez-toc-container .ez-toc-counter-list a::before { content: none !important; display: none !important; }
body.gvh-site #ez-toc-container ul ul { padding-left: 14px !important; margin-top: 2px !important; }
body.gvh-site #ez-toc-container nav > ul { padding-left: 0 !important; }

/* FAQs (FAQ page + office pages): same look as the homepage FAQ */
body.gvh-site.page .gv-faq-wrap { max-width: 860px !important; margin: 0 !important; padding: 0 !important; }
body.gvh-site:not(.page) .gv-faq-wrap {
	max-width: calc(var(--gvh-wrap) + var(--gvh-gutter) * 2) !important;
	margin: 0 auto !important;
	padding: 56px var(--gvh-gutter) 24px !important;
}
body.gvh-site:not(.page) .gv-faq-wrap > * { max-width: 860px; }
body.gvh-site .gv-faq-block { margin-bottom: 44px !important; }
body.gvh-site .gv-faq-block__title {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 22px !important;
	letter-spacing: -.025em !important;
	color: var(--gvh-navy) !important;
	margin: 0 0 8px !important;
}
body.gvh-site .gv-faq-accordion { border-top: 1px solid var(--gvh-line) !important; }
body.gvh-site .gv-faq-item {
	border: 0 !important;
	border-left: 0 !important;
	border-bottom: 1px solid var(--gvh-line) !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
body.gvh-site .gv-faq-item__q {
	list-style: none !important;
	display: block !important;
	position: relative !important;
	padding: 24px 48px 24px 0 !important;
	font-family: var(--gvh-body) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	color: var(--gvh-ink) !important;
	cursor: pointer;
}
body.gvh-site .gv-faq-item__q::-webkit-details-marker { display: none; }
body.gvh-site .gv-faq-item__q:hover { color: var(--gvh-blue) !important; }
body.gvh-site .gv-faq-item__q::after {
	content: "+" !important;
	position: absolute !important;
	right: 4px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	font-family: var(--gvh-body) !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	color: var(--gvh-navy) !important;
}
body.gvh-site .gv-faq-item[open] > .gv-faq-item__q::after { content: "\2212" !important; }
body.gvh-site .gv-faq-item__a { padding: 0 48px 24px 0 !important; }
body.gvh-site .gv-faq-item__a :is(p, li) { font-size: 15px !important; line-height: 1.7 !important; color: var(--gvh-muted-2) !important; }
body.gvh-site .gv-faq-item__a p:last-child { margin-bottom: 0 !important; }

/* Search wizard: no box inside the box; text clear of the tick boxes */
body.gvh-site #getvirtual-wizard .gv-group-b-panel {
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
}
body.gvh-site #getvirtual-wizard .gv-pill-group-compact .gv-pill-option { padding-right: 44px !important; position: relative; }
body.gvh-site #getvirtual-wizard .gv-pill-group-compact .gv-pill-option::after { right: 14px !important; }
body.gvh-site #getvirtual-wizard .gv-pill-group:not(.gv-pill-group-compact) .gv-pill-option { justify-content: space-between !important; gap: 10px; text-align: left !important; }
body.gvh-site #getvirtual-wizard .gv-pill-group:not(.gv-pill-group-compact) .gv-pill-option .gv-pill-text { flex: 1 1 auto !important; text-align: left !important; }
body.gvh-site #getvirtual-wizard .gv-pill-group:not(.gv-pill-group-compact) .gv-pill-option::after { flex: 0 0 auto; }
body.gvh-site #getvirtual-wizard .gv-field > label:first-child,
body.gvh-site #getvirtual-wizard .gv-field > .gv-field-label {
	display: block;
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 22px !important;
	line-height: 1.25 !important;
	letter-spacing: -.025em !important;
	color: var(--gvh-navy) !important;
	text-align: center;
	margin-bottom: 22px !important;
}

/* Result cards */
body.gvh-site .gv-card2 .gv-card-locality {
	background: none !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: var(--gvh-body) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--gvh-navy) !important;
	margin: 0 0 12px !important;
}
body.gvh-site .gv-card2 .gv-price-eyebrow {
	font-family: var(--gvh-body) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: .15em !important;
	text-transform: uppercase !important;
	color: var(--gvh-muted-2) !important;
	margin: 0 0 4px !important;
}
body.gvh-site .gv-card2 .gv-price-figure {
	font-family: var(--gvh-head) !important;
	font-weight: 600 !important;
	font-size: 26px !important;
	letter-spacing: -.035em !important;
	color: var(--gvh-navy) !important;
	margin: 0 !important;
}

/* Office page */
body.gvh-site :is(.gv-compat-table, .gv-support-table) { border: 0 !important; }
body.gvh-site :is(.gv-compat-table, .gv-support-table) :is(td, th) { border-left: 0 !important; border-right: 0 !important; border-top: 0 !important; padding-left: 0 !important; }
body.gvh-site :is(.gv-talk-to-expert a, a.gv-talk-to-expert) { color: var(--gvh-blue) !important; }
body.gvh-site .gv-gallery-main { max-height: 520px; }
body.gvh-site.page-template-template-add-listing .gv-detail-page { max-width: 900px !important; margin-left: 0 !important; }

/* News & Tips list */
body.gvh-site article.post-list-item-v2,
body.gvh-site .wrapper-posts-related article.post-grid { border-radius: 0 !important; overflow: hidden; }
body.gvh-site .wrapper-posts-related article.post-grid { border: 1px solid var(--gvh-line) !important; background: #fff !important; box-shadow: none !important; }
body.gvh-site .wrapper-posts-related article.post-grid :is(img, .image-wrapper, .entry-thumb) { border-radius: 0 !important; }
body.gvh-site .wrapper-posts-related .title { text-align: left !important; margin-bottom: 32px !important; }
body.gvh-site :is(.tagcloud a, .tag-cloud-link, .wp-block-tag-cloud a) {
	border-radius: 0 !important;
	background: var(--gvh-chip) !important;
	border: 0 !important;
	color: var(--gvh-muted) !important;
	font-size: 12px !important;
	padding: 6px 10px !important;
}

/* Single article: title band first, picture under it, everything left-aligned */
body.gvh-site.single-post #main-container { padding-top: 0; }
body.gvh-site .header-info-blog {
	display: flex !important;
	flex-direction: column;
	position: relative;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 72px 0 56px !important;
	background: var(--gvh-paper) !important;
	box-shadow: 0 0 0 100vmax var(--gvh-paper);
	clip-path: inset(0 -100vmax);
	border-bottom: 0;
}
body.gvh-site .header-info-blog .header-info-blog-inner {
	order: -1;
	position: static !important;
	inset: auto !important;
	transform: none !important;
	width: auto !important;
	padding: 0 !important;
	margin: 0 0 40px !important;
	background: none !important;
	text-align: left !important;
}
body.gvh-site .header-info-blog .header-info-blog-inner .list-categories { margin-bottom: 18px !important; }
body.gvh-site .header-info-blog :is(.entry-thumb, .post-thumbnail, .image-wrapper) { height: auto !important; max-width: 860px; margin: 0 !important; border-radius: 0 !important; }
body.gvh-site .header-info-blog :is(.entry-thumb, .post-thumbnail, .image-wrapper, .header-info-blog-inner)::before,
body.gvh-site .header-info-blog :is(.entry-thumb, .post-thumbnail, .image-wrapper, .header-info-blog-inner)::after { display: none !important; }
body.gvh-site .header-info-blog .entry-thumb img { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 0 !important; }
body.gvh-site .detail-post .inner-content-bottom { margin: 56px 0 0 !important; max-width: 800px; }

@media (max-width: 991px) {
	body.gvh-site #main-container { padding-top: 40px; }
	body.gvh-site .header-info-blog { padding: 48px 0 40px !important; }
}
body.gvh-site :is(.gv-compat-table, .gv-support-table) td:first-child { padding-right: 20px !important; }
body.gvh-site .gv-detail-grid > * { min-width: 0; }
body.gvh-site :is(.gv-compat-table, .gv-support-table) { width: 100% !important; }
@media (max-width: 600px) {
	body.gvh-site :is(.gv-compat-table, .gv-support-table) td { font-size: 14px !important; }
	body.gvh-site :is(.gv-compat-table, .gv-support-table) td:first-child { padding-right: 12px !important; }
}

/* ======================================================================
   15. List Your Space: section list on the left, form in a box
   ====================================================================== */
body.gvh-site:has(.gvh-lys) #apus-breadscrumb { display: none !important; }
body.gvh-site.page-template-template-add-listing .gv-detail-page.gvh-lys { max-width: calc(var(--gvh-wrap) + var(--gvh-gutter) * 2) !important; margin: 0 auto !important; padding: 80px var(--gvh-gutter) 110px !important; }
body.gvh-site .gvh-lys-intro { max-width: 820px; margin-bottom: 70px; }
body.gvh-site .gvh-lys-eyebrow { margin: 0 0 24px !important; font-family: var(--gvh-body); font-size: 11px !important; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; color: var(--gvh-blue) !important; }
body.gvh-site .gvh-lys-intro > h1 { margin: 0 0 20px !important; font-family: var(--gvh-head) !important; font-weight: 600 !important; font-size: clamp(40px, 5vw, 64px) !important; line-height: 1.03 !important; letter-spacing: -.055em !important; color: var(--gvh-navy) !important; }
body.gvh-site .gvh-lys-intro > p:not(.gvh-lys-eyebrow) { max-width: 640px; margin: 0 !important; font-size: 17px !important; line-height: 1.7 !important; color: var(--gvh-muted-2) !important; }

body.gvh-site .gvh-lys-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 70px; align-items: start; }
body.gvh-site .gvh-lys-nav { position: sticky; top: calc(var(--gvh-header-h) + 38px); border-top: 2px solid var(--gvh-navy); }
body.admin-bar.gvh-site .gvh-lys-nav { top: calc(var(--gvh-header-h) + 70px); }
body.gvh-site .gvh-lys-nav > span { display: block; padding: 18px 0; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--gvh-muted-2); }
body.gvh-site .gvh-lys-nav button { display: flex; gap: 15px; width: 100%; margin: 0; padding: 15px 5px !important; border: 0 !important; border-top: 1px solid var(--gvh-line) !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; text-align: left; font-family: var(--gvh-body) !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.4 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--gvh-muted-2) !important; cursor: pointer; transition: color .2s; }
body.gvh-site .gvh-lys-nav button:hover { color: var(--gvh-navy) !important; }
body.gvh-site .gvh-lys-nav button i { flex: 0 0 22px; padding-top: 2px; font-style: normal; font-size: 10px; }
body.gvh-site .gvh-lys-nav button.is-done { color: var(--gvh-navy) !important; }
body.gvh-site .gvh-lys-nav button.is-active { color: var(--gvh-blue) !important; font-weight: 600 !important; }

body.gvh-site #gv-new-listing-form.gvh-lys-form { margin: 0 !important; padding: 45px !important; border: 1px solid var(--gvh-line) !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important; max-width: none !important; }
body.gvh-site .gvh-lys-sec + .gvh-lys-sec { margin-top: 50px; padding-top: 0; }
body.gvh-site .gvh-lys-sec > .gv-form-section-heading { margin: 0 0 28px !important; padding: 0 !important; border: 0 !important; font-size: 30px !important; line-height: 1.1 !important; letter-spacing: -.04em !important; }
body.gvh-site .gvh-lys-sec > .gv-form-section-heading + p { margin: -14px 0 24px !important; font-size: 14px !important; color: var(--gvh-muted-2) !important; }
body.gvh-site .gvh-lys .gv-form-field { margin-bottom: 17px !important; }
body.gvh-site .gvh-lys .gv-form-field > label:not(.gv-checkbox-inline),
body.gvh-site .gvh-lys .gv-form-field > div > label:not(.gv-checkbox-inline) { display: block; margin-bottom: 6px !important; font-size: 10px !important; font-weight: 700 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--gvh-muted-2) !important; }
body.gvh-site .gvh-lys :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], input[type="number"], select, textarea) { border-color: var(--gvh-line) !important; padding: 13px 12px !important; }
body.gvh-site .gvh-lys :is(input, select, textarea):focus { border-color: var(--gvh-blue) !important; box-shadow: 0 0 0 1px var(--gvh-blue) !important; }

/* Services: each one a box that turns blue when ticked */
body.gvh-site .gvh-lys .gv-form-field:has(> .gv-checkbox-inline .gv-service-toggle) { padding: 16px !important; border: 1px solid var(--gvh-line); background: #fff; transition: border-color .2s, background-color .2s; margin-bottom: 9px !important; }
body.gvh-site .gvh-lys .gv-form-field:has(> .gv-checkbox-inline .gv-service-toggle:checked) { border-color: var(--gvh-blue); background: #f2f5ff; }
body.gvh-site .gvh-lys .gv-form-field:has(.gv-service-toggle) .gv-checkbox-inline { display: flex; align-items: center; gap: 12px; margin: 0 !important; font-size: 15px !important; font-weight: 500 !important; color: var(--gvh-ink) !important; cursor: pointer; }
body.gvh-site .gvh-lys .gv-form-field:has(.gv-service-toggle) [id^="gv-price-"] { margin-top: 12px; }
body.gvh-site .gvh-lys .gv-checkbox-inline { font-size: 14px !important; font-weight: 400 !important; color: var(--gvh-ink) !important; }

/* Tick-box tags */
body.gvh-site .gvh-lys .gv-tags { display: flex; flex-wrap: wrap; gap: 8px; }
body.gvh-site .gvh-lys .gv-listing-pill { margin: 0 !important; padding: 9px 13px !important; border: 1px solid var(--gvh-line) !important; background: #fff !important; font-size: 13px !important; font-weight: 500 !important; color: var(--gvh-navy) !important; cursor: pointer; transition: border-color .2s, background-color .2s, color .2s; }
body.gvh-site .gvh-lys .gv-listing-pill:hover { border-color: #c9cdd3 !important; }
body.gvh-site .gvh-lys .gv-listing-pill:has(input:checked) { border-color: var(--gvh-blue) !important; background: #f2f5ff !important; color: var(--gvh-blue) !important; }

/* Photos */
body.gvh-site .gvh-lys .gv-photo-upload-box { border: 1px dashed #aab1b9 !important; background: var(--gvh-paper) !important; }
body.gvh-site .gvh-lys .gv-photo-upload-box:hover { border-color: var(--gvh-blue) !important; background: var(--gvh-blue-soft) !important; }
body.gvh-site .gvh-lys .gv-photo-upload-box.gv-photo-filled { border-style: solid !important; border-color: var(--gvh-green) !important; background: var(--gvh-green-soft) !important; }

/* Send button row */
body.gvh-site .gvh-lys-submit { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--gvh-line); }
body.gvh-site .gvh-lys-submit #gv-new-listing-submit-btn { min-width: 220px; }

@media (max-width: 960px) {
	body.gvh-site.page-template-template-add-listing .gv-detail-page.gvh-lys { padding: 56px var(--gvh-gutter) 80px !important; }
	body.gvh-site .gvh-lys-intro { margin-bottom: 40px; }
	body.gvh-site .gvh-lys-layout { grid-template-columns: minmax(0, 1fr); gap: 22px; }
	body.gvh-site .gvh-lys-nav, body.admin-bar.gvh-site .gvh-lys-nav { position: static; display: flex; gap: 8px; overflow-x: auto; margin: 0 calc(var(--gvh-gutter) * -1); padding: 0 var(--gvh-gutter) 4px; border: 0; scrollbar-width: none; }
	body.gvh-site .gvh-lys-nav::-webkit-scrollbar { display: none; }
	body.gvh-site .gvh-lys-nav > span { display: none; }
	body.gvh-site .gvh-lys-nav button { flex: 0 0 auto; width: auto; padding: 10px 14px !important; border: 1px solid var(--gvh-line) !important; font-size: 13px !important; white-space: nowrap; }
	body.gvh-site .gvh-lys-nav button.is-active { border-color: var(--gvh-blue) !important; }
	body.gvh-site #gv-new-listing-form.gvh-lys-form { padding: 28px 20px !important; }
	body.gvh-site .gvh-lys-sec > .gv-form-section-heading { font-size: 26px !important; }
}
@media (max-width: 600px) {
	body.gvh-site #gv-new-listing-form.gvh-lys-form { margin: 0 calc(var(--gvh-gutter) * -1 + 6px) !important; }
	body.gvh-site .gvh-lys-submit #gv-new-listing-submit-btn { width: 100%; }
}

/* Wizard: "just browse" link under the questions */
body.gvh-site .gvh-wiz-skip { margin: 22px 0 0 !important; text-align: center; font-size: 14px !important; color: var(--gvh-muted-2) !important; }
body.gvh-site .gvh-wiz-skip a { margin-left: 4px; font-weight: 600; color: var(--gvh-blue) !important; border-bottom: 1px solid currentColor; text-decoration: none !important; }
body.gvh-site .gvh-wiz-skip a:hover { color: var(--gvh-navy) !important; }
body.gvh-site .gvh-wiz-skip[hidden] { display: none !important; }
