/**
 * Global header + footer (Divi Theme Builder layouts).
 */

/* --- Header --------------------------------------------------------------- */
.vrg-header {
	background: var(--vrg-color-surface);
	border-bottom: 1px solid color-mix(in srgb, var(--vrg-color-primary-light) 30%, transparent);
	padding-block: 0;
}

.vrg-header > .et_pb_row {
	padding-block: 0.75rem;
	max-width: 1280px;
	width: 94%;
}

.vrg-header .et_pb_menu__logo img {
	width: clamp(170px, 20vw, 240px);
	height: auto;
}

.vrg-header .et_pb_menu__menu > nav > ul > li > a {
	font-family: var(--vrg-font-eyebrow);
	text-transform: uppercase;
	letter-spacing: var(--vrg-tracking-eyebrow);
	font-size: 0.875rem;
	color: var(--vrg-color-primary);
	padding-bottom: 0.35rem;
	position: relative;
}

/* Champagne-style underline on hover — the accent is decorative here, never the text. */
.vrg-header .et_pb_menu__menu > nav > ul > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: 0;
	height: 2px;
	background: var(--vrg-color-primary-light);
	transition: right 0.25s ease;
}

.vrg-header .et_pb_menu__menu > nav > ul > li > a:hover::after,
.vrg-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a::after {
	right: 0;
}

.vrg-header .et_pb_menu__menu > nav > ul > li.current-menu-item > a {
	color: var(--vrg-color-violet-text);
}

/* --- Footer --------------------------------------------------------------- */
.vrg-footer {
	background: var(--vrg-color-primary);
	color: color-mix(in srgb, var(--vrg-color-surface) 88%, transparent);
	padding-block: clamp(3rem, 7vw, 5rem) 0;
}

.vrg-footer a {
	color: color-mix(in srgb, var(--vrg-color-surface) 85%, transparent);
	text-decoration: none;
}

.vrg-footer a:hover {
	color: var(--vrg-color-accent);
	text-decoration: underline;
}

.vrg-footer__logo {
	width: clamp(180px, 18vw, 240px);
	height: auto;
	margin-bottom: 1rem;
}

.vrg-footer__heading {
	font-family: var(--vrg-font-eyebrow);
	text-transform: uppercase;
	letter-spacing: var(--vrg-tracking-eyebrow);
	font-size: 0.8125rem;
	color: var(--vrg-color-accent);
	margin-bottom: 0.75rem;
}

.vrg-footer__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.vrg-footer__nav li {
	margin-bottom: 0.4rem;
}

.vrg-footer__brand p,
.vrg-footer__contact p {
	font-size: 0.9375rem;
	line-height: 1.6;
}

/* --- Compliance bar ------------------------------------------------------- */
.vrg-footer__legal-row {
	border-top: 1px solid color-mix(in srgb, var(--vrg-color-surface) 22%, transparent);
	margin-top: 2.5rem;
	padding-top: 2rem;
}

.vrg-footer__legal {
	font-size: 0.8125rem;
	line-height: 1.65;
}

.vrg-footer__legal p {
	max-width: none;
	margin-bottom: 0.65rem;
	color: color-mix(in srgb, var(--vrg-color-surface) 78%, transparent);
}

.vrg-footer__brokerage {
	font-family: var(--vrg-font-eyebrow);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--vrg-color-surface) !important;
}

/* Required marks. Replace the text placeholders with the official artwork before launch —
   the EHO house and REALTOR® block R are trademarked and must not be redrawn. */
.vrg-footer__marks span {
	display: inline-block;
	border: 1px solid color-mix(in srgb, var(--vrg-color-surface) 45%, transparent);
	padding: 0.25em 0.6em;
	margin-right: 0.5rem;
	font-family: var(--vrg-font-eyebrow);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.75rem;
}

.vrg-footer__copy {
	padding-bottom: 2rem;
}

@media (max-width: 980px) {
	.vrg-footer > .et_pb_row > .et_pb_column {
		margin-bottom: 2rem;
	}
}

/* --- Header: inline SVG logo + menu --------------------------------------- */
.vrg-header > .et_pb_row {
	display: flex !important;
	align-items: center;
	gap: 1.5rem;
}

.vrg-header__brand {
	margin-bottom: 0 !important;
}

.vrg-header__logo {
	display: block;
	line-height: 0;
}

.vrg-header__logo svg {
	width: clamp(160px, 20vw, 230px);
	height: auto;
	display: block;
}

.vrg-header .et_pb_menu_inner_container {
	justify-content: flex-end;
}

.vrg-header__menu {
	margin-bottom: 0 !important;
}

@media (max-width: 980px) {
	.vrg-header > .et_pb_row {
		display: flex !important;
		flex-wrap: nowrap;
		justify-content: space-between;
	}

	.vrg-header > .et_pb_row > .et_pb_column {
		width: auto !important;
		margin-bottom: 0 !important;
	}

	.vrg-header__logo svg {
		width: 150px;
	}
}

/* Skip link becomes visible on focus. */
.vrg-skip-link:focus {
	position: fixed !important;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	background: var(--vrg-color-primary);
	color: var(--vrg-color-surface);
	padding: 0.75rem 1.25rem;
	border-radius: var(--vrg-radius);
	font-family: var(--vrg-font-eyebrow);
	text-transform: uppercase;
	letter-spacing: var(--vrg-tracking-eyebrow);
}

/* Primary nav tap targets: Divi renders these ~20px tall, under the WCAG 2.5.8
   24px minimum. Padding keeps the slim look while making the target legal. */
.vrg-header .et_pb_menu__menu > nav > ul > li > a {
	display: inline-block;
	min-height: 28px;
	line-height: 22px;
	padding-block: 0.3rem;
}

/* Divi's menu module paints its own white container, which shows as a pale box
   against the cream header. */
.vrg-header .et_pb_menu,
.vrg-header .et_pb_menu_inner_container,
.vrg-header .et_pb_menu__wrap {
	background: transparent !important;
}

/* MLS disclaimers: required, but they should not dominate the footer. */
.vrg-footer__mls p {
	font-size: 0.75rem;
	line-height: 1.55;
	color: color-mix(in srgb, var(--vrg-color-surface) 62%, transparent);
	margin-bottom: 0.6rem;
}

.vrg-footer__mlslogo {
	font-style: italic;
}

/* --- Footer link colour, specificity fix ---------------------------------
   base.css kills Divi blue with `body #page-container .et_pb_section a{…}`.
   That ID selector out-specifies the footer's own colour rule, which made every
   footer link plum-on-plum — present in the HTML but invisible. Match the ID
   specificity here so dark sections win. */
body #page-container .vrg-footer a,
body #page-container .et-l--footer a,
body #page-container .vrg-section--dark a:not(.et_pb_button) {
	color: color-mix(in srgb, var(--vrg-color-surface) 88%, transparent);
}

body #page-container .vrg-footer a:hover,
body #page-container .et-l--footer a:hover,
body #page-container .vrg-section--dark a:not(.et_pb_button):hover {
	color: var(--vrg-color-accent);
}

/* Compliance links are small print; keep them legible against plum. */
body #page-container .vrg-footer__notices a {
	text-decoration: underline;
}
