/**
 * Apex Dental RCM — site-wide header first-load / layout fix
 * Solid bar from paint, header-safe logo, non-overlapping desktop nav.
 */

/*
 * Elementor export bug: many icon-box titles use line-height:1px or 5px,
 * so multi-line titles overlap into an unreadable stack.
 */
.elementor-icon-box-title,
.elementor-icon-box-title a,
.elementor-icon-box-title span {
	line-height: 1.3 !important;
}

/* Solid header background at scroll=0 (overrides SHE transparent state) */
.elementor-1679 .elementor-element.elementor-element-c966186.she-header-yes,
.elementor-1679 .elementor-element.elementor-element-c966186.header,
.elementor-1679 .elementor-element.elementor-element-c966186.she-header,
.elementor-1679 .elementor-element.elementor-element-c966186.she-header-transparent-yes,
.she-header-yes.she-header-transparent-yes.elementor-element-c966186 {
	background-color: #ffffff !important;
	background-image: none !important;
	z-index: 9999;
}

/* Keep transparent mode from floating over the hero with a washed-out bar */
.elementor-1679 .elementor-element.elementor-element-c966186.she-header-transparent-yes {
	position: relative !important;
}

/* Desktop: logo | nav | CTA on one clean row */
@media (min-width: 1025px) {
	.elementor-1679 .elementor-element.elementor-element-e3e1a45 > .elementor-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	/* Logo column — narrower so nav has room */
	.elementor-1679 .elementor-element.elementor-element-941a4d1 {
		width: 20% !important;
		max-width: 220px !important;
		flex: 0 0 auto !important;
	}

	/* Nav column — grows to use remaining space */
	.elementor-1679 .elementor-element.elementor-element-9b815cd {
		width: auto !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}

	/* Contact Us column — shrink to content */
	.elementor-1679 .elementor-element.elementor-element-7499929 {
		width: auto !important;
		flex: 0 0 auto !important;
		max-width: 200px !important;
	}

	.elementor-1679 .elementor-element.elementor-element-941a4d1 > .elementor-widget-wrap,
	.elementor-1679 .elementor-element.elementor-element-9b815cd > .elementor-widget-wrap,
	.elementor-1679 .elementor-element.elementor-element-7499929 > .elementor-widget-wrap {
		display: flex !important;
		align-items: center !important;
		justify-content: center;
		min-height: 66px;
	}

	.elementor-1679 .elementor-element.elementor-element-941a4d1 > .elementor-widget-wrap {
		justify-content: flex-start;
	}

	.elementor-1679 .elementor-element.elementor-element-7499929 > .elementor-widget-wrap {
		justify-content: flex-end;
	}

	.elementor-1679 .elementor-element.elementor-element-235ff53 .elementskit-menu-container {
		height: 66px !important;
		min-height: 66px !important;
		max-height: 66px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center;
		overflow: visible !important;
	}

	.elementor-1679 .elementor-element.elementor-element-235ff53 .elementskit-navbar-nav {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center;
		width: 100%;
		height: 66px;
		margin: 0;
		padding: 0;
	}

	.elementor-1679 .elementor-element.elementor-element-235ff53 .elementskit-navbar-nav > li {
		display: flex !important;
		align-items: center !important;
		height: 66px;
	}

	.elementor-1679 .elementor-element.elementor-element-235ff53 .elementskit-navbar-nav > li > a {
		padding: 0 8px !important;
		white-space: nowrap;
		font-size: 13px;
		letter-spacing: 0;
		display: inline-flex !important;
		align-items: center !important;
		height: 66px;
		line-height: 1.2 !important;
	}

	/*
	 * Megamenu panels default to width:100% of the nav <li> (~100px) until
	 * ElementsKit JS applies data-vertical-menu. That produces the tall thin
	 * white strip with stacked ADR cards. Lock width in CSS from first paint.
	 */
	.elementor-1679 .elementskit-navbar-nav > li.elementskit-megamenu-has > .elementskit-megamenu-panel,
	.elementor-widget-ekit-nav-menu .elementskit-navbar-nav > li.elementskit-megamenu-has > .elementskit-megamenu-panel {
		width: 750px !important;
		min-width: 750px !important;
		max-width: min(750px, calc(100vw - 32px)) !important;
		box-sizing: border-box !important;
		z-index: 10000 !important;
	}

	/* Keep absolute panels out of the header flex height calculation */
	.elementor-1679 .elementskit-navbar-nav > li.elementskit-megamenu-has > .elementskit-megamenu-panel,
	.elementor-1679 .elementskit-navbar-nav > li > .elementskit-dropdown {
		position: absolute !important;
		top: 100% !important;
	}
}

/* Mid desktop: tighten nav further */
@media (min-width: 1025px) and (max-width: 1280px) {
	.elementor-1679 .elementor-element.elementor-element-941a4d1 {
		width: 18% !important;
		max-width: 180px !important;
	}

	.elementor-1679 .elementor-element.elementor-element-235ff53 .elementskit-navbar-nav > li > a {
		padding: 0 5px !important;
		font-size: 12px;
	}
}

/* Header-safe logo (beats oversized #adr-brand-logo-scale clamps) */
.elementor-1679 .elementor-widget-theme-site-logo img[src*="branding/adc-logo"],
.elementor-1679 .elementor-widget-theme-site-logo img[src*="branding/adr-logo"],
.she-header-yes .elementor-widget-theme-site-logo img[src*="branding/adc-logo"],
.she-header-yes .elementor-widget-theme-site-logo img[src*="branding/adr-logo"],
.elementor-widget-theme-site-logo img[src*="uploads/branding/adc-logo.svg"],
.elementor-widget-theme-site-logo img[src*="uploads/branding/adr-logo.svg"] {
	width: clamp(140px, 16vw, 200px) !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	object-fit: contain;
}

@media (max-width: 1024px) {
	.elementor-1679 .elementor-widget-theme-site-logo img[src*="branding/adc-logo"],
	.elementor-1679 .elementor-widget-theme-site-logo img[src*="branding/adr-logo"],
	.she-header-yes .elementor-widget-theme-site-logo img[src*="branding/adc-logo"],
	.she-header-yes .elementor-widget-theme-site-logo img[src*="branding/adr-logo"] {
		width: clamp(130px, 42vw, 180px) !important;
	}
}

@media (max-width: 767px) {
	.elementor-1679 .elementor-widget-theme-site-logo img[src*="branding/adc-logo"],
	.elementor-1679 .elementor-widget-theme-site-logo img[src*="branding/adr-logo"],
	.she-header-yes .elementor-widget-theme-site-logo img[src*="branding/adc-logo"],
	.she-header-yes .elementor-widget-theme-site-logo img[src*="branding/adr-logo"],
	.elementor-widget-theme-site-logo img[src*="branding/adc-logo"],
	.elementor-widget-theme-site-logo img[src*="branding/adr-logo"] {
		width: clamp(120px, 48vw, 160px) !important;
	}
}
