/* =========================================================
   Holman Logistics – mobile menu (below 1049px)
   Overrides Impreza's DESKTOP menu styles (.type_desktop) and
   the child theme's desktop rules, on the menu nav.ush_menu_1.

   Every selector starts with #page-header (Impreza's header ID).
   An ID beats any class-only selector, so these rules win over
   desktop CSS such as:
   .header_hor .w-nav.type_desktop > .w-nav-list > .menu-item a {... !important}

   DESKTOP SAFE: every rule in this file is inside a
   max-width: 1049px media query. Nothing applies at 1050px+.
   ========================================================= */

@media (max-width: 1049px) {

	/* ---------- Header container ---------- */
	#page-header {
		z-index: 9999 !important; /* style.css sets 111 */
	}
	/* Transforms/filters on parents break position:fixed – remove them while open */
	html.hl-menu-open #page-header,
	html.hl-menu-open #page-header .l-subheader,
	html.hl-menu-open #page-header .l-subheader-h,
	html.hl-menu-open #page-header .l-subheader-cell {
		transform: none !important;
		filter: none !important;
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		will-change: auto !important;
	}

	/* ---------- Nav wrapper (undo desktop height_full / spread) ---------- */
	#page-header .w-nav.ush_menu_1 {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		height: auto !important;
		width: auto !important;
		position: static !important;
	}

	/* ---------- Hamburger button (desktop hides it) ---------- */
	#page-header .w-nav.ush_menu_1 > .w-nav-control {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 44px !important;
		height: 44px !important;
		padding: 0 !important;
		margin: 0 !important;
		color: #333 !important; /* change if your mobile header is dark */
		background: none !important;
		position: relative !important;
		z-index: 10002 !important;
		cursor: pointer;
		visibility: visible !important;
		opacity: 1 !important;
	}
	#page-header .w-nav.ush_menu_1 > .w-nav-control > span {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		overflow: hidden !important;
		clip: rect(0 0 0 0) !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-icon {
		display: block !important;
		position: relative !important;
		width: 26px !important;
		height: 20px !important;
		font-size: 0 !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div,
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div::before,
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div::after {
		content: "" !important;
		display: block !important;
		position: absolute !important;
		left: 0 !important;
		width: 26px !important;
		height: 3px !important;
		margin: 0 !important;
		background: currentColor !important;
		border-radius: 2px !important;
		transition: transform .25s ease, top .25s ease, background-color .25s ease;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div {
		top: 50% !important;
		margin-top: -1.5px !important;
		transform: none !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div::before { top: -8px !important; transform: none !important; }
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div::after  { top: 8px !important;  transform: none !important; }

	#page-header .w-nav.ush_menu_1.hl-open .w-nav-icon > div { background: transparent !important; }
	#page-header .w-nav.ush_menu_1.hl-open .w-nav-icon > div::before { top: 0 !important; transform: rotate(45deg) !important; }
	#page-header .w-nav.ush_menu_1.hl-open .w-nav-icon > div::after  { top: 0 !important; transform: rotate(-45deg) !important; }

	/* ---------- Slide-in panel (desktop makes this a flex row) ---------- */
	#page-header .w-nav.ush_menu_1 > .w-nav-list.level_1 {
		display: block !important;
		flex: none !important;
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: auto !important;
		width: 300px !important;
		max-width: 85vw !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 64px 0 32px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		background: #fff !important;
		box-shadow: -4px 0 20px rgba(0, 0, 0, .2) !important;
		text-align: left !important;
		white-space: normal !important;
		opacity: 1 !important;
		visibility: hidden !important;
		transform: translateX(100%) !important;
		transition: transform .3s ease, visibility 0s linear .3s !important;
		z-index: 10001 !important;
	}
	#page-header .w-nav.ush_menu_1.hl-open > .w-nav-list.level_1 {
		visibility: visible !important;
		transform: translateX(0) !important;
		transition: transform .3s ease, visibility 0s !important;
	}

	/* ---------- Items (desktop: inline, full height) ---------- */
	#page-header .w-nav.ush_menu_1 .w-nav-item,
	#page-header .w-nav.ush_menu_1 .menu-item {
		display: block !important;
		float: none !important;
		flex: none !important;
		width: 100% !important;
		height: auto !important;
		line-height: normal !important;
		position: relative !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item.level_1 {
		border-bottom: 1px solid #eee !important;
	}

	/* Links – beats `.header_hor .w-nav.type_desktop>.w-nav-list>.menu-item a` (style.css) */
	#page-header .w-nav.ush_menu_1 .w-nav-item > .w-nav-anchor,
	#page-header .w-nav.ush_menu_1 .menu-item > a {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 13px 56px 13px 22px !important;
		line-height: 1.4 !important;
		font-size: 16px !important;
		letter-spacing: normal !important;
		color: #333 !important;
		background: none !important;
		border: 0 !important;
		box-shadow: none !important;
		text-align: left !important;
		text-decoration: none !important;
		text-transform: uppercase !important;
		white-space: normal !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item > .w-nav-anchor::before,
	#page-header .w-nav.ush_menu_1 .w-nav-item > .w-nav-anchor::after {
		display: none !important; /* desktop hover underlines/indicators */
	}
	#page-header .w-nav.ush_menu_1 .w-nav-title {
		display: inline !important;
		position: static !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item > .w-nav-anchor:hover,
	#page-header .w-nav.ush_menu_1 .w-nav-item > .w-nav-anchor:focus,
	#page-header .w-nav.ush_menu_1 .w-nav-item > .w-nav-anchor:hover .w-nav-title {
		color: #eb3b3e !important;
		background: none !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item.level_2 > .w-nav-anchor {
		padding-left: 36px !important;
		font-size: 15px !important;
		text-transform: none !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-arrow {
		display: none !important;
	}

	/* ---------- Sub-menus (desktop: absolute hover dropdowns) ---------- */
	#page-header .w-nav.ush_menu_1 .w-nav-list.level_2,
	#page-header .w-nav.ush_menu_1 .w-nav-item:hover > .w-nav-list.level_2,
	#page-header .w-nav.ush_menu_1 .w-nav-item:focus-within > .w-nav-list.level_2 {
		display: none !important;
		position: static !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-height: none !important;
		height: auto !important;
		margin: 0 !important;
		padding: 4px 0 !important;
		background: #f4f4f4 !important;
		border: 0 !important;
		box-shadow: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		transition: none !important;
		columns: auto !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item.hl-sub-open > .w-nav-list.level_2 {
		display: block !important;
	}

	/* +/- button next to items with children */
	#page-header .w-nav.ush_menu_1 .w-nav-item-toggle {
		display: block !important;
		position: absolute !important;
		top: 0 !important;
		right: 0 !important;
		left: auto !important;
		width: 52px !important;
		height: 48px !important;
		padding: 0 !important;
		margin: 0 !important;
		border: 0 !important;
		background: none !important;
		color: #333 !important;
		font-size: 0 !important;
		cursor: pointer;
		opacity: 1 !important;
		visibility: visible !important;
		transform: none !important;
		z-index: 2 !important;
		pointer-events: auto !important;
		touch-action: manipulation;
		-webkit-tap-highlight-color: transparent;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item-toggle::before {
		pointer-events: none;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item > .w-nav-anchor {
		pointer-events: auto !important;
		touch-action: manipulation;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item-toggle::before {
		content: "+" !important;
		font-size: 24px !important;
		line-height: 48px !important;
		font-weight: 300 !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-item.hl-sub-open > .w-nav-item-toggle::before {
		content: "\2212" !important;
	}

	/* ---------- Contact Us button ---------- */
	#page-header .w-nav.ush_menu_1 .contact-button {
		border-bottom: 0 !important;
		padding: 20px 22px 0 !important;
	}
	#page-header .w-nav.ush_menu_1 .contact-button > .w-nav-anchor {
		display: inline-block !important;
		padding: .8em 1.4em !important;
		color: #fff !important;
		background: #eb3b3e !important;
	}
	#page-header .w-nav.ush_menu_1 .contact-button > .w-nav-anchor:hover,
	#page-header .w-nav.ush_menu_1 .contact-button > .w-nav-anchor:hover .w-nav-title {
		color: #fff !important;
		background: #d93236 !important;
	}

	/* ---------- Close (X) ---------- */
	#page-header .w-nav.ush_menu_1 .w-nav-close {
		display: block !important;
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		left: auto !important;
		width: 44px !important;
		height: 44px !important;
		border: 0 !important;
		cursor: pointer;
		text-align: center !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	#page-header .w-nav.ush_menu_1 .w-nav-close::before {
		content: "\00d7" !important;
		font-size: 34px !important;
		line-height: 44px !important;
		color: #333 !important;
	}

	/* ---------- Overlay ---------- */
	#page-header .w-nav.ush_menu_1 > .hl-menu-overlay {
		display: none !important;
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		background: rgba(0, 0, 0, .45) !important;
		z-index: 10000 !important;
	}
	#page-header .w-nav.ush_menu_1.hl-open > .hl-menu-overlay {
		display: block !important;
	}

	html.hl-menu-open,
	html.hl-menu-open body {
		overflow: hidden !important;
	}
}

@media (max-width: 1049px) and (prefers-reduced-motion: reduce) {
	#page-header .w-nav.ush_menu_1 > .w-nav-list.level_1,
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div,
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div::before,
	#page-header .w-nav.ush_menu_1 .w-nav-icon > div::after {
		transition: none !important;
	}
}
