/**
 * iNAPS header — phones, tablets, and desktops.
 * Scoped to the Elementor header template (.elementor-7).
 */

.elementor-location-header.elementor-7 {
	width: 100%;
	max-width: 100%;
}

.elementor-7 .elementor-element-b1outer,
.elementor-7 .elementor-element.elementor-element-b1white,
.elementor-7 .elementor-element.elementor-element-b1navbg,
.elementor-7 .elementor-element.elementor-element-b1acts1 {
	max-width: 100%;
	min-width: 0;
}

.elementor-7 .elementor-element.elementor-element-b1logo1 img {
	width: 100%;
	height: auto;
	display: block;
}

.elementor-7 .elementor-element.elementor-element-b1btn01 .elementor-button-text {
	white-space: nowrap;
}

.elementor-7 .elementor-element.elementor-element-b1srch1 .elementor-search-form,
.elementor-7 .elementor-element.elementor-element-b1srch1 .elementor-search-form__container {
	width: 100%;
}

.elementor-7 .elementor-element.elementor-element-b1srch1 .elementor-search-form__input {
	min-width: 0;
}

.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-menu-toggle:focus-visible,
.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-item:focus-visible,
.elementor-7 .elementor-element.elementor-element-b1btn01 .elementor-button:focus-visible,
.elementor-7 .elementor-element.elementor-element-b1srch1 .elementor-search-form__input:focus-visible {
	outline: 2px solid #1a1a1a;
	outline-offset: 2px;
}

/* Desktop dropdowns: readable, left-aligned, not clipped by short labels. */
@media (min-width: 1025px) {
	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-nav-menu--main .elementor-item {
		white-space: nowrap;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-nav-menu--main .sub-menu {
		min-width: 260px;
		text-align: left;
		box-shadow: 0 10px 28px rgba(26, 26, 26, 0.16);
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-nav-menu--main .elementor-sub-item {
		text-align: left;
		white-space: normal;
		line-height: 1.35;
		padding-top: 12px;
		padding-bottom: 12px;
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* Tablet: logo, login, and search share one row; menu collapses to a toggle. */
@media (min-width: 768px) and (max-width: 1024px) {
	.elementor-7 .elementor-element-b1outer {
		--padding-left: 0px;
		--padding-right: 0px;
		padding-left: 0;
		padding-right: 0;
	}

	.elementor-7 .elementor-element.elementor-element-b1white {
		--padding-top: 14px;
		--padding-bottom: 14px;
		--padding-left: 20px;
		--padding-right: 20px;
		--flex-wrap: nowrap;
		--align-items: center;
		--gap: 12px 16px;
		padding: 14px 20px;
		align-items: center;
		flex-wrap: nowrap;
		gap: 16px;
	}

	.elementor-7 .elementor-element.elementor-element-b1logo1 {
		--container-widget-width: 180px;
		width: 180px;
		max-width: 180px;
		flex: 0 0 180px;
	}

	.elementor-7 .elementor-element.elementor-element-b1acts1 {
		--width: auto;
		width: auto;
		flex: 1 1 auto;
		min-width: 0;
		justify-content: flex-end;
		align-items: center;
		gap: 12px;
	}

	.elementor-7 .elementor-element.elementor-element-b1btn01 {
		--container-widget-width: auto;
		width: auto;
		max-width: none;
		flex: 0 0 auto;
	}

	.elementor-7 .elementor-element.elementor-element-b1srch1 {
		--container-widget-width: 220px;
		width: min(220px, 42%);
		max-width: 220px;
		flex: 1 1 160px;
		min-width: 0;
	}
}

/* Phone: stack the utility row so the label and search stay fully readable. */
@media (max-width: 767px) {
	.elementor-7 .elementor-element.elementor-element-b1white {
		--padding-top: 14px;
		--padding-bottom: 14px;
		--padding-left: 16px;
		--padding-right: 16px;
		--gap: 12px 12px;
		padding: 14px 16px;
		gap: 12px;
	}

	.elementor-7 .elementor-element.elementor-element-b1logo1 {
		--container-widget-width: 168px;
		width: 168px;
		max-width: min(168px, 58vw);
	}

	.elementor-7 .elementor-element.elementor-element-b1acts1 {
		width: 100%;
		max-width: 420px;
		justify-content: center;
		align-items: stretch;
		gap: 10px;
	}

	.elementor-7 .elementor-element.elementor-element-b1btn01 .elementor-button {
		min-height: 46px;
		padding: 12px 16px;
		justify-content: center;
	}

	.elementor-7 .elementor-element.elementor-element-b1srch1 .elementor-search-form__container {
		min-height: 46px;
	}

	.elementor-7 .elementor-element.elementor-element-b1srch1 .elementor-search-form__input {
		font-size: 16px;
	}
}

/* Narrow phones: full-width login and search, one control per row. */
@media (max-width: 480px) {
	.elementor-7 .elementor-element.elementor-element-b1acts1 {
		--flex-direction: column;
		flex-direction: column;
		flex-wrap: nowrap;
		max-width: 100%;
	}

	.elementor-7 .elementor-element.elementor-element-b1btn01,
	.elementor-7 .elementor-element.elementor-element-b1srch1 {
		--container-widget-width: 100%;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto;
	}

	.elementor-7 .elementor-element.elementor-element-b1btn01 .elementor-button {
		width: 100%;
	}
}

/* Larger phones: login and search sit side by side without clipping. */
@media (min-width: 481px) and (max-width: 767px) {
	.elementor-7 .elementor-element.elementor-element-b1acts1 {
		flex-wrap: nowrap;
		width: 100%;
		max-width: 100%;
	}

	.elementor-7 .elementor-element.elementor-element-b1btn01 {
		--container-widget-width: auto;
		width: auto;
		max-width: none;
		flex: 0 0 auto;
	}

	.elementor-7 .elementor-element.elementor-element-b1srch1 {
		--container-widget-width: 100%;
		width: auto;
		max-width: none;
		flex: 1 1 auto;
		min-width: 0;
	}
}

/* Collapsed menu (tablet and phone): right-aligned toggle, roomy panel, visible submenus. */
@media (max-width: 1024px) {
	.elementor-7 .elementor-element.elementor-element-b1navbg {
		--min-height: 0px;
		min-height: 0;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-menu-toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: auto;
		min-width: 48px;
		min-height: 48px;
		margin: 0 12px 0 auto;
		padding: 8px 8px 8px 14px;
		border-radius: 4px;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-menu-toggle svg {
		width: 22px;
		height: 22px;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-menu-toggle::before {
		content: "Menu";
		font-family: Arial, Helvetica, sans-serif;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: #ffffff;
		line-height: 1;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-menu-toggle.elementor-active::before {
		content: "Close";
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown {
		position: relative;
		z-index: 30;
		width: 100%;
		text-align: left;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-menu-toggle.elementor-active + nav.elementor-nav-menu--dropdown {
		max-height: min(70vh, 560px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown .elementor-nav-menu {
		text-align: left;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown a.elementor-item,
	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown a.elementor-sub-item {
		justify-content: flex-start;
		text-align: left;
		white-space: normal;
		line-height: 1.35;
		font-size: 16px;
		min-height: 48px;
		padding: 12px 20px;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown .sub-menu {
		display: block !important;
		position: static !important;
		width: 100% !important;
		min-width: 0 !important;
		max-height: none !important;
		overflow: visible !important;
		transform: none !important;
		box-shadow: none;
		background: rgba(0, 0, 0, 0.12);
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown .sub-menu a.elementor-sub-item {
		font-size: 15px;
		padding-left: 36px;
		min-height: 44px;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .dropdown-menu-toggle {
		display: none !important;
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown .elementor-item:hover,
	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown .elementor-sub-item:hover,
	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown .elementor-item:focus,
	.elementor-7 .elementor-element.elementor-element-b1nav01 > nav.elementor-nav-menu--dropdown .elementor-sub-item:focus {
		background-color: #9c3e22;
	}
}

@media (max-width: 767px) {
	.elementor-7 .elementor-element.elementor-element-b1white {
		padding-left: max(16px, env(safe-area-inset-left));
		padding-right: max(16px, env(safe-area-inset-right));
	}

	.elementor-7 .elementor-element.elementor-element-b1nav01 .elementor-menu-toggle {
		margin-right: max(8px, env(safe-area-inset-right));
	}
}
