.emml-label,
.emml-overlay,
.emml-panel-close {
	display: none;
}

.emml-widget.emml-in-range .emml-enhanced {
	align-items: center;
	box-sizing: border-box;
	display: inline-flex;
	justify-content: center;
	width: auto;
}

.emml-widget.emml-in-range .emml-enhanced > .emml-label {
	display: inline-block;
	font-size: var(--emml-font-size, 16px);
	font-weight: var(--emml-font-weight, 600);
	line-height: 1;
	text-transform: var(--emml-text-transform, uppercase);
	white-space: nowrap;
}

.emml-widget.emml-in-range .emml-enhanced.emml-label-after > .emml-label {
	margin-inline-start: var(--emml-gap, 10px);
}

.emml-widget.emml-in-range .emml-enhanced.emml-label-before > .emml-label {
	margin-inline-end: var(--emml-gap, 10px);
}

/* Replace the horizontal menu only when the user has selected an all-screen toggle. */
.emml-widget.emml-scope-all.emml-in-range .elementor-nav-menu--main,
.emml-widget.emml-scope-all.emml-in-range .e-n-menu-wrapper:not(.emml-panel) {
	display: none !important;
}

.emml-widget.emml-scope-all.emml-in-range.emml-is-open .e-n-menu-wrapper:not(.emml-panel) {
	display: block !important;
}

.emml-widget.emml-scope-all.emml-in-range .elementor-menu-toggle,
.emml-widget.emml-scope-all.emml-in-range .e-n-menu-toggle {
	display: inline-flex !important;
}

/* Elementor normally limits dropdown state rules to its configured breakpoint. */
.emml-widget.emml-scope-all.emml-in-range.emml-behavior-dropdown .elementor-nav-menu--dropdown {
	display: block !important;
	max-height: 0 !important;
	opacity: 0;
	overflow: hidden !important;
	transform: scaleY(0) !important;
	transform-origin: top center;
	transition: max-height var(--emml-animation, 320ms) ease, opacity var(--emml-animation, 320ms) ease, transform var(--emml-animation, 320ms) ease !important;
	visibility: hidden;
}

.emml-widget.emml-scope-all.emml-in-range.emml-behavior-dropdown.emml-is-open .elementor-nav-menu--dropdown {
	max-height: 100vh !important;
	opacity: 1;
	transform: scaleY(1) !important;
	visibility: visible;
}

/* Off-canvas panel. Elementor's existing menu remains inside its own widget. */
.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel {
	bottom: 0 !important;
	display: block !important;
	height: 100vh !important;
	height: 100dvh !important;
	left: auto !important;
	margin: 0 !important;
	max-height: none !important;
	opacity: 1 !important;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 68px 0 24px;
	position: fixed !important;
	right: 0 !important;
	top: 0 !important;
	transform: translate3d(100%, 0, 0) !important;
	transform-origin: right center !important;
	transition: transform var(--emml-animation, 320ms) cubic-bezier(.22, .61, .36, 1), visibility 0s linear var(--emml-animation, 320ms) !important;
	visibility: hidden;
	width: min(var(--emml-panel-width, 380px), 92vw) !important;
	z-index: 100002;
}

.emml-widget.emml-in-range.emml-behavior-offcanvas.emml-is-open .emml-panel {
	transform: translate3d(0, 0, 0) !important;
	transition-delay: 0s !important;
	visibility: visible;
}

.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel > .elementor-nav-menu,
.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel .elementor-nav-menu {
	display: flex !important;
	flex-direction: column;
	width: 100%;
}

.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel-close {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	-webkit-text-fill-color: #fff;
	color: #fff !important;
	cursor: pointer;
	display: flex;
	font: inherit;
	gap: 10px;
	justify-content: flex-end;
	padding: 16px 22px;
	position: absolute;
	right: 0;
	top: 0;
}

.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel-close:hover,
.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel-close:focus,
.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel-close:focus-visible,
.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel-close-text,
.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel-close-icon {
	-webkit-text-fill-color: #fff;
	background: transparent;
	color: #fff !important;
	opacity: 1;
}

.emml-panel-close-icon {
	font-size: 32px;
	font-weight: 300;
	line-height: .7;
}

.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel-extra {
	box-sizing: border-box;
	display: block;
	padding: 24px;
	width: 100%;
}

.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-overlay {
	appearance: none;
	background: rgba(0, 0, 0, .48);
	border: 0;
	bottom: 0;
	cursor: pointer;
	display: block;
	left: 0;
	opacity: 0;
	padding: 0;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity var(--emml-animation, 320ms) ease;
	visibility: hidden;
	z-index: 100001;
}

.emml-widget.emml-in-range.emml-behavior-offcanvas.emml-is-open .emml-overlay {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

body.emml-menu-open {
	overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-panel,
	.emml-widget.emml-in-range.emml-behavior-offcanvas .emml-overlay {
		transition-duration: .01ms !important;
	}
}
