/* Masterfold mobile menu (same look as the original hand-coded menu). */
.mf-mobile-menu-root li.lexicon-btn-prim-style a { justify-content: flex-start !important; gap: 10px; }
.mf-mobile-menu-root .menu-slide ul { list-style: none; padding: 0 !important; margin: 0; }

.mf-mobile-menu-root .mobile-menu-toggle { color: #fff; border-radius: 4px; z-index: 10000; cursor: pointer; user-select: none; }
.mf-mobile-menu-root .mobile-menu-toggle svg { width: 36px; height: 36px; }

.mf-mobile-menu-root .mobile-menu {
	position: fixed !important; top: 0; right: 0; width: 275px; height: 100vh; background: #000;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .15); overflow: hidden; transform: translateX(120%);
	transition: transform .2s cubic-bezier(.77, 0, .175, 1); z-index: 9999999 !important;
}
.mf-mobile-menu-root .mobile-menu.open { transform: translateX(0); }

.mf-mobile-menu-root .menu-slide {
	position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000;
	transition: transform .2s cubic-bezier(.77, 0, .175, 1); will-change: transform; overflow-y: auto; transform: translateX(100%);
}
.mf-mobile-menu-root .menu-slide.hidden { pointer-events: none; visibility: hidden; }
.mf-mobile-menu-root .menu-slide.active { transform: translateX(0); z-index: 10001; }

.mf-mobile-menu-root .menu-header {
	display: flex; align-items: center; justify-content: space-between; padding: 1rem; border-bottom: 1px solid #eee;
	user-select: none; position: sticky; top: 0; background: #000; z-index: 5;
}
.mf-mobile-menu-root .menu-back { display: flex; align-items: center; cursor: pointer; font-weight: bold; gap: .4rem; color: #fff !important; }
.mf-mobile-menu-root .menu-close { cursor: pointer; font-size: 1.5rem; background: #000 !important; border: none; line-height: 1; color: #fff; }

.mf-mobile-menu-root .menu-slide li a {
	display: flex; align-items: center; justify-content: space-between; padding: 1rem; text-decoration: none;
	color: #fff !important; border-bottom: 1px solid #353535 !important; user-select: none;
}
.mf-mobile-menu-root .arrow-icon { width: 20px; height: 20px; flex-shrink: 0; display: block !important; }
.mf-mobile-menu-root .arrow-icon path { stroke: #fff; }

.mf-mobile-menu-root .custom-mobile-header { display: none; justify-content: space-between; align-items: center; padding: 0 !important; background-color: #000 !important; }
@media screen and (max-width: 900px) {
	.mf-mobile-menu-root .custom-mobile-header { display: flex; z-index: 99999; position: relative; }
}

.mf-mobile-menu-root .mobile-menu-overlay {
	position: fixed; top: 0; left: 0; width: calc(100vw - 275px); height: 100vh; background: rgb(255 255 255 / 60%);
	opacity: 0; pointer-events: none; transition: opacity .3s ease; z-index: 9999998;
}
.mf-mobile-menu-root .mobile-menu-overlay.visible { opacity: 1; pointer-events: auto; }
