/* MA Mobile Menu frontend — intentionally isolated from theme and builder CSS. */
.ma-mm-root {
	display: none;
}

#ma-mobile-menu.ma-mm-root {
	--ma-mm-bar-bg: #72006f;
	--ma-mm-bar-icon: #fff;
	--ma-mm-bar-text: #fff;
	--ma-mm-bar-active: #fff;
	--ma-mm-panel-bg: #303478;
	--ma-mm-menu-text: #fff;
	--ma-mm-menu-hover: #fff;
	--ma-mm-submenu-bg: #252861;
	--ma-mm-submenu-text: #fff;
	--ma-mm-close-bg: #fff;
	--ma-mm-close-icon: #303478;
	--ma-mm-overlay: rgba(0, 0, 0, 0.62);
	--ma-mm-panel-height: 70vh;
	--ma-mm-panel-width: 560px;
	--ma-mm-bar-height: 84px;
	--ma-mm-icon-size: 34px;
	--ma-mm-icon-label-gap: 7px;
	--ma-mm-label-size: 14px;
	--ma-mm-label-weight: 500;
	--ma-mm-menu-size: 20px;
	--ma-mm-menu-weight: 500;
	--ma-mm-submenu-size: 17px;
	--ma-mm-submenu-weight: 400;
	--ma-mm-arrow-gap: 4px;
	--ma-mm-z: 999900;
	position: fixed !important;
	inset: 0 !important;
	z-index: var(--ma-mm-z) !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	pointer-events: none !important;
	font-family: inherit !important;
	font-style: normal !important;
	text-transform: none !important;
}

#ma-mobile-menu,
#ma-mobile-menu *,
#ma-mobile-menu *::before,
#ma-mobile-menu *::after {
	box-sizing: border-box !important;
}

#ma-mobile-menu button,
#ma-mobile-menu a {
	font-family: inherit !important;
	font-style: normal !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

#ma-mobile-menu button.ma-mm-overlay {
	position: fixed !important;
	inset: 0 0 calc(var(--ma-mm-bar-height) + env(safe-area-inset-bottom)) 0 !important;
	z-index: 1 !important;
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--ma-mm-overlay) !important;
	box-shadow: none !important;
	transform: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity 220ms ease, visibility 0s linear 220ms !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

#ma-mobile-menu .ma-mm-panel {
	position: fixed !important;
	top: auto !important;
	right: 0 !important;
	bottom: calc(var(--ma-mm-bar-height) + env(safe-area-inset-bottom)) !important;
	left: auto !important;
	z-index: 2 !important;
	display: flex !important;
	flex-direction: column !important;
	width: min(100vw, var(--ma-mm-panel-width)) !important;
	min-width: 0 !important;
	max-width: 100vw !important;
	height: min(var(--ma-mm-panel-height), calc(100vh - var(--ma-mm-bar-height) - env(safe-area-inset-bottom))) !important;
	height: min(var(--ma-mm-panel-height), calc(100dvh - var(--ma-mm-bar-height) - env(safe-area-inset-bottom))) !important;
	min-height: 0 !important;
	max-height: calc(100vh - var(--ma-mm-bar-height) - env(safe-area-inset-bottom)) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--ma-mm-panel-bg) !important;
	box-shadow: 0 -12px 38px rgba(0, 0, 0, 0.26) !important;
	overflow: hidden !important;
	transform: translate3d(0, calc(100% + 24px), 0) !important;
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: transform 260ms cubic-bezier(0.22, 0.75, 0.25, 1), opacity 200ms ease, visibility 0s linear 260ms !important;
	overscroll-behavior: contain;
}

#ma-mobile-menu.is-open button.ma-mm-overlay {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition-delay: 0s !important;
}

#ma-mobile-menu.is-open .ma-mm-panel {
	transform: translate3d(0, 0, 0) !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition-delay: 0s !important;
}

#ma-mobile-menu .ma-mm-panel-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 2 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: flex-end !important;
	width: 100% !important;
	min-height: 58px !important;
	margin: 0 !important;
	padding: 8px 12px !important;
	background: var(--ma-mm-panel-bg) !important;
}

#ma-mobile-menu .ma-mm-panel-title,
#ma-mobile-menu .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

#ma-mobile-menu button.ma-mm-close {
	position: static !important;
	display: inline-flex !important;
	flex: 0 0 46px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 46px !important;
	min-width: 46px !important;
	max-width: 46px !important;
	height: 46px !important;
	min-height: 46px !important;
	max-height: 46px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: var(--ma-mm-close-bg) !important;
	color: var(--ma-mm-close-icon) !important;
	box-shadow: none !important;
	transform: none !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

#ma-mobile-menu button.ma-mm-close > span {
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: Arial, sans-serif !important;
	font-size: 36px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	transform: translateY(-1px) !important;
}

#ma-mobile-menu button.ma-mm-close:hover,
#ma-mobile-menu button.ma-mm-close:focus-visible {
	filter: brightness(0.94) !important;
	outline: 3px solid currentColor !important;
	outline-offset: 2px !important;
}

#ma-mobile-menu .ma-mm-navigation {
	position: static !important;
	display: block !important;
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 0 20px !important;
	background: var(--ma-mm-panel-bg) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
}

#ma-mobile-menu ul.ma-mm-menu,
#ma-mobile-menu ul.ma-mm-submenu {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	list-style: none !important;
	transform: none !important;
}

#ma-mobile-menu ul.ma-mm-submenu[hidden] {
	display: none !important;
}

#ma-mobile-menu li.ma-mm-menu-item {
	position: static !important;
	display: block !important;
	float: none !important;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	list-style: none !important;
	transform: none !important;
}

#ma-mobile-menu .ma-mm-item-row {
	position: static !important;
	display: flex !important;
	align-items: stretch !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

#ma-mobile-menu a.ma-mm-link {
	position: static !important;
	display: flex !important;
	flex: 1 1 auto !important;
	align-items: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: auto !important;
	min-height: 50px !important;
	margin: 0 !important;
	padding: 12px 20px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ma-mm-menu-text) !important;
	font-size: var(--ma-mm-menu-size) !important;
	font-weight: var(--ma-mm-menu-weight) !important;
	line-height: 1.35 !important;
	text-align: left !important;
	text-decoration: none !important;
	white-space: normal !important;
	transform: none !important;
}

#ma-mobile-menu .ma-mm-has-children > .ma-mm-item-row > a.ma-mm-link {
	flex: 0 1 auto !important;
	width: auto !important;
	padding-right: var(--ma-mm-arrow-gap) !important;
}

#ma-mobile-menu a.ma-mm-link:hover,
#ma-mobile-menu a.ma-mm-link:focus-visible,
#ma-mobile-menu .current-menu-item > .ma-mm-item-row > a.ma-mm-link,
#ma-mobile-menu .current-menu-ancestor > .ma-mm-item-row > a.ma-mm-link {
	color: var(--ma-mm-menu-hover) !important;
	background: rgba(255, 255, 255, 0.08) !important;
}

#ma-mobile-menu a.ma-mm-link:focus-visible,
#ma-mobile-menu button.ma-mm-submenu-toggle:focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: -4px !important;
}

#ma-mobile-menu button.ma-mm-submenu-toggle {
	position: static !important;
	display: inline-flex !important;
	flex: 0 0 30px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 30px !important;
	min-width: 30px !important;
	max-width: 30px !important;
	height: 50px !important;
	min-height: 50px !important;
	max-height: 50px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ma-mm-menu-text) !important;
	cursor: pointer !important;
	transform: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

#ma-mobile-menu .ma-mm-chevron {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: inherit !important;
	fill: currentColor !important;
	stroke: none !important;
	transform: rotate(0deg) !important;
	transition: transform 160ms ease !important;
}

#ma-mobile-menu .ma-mm-chevron path {
	fill: currentColor !important;
	stroke: none !important;
}

#ma-mobile-menu button.ma-mm-submenu-toggle[aria-expanded="true"] .ma-mm-chevron {
	transform: rotate(180deg) !important;
}

#ma-mobile-menu ul.ma-mm-submenu {
	background: var(--ma-mm-submenu-bg) !important;
}

#ma-mobile-menu ul.ma-mm-submenu .ma-mm-item-row,
#ma-mobile-menu ul.ma-mm-submenu a.ma-mm-link {
	min-height: 46px !important;
}

#ma-mobile-menu ul.ma-mm-submenu a.ma-mm-link {
	padding: 10px 20px 10px 38px !important;
	color: var(--ma-mm-submenu-text) !important;
	font-size: var(--ma-mm-submenu-size) !important;
	font-weight: var(--ma-mm-submenu-weight) !important;
}

#ma-mobile-menu ul.ma-mm-submenu ul.ma-mm-submenu a.ma-mm-link {
	padding-left: 56px !important;
}

#ma-mobile-menu .ma-mm-empty {
	margin: 20px !important;
	color: var(--ma-mm-menu-text) !important;
}

#ma-mobile-menu nav.ma-mm-bar {
	position: fixed !important;
	top: auto !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 3 !important;
	display: flex !important;
	align-items: stretch !important;
	justify-content: stretch !important;
	width: 100vw !important;
	min-width: 0 !important;
	max-width: none !important;
	height: calc(var(--ma-mm-bar-height) + env(safe-area-inset-bottom)) !important;
	min-height: calc(var(--ma-mm-bar-height) + env(safe-area-inset-bottom)) !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 0 env(safe-area-inset-bottom) !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--ma-mm-bar-bg) !important;
	box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.16) !important;
	overflow: hidden !important;
	pointer-events: auto !important;
	transform: none !important;
}

#ma-mobile-menu .ma-mm-bar-item,
#ma-mobile-menu button.ma-mm-bar-item,
#ma-mobile-menu a.ma-mm-bar-item {
	position: static !important;
	display: flex !important;
	flex: 1 1 0 !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	height: var(--ma-mm-bar-height) !important;
	min-height: var(--ma-mm-bar-height) !important;
	max-height: var(--ma-mm-bar-height) !important;
	margin: 0 !important;
	padding: 6px 3px 5px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--ma-mm-item-text, var(--ma-mm-bar-text)) !important;
	font-size: inherit !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer !important;
	transform: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

#ma-mobile-menu .ma-mm-bar-item:hover,
#ma-mobile-menu .ma-mm-bar-item:focus-visible,
#ma-mobile-menu button.ma-mm-menu-trigger[aria-expanded="true"] {
	background: rgba(255, 255, 255, 0.1) !important;
	color: var(--ma-mm-bar-active) !important;
	border-radius: 0 !important;
}

#ma-mobile-menu .ma-mm-bar-item:focus-visible {
	outline: 2px solid currentColor !important;
	outline-offset: -4px !important;
}

#ma-mobile-menu .ma-mm-bar-icon {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--ma-mm-icon-size) !important;
	height: var(--ma-mm-icon-size) !important;
	min-width: 0 !important;
	margin: 0 0 var(--ma-mm-icon-label-gap) !important;
	padding: 0 !important;
	color: var(--ma-mm-item-icon, var(--ma-mm-bar-icon)) !important;
}

#ma-mobile-menu .ma-mm-svg-icon {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	fill: currentColor !important;
	stroke: none !important;
	overflow: visible !important;
}

#ma-mobile-menu .ma-mm-bar-icon-svg {
	transform: scale(1.06) !important;
	transform-origin: center !important;
}

#ma-mobile-menu .ma-mm-bar-label {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font-size: var(--ma-mm-label-size) !important;
	font-weight: var(--ma-mm-label-weight) !important;
	line-height: 1.15 !important;
	text-align: center !important;
	overflow-wrap: anywhere !important;
}

body.ma-mm-open {
	overflow: hidden !important;
}

@media (max-width: 600px) {
	#ma-mobile-menu .ma-mm-panel {
		width: 100vw !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	#ma-mobile-menu button.ma-mm-overlay,
	#ma-mobile-menu .ma-mm-panel,
	#ma-mobile-menu .ma-mm-chevron {
		transition-duration: 0.01ms !important;
	}
}
