/* =========================================================================
 *  GV Advisors — Global site footer + monogram.
 *  Loaded on EVERY page so the shared .gv-footer (rendered by
 *  template-parts/gv-site-footer.php) is styled consistently site-wide,
 *  including on pages that do not load gv-home.css (Brands, Single Brand,
 *  Contact, Partner, etc.). Self-contained: defines its own tokens, box-sizing
 *  and fonts so it never depends on the homepage stylesheet.
 * ========================================================================= */

:root {
	--gv-bg: #F8F5EE;
	--gv-surface: #FFFFFF;
	--gv-forest: #1A4D3A;
	--gv-forest-dark: #15402F;
	--gv-brass: #B8956B;
	--gv-charcoal: #1F2A28;
	--gv-stone: #8B8680;
	--gv-ease: cubic-bezier(.22, .61, .36, 1);
	--gv-serif: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	--gv-sans: "Inter", "Calibri", system-ui, -apple-system, sans-serif;
}

/* ---------- Monogram (used by footer + homepage preloader) ---------- */
.gv-monogram {
	display: inline-flex; align-items: center; justify-content: center;
	width: 96px; height: 96px; border-radius: 18px;
	background: var(--gv-forest); color: var(--gv-bg);
	font-family: var(--gv-serif); font-weight: 700; font-size: 46px; letter-spacing: 1px;
	box-shadow: 0 20px 50px rgba(26,77,58,.28);
}
.gv-monogram--sm { width: 60px; height: 60px; border-radius: 12px; font-size: 30px; box-shadow: none; }

/* ---------- Footer ---------- */
.gv-footer, .gv-footer * { box-sizing: border-box; }
.gv-footer {
	background: var(--gv-forest);
	color: var(--gv-bg);
	font-family: var(--gv-sans);
	font-size: 16px;
	line-height: 1.7;
	padding: clamp(56px, 7vw, 88px) 0 34px;
	-webkit-font-smoothing: antialiased;
}
.gv-footer .gv-container {
	width: 100%; max-width: 1280px; margin: 0 auto;
	padding: 0 clamp(22px, 5vw, 64px);
}
.gv-footer__top { display: grid; grid-template-columns: 1.2fr 2fr; gap: clamp(40px, 6vw, 90px); align-items: start; }
.gv-footer__strap { font-family: var(--gv-serif); font-style: italic; font-size: 22px; color: var(--gv-brass); margin: 22px 0 0; line-height: 1.35; }
.gv-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 4vw, 48px); }
.gv-footer__col { display: flex; flex-direction: column; }
.gv-footer__col h4 { font-family: var(--gv-sans); font-size: 12px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: rgba(248,245,238,.55); margin: 0 0 18px; }
.gv-footer__col a, .gv-footer__muted { font-size: 15px; color: rgba(248,245,238,.86); text-decoration: none; padding: 6px 0; width: -moz-fit-content; width: fit-content; position: relative; transition: color .3s var(--gv-ease); }
.gv-footer__col a::after { content: ""; position: absolute; left: 0; bottom: 4px; width: 0; height: 1px; background: var(--gv-brass); transition: width .35s var(--gv-ease); }
.gv-footer__col a:hover { color: #fff; }
.gv-footer__col a:hover::after { width: 100%; }
.gv-footer__muted { color: rgba(248,245,238,.5); }
.gv-footer__bar {
	display: flex; flex-wrap: wrap; gap: 10px; justify-content: space-between;
	margin-top: clamp(44px, 6vw, 72px); padding-top: 26px;
	border-top: 1px solid rgba(184,149,107,.28);
	font-size: 13px; color: rgba(248,245,238,.55);
}

@media (max-width: 1024px) { .gv-footer__top { grid-template-columns: 1fr; } }
@media (max-width: 760px)  { .gv-footer__cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 460px)  { .gv-footer__cols { grid-template-columns: 1fr; } }

/* =========================================================================
 *  Disable the Houzez visual footer GLOBALLY (only the GV footer shows).
 *  These are the common Houzez footer wrappers. If your version uses a
 *  different class/id, add it to this list — the GV footer (.gv-footer) is
 *  never matched here, so it is always safe.
 * ========================================================================= */
.footer-wrapper,
#footer,
footer.footer,
.footer-container,
.area-footer,
#footer-map { display: none !important; }


/* Hide Houzez default footer */
footer.footer-wrap,
.footer-wrap,
.footer-wrap-v1,
.footer-top-wrap,
.footer-bottom-wrap,
.footer-bottom-wrap-v1 {
    display: none !important;
}
