/**
 * Global Neve boxed header — all front-end pages (mu-plugin).
 */

:root {
	--gini-header-box-max: min(1340px, calc(100% - 40px));
	--gini-header-radius: 6px;
	--gini-header-shadow:
		0 0.125rem 0.375rem rgba(0, 0, 0, 0.03),
		0 0.5rem 1.2rem rgba(0, 0, 0, 0.08);
	--gini-header-shadow-stuck:
		0 0.25rem 0.5rem rgba(0, 0, 0, 0.04),
		0 1rem 1.75rem rgba(0, 0, 0, 0.1);
	--gini-header-cta-bg: #d9e9f1;
	--gini-header-cta-color: #00283c;
}

/* Transparent outer shells */
body .header,
body #header-grid.hfg_header.site-header,
body #header-grid .header--row.header-main,
body #header-grid .header-main.layout-contained {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body #header-grid.hfg_header {
	position: relative;
	z-index: 1000;
}

/* Hero pages: header floats over hero (site-wide) */
body:has(.gt-tc-hero--svc) #header-grid.hfg_header.site-header,
body:has(.gt-dgc-hero) #header-grid.hfg_header.site-header {
	position: absolute !important;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: transparent !important;
}

body:has(.gt-tc-hero--svc) #content.neve-main,
body:has(.gt-tc-hero--svc) .neve-main > .container,
body:has(.gt-tc-hero--svc) .nv-content-wrap,
body:has(.gt-tc-hero--svc) .entry-content,
body:has(.gt-dgc-hero) #content.neve-main,
body:has(.gt-dgc-hero) .neve-main > .container,
body:has(.gt-dgc-hero) .nv-content-wrap,
body:has(.gt-dgc-hero) .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

body:has(.gt-tc-hero--svc) .nv-single-page-wrap .container,
body:has(.gt-tc-hero--svc) main .container.container-fluid.single-page-container,
body:has(.gt-dgc-hero) .nv-single-page-wrap .container,
body:has(.gt-dgc-hero) main .container.container-fluid.single-page-container {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body #header-grid .header-main {
	--height: 58px;
	min-height: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

/* White contained bar — single source of truth for all pages */
body #header-grid .header-main .header-main-inner {
	width: var(--gini-header-box-max) !important;
	max-width: var(--gini-header-box-max) !important;
	margin: 20px auto 0 !important;
	padding: 4px 36px !important;
	background: #fff !important;
	border-radius: var(--gini-header-radius) !important;
	box-shadow: var(--gini-header-shadow) !important;
	min-height: 0 !important;
}

body #header-grid .header-main .header-main-inner .container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: auto;
	margin-right: auto;
}

body #header-grid .builder-item--logo .item--inner {
	position: relative;
	padding-right: 22px !important;
	margin-right: 6px !important;
}

body #header-grid .builder-item--logo .item--inner::after {
	content: '';
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 34px;
	background: #dee2e6;
}

body #header-grid .builder-item--logo .site-logo img {
	max-height: 42px;
	width: auto;
}

body #header-grid .builder-item--primary-menu .nav-ul li a {
	font-weight: 600 !important;
	text-transform: none !important;
	font-size: 0.95rem !important;
}

body #header-grid .builder-item--button_base .button.button-primary,
body #header-grid .builder-item--button_base .button.gini-header-cta {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 10px 18px !important;
	background: var(--gini-header-cta-bg) !important;
	color: var(--gini-header-cta-color) !important;
	border: none !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body #header-grid .builder-item--button_base .button.button-primary:hover,
body #header-grid .builder-item--button_base .button.gini-header-cta:hover {
	background: #c8dde8 !important;
	color: var(--gini-header-cta-color) !important;
}

body #header-grid .builder-item--button_base .gini-header-cta__icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
	flex-shrink: 0;
}

body #header-grid .builder-item--button_base .gini-header-cta__icon svg {
	display: block;
	width: 18px;
	height: 18px;
}

body #header-grid .header-main.headroom--pinned .header-main-inner,
body #header-grid .header-main.is-stuck .header-main-inner,
body #header-grid .header-main.stuck .header-main-inner,
body #header-grid.hfg-is-stuck .header-main .header-main-inner {
	box-shadow: var(--gini-header-shadow-stuck) !important;
	border-radius: var(--gini-header-radius) !important;
}

@media (max-width: 960px) {
	body #header-grid .header-main .header-main-inner {
		width: calc(100% - 40px) !important;
		max-width: calc(100% - 40px) !important;
		margin-top: 12px !important;
		padding: 4px 16px !important;
	}

	body #header-grid .builder-item--logo .item--inner::after {
		height: 28px;
	}
}
