/* ── MWM Mobile Menu ─────────────────────────────── */

.mwm-hamburger {
	--mwm-hamburger-color: #1d2327;
	--mwm-hamburger-color-active: #ffffff;
	--mwm-hamburger-size: 32px;
	--mwm-hamburger-thickness: 3px;
	--mwm-panel-bg: #01312D;
	--mwm-hamburger-bg: transparent;

	position: relative;
	z-index: 9999;
}

/* ── Button ──────────────────────────────────────── */

.mwm-hamburger__btn {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(var(--mwm-hamburger-size) + 16px);
	height: calc(var(--mwm-hamburger-size) + 16px);
	padding: 0;
	border: none;
	background: var(--mwm-hamburger-bg);
	border-radius: 8px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}


/* ── Hamburger lines ─────────────────────────────── */

.mwm-hamburger__icon {
	position: relative;
	display: block;
	width: var(--mwm-hamburger-size);
	height: calc(var(--mwm-hamburger-size) * 0.7);
}

.mwm-hamburger__line {
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: var(--mwm-hamburger-thickness);
	background-color: var(--mwm-hamburger-color);
	border-radius: calc(var(--mwm-hamburger-thickness) / 2);
	transition: transform 0.3s ease, opacity 0.2s ease, background-color 0.3s ease;
}

.mwm-hamburger__line--top {
	top: 0;
}

.mwm-hamburger__line--mid {
	top: 50%;
	transform: translateY(-50%);
}

.mwm-hamburger__line--bot {
	bottom: 0;
}

/* Active: lines → X */
.mwm-hamburger--open .mwm-hamburger__line {
	background-color: var(--mwm-hamburger-color-active);
}

.mwm-hamburger--open .mwm-hamburger__line--top {
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
}

.mwm-hamburger--open .mwm-hamburger__line--mid {
	opacity: 0;
	transform: translateY(-50%) scaleX(0);
}

.mwm-hamburger--open .mwm-hamburger__line--bot {
	bottom: auto;
	top: 50%;
	transform: translateY(-50%) rotate(-45deg);
}

/* ── Expanding circle ────────────────────────────── */

.mwm-hamburger__circle {
	position: fixed;
	z-index: 1;
	border-radius: 50%;
	background-color: var(--mwm-panel-bg);
	transform: translate(-50%, -50%) scale(0);
	width: 300vmax;
	height: 300vmax;
	transition: transform 0.6s cubic-bezier(0.04, -0.1, 0.29, 0.98);
	pointer-events: none;
	will-change: transform;
}

.mwm-hamburger--open .mwm-hamburger__circle {
	transform: translate(-50%, -50%) scale(1);
	transition-duration: 0.8s;
}

/* ── Nav panel ───────────────────────────────────── */

.mwm-mobile-nav {
	position: fixed;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease 0s;
	pointer-events: none;
}

.mwm-hamburger--open .mwm-mobile-nav {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition-delay: 0.35s;
}

.mwm-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
}

.mwm-mobile-nav__item {
	opacity: 0;
	transform: translateY(20px);
}

.mwm-hamburger--open .mwm-mobile-nav__item {
	animation: mwm-item-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(1)  { animation-delay: 0.40s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(2)  { animation-delay: 0.46s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(3)  { animation-delay: 0.52s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(4)  { animation-delay: 0.58s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(5)  { animation-delay: 0.64s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(6)  { animation-delay: 0.70s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(7)  { animation-delay: 0.76s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(8)  { animation-delay: 0.82s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(9)  { animation-delay: 0.88s; }
.mwm-hamburger--open .mwm-mobile-nav__item:nth-child(10) { animation-delay: 0.94s; }

@keyframes mwm-item-in {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Reset items when closing */
.mwm-hamburger:not(.mwm-hamburger--open) .mwm-mobile-nav__item {
	animation: none;
	opacity: 0;
	transform: translateY(20px);
}

.mwm-mobile-nav a {
	display: inline-block;
	padding: 10px 0;
	font-size: 28px;
	font-weight: 600;
	text-decoration: none;
	color: #ffffff;
	letter-spacing: 0.02em;
	transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.mwm-mobile-nav a:hover {
	opacity: 0.7;
	transform: scale(1.05);
}

/* ── Overlay ─────────────────────────────────────── */

.mwm-hamburger__overlay {
	position: fixed;
	inset: 0;
	z-index: 0;
	display: none;
}

.mwm-hamburger--open .mwm-hamburger__overlay {
	display: block;
}

/* ── Body scroll lock ────────────────────────────── */

html {
	scrollbar-gutter: stable;
	scrollbar-color: auto;
}

html.mwm-menu-open {
	scrollbar-color: var(--mwm-panel-bg) var(--mwm-panel-bg);
}

html.mwm-menu-open,
html.mwm-menu-open body {
	overflow: hidden;
}

/* ── Reduced motion ──────────────────────────────── */

@media (prefers-reduced-motion: reduce) {
	.mwm-hamburger__btn:hover {
		animation: none;
	}

	.mwm-hamburger__circle {
		transition-duration: 0.01s;
	}

	.mwm-hamburger--open .mwm-mobile-nav__item {
		animation: none;
		opacity: 1;
		transform: none;
	}

	.mwm-mobile-nav a:hover {
		transform: none;
	}
}
