/* NJ Mega Menu - by NJ WebSolutions */

li.nj-has-mega {
	position: relative;
}

.njmm-panel {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 99999;
	background: var(--njmm-bg, #fff);
	color: var(--njmm-text, #222);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .15);
	text-align: left;
	list-style: none;
	box-sizing: border-box;
}

.njmm-panel.njmm-auto {
	width: var(--njmm-width, 700px);
	max-width: 95vw;
}

.njmm-panel.njmm-full {
	width: 100vw;
}

.njmm-panel .njmm-inner {
	padding: 24px;
	max-width: 1200px;
	margin: 0 auto;
	box-sizing: border-box;
}

.njmm-panel a {
	color: inherit;
}

.njmm-panel img {
	max-width: 100%;
	height: auto;
}

.njmm-toggle {
	display: none;
}

/* Desktop: open on hover / keyboard focus */
@media (min-width: 783px) {
	li.nj-has-mega:hover > .njmm-panel,
	li.nj-has-mega:focus-within > .njmm-panel,
	li.nj-has-mega.njmm-open > .njmm-panel {
		display: block;
		animation: njmmFade .18s ease-out;
	}
}

/* Mobile: tap the arrow to open */
@media (max-width: 782px) {
	li.nj-has-mega {
		position: relative;
	}

	.njmm-toggle {
		display: block;
		position: absolute;
		top: 0;
		right: 0;
		width: 48px;
		height: 48px;
		padding: 0;
		border: 0;
		background: transparent;
		cursor: pointer;
	}

	.njmm-toggle::after {
		content: "";
		display: block;
		width: 8px;
		height: 8px;
		margin: 0 auto;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform .2s;
	}

	li.nj-has-mega.njmm-open > .njmm-toggle::after {
		transform: rotate(-135deg);
	}

	.njmm-panel,
	.njmm-panel.njmm-auto,
	.njmm-panel.njmm-full {
		position: static;
		width: 100%;
		max-width: 100%;
		box-shadow: none;
		left: auto !important;
	}

	li.nj-has-mega.njmm-open > .njmm-panel {
		display: block;
	}
}

@keyframes njmmFade {
	from { opacity: 0; transform: translateY(6px); }
	to   { opacity: 1; transform: translateY(0); }
}
