/* Header restyle to match hero-section design mockup */
.elementor-2840 {
	--gup-red: #CA3A3A;
	--gup-navy: #3E516F;
	font-family: "Saira", "Saira Condensed", sans-serif;
}

/* ===== Top red bar ===== */
.elementor-2840 .elementor-element-36aff98 {
	background-color: var(--gup-red) !important;
	--flex-direction: row !important;
	--flex-wrap-mobile: nowrap !important;
}
.elementor-2840 .elementor-element-36aff98 > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
	min-height: 38px;
	padding-top: 4px !important;
	padding-bottom: 4px !important;
	width: min(1200px, calc(100% - 32px));
	margin-inline: auto;
}
/* Contact left, social right */
.elementor-2840 .elementor-element-410832a {
	order: 1;
	flex: 1 1 auto;
	justify-content: flex-start !important;
}
.elementor-2840 .elementor-element-43cb16d {
	order: 2;
	flex: 0 0 auto;
	margin-left: auto;
	justify-content: flex-end !important;
}
.elementor-2840 .elementor-element-d73d737 {
	--align-items: flex-start;
}
.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-items {
	justify-content: flex-start !important;
	gap: 22px;
	margin: 0;
}
.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-text,
.elementor-2840 .elementor-element-d73d737 a {
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 500 !important;
}
.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-item a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
/* Envelope + phone icons before contact links */
.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-item:first-child a::before {
	content: "";
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 7 9-7'/%3E%3C/svg%3E");
}
.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-item:last-child a::before {
	content: "";
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Cpath d='M22 16.9v2a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h2a2 2 0 0 1 2 1.7c.1.9.3 1.8.6 2.6a2 2 0 0 1-.5 2.1L7.1 9.9a16 16 0 0 0 6 6l1.5-1.1a2 2 0 0 1 2.1-.4c.8.3 1.7.5 2.6.6a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E");
}
.elementor-2840 .elementor-social-icons-wrapper {
	gap: 8px;
}
.elementor-2840 .elementor-social-icon {
	background: rgba(255, 255, 255, 0.18) !important;
	border-radius: 50% !important;
	width: 28px !important;
	height: 28px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
.elementor-2840 .elementor-social-icon svg {
	fill: #fff !important;
	width: 14px;
	height: 14px;
}

/* ===== Main white nav ===== */
.elementor-2840 .elementor-element-599deea2 {
	background: #fff !important;
	box-shadow: 0 1px 0 rgba(62, 81, 111, 0.08);
	--flex-wrap-mobile: nowrap !important;
}
.elementor-2840 .elementor-element-599deea2 > .e-con-inner {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
	min-height: 76px;
	width: min(1200px, calc(100% - 32px));
	margin-inline: auto;
	padding-top: 8px !important;
	padding-bottom: 8px !important;
}
.elementor-2840 .elementor-element-133ca9f3 {
	flex: 0 0 auto;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
}
.elementor-2840 .elementor-element-133ca9f3 img,
.elementor-2840 .wp-image-2760 {
	max-height: 52px !important;
	width: auto !important;
	height: auto !important;
}
.elementor-2840 .elementor-element-235c6a7f {
	flex: 1 1 auto;
	display: flex !important;
	justify-content: center !important;
}
.elementor-2840 .elementor-element-5ff8c3e9,
.elementor-2840 .elementor-element-471a0c5 {
	flex: 0 0 auto;
	display: flex !important;
	align-items: center !important;
}
/* Divider between menu and phone (mockup) */
.elementor-2840 .elementor-element-5ff8c3e9 {
	padding-left: 18px;
	margin-left: 4px;
	border-left: 1px solid rgba(62, 81, 111, 0.18);
}
.elementor-2840 .elementor-element-471a0c5 {
	margin-left: 4px;
}

/* ===== Desktop menu ===== */
@media (min-width: 1025px) {
	.elementor-2840 .elementor-element-aec1299 .elementskit-menu-container {
		height: auto !important;
		max-width: none !important;
		background: transparent !important;
		position: relative !important;
		left: auto !important;
		width: auto !important;
		box-shadow: none !important;
	}
	.elementor-2840 #menu-main-menu.elementskit-navbar-nav {
		display: flex !important;
		flex-direction: row !important;
		align-items: center;
		justify-content: center;
		gap: 8px 28px;
		margin: 0;
		padding: 0;
	}
	.elementor-2840 #menu-main-menu > .menu-item > .ekit-menu-nav-link {
		color: var(--gup-navy) !important;
		font-size: 15px !important;
		font-weight: 600 !important;
		letter-spacing: 0.01em;
		padding: 8px 2px 10px !important;
		border-bottom: 2px solid transparent;
		transition: color 0.2s ease, border-color 0.2s ease;
		text-decoration: none !important;
		background: transparent !important;
	}
	.elementor-2840 #menu-main-menu > .menu-item > .ekit-menu-nav-link:hover,
	.elementor-2840 #menu-main-menu > .menu-item > .ekit-menu-nav-link.active,
	.elementor-2840 #menu-main-menu > .current-menu-item > .ekit-menu-nav-link,
	.elementor-2840 #menu-main-menu > .current_page_item > .ekit-menu-nav-link {
		color: var(--gup-red) !important;
		border-bottom-color: var(--gup-red);
		background: transparent !important;
	}
	.elementor-2840 #menu-main-menu .elementskit-submenu-indicator {
		color: inherit !important;
		font-size: 10px !important;
		margin-left: 4px;
	}
	.elementor-2840 #menu-main-menu .elementskit-dropdown {
		border-radius: 10px !important;
		box-shadow: 0 12px 32px rgba(62, 81, 111, 0.14) !important;
		border: 1px solid rgba(62, 81, 111, 0.08) !important;
		padding: 8px 0 !important;
		overflow: hidden;
	}
	.elementor-2840 #menu-main-menu .elementskit-dropdown > li > a {
		color: var(--gup-navy) !important;
		font-size: 14px !important;
		font-weight: 500 !important;
		padding: 9px 18px !important;
		background: transparent !important;
	}
	.elementor-2840 #menu-main-menu .elementskit-dropdown > li > a:hover {
		color: var(--gup-red) !important;
		background: rgba(202, 58, 58, 0.06) !important;
	}
	.elementor-2840 .elementskit-menu-hamburger,
	.elementor-2840 .elementskit-menu-close,
	.elementor-2840 .elementskit-nav-identity-panel {
		display: none !important;
	}
}

/* ===== Mobile offcanvas menu ===== */
@media (max-width: 1024px) {
	.elementor-2840 .elementor-element-aec1299 {
		position: static;
		z-index: 10050;
	}
	.elementor-2840 .elementor-element-aec1299 .elementskit-menu-hamburger {
		display: block !important;
		float: none !important;
		background: #585454 !important;
		border: 0 !important;
		border-radius: 6px !important;
		width: 40px !important;
		height: 36px !important;
		padding: 8px !important;
		cursor: pointer;
		position: relative;
		z-index: 10051;
	}
	.elementor-2840 .elementor-element-aec1299 .elementskit-menu-hamburger .icon-menu-bar {
		display: block;
		height: 2px;
		margin: 4px 0;
		background: #fff;
	}
	/* Panel: full-height drawer with solid bg */
	.elementor-2840 .elementor-element-aec1299 .elementskit-menu-container.elementskit-menu-offcanvas-elements {
		position: fixed !important;
		top: 0 !important;
		left: -100vw !important;
		width: min(320px, 86vw) !important;
		max-width: none !important;
		height: 100vh !important;
		height: 100dvh !important;
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		box-shadow: 8px 0 32px rgba(15, 23, 42, 0.18) !important;
		overflow: hidden !important;
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		z-index: 1000001 !important;
		transition: left 0.35s ease !important;
		border-radius: 0 !important;
	}
	.elementor-2840 .elementor-element-aec1299 .elementskit-menu-container.elementskit-menu-offcanvas-elements.active {
		left: 0 !important;
	}
	.elementor-2840 .elementor-element-aec1299 .elementskit-nav-identity-panel {
		display: flex !important;
		align-items: center;
		justify-content: flex-end;
		order: -1;
		width: 100% !important;
		padding: 14px 14px 8px !important;
		position: relative !important;
		z-index: 2;
		background: #fff !important;
		flex: 0 0 auto !important;
	}
	.elementor-2840 .elementor-element-aec1299 button.elementskit-menu-close {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		float: none !important;
		width: 36px !important;
		height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 6px !important;
		background: var(--gup-navy) !important;
		color: #fff !important;
		font-size: 18px !important;
		cursor: pointer;
	}
	.elementor-2840 #menu-main-menu.elementskit-navbar-nav {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		flex: 1 1 auto !important;
		align-items: stretch !important;
		align-content: flex-start !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 8px 0 24px !important;
		list-style: none !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
	}
	.elementor-2840 #menu-main-menu > .menu-item {
		display: block !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		border-bottom: 1px solid rgba(62, 81, 111, 0.08);
		position: relative !important;
		overflow: visible !important;
		float: none !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		height: auto !important;
	}
	.elementor-2840 #menu-main-menu > .menu-item.elementskit-dropdown-has {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		height: auto !important;
	}
	.elementor-2840 #menu-main-menu > .menu-item > .ekit-menu-nav-link {
		display: flex !important;
		flex: 0 0 auto !important;
		align-items: center;
		justify-content: space-between;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		padding: 14px 18px !important;
		color: var(--gup-navy) !important;
		font-size: 16px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		border-bottom: 0 !important;
		background: transparent !important;
		text-decoration: none !important;
		position: relative !important;
	}
	.elementor-2840 #menu-main-menu > .menu-item > .ekit-menu-nav-link:hover,
	.elementor-2840 #menu-main-menu > .menu-item > .ekit-menu-nav-link.active,
	.elementor-2840 #menu-main-menu > .current-menu-item > .ekit-menu-nav-link,
	.elementor-2840 #menu-main-menu > .current_page_item > .ekit-menu-nav-link {
		color: var(--gup-red) !important;
		background: rgba(202, 58, 58, 0.06) !important;
		border-bottom-color: transparent !important;
	}
	/* Submenus: accordion in document flow (no absolute overlay) */
	.elementor-2840 #menu-main-menu .elementskit-dropdown,
	.elementor-2840 #menu-main-menu .elementskit-dropdown-has > .elementskit-dropdown,
	.elementor-2840 .ekit-nav-dropdown-hover #menu-main-menu .elementskit-dropdown-has .elementskit-dropdown,
	.elementor-2840 .elementskit-menu-container #menu-main-menu .elementskit-dropdown {
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		float: none !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		background: #f3f5f8 !important;
		transform: none !important;
		-webkit-transform: none !important;
		z-index: auto !important;
		/* closed */
		display: none !important;
		max-height: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		overflow: visible !important;
		transition: none !important;
	}
	.elementor-2840 #menu-main-menu .elementskit-dropdown.elementskit-dropdown-open,
	.elementor-2840 #menu-main-menu .elementskit-dropdown-has.open > .elementskit-dropdown,
	.elementor-2840 #menu-main-menu .elementskit-dropdown-has > .elementskit-dropdown.elementskit-dropdown-open,
	.elementor-2840 .ekit-nav-dropdown-hover #menu-main-menu .elementskit-dropdown-has .elementskit-dropdown.elementskit-dropdown-open,
	.elementor-2840 .elementskit-menu-container #menu-main-menu .elementskit-dropdown.elementskit-dropdown-open {
		display: block !important;
		height: auto !important;
		max-height: none !important;
		padding: 4px 0 10px !important;
		overflow: visible !important;
	}
	.elementor-2840 #menu-main-menu .elementskit-dropdown > li {
		width: 100% !important;
		margin: 0 !important;
		list-style: none !important;
	}
	.elementor-2840 #menu-main-menu .elementskit-dropdown > li > a {
		display: block !important;
		padding: 11px 18px 11px 28px !important;
		color: var(--gup-navy) !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		line-height: 1.35 !important;
		background: transparent !important;
		white-space: normal !important;
		opacity: 1 !important;
	}
	.elementor-2840 #menu-main-menu .elementskit-dropdown > li > a:hover {
		color: var(--gup-red) !important;
		background: rgba(202, 58, 58, 0.06) !important;
	}
	.elementor-2840 #menu-main-menu .elementskit-submenu-indicator {
		float: none !important;
		margin-left: 8px !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 28px;
		height: 28px;
		border-radius: 50%;
		background: rgba(62, 81, 111, 0.08);
		flex-shrink: 0;
	}
	/* Dim page behind open menu */
	.elementor-2840 .elementskit-menu-overlay {
		display: block !important;
		position: fixed !important;
		inset: 0 !important;
		left: -100% !important;
		z-index: 1000000 !important;
		background: rgba(15, 23, 42, 0.5) !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition: opacity 0.3s ease, visibility 0.3s ease, left 0s 0.3s;
	}
	.elementor-2840 .elementskit-menu-overlay.active {
		left: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transition: opacity 0.3s ease, visibility 0.3s ease;
	}
	/* Hide floating chat widgets while drawer is open */
	body:has(.elementskit-menu-container.active) #wa-fab,
	body:has(.elementskit-menu-container.active) #tawkchat-container,
	body:has(.elementskit-menu-container.active) #tawkchat-minified-container,
	body:has(.elementskit-menu-container.active) #tawkchat-minified-wrapper,
	body:has(.elementskit-menu-container.active) #chat-bubble,
	body:has(.elementskit-menu-container.active) #min-widget,
	body:has(.elementskit-menu-container.active) #chat-bubble iframe,
	body:has(.elementskit-menu-container.active) #min-widget iframe,
	body:has(.elementskit-menu-container.active) .widget-visible,
	body:has(.elementskit-menu-container.active) iframe[title*="chat" i],
	body:has(.elementskit-menu-container.active) div:has(> #chat-bubble),
	body:has(.elementskit-menu-container.active) div:has(> #min-widget) {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
	/* Keep header/drawer above page content when open */
	body:has(.elementskit-menu-container.active) .elementor-2840,
	body:has(.elementskit-menu-container.active) .elementor-location-header {
		position: relative;
		z-index: 1000000 !important;
	}
}

/* Nav phone */
.elementor-2840 .elementor-element-468bd59a .elementor-icon-list-items {
	margin: 0;
}
.elementor-2840 .elementor-element-468bd59a .elementor-icon-list-item a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.elementor-2840 .elementor-element-468bd59a .elementor-icon-list-text,
.elementor-2840 .elementor-element-468bd59a a {
	color: var(--gup-navy) !important;
	font-weight: 600 !important;
	font-size: 14px !important;
}
.elementor-2840 .elementor-element-468bd59a .elementor-icon-list-icon i {
	color: var(--gup-navy) !important;
	font-size: 15px !important;
}

/* CTA: pill red + envelope (kill neon chrome) */
.elementor-2840 #uc_neon_glowing_button_effect_elementor_c06f6df .ue_neon_btn:after {
	display: none !important;
	content: none !important;
	animation: none !important;
	background: none !important;
	filter: none !important;
}
.elementor-2840 #uc_neon_glowing_button_effect_elementor_c06f6df .ue_neon_btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	background: var(--gup-red) !important;
	color: #fff !important;
	border-radius: 999px !important;
	padding: 12px 20px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: 0 6px 16px rgba(202, 58, 58, 0.28) !important;
	overflow: visible !important;
	white-space: nowrap;
	border: none !important;
}
.elementor-2840 #uc_neon_glowing_button_effect_elementor_c06f6df .ue_neon_btn:before {
	content: "" !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	flex-shrink: 0;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='M3 7l9 7 9-7'/%3E%3C/svg%3E") !important;
	position: static !important;
	translate: none !important;
	transform: none !important;
	left: auto !important;
	top: auto !important;
	z-index: auto !important;
	filter: none !important;
	padding: 0 !important;
	border-radius: 0 !important;
	animation: none !important;
	box-sizing: content-box !important;
}
.elementor-2840 #uc_neon_glowing_button_effect_elementor_c06f6df .ue_neon_btn:hover {
	background: #b43232 !important;
	color: #fff !important;
}
.elementor-2840 #uc_neon_glowing_button_effect_elementor_c06f6df .ue_neon_btn:hover:after {
	display: none !important;
	background: none !important;
	animation: none !important;
	filter: none !important;
}

@media (max-width: 1024px) {
	.elementor-2840 .elementor-element-599deea2 > .e-con-inner {
		min-height: 64px;
		flex-wrap: nowrap !important;
		gap: 10px;
	}
	.elementor-2840 .elementor-element-36aff98 > .e-con-inner {
		flex-wrap: nowrap !important;
		justify-content: space-between !important;
		gap: 10px;
		min-height: 34px;
		width: calc(100% - 20px);
		padding-top: 4px !important;
		padding-bottom: 4px !important;
	}
	.elementor-2840 .elementor-element-410832a,
	.elementor-2840 .elementor-element-43cb16d {
		margin-left: 0;
		width: auto !important;
		flex: 0 1 auto;
	}
	.elementor-2840 .elementor-element-410832a {
		order: 1 !important;
		flex: 1 1 auto;
		min-width: 0;
		justify-content: flex-start !important;
	}
	.elementor-2840 .elementor-element-43cb16d {
		order: 2 !important;
		flex: 0 0 auto;
		display: flex;
		justify-content: flex-end;
		margin-left: auto;
	}
	.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-items {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		flex-direction: row !important;
		gap: 12px !important;
	}
	.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-item {
		margin: 0 !important;
	}
	.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-text,
	.elementor-2840 .elementor-element-d73d737 a {
		font-size: 11px !important;
		white-space: nowrap;
	}
	.elementor-2840 .elementor-element-5ff8c3e9 {
		border-left: 0;
		padding-left: 0;
		margin-left: 0;
	}
}

/* Compact phone header */
@media (max-width: 767px) {
	/* Top red bar: one tight row — phone + social only */
	.elementor-2840 .elementor-element-36aff98 > .e-con-inner {
		min-height: 32px;
		gap: 8px;
		width: calc(100% - 16px);
	}
	.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-item:first-child {
		display: none !important; /* hide email — keep phone only */
	}
	.elementor-2840 .elementor-element-d73d737 .elementor-icon-list-items {
		gap: 0 !important;
	}
	.elementor-2840 .elementor-social-icon {
		width: 24px !important;
		height: 24px !important;
	}
	.elementor-2840 .elementor-social-icon svg {
		width: 12px;
		height: 12px;
	}

	/* Main nav: logo + hamburger only */
	.elementor-2840 .elementor-element-599deea2 > .e-con-inner {
		min-height: 56px;
		padding-top: 6px !important;
		padding-bottom: 6px !important;
		width: calc(100% - 16px);
		flex-wrap: nowrap !important;
	}
	.elementor-2840 .elementor-element-133ca9f3 img,
	.elementor-2840 .wp-image-2760 {
		max-height: 40px !important;
	}
	/* Hide duplicate phone + CTA — available in hamburger / hero */
	.elementor-2840 .elementor-element-5ff8c3e9,
	.elementor-2840 .elementor-element-471a0c5 {
		display: none !important;
	}
	.elementor-2840 .elementor-element-235c6a7f {
		flex: 0 0 auto;
		justify-content: flex-end !important;
		margin-left: auto;
	}
}


/* Footer legal links */
.gup-legal-links a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.gup-legal-links a:hover { opacity: .8; }
