/**
 * Elementor Theme Builder header — visual parity with files/html/styles.css
 * (.site-header / .nav-links / .nav-cta). Scoped to header location only.
 *
 * Markup note: Elementor outputs
 *   nav.elementor-nav-menu--main > ul.elementor-nav-menu > li > a.elementor-item
 * not nav > li (see elementor-pro/modules/nav-menu/widgets/nav-menu.php).
 *
 * Last updated: 2026-04-08
 */

/* --------------------------------------------------------------------------
   Bar: white, compact padding, same shadow as reference (sticky + not)
-------------------------------------------------------------------------- */
header.elementor.elementor-location-header,
header.elementor.elementor-location-header.elementor-sticky--active,
header.elementor.elementor-location-header.elementor-sticky--effects {
	background-color: var(--white) !important;
	box-shadow:
		0 1px 0 var(--border),
		0 4px 20px rgba(0, 0, 0, 0.06);
	transition: box-shadow var(--transition);
}

/* Main row — boxed inner: match reference gutter + ~54px bar feel */
header.elementor.elementor-location-header .elementor-element-8b617d9 .e-con-inner,
header.elementor.elementor-location-header.elementor-sticky--active .elementor-element-8b617d9 .e-con-inner {
	align-items: center;
	min-height: 54px;
	padding-top: 0.85rem;
	padding-bottom: 0.85rem;
	padding-left: var(--pad-x);
	padding-right: var(--pad-x);
}

/* --------------------------------------------------------------------------
   Site title (heading widget) — .logo from html/styles.css
-------------------------------------------------------------------------- */
header.elementor.elementor-location-header .elementor-widget-heading .elementor-heading-title {
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--navy);
	line-height: 1.2;
	margin: 0;
}

header.elementor.elementor-location-header .elementor-widget-heading .elementor-heading-title a {
	color: inherit;
	text-decoration: none;
}

header.elementor.elementor-location-header .elementor-widget-heading .elementor-heading-title a:hover {
	color: var(--navy);
}

/* --------------------------------------------------------------------------
   Horizontal menu list — .nav-links flex + gap (was on wrong element before)
-------------------------------------------------------------------------- */
header.elementor.elementor-location-header
	.elementor-nav-menu--main.elementor-nav-menu--layout-horizontal
	> ul.elementor-nav-menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

header.elementor.elementor-location-header
	.elementor-nav-menu--main.elementor-nav-menu--layout-horizontal
	> ul.elementor-nav-menu
	> li {
	margin: 0;
	padding: 0;
	position: relative;
}

/* Drop Elementor horizontal padding so gap controls spacing (matches html ul gap) */
header.elementor.elementor-location-header
	.elementor-nav-menu--main.elementor-nav-menu--layout-horizontal
	> ul.elementor-nav-menu
	> li
	> a.elementor-item {
	padding: 0 !important;
}

/* --------------------------------------------------------------------------
   Nav links — .nav-links a typography
-------------------------------------------------------------------------- */
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item {
	font-family: var(--font-sans);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--text-mid) !important;
	fill: var(--text-mid) !important;
	line-height: 1.25;
	position: relative;
	transition: color var(--transition), background-color var(--transition);
}

header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item:hover,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item.elementor-item-active,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item.highlighted,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item:focus {
	color: var(--navy) !important;
	fill: var(--navy) !important;
}

/* Remove Elementor pointer pseudo-elements (underline/double-line/framed) */
header.elementor.elementor-location-header .elementor-nav-menu--main .elementor-item::before,
header.elementor.elementor-location-header .elementor-nav-menu--main .elementor-item::after {
	display: none !important;
	content: none !important;
	opacity: 0 !important;
}

/* Gold underline — any top-level link except Contact (href or .nloc-nav-cta) */
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item:not([href*="contact"]):not(.nloc-nav-cta)::after {
	content: "" !important;
	display: block !important;
	opacity: 1 !important;
	position: absolute;
	bottom: -4px;
	left: 0;
	width: 0;
	height: 2px;
	background: var(--gold);
	transition: width var(--transition);
	pointer-events: none;
}

header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item:not([href*="contact"]):not(.nloc-nav-cta):hover::after,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item:not([href*="contact"]):not(.nloc-nav-cta).elementor-item-active::after,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item:not([href*="contact"]):not(.nloc-nav-cta).highlighted::after {
	width: 100%;
}

/* --------------------------------------------------------------------------
   CTA — .nav-cta: last top-level item and/or Contact URL
-------------------------------------------------------------------------- */
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li:last-child
	> a.elementor-item,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item[href*="contact"],
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item.nloc-nav-cta {
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--white) !important;
	fill: var(--white) !important;
	background-color: var(--gold) !important;
	padding: 0.5rem 1.25rem !important;
	border-radius: 3px;
	transition: background-color var(--transition), color var(--transition);
}

header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li:last-child
	> a.elementor-item:hover,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li:last-child
	> a.elementor-item:focus,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item[href*="contact"]:hover,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item[href*="contact"]:focus,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item.nloc-nav-cta:hover,
header.elementor.elementor-location-header
	.elementor-nav-menu--main
	> ul.elementor-nav-menu
	> li
	> a.elementor-item.nloc-nav-cta:focus {
	background-color: var(--gold-light) !important;
	color: var(--white) !important;
	fill: var(--white) !important;
}
