/**
 * OHSNJ header — top bar alignment, equal row heights, logo on the seam
 * Targets Elementor Main Header (template 10), desktop first.
 */

@media (min-width: 1025px) {
	:root {
		/* Slightly taller than 56px so the logo has room without looking tiny */
		--ohsnj-header-row: 64px;
	}

	/* Teal contact bar + white nav: same height */
	.elementor-10 .elementor-element.elementor-element-0f36f1d > .elementor-container,
	.elementor-10 .elementor-element.elementor-element-1f05d3a > .elementor-container {
		min-height: var(--ohsnj-header-row);
		height: var(--ohsnj-header-row);
		align-items: center;
	}

	.elementor-10 .elementor-element.elementor-element-0f36f1d,
	.elementor-10 .elementor-element.elementor-element-1f05d3a {
		overflow: visible;
	}

	.elementor-10 .elementor-element.elementor-element-0f36f1d .elementor-widget-wrap.elementor-element-populated,
	.elementor-10 .elementor-element.elementor-element-1f05d3a .elementor-widget-wrap.elementor-element-populated {
		min-height: var(--ohsnj-header-row);
		align-items: center !important;
		align-content: center !important;
	}

	/* ——— Top teal bar: vertically center every item ——— */
	.elementor-10 .elementor-element.elementor-element-edb83de > .elementor-widget-wrap {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-end;
		align-items: center !important;
		column-gap: 0;
		row-gap: 0;
		padding-top: 0;
		padding-bottom: 0;
		min-height: var(--ohsnj-header-row);
	}

	.elementor-10 .elementor-element.elementor-element-edb83de > .elementor-widget-wrap > .elementor-element {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		align-self: center;
	}

	/* “Reach us…” heading */
	.elementor-10 .elementor-element.elementor-element-597a4cf .elementor-heading-title {
		margin: 0;
		line-height: 1.2;
		display: flex;
		align-items: center;
	}

	/* Phone / fax icon lists — icon + text on one baseline */
	.elementor-10 .elementor-element.elementor-element-cbc4eff .elementor-icon-list-items,
	.elementor-10 .elementor-element.elementor-element-511d294 .elementor-icon-list-items,
	.elementor-10 .elementor-element.elementor-element-05b71d1 .elementor-icon-list-items {
		margin: 0;
		padding: 0;
	}

	.elementor-10 .elementor-element.elementor-element-cbc4eff .elementor-icon-list-item,
	.elementor-10 .elementor-element.elementor-element-511d294 .elementor-icon-list-item,
	.elementor-10 .elementor-element.elementor-element-05b71d1 .elementor-icon-list-item {
		margin: 0;
		padding: 0;
	}

	.elementor-10 .elementor-element.elementor-element-cbc4eff .elementor-icon-list-item a,
	.elementor-10 .elementor-element.elementor-element-511d294 .elementor-icon-list-item a,
	.elementor-10 .elementor-element.elementor-element-05b71d1 .elementor-icon-list-item a {
		display: inline-flex !important;
		align-items: center;
		gap: 0.35em;
		line-height: 1.2;
		padding: 0;
	}

	.elementor-10 .elementor-element.elementor-element-cbc4eff .elementor-icon-list-icon,
	.elementor-10 .elementor-element.elementor-element-511d294 .elementor-icon-list-icon,
	.elementor-10 .elementor-element.elementor-element-05b71d1 .elementor-icon-list-icon {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		line-height: 0;
	}

	.elementor-10 .elementor-element.elementor-element-cbc4eff .elementor-icon-list-icon svg,
	.elementor-10 .elementor-element.elementor-element-511d294 .elementor-icon-list-icon svg,
	.elementor-10 .elementor-element.elementor-element-05b71d1 .elementor-icon-list-icon svg {
		display: block;
		width: 14px;
		height: 14px;
	}

	.elementor-10 .elementor-element.elementor-element-cbc4eff .elementor-icon-list-text,
	.elementor-10 .elementor-element.elementor-element-511d294 .elementor-icon-list-text,
	.elementor-10 .elementor-element.elementor-element-05b71d1 .elementor-icon-list-text {
		line-height: 1.2;
		padding: 0;
	}

	/* Social icons — match optical center with text/button */
	.elementor-10 .elementor-element.elementor-element-bfa620f .elementor-social-icons-wrapper {
		align-items: center;
		min-height: 0;
	}

	.elementor-10 .elementor-element.elementor-element-bfa620f .elementor-social-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		line-height: 0;
		width: 28px;
		height: 28px;
		padding: 0;
	}

	.elementor-10 .elementor-element.elementor-element-bfa620f .elementor-social-icon svg {
		display: block;
		width: 14px;
		height: 14px;
	}

	/* Patient Portal button */
	.elementor-10 .elementor-element.elementor-element-98b1c72 .elementor-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		line-height: 1.2;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.elementor-10 .elementor-element.elementor-element-98b1c72 .elementor-button-content-wrapper {
		align-items: center;
	}

	/* ——— White nav row ——— */
	.elementor-10 .elementor-element.elementor-element-1f05d3a {
		position: relative;
		z-index: 2;
		height: var(--ohsnj-header-row);
		min-height: var(--ohsnj-header-row);
	}

	.elementor-10 .elementor-element.elementor-element-a289823,
	.elementor-10 .elementor-element.elementor-element-620d13b {
		height: var(--ohsnj-header-row);
		min-height: var(--ohsnj-header-row);
		align-self: center;
	}

	.elementor-10 .elementor-element.elementor-element-620d13b > .elementor-widget-wrap {
		min-height: var(--ohsnj-header-row);
		height: var(--ohsnj-header-row);
		align-items: center !important;
	}

	/* Beat Elementor’s 10px vertical menu padding so rows match */
	.elementor-10 .elementor-element.elementor-element-039a85d {
		height: var(--ohsnj-header-row);
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}

	.elementor-10 .elementor-element.elementor-element-039a85d .elementor-nav-menu--main .elementor-item {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		line-height: var(--ohsnj-header-row) !important;
		min-height: var(--ohsnj-header-row);
		display: inline-flex;
		align-items: center;
	}

	/*
	 * Logo sits on the teal / white seam (half in each bar).
	 * Absolute so it does not stretch the white nav taller than the teal bar.
	 */
	.elementor-10 .elementor-element.elementor-element-a289823 {
		position: relative;
	}

	.elementor-10 .elementor-element.elementor-element-a289823 > .elementor-widget-wrap {
		min-height: var(--ohsnj-header-row);
		height: var(--ohsnj-header-row);
		min-width: 180px;
	}

	.elementor-10 .elementor-element.elementor-element-7527b6a {
		position: absolute;
		left: 0;
		top: 0;
		transform: translateY(-50%);
		margin: 0 !important;
		/* Balanced white padding — not cramped, not oversized */
		padding: 12px 15px !important;
		z-index: 5;
		background-color: #fff;
		border-radius: 100px;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
		width: auto;
		max-width: 210px;
	}

	.elementor-10 .elementor-element.elementor-element-7527b6a img {
		display: block;
		width: auto !important;
		max-width: 138px !important;
		max-height: 74px !important;
		height: auto !important;
		object-fit: contain;
	}
}

/* ——— Phone header (bf68509) ——— */
@media (max-width: 767px) {
	/* Compact teal contact strip */
	.elementor-10 .elementor-element.elementor-element-4d5593d > .elementor-container {
		padding-top: 6px;
		padding-bottom: 6px;
	}

	/* Hide fax on small phones — keeps 2 main numbers + socials readable */
	.elementor-10 .elementor-element.elementor-element-056f987 {
		display: none !important;
	}

	.elementor-10 .elementor-element.elementor-element-bb1fd08 > .elementor-widget-wrap {
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center !important;
		gap: 8px 12px;
		padding: 8px 10px !important;
	}

	.elementor-10 .elementor-element.elementor-element-bb1fd08 > .elementor-widget-wrap > .elementor-element {
		margin: 0 !important;
		width: auto !important;
		max-width: none !important;
	}

	/* Phone numbers — readable, not cramped */
	.elementor-10 .elementor-element.elementor-element-867552d .elementor-icon-list-item a,
	.elementor-10 .elementor-element.elementor-element-c0aefda .elementor-icon-list-item a {
		display: inline-flex !important;
		align-items: center;
		gap: 0.35em;
		line-height: 1.2;
		font-size: 12px;
	}

	.elementor-10 .elementor-element.elementor-element-867552d .elementor-icon-list-text,
	.elementor-10 .elementor-element.elementor-element-c0aefda .elementor-icon-list-text {
		font-size: 12px;
		white-space: nowrap;
	}

	.elementor-10 .elementor-element.elementor-element-867552d,
	.elementor-10 .elementor-element.elementor-element-c0aefda {
		--e-icon-list-icon-size: 12px;
	}

	.elementor-10 .elementor-element.elementor-element-867552d .elementor-icon-list-icon svg,
	.elementor-10 .elementor-element.elementor-element-c0aefda .elementor-icon-list-icon svg {
		width: 12px;
		height: 12px;
		display: block;
	}

	/* Social icons — same row as phones */
	.elementor-10 .elementor-element.elementor-element-743e415 {
		margin: 0 0 0 4px !important;
		--icon-size: 11px;
		--grid-column-gap: 5px;
	}

	.elementor-10 .elementor-element.elementor-element-743e415 .elementor-social-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 24px;
		height: 24px;
		padding: 0;
		line-height: 0;
	}

	.elementor-10 .elementor-element.elementor-element-743e415 .elementor-social-icon svg {
		width: 11px;
		height: 11px;
		display: block;
	}

	/* White nav: tighter logo + actions */
	.elementor-10 .elementor-element.elementor-element-f9fcfb5 > .elementor-container {
		align-items: center;
		min-height: 66px;
		height: 66px;
	}

	.elementor-10 .elementor-element.elementor-element-a0019c5,
	.elementor-10 .elementor-element.elementor-element-1781986 {
		align-self: center;
		height: 66px;
	}

	.elementor-10 .elementor-element.elementor-element-a0019c5 > .elementor-widget-wrap,
	.elementor-10 .elementor-element.elementor-element-1781986 > .elementor-widget-wrap {
		align-items: center !important;
		min-height: 66px;
		height: 66px;
	}

	.elementor-10 .elementor-element.elementor-element-1781986 > .elementor-element-populated {
		padding: 0 12px 0 0 !important;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 12px;
	}

	.elementor-10 .elementor-element.elementor-element-84a2cbb {
		margin: 0 !important;
		padding: 7px 11px !important;
		background-color: #fff;
		border-radius: 100px;
		box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
		max-width: 155px;
	}

	.elementor-10 .elementor-element.elementor-element-84a2cbb img {
		display: block;
		width: auto !important;
		max-width: 132px !important;
		max-height: 52px !important;
		height: auto !important;
		object-fit: contain;
	}

	.elementor-10 .elementor-element.elementor-element-0643999 {
		margin: 0 !important;
		width: auto !important;
		max-width: none !important;
		--container-widget-width: auto;
	}

	.elementor-10 .elementor-element.elementor-element-0643999 .elementor-button {
		font-size: 10px !important;
		padding: 6px 8px !important;
		line-height: 1.2;
		white-space: nowrap;
	}

	.elementor-10 .elementor-element.elementor-element-e147ee7 {
		margin: 0 !important;
		width: auto !important;
		max-width: none !important;
		--container-widget-width: auto;
	}

	.elementor-10 .elementor-element.elementor-element-e147ee7 .elementor-button {
		font-size: 22px !important;
		padding: 4px 2px !important;
		line-height: 1;
	}
}

/* ——— Tablet header (dc5d7dc) ——— */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-10 .elementor-element.elementor-element-652d9ed > .elementor-widget-wrap {
		display: flex !important;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center !important;
		gap: 8px 12px;
		padding: 8px 12px !important;
	}

	.elementor-10 .elementor-element.elementor-element-652d9ed > .elementor-widget-wrap > .elementor-element {
		margin: 0 !important;
	}

	.elementor-10 .elementor-element.elementor-element-b86258c .elementor-icon-list-item a,
	.elementor-10 .elementor-element.elementor-element-161ea6f .elementor-icon-list-item a,
	.elementor-10 .elementor-element.elementor-element-76a1037 .elementor-icon-list-item a {
		display: inline-flex !important;
		align-items: center;
		gap: 0.35em;
		line-height: 1.2;
		font-size: 13px;
	}

	.elementor-10 .elementor-element.elementor-element-9c2cc06 {
		margin: 0 !important;
	}

	.elementor-10 .elementor-element.elementor-element-9c2cc06 .elementor-social-icon {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 26px;
		height: 26px;
	}

	.elementor-10 .elementor-element.elementor-element-997abbe {
		padding: 8px 12px !important;
		max-width: 170px;
	}

	.elementor-10 .elementor-element.elementor-element-997abbe img {
		max-width: 140px !important;
		max-height: 56px !important;
		width: auto !important;
		height: auto !important;
		object-fit: contain;
	}
}

