/**
 * Primary menu dropdown ("Who we work with" -> landings).
 * Reuses the theme's .sub-menu; fixes alignment, hover gap, adds framed box.
 */

#primary-menu > li.menu-item-has-children {
	position: relative !important;
}

/* Desktop: framed dropdown, aligned under the parent, left-aligned items. */
@media (min-width: 768px) {
	#primary-menu > li.menu-item-has-children > .sub-menu {
		left: 0 !important;
		right: auto !important;
		top: 100% !important;
		width: -webkit-max-content !important;
		width: max-content !important;
		min-width: 220px !important;
		max-width: 320px !important;
		text-align: left !important;
		padding: 8px !important;
		border: 1px solid #E5E7EB !important;
		border-radius: 14px !important;
		box-shadow: 0 14px 34px rgba(0, 0, 52, 0.12) !important;
	}

	/* Invisible bridge over the gap so hover doesn't break. */
	#primary-menu > li.menu-item-has-children > .sub-menu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -12px;
		height: 12px;
	}

	#primary-menu > li.menu-item-has-children:hover > .sub-menu,
	#primary-menu > li.menu-item-has-children.is-open > .sub-menu {
		opacity: 1 !important;
		visibility: visible !important;
	}

	#primary-menu .sub-menu li {
		width: 100%;
		text-align: left !important;
	}

	#primary-menu .sub-menu a {
		display: block !important;
		width: 100%;
		text-align: left !important;
		-webkit-box-pack: start !important;
		-ms-flex-pack: start !important;
		justify-content: flex-start !important;
		white-space: nowrap;
		padding: 8px 12px !important;
		border-radius: 8px;
	}

	#primary-menu .sub-menu a:hover {
		background-color: #F3F4F6;
	}
}

/* Mobile (inside the full-screen menu overlay): accordion, no overlap. */
@media (max-width: 767px) {
	#primary-menu .sub-menu {
		position: static !important;
		width: 100% !important;
		max-width: none !important;
		display: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		text-align: center !important;
		padding: 8px 0 !important;
	}

	#primary-menu > li.menu-item-has-children.is-open > .sub-menu {
		display: block !important;
	}

	#primary-menu .sub-menu li {
		width: 100% !important;
		text-align: center !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	#primary-menu .sub-menu li + li {
		margin-top: 4px !important;
	}

	#primary-menu .sub-menu a {
		display: block !important;
		width: 100% !important;
		padding-top: 6px !important;
		padding-bottom: 6px !important;
		text-align: center !important;
		color: #ffffff;
	}
}
