.wmn-emnu-root,
.wmn-emnu-root * {
	box-sizing: border-box;
}

.wmn-emnu-root {
	font-family: 'Poppins', system-ui, -apple-system, sans-serif;
}

.wmn-emnu-root[hidden] {
	display: none !important;
}

.wmn-emnu-hamburger {
	position: fixed;
	top: var(--wmn-emnu-button-top, 18px);
	right: var(--wmn-emnu-button-right, 18px);
	z-index: 100010;
	display: inline-flex;
	width: var(--wmn-emnu-button-size, 48px);
	height: var(--wmn-emnu-button-size, 48px);
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: transparent;
	cursor: pointer;
	transition: background 0.25s ease, transform 0.15s ease;
	-webkit-tap-highlight-color: transparent;
}

.wmn-emnu-hamburger:hover {
	background: rgba(226, 164, 49, 0.12);
}

.wmn-emnu-hamburger:active {
	transform: scale(0.92);
}

.wmn-emnu-hamburger:focus-visible,
.wmn-emnu-close:focus-visible,
.wmn-emnu-link:focus-visible {
	outline: 2px solid var(--wmn-emnu-accent, #e2a431);
	outline-offset: 3px;
}

.wmn-emnu-hamburger span {
	display: block;
	width: var(--wmn-emnu-line-width, 26px);
	height: var(--wmn-emnu-line-height, 3px);
	border-radius: 999px;
	background: var(--wmn-emnu-accent, #e2a431);
}

.wmn-emnu-overlay {
	position: fixed;
	inset: 0;
	z-index: 100020;
	background: var(--wmn-emnu-overlay, #2b2414);
	backdrop-filter: blur(var(--wmn-emnu-blur, 2px));
	opacity: 0;
	visibility: hidden;
	transition: opacity var(--wmn-emnu-duration, 0.35s) ease, visibility 0s linear var(--wmn-emnu-duration, 0.35s);
}

.wmn-emnu-root.emnu-open .wmn-emnu-overlay {
	opacity: var(--wmn-emnu-overlay-opacity, 0.38);
	visibility: visible;
	transition: opacity var(--wmn-emnu-duration, 0.35s) ease;
}

.wmn-emnu-panel {
	position: fixed;
	top: var(--wmn-emnu-panel-inset, 16px);
	right: var(--wmn-emnu-panel-inset, 16px);
	bottom: var(--wmn-emnu-panel-inset, 16px);
	z-index: 100021;
	width: min(var(--wmn-emnu-panel-width, 340px), calc(100vw - (var(--wmn-emnu-panel-inset, 16px) * 2)));
	padding: 70px var(--wmn-emnu-panel-padding, 20px) 24px;
	border-radius: var(--wmn-emnu-panel-radius, 16px);
	background: var(--wmn-emnu-panel-bg, #fff7e6);
	box-shadow: 0 0 0 5px rgba(226, 164, 49, 0.16), 0 0 34px rgba(226, 164, 49, 0.3), 0 24px 60px rgba(0, 0, 0, 0.16);
	overflow-y: auto;
	overscroll-behavior: contain;
	transform: translateX(calc(100% + 80px));
	visibility: hidden;
	transition: transform var(--wmn-emnu-duration, 0.35s) cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0s linear var(--wmn-emnu-duration, 0.35s);
}

.wmn-emnu-root.emnu-open .wmn-emnu-panel {
	transform: translateX(0);
	visibility: visible;
	transition: transform var(--wmn-emnu-duration, 0.35s) cubic-bezier(0.22, 0.61, 0.36, 1);
}

.wmn-emnu-close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 12px;
	background: transparent;
	color: var(--wmn-emnu-accent, #e2a431);
	cursor: pointer;
	transition: background 0.25s ease, transform 0.3s ease;
}

.wmn-emnu-close:hover {
	background: rgba(226, 164, 49, 0.12);
	transform: rotate(90deg);
}

.wmn-emnu-close svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
}

.wmn-emnu-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wmn-emnu-item {
	border-bottom: 1px solid var(--wmn-emnu-divider, rgba(226, 164, 49, 0.28));
	opacity: 0;
	transform: translateX(18px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.wmn-emnu-item:last-child {
	border-bottom: 0;
}

.wmn-emnu-root.emnu-open .wmn-emnu-item {
	opacity: 1;
	transform: none;
	transition-delay: calc(0.07s + var(--wmn-emnu-item-index, 0) * 0.05s);
}

.wmn-emnu-link {
	display: flex;
	min-height: 48px;
	align-items: center;
	gap: 14px;
	padding: 15px 12px;
	border-radius: 12px;
	color: var(--wmn-emnu-link, #e2a431);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.5;
	text-decoration: none;
	transition: background 0.25s ease, color 0.25s ease;
}

.wmn-emnu-link:hover {
	background: var(--wmn-emnu-link-hover, #f8ebd1);
	color: var(--wmn-emnu-link, #e2a431);
}

.wmn-emnu-link svg {
	width: 24px;
	height: 24px;
	flex: 0 0 24px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body.wmn-emnu-scroll-lock {
	overflow: hidden;
}

@media (max-width: 767px) {
	.wmn-emnu-root.wmn-emnu-hide-mobile {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.wmn-emnu-root.wmn-emnu-hide-tablet {
		display: none !important;
	}
}

@media (min-width: 1025px) {
	.wmn-emnu-root.wmn-emnu-hide-desktop {
		display: none !important;
	}
}

@media (max-width: 480px) {
	.wmn-emnu-panel {
		padding-top: 68px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wmn-emnu-root *,
	.wmn-emnu-root *::before,
	.wmn-emnu-root *::after {
		transition-duration: 0.01ms !important;
	}
}
