.ot-mm-enabled{position:relative}.ot-mm-enabled:not(.ot-mm-classic)>.sub-menu{display:none!important}.ot-mm-panel{position:absolute;z-index:99999;top:calc(100% + var(--ot-mm-panel-offset-y,8px));display:none;box-sizing:border-box}.ot-mm-panel-inner{box-sizing:border-box;width:100%;background:transparent}.ot-mm-width-custom>.ot-mm-panel{width:min(var(--ot-mm-custom-width,1200px),calc(100vw - 24px))}.ot-mm-width-container>.ot-mm-panel{width:min(1200px,calc(100vw - 24px))}.ot-mm-width-full>.ot-mm-panel{width:100vw}.ot-mm-width-section>.ot-mm-panel{width:var(--ot-mm-section-width,100%);left:var(--ot-mm-section-left,0)!important;right:auto!important;transform:none!important}.ot-mm-width-content>.ot-mm-panel{width:max-content;max-width:calc(100vw - 24px)}.ot-mm-width-content>.ot-mm-panel>.ot-mm-panel-inner{width:max-content;max-width:100%}.ot-mm-pos-left:not(.ot-mm-width-section)>.ot-mm-panel{left:0;right:auto;transform:none}.ot-mm-pos-center:not(.ot-mm-width-section)>.ot-mm-panel{left:50%;right:auto;transform:translateX(-50%)}.ot-mm-pos-right:not(.ot-mm-width-section)>.ot-mm-panel{left:auto;right:0;transform:none}.ot-mm-trigger-hover:hover>.ot-mm-panel,.ot-mm-trigger-hover:focus-within>.ot-mm-panel,.ot-mm-enabled.ot-mm-open>.ot-mm-panel{display:block}.ot-mm-icon{display:inline-block;margin-inline-end:0}.ot-mm-badge{display:inline-flex;align-items:center;margin-inline-start:.45em;padding:.15em .45em;border-radius:999px;font-size:.65em;line-height:1.2;vertical-align:middle}.ot-mm-badge.is-animated{animation:ot-mm-badge-pulse 1.5s ease-in-out infinite}@keyframes ot-mm-badge-pulse{50%{transform:scale(1.08)}}@media(max-width:767px){.ot-mm-enabled>.ot-mm-panel{position:static!important;transform:none!important;left:auto!important;right:auto!important;top:auto!important;width:100%!important}.ot-mm-mobile-hide>.ot-mm-panel{display:none!important}.ot-mm-trigger-hover>.ot-mm-panel{display:none}.ot-mm-trigger-hover.ot-mm-open>.ot-mm-panel{display:block}}
/* Per-item icon + color states. Empty/reset values intentionally emit no CSS variable, so Header/Elementor styles inherit normally. */
.ot-mm-icon-wrap{display:inline-flex;align-items:center;margin-inline-end:var(--ot-mm-icon-gap,6px);line-height:1}.ot-mm-icon-wrap .ot-mm-icon{margin-inline-end:0}.ot-mm-icon-hover{display:none}.menu-item:hover>a .ot-mm-icon-wrap.has-hover-icon .ot-mm-icon-normal,.menu-item:focus-within>a .ot-mm-icon-wrap.has-hover-icon .ot-mm-icon-normal{display:none}.menu-item:hover>a .ot-mm-icon-wrap.has-hover-icon .ot-mm-icon-hover,.menu-item:focus-within>a .ot-mm-icon-wrap.has-hover-icon .ot-mm-icon-hover{display:inline-block}.ot-mm-styled-link{color:var(--ot-mm-item-color,inherit)!important}.menu-item:hover>.ot-mm-styled-link,.menu-item:focus-within>.ot-mm-styled-link{color:var(--ot-mm-item-hover-color,var(--ot-mm-item-color,inherit))!important}.menu-item:hover>.ot-mm-styled-link .ot-mm-icon,.menu-item:focus-within>.ot-mm-styled-link .ot-mm-icon{color:var(--ot-mm-icon-hover-color,inherit)!important}


/* Menu icon sizing: Dashicons set their own 20px box/pseudo size, so the
   per-menu-item Icon Size must override both the icon element and ::before. */
.ot-mm-icon-wrap .ot-mm-icon{
	flex:0 0 var(--ot-mm-icon-size,1em);
	width:var(--ot-mm-icon-size,1em)!important;
	height:var(--ot-mm-icon-size,1em)!important;
	font-size:var(--ot-mm-icon-size,1em)!important;
	line-height:1!important;
	overflow:visible;
	vertical-align:middle;
}
.ot-mm-icon-wrap .ot-mm-icon.dashicons:before{
	display:block;
	width:100%!important;
	height:100%!important;
	font-size:inherit!important;
	line-height:1!important;
}


/* The Mega Menu shell must not paint behind the Elementor template.
   Elementor owns background, border radius, shadow and clipping. */
.ot-mm-panel,
.ot-mm-panel-inner{
	background:transparent!important;
}
.ot-mm-panel-inner > .elementor,
.ot-mm-panel-inner > .elementor > .elementor-element{
	background-clip:padding-box;
}


.ot-mm-icon-wrap .ot-mm-svg-icon{display:inline-block;fill:currentColor;flex:0 0 var(--ot-mm-icon-size,1em);width:var(--ot-mm-icon-size,1em)!important;height:var(--ot-mm-icon-size,1em)!important;overflow:visible}
.ot-mm-icon-wrap .ot-mm-svg-icon path,.ot-mm-icon-wrap .ot-mm-svg-icon g,.ot-mm-icon-wrap .ot-mm-svg-icon circle,.ot-mm-icon-wrap .ot-mm-svg-icon rect,.ot-mm-icon-wrap .ot-mm-svg-icon polygon{fill:currentColor}


/* Classic WordPress Mega Menu: normal child menu items become the mega panel. */
.ot-mm-classic{position:relative}
.ot-mm-classic>.sub-menu{
	position:absolute;
	z-index:99999;
	top:calc(100% + var(--ot-mm-panel-offset-y,8px));
	display:none;
	box-sizing:border-box;
	padding:20px;
	margin:0;
	list-style:none;
	background:#fff;
}
.ot-mm-classic.ot-mm-trigger-hover:hover>.sub-menu,
.ot-mm-classic.ot-mm-trigger-hover:focus-within>.sub-menu,
.ot-mm-classic.ot-mm-open>.sub-menu{display:grid}
.ot-mm-classic>.sub-menu>li{min-width:0}
.ot-mm-classic>.sub-menu>li>.sub-menu{display:block!important;position:static!important;opacity:1!important;visibility:visible!important;transform:none!important;margin:8px 0 0;padding:0;list-style:none;background:transparent;box-shadow:none}
.ot-mm-classic>.sub-menu>li>.sub-menu>li>.sub-menu{display:block!important;position:static!important;margin:6px 0 0;padding:0;list-style:none;background:transparent;box-shadow:none}
.ot-mm-classic.ot-mm-width-content>.sub-menu{width:max-content;max-width:calc(100vw - 24px);grid-template-columns:repeat(auto-fit,minmax(180px,max-content))}
.ot-mm-classic.ot-mm-width-container>.sub-menu{width:min(1200px,calc(100vw - 24px));grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.ot-mm-classic.ot-mm-width-custom>.sub-menu{width:min(var(--ot-mm-custom-width,1200px),calc(100vw - 24px));grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.ot-mm-classic.ot-mm-width-full>.sub-menu{width:100vw;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.ot-mm-classic.ot-mm-pos-left:not(.ot-mm-width-section)>.sub-menu{left:0;right:auto;transform:none}
.ot-mm-classic.ot-mm-pos-center:not(.ot-mm-width-section)>.sub-menu{left:50%;right:auto;transform:translateX(-50%)}
.ot-mm-classic.ot-mm-pos-right:not(.ot-mm-width-section)>.sub-menu{left:auto;right:0;transform:none}

/* Individual menu item styling: works for Услуги, column headings and child links. */
.ot-mm-styled-link{
	color:var(--ot-mm-item-color,inherit)!important;
	background:var(--ot-mm-item-bg,transparent)!important;
	font-size:var(--ot-mm-item-font-size,inherit)!important;
	font-weight:var(--ot-mm-item-font-weight,inherit)!important;
}
.menu-item:hover>.ot-mm-styled-link,
.menu-item:focus-within>.ot-mm-styled-link{
	color:var(--ot-mm-item-hover-color,var(--ot-mm-item-color,inherit))!important;
	background:var(--ot-mm-item-hover-bg,var(--ot-mm-item-bg,transparent))!important;
}
@media(max-width:767px){
	.ot-mm-classic>.sub-menu{position:static!important;display:none!important;width:100%!important;transform:none!important;left:auto!important;right:auto!important;grid-template-columns:1fr!important}
	.ot-mm-classic.ot-mm-open>.sub-menu{display:grid!important}
}


.ot-mm-classic.ot-mm-width-section>.sub-menu{width:var(--ot-mm-section-width,100%);left:var(--ot-mm-section-left,0)!important;right:auto!important;transform:none!important;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}


/* Per-item active/current menu colors. Works for the current page itself
   and for current ancestors/parents in WordPress menus. */
.current-menu-item > .ot-mm-styled-link,
.current_page_item > .ot-mm-styled-link,
.current-menu-parent > .ot-mm-styled-link,
.current-menu-ancestor > .ot-mm-styled-link,
.current_page_parent > .ot-mm-styled-link,
.current_page_ancestor > .ot-mm-styled-link{
	color:var(--ot-mm-item-active-color,var(--ot-mm-item-color,inherit))!important;
	background:var(--ot-mm-item-active-bg,var(--ot-mm-item-bg,transparent))!important;
}
