/* ========== FONTS ========== */
@font-face {
	font-family: "Montserrat";
	src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Montserrat";
	src: url("../fonts/Montserrat-Medium.woff2") format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Montserrat";
	src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Montserrat";
	src: url("../fonts/Montserrat-Bold.woff2") format("woff2");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

/* ========== BASE ========== */
:root {
	--font-base: "Montserrat", Arial, sans-serif;
	--transition-base: .25s ease-in-out;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
html,
body {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
}
body {
	min-width: 320px;
	font-family: var(--font-base);
	color: #292929;
	background: #f3f3f3;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
button,
input,
textarea,
select {
	font: inherit;
}
button {
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	transition: all var(--transition-base);
}
input,
textarea {
	outline: none;
}
img,
svg {
	display: block;
	max-width: 100%;
	height: auto;
	user-select: none;
}
:focus-visible {
	outline: none;
}
.header,
.footer,
.breadcrumbs,
.breadcrumb,
.toTop,
.bx-panel {
	display: none !important;
}

/* ========== MAP LAYOUT ========== */
.map__main {
	position: relative;
	min-width: 0;
	height: 100%;
	overflow: hidden;
}
.map {
	--map-menu-slide: calc(100% + var(--map-menu-gap));
	position: relative;
	display: grid;
	width: 100vw;
	height: 100vh;
	min-height: 720px;
	overflow: hidden;
	--map-sidebar-width: 386px;
	--map-sidebar-padding: 40px 30px 40px 70px;
	--map-sidebar-submenu-width: 264px;
	--map-menu-visible: 7;
	--map-menu-gap: 12px;
	--map-canvas-safe-left: 20px;
	--map-canvas-safe-right: 170px;
	--map-canvas-safe-top: 105px;
	--map-canvas-safe-bottom: 110px;
	--map-canvas-fit-scale: .9;
	--map-submenu-visible: 9;
	--map-submenu-max-visible: 9;
	--map-submenu-item-height: 76px;
	--map-submenu-gap-min: 8px;
	--map-submenu-gap-default: 16px;
	--map-submenu-gap: var(--map-submenu-gap-default);
	--gudok-pink: #d92d98;
	--gudok-purple: #7c36ef;
	--gudok-violet: #b72fff;
	--gudok-blue: #3663e4;
	--gudok-bg: #f9f9f9;
	--gudok-text: #292929;
	grid-template-columns: var(--map-sidebar-width) minmax(0, 1fr);
	background: radial-gradient(circle at 56% 50%, #f8f8f8 5%, #ededed 60%);
}
.map_controls {
	position: relative;
	width: 100%;
	height: 100vh;
	display: flex;
	justify-content: space-between;
	padding: 0;
	pointer-events: none;
}
.map_controlsLeft {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	position: absolute;
	z-index: 50;
	left: 70px;
	top: 55px;
	bottom: 55px;
	width: calc(100% - 20px);
	pointer-events: none;
}
.map_controlsRight {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: space-between;
	position: absolute;
	z-index: 50;
	right: 70px;
	top: 55px;
	bottom: 55px;
	pointer-events: none;
}

/* ========== MENU ========== */
.map__scroll--top {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' fill='none' viewBox='0 0 26 26'%3e%3cpath fill='%236e6e6e' d='M11.303.658a2.206 2.206 0 0 1 1.723-.652 2.026 2.026 0 0 1 1.646.652l10.666 10.6c.883.88.883 2.309 0 3.19-.884.88-2.315.88-3.198 0L15.246 7.57v16.176A2.24 2.24 0 0 1 13.013 26h-.014a2.267 2.267 0 0 1-2.258-2.253V7.573l-6.88 6.876c-.884.881-2.316.881-3.199 0a2.251 2.251 0 0 1 0-3.19L11.302.658Z'/%3e%3c/svg%3e");
}
.map__scroll--bottom {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' fill='none' viewBox='0 0 26 26'%3e%3cpath fill='%236e6e6e' d='M14.697 25.342a2.207 2.207 0 0 1-1.723.652 2.026 2.026 0 0 1-1.646-.652L.662 14.742a2.252 2.252 0 0 1 0-3.19 2.265 2.265 0 0 1 3.198 0l6.894 6.877V2.253A2.24 2.24 0 0 1 12.987 0h.014a2.267 2.267 0 0 1 2.258 2.253v16.174l6.88-6.876a2.265 2.265 0 0 1 3.199 0c.883.88.883 2.309 0 3.19l-10.64 10.601Z'/%3e%3c/svg%3e");
}
.map__submenuSource {
	display: none;
}
.map__submenu.active {
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
	pointer-events: auto;
}
.map__submenuScroll {
	width: 100%;
	height: 45px;
	border-radius: 22px;
	filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.08));
	background-color: #f5f5f5;
}
.map__submenuItem {
	display: block;
	flex: 0 0 var(--map-submenu-item-height);
	width: 100%;
	height: var(--map-submenu-item-height);
	min-height: 0;
	margin: 0;
	padding: 0;
	border-radius: 8px;
	filter: none;
	background: transparent;
	overflow: visible;
}
.map__submenuClose {
	position: absolute;
	right: 2px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: auto;
	aspect-ratio: 0.291391;
	outline: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='44' height='151' fill='none' viewBox='0 0 44 151'%3e%3cpath fill='%23B8B8B8' d='M36.427 2.201A4 4 0 1 1 43.572 5.8L8.477 75.5l35.095 69.701a4 4 0 1 1-7.145 3.598l-36-71.5a4 4 0 0 1 0-3.598l36-71.5Z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.map__scroll:hover {
	opacity: 0.92;
}
.map__menuBtn:hover {
	opacity: 0.92;
}
.map__submenuBtn:hover {
	opacity: 0.92;
}
.map__submenuClose:hover {
	opacity: 0.92;
}
.is-clone {
	pointer-events: none;
}
.map__scroll.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.map__sidebar {
	position: relative;
	z-index: 30;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	padding: var(--map-sidebar-padding);
	background: transparent;
}
.map__scroll {
	flex: 0 0 auto;
	background-repeat: no-repeat;
	background-position: center;
	outline: none;
	align-self: center;
	width: 76px;
	height: 76px;
	border-radius: 50%;
	background-color: #fff;
	background-size: 25px auto;
	box-shadow: 0 5px 8px rgba(0, 0, 0, .1);
	filter: none;
}
.map__scroll:active {
	transform: scale(.96);
}
.map__menu {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	overflow: clip;
	overflow-clip-margin: 10px;
	width: 100%;
	margin: 16px 0;
	padding: 0;
}
.map__menuTrack {
	display: flex;
	flex-direction: column;
	height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	will-change: transform;
	transform: translateY(calc(var(--map-menu-slide) * -1));
	gap: var(--map-menu-gap);
}
.map__menuItem {
	display: block;
	flex: 0 0 calc(
		(100% - (var(--map-menu-gap) * (var(--map-menu-visible) - 1)))
		/ var(--map-menu-visible)
	);
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	background-color: #fff;
	overflow: hidden;
	border-radius: 14px;
	filter: none;
}
.map__menuShadowLayer {
	position: absolute;
	inset: 0;
	z-index: 29;
	pointer-events: none;
	overflow: visible;
}
.map__menuShadow {
	position: absolute;
	left: 0;
	top: 0;
	border-radius: 14px;
	box-shadow: 0 5px 8px rgba(0, 0, 0, .08);
	pointer-events: none;
	will-change: transform, width, height;
}
.map__menuBtn {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 100%;
	background-color: #fff;
	text-align: left;
	outline: none;
	gap: 18px;
	padding: 12px 18px;
	border-radius: 14px;
	font-size: 20px;
	line-height: calc(24px / 20px);
	font-weight: 700;
	color: #393939;
}
.map__menuItem.active .map__menuBtn {
	background: var(--category-color);
	color: #fff;
}
.map__menuIcon {
	position: relative;
	flex: 0 0 52px;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--category-color);
}
.map__menuIconImg {
	position: absolute;
	inset: 11px;
	width: calc(100% - 22px);
	height: calc(100% - 22px);
	object-fit: contain;
	filter: brightness(0) invert(1);
	pointer-events: none;
}
.map__menuTitle {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
}
/* .map__menuIcon--shops::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M5 7h22l-2 8H8L5 7Zm3 11h17v9H8v-9Zm3 2v5h4v-5h-4Zm7 0v5h4v-5h-4ZM9 4h14v3H9V4Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M5 7h22l-2 8H8L5 7Zm3 11h17v9H8v-9Zm3 2v5h4v-5h-4Zm7 0v5h4v-5h-4ZM9 4h14v3H9V4Z'/%3E%3C/svg%3E");
}
.map__menuIcon--supermarket::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 5h4l2.8 14H25l3-10H9l.6 3H24l-1.2 4H12L9 2H3v3Zm8 17a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm12 0a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M3 5h4l2.8 14H25l3-10H9l.6 3H24l-1.2 4H12L9 2H3v3Zm8 17a3 3 0 1 0 0 6 3 3 0 0 0 0-6Zm12 0a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E");
}
.map__menuIcon--entertainment::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M6 5h20v5h2v18H4V10h2V5Zm3 3v2h14V8H9Zm-2 5v12h18V13h-3v4h-4v-4h-4v4h-4v-4H7Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M6 5h20v5h2v18H4V10h2V5Zm3 3v2h14V8H9Zm-2 5v12h18V13h-3v4h-4v-4h-4v4h-4v-4H7Z'/%3E%3C/svg%3E");
}
.map__menuIcon--electronics::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 3h14v26H9V3Zm3 4v16h8V7h-8Zm2 18h4v2h-4v-2Zm3-14 4 5h-3v4l-5-6h3v-3h1Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M9 3h14v26H9V3Zm3 4v16h8V7h-8Zm2 18h4v2h-4v-2Zm3-14 4 5h-3v4l-5-6h3v-3h1Z'/%3E%3C/svg%3E");
}
.map__menuIcon--fashion::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m11 4 5 3 5-3 7 6-5 5v13H9V15l-5-5 7-6Zm1 4-3 2 3 3v12h8V13l3-3-3-2-4 3-4-3Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='m11 4 5 3 5-3 7 6-5 5v13H9V15l-5-5 7-6Zm1 4-3 2 3 3v12h8V13l3-3-3-2-4 3-4-3Z'/%3E%3C/svg%3E");
}
.map__menuIcon--cafe::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M5 8h18v5h2a5 5 0 0 1 0 10h-4a8 8 0 0 1-14-5V8Zm18 8v2c0 .7-.1 1.4-.3 2H25a2 2 0 0 0 0-4h-2ZM8 27h17v3H8v-3ZM10 4h3v3h-3V4Zm5-2h3v5h-3V2Zm5 2h3v3h-3V4Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M5 8h18v5h2a5 5 0 0 1 0 10h-4a8 8 0 0 1-14-5V8Zm18 8v2c0 .7-.1 1.4-.3 2H25a2 2 0 0 0 0-4h-2ZM8 27h17v3H8v-3ZM10 4h3v3h-3V4Zm5-2h3v5h-3V2Zm5 2h3v3h-3V4Z'/%3E%3C/svg%3E");
}
.map__menuIcon--cinema::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26Zm0 4a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-7 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm8 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3-8a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm-1 11h9v3h-9v-3Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 3a13 13 0 1 0 0 26 13 13 0 0 0 0-26Zm0 4a3 3 0 1 1 0 6 3 3 0 0 1 0-6Zm-7 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm8 8a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm3-8a3 3 0 1 1 6 0 3 3 0 0 1-6 0Zm-1 11h9v3h-9v-3Z'/%3E%3C/svg%3E");
}
.map__menuIcon--beauty::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
}
.map__menuIcon--children::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
}
.map__menuIcon--home::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
}
.map__menuIcon--sport::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
}
.map__menuIcon--services::before {
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M16 2l3 8 8-3-3 8 8 3-8 3 3 8-8-3-3 8-3-8-8 3 3-8-8-3 8-3-3-8 8 3 3-8Zm0 10a6 6 0 1 0 0 12 6 6 0 0 0 0-12Z'/%3E%3C/svg%3E");
} */
.map__submenu {
	position: absolute;
	top: 55px;
	z-index: 80;
	display: flex;
	align-items: center;
	height: calc(100% - 110px);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease,
		visibility 0.25s ease,
		transform 0.25s ease;
	left: calc(var(--map-sidebar-width) + 10px);
	width: var(--map-sidebar-submenu-width);
	background: #fff;
	border: 3px solid #7037e2;
	border-radius: 15px;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .14);
	transform: translateX(-24px);
}
.map__submenuPanel {
	display: flex;
	flex-direction: column;
	height: 100%;
	width: 100%;
	align-items: center;
	padding: 25px 0;
}
.map__submenu .map__scroll {
}
.map__submenuMenu {
	position: relative;
	flex: 1 1 auto;
	min-height: 0;
	overflow: hidden;
	width: 100%;
	margin: 24px 0;
	padding: 0 35px;
}
.map__submenuTrack {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	height: auto;
	min-height: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
	will-change: transform;
	transform: translateY(0);
	gap: var(--map-submenu-gap);
}
.map__submenuBtn {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 100%;
	min-height: 0;
	padding: 2px 0;
	overflow: hidden;
	border-radius: 10px;
	background: #fff;
	text-align: left;
	outline: none;
	font-size: 21px;
	line-height: 1.2;
	font-weight: 700;
	color: #393939;
}
.map__submenuTitle {
	display: -webkit-box;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
	hyphens: auto;
	white-space: normal;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	line-height: 1.1;
}
.map__submenuFloor {
	display: block;
	line-height: 1.1;
	transition: .25s all ease-in-out;
	margin-top: 3px;
	font-size: 19px;
	font-weight: 500;
	color: #858585;
}
.map__submenuBtn.active {
	background: #fff;
	color: #5424b2;
}
.map__submenuBtn.active .map__submenuFloor {
	color: #5424b2;
}
.map__submenuClose.closeBtn {
	right: -73px;
	top: 133px;
}

/* ========== SEARCH ========== */
.map__searchPanel.active .map__searchBody {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}
.map__searchSuggestList::-webkit-scrollbar {
	width: 5px;
}
.map__searchSuggestList::-webkit-scrollbar-track {
	background: #eeeeee;
	border-radius: 2px;
}
.kb-key:active {
	filter: drop-shadow(0px 1px 1px rgba(4,7,29,0.06));
	transform: translateY(1px);
	background-color: #e8e8e8;
}
.kb-space {
	grid-column: span 6;
}
.kb-search::before {
	content: "";
	width: 30px;
	height: auto;
	aspect-ratio: 1;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' fill='none' viewBox='0 0 30 30'%3e%3cpath fill='%23676768' fill-rule='evenodd' d='m29.779 27.033-8.384-8.29A11.797 11.797 0 0 0 14.905.408a11.842 11.842 0 0 0-10.734 2.4A11.808 11.808 0 0 0 .06 12.994a11.803 11.803 0 0 0 2.165 5.728 11.847 11.847 0 0 0 16.53 2.688l8.321 8.308a.908.908 0 0 0 1.314 0l1.314-1.312a1.049 1.049 0 0 0 .075-1.374Zm-17.957-7.185a8.08 8.08 0 0 1-4.484-1.358 8.047 8.047 0 0 1-1.223-12.4 8.075 8.075 0 0 1 8.796-1.746 8.069 8.069 0 0 1 3.622 2.968 8.05 8.05 0 0 1 1.36 4.477 8.03 8.03 0 0 1-2.358 5.704 8.052 8.052 0 0 1-5.713 2.355Z' clip-rule='evenodd'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	flex: none;
}
.kb-back {
	grid-column: 12 / 14;
	font-size: 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.kb-back::before {
	content: "";
	width: 18px;
	height: auto;
	aspect-ratio: 2;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='18' height='9' fill='none' viewBox='0 0 18 9'%3e%3cpath fill='%23676768' d='M0 4.5 4.966 0v2.813H18v3.374H4.966V9L0 4.5Z'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	flex: none;
}
.kb-key[data-key="*"] {
	font-size: 28px;
	line-height: 1;
	padding-top: 11px;
}
.kb-lang {
	grid-column: 1 / 4;
	font-size: 18px;
}
.map__searchSuggestList:empty::before {
	content: "Введите минимум 2 символа";
	display: block;
	color: #777;
	font-size: 18px;
	max-width: 180px;
}
.map__searchSuggestEmpty {
	padding: 18px 24px;
	color: #777;
	font-size: 18px;
}
.map__searchSuggestItem {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	cursor: pointer;
}
.map__searchSuggestCategory {
	cursor: pointer;
}
.map__search {
	position: relative;
	width: 458px;
	height: 76px;
	pointer-events: auto;
	margin-left: 0;
}
.map__searchPanel {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	width: calc(100vw - var(--map-sidebar-width) - 78px);
	pointer-events: none;
}
.map__searchInputWrap {
	position: relative;
	overflow: hidden;
	width: 458px;
	max-width: 458px;
	margin-bottom: 14px;
	pointer-events: auto;
}
.map__searchInputWrap input {
	width: 100%;
	background-color: #ffffff;
	line-height: 1.2;
	color: #000000;
	text-align: left;
	outline: none;
	height: 76px;
	padding: 0 74px 0 42px;
	border: 3px solid var(--gudok-violet);
	border-radius: 42px;
	box-shadow: none;
	filter: none;
	font-size: 22px;
	font-weight: 500;
}
.map__searchInputWrap input::placeholder {
	color: #8b8b8b;
}
.map__searchInputWrap button {
	aspect-ratio: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='33' height='33' fill='none' viewBox='0 0 33 33'%3e%3cpath fill='%23000' fill-rule='evenodd' d='m32.757 29.736-9.222-9.12A12.977 12.977 0 0 0 16.395.449a13.027 13.027 0 0 0-11.807 2.64A12.989 12.989 0 0 0 .066 14.295a12.983 12.983 0 0 0 2.382 6.3 13.01 13.01 0 0 0 5.22 4.264A13.033 13.033 0 0 0 20.63 23.55l9.154 9.14a.997.997 0 0 0 1.445 0l1.445-1.443a1.154 1.154 0 0 0 .083-1.512Zm-19.752-7.903a8.888 8.888 0 0 1-4.933-1.494A8.852 8.852 0 0 1 6.727 6.7a8.882 8.882 0 0 1 9.675-1.92 8.875 8.875 0 0 1 3.985 3.264 8.855 8.855 0 0 1 1.496 4.925 8.833 8.833 0 0 1-2.595 6.275 8.86 8.86 0 0 1-6.283 2.59Z' clip-rule='evenodd'/%3e%3c/svg%3e");
	opacity: 1;
	right: 31px;
	width: 30px;
	height: 30px;
	background-size: contain;
	opacity: .55;
}
.map__searchBody {
	display: grid;
	align-items: flex-start;
	position: relative;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity .25s ease-in-out, visibility .25s ease-in-out, transform .25s ease-in-out;
	pointer-events: none;
	grid-template-columns: 330px minmax(760px, 930px);
	gap: 24px;
	width: max-content;
}
.map__searchSuggest {
	background-color: #ffffff;
	overflow: hidden;
	min-height: 505px;
	padding: 48px 26px 40px 40px;
	border: 3px solid #aeaeae;
	border-radius: 30px;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .13);
	filter: none;
}
.map__searchSuggestList {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	overflow-y: auto;
	max-height: 410px;
	gap: 26px;
}
.map__searchSuggestList::-webkit-scrollbar-thumb {
	border-radius: 2px;
	background: #9a9a9a;
}
.map__searchSuggestItemTitle {
	line-height: 1.2;
	color: #393939;
	font-weight: 700;
	transition: .25s all ease-in-out;
	font-size: 22px;
}
.map__searchSuggestItemFloor {
	line-height: 1.2;
	color: #858585;
	font-weight: 600;
	transition: .25s all ease-in-out;
	font-size: 20px;
}
.map__searchSuggestItem:active .map__searchSuggestItemTitle {
	color: #6324d2;
}
.map__searchSuggestItem:active .map__searchSuggestItemFloor {
	color: #6324d2;
}
.map__keyboardWrapper {
	background-color: #ffffff;
	width: 930px;
	padding: 14px;
	border-radius: 30px;
	box-shadow: 0 8px 22px rgba(0, 0, 0, .13);
	filter: none;
}
.map__keyboard {
	background-color: #ffffff;
	border: 2px solid #f0f0f2;
	display: grid;
	grid-template-columns: repeat(13, 1fr);
	padding: 18px 22px;
	gap: 7px;
	border-radius: 20px;
}
.map__keyboard--en {
	grid-template-columns: repeat(12, 1fr);
}
.map__keyboard--en .kb-back {
	grid-column: 11 / 13;
}
.map__keyboard--en .kb-search {
	grid-column: 11 / 13;
}
.map__keyboard--en .kb-space {
	grid-column: span 7;
}
.kb-key {
	background: #fbfbfb;
	filter: drop-shadow(0px 4px 1px rgba(4,7,29,0.06));
	border: 2px solid #ececec;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: #676768;
	font-weight: 700;
	text-align: center;
	transition: .1s all ease-in-out;
	user-select: none;
	-webkit-user-select: none;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	height: 60px;
	border-radius: 10px;
	font-size: 15px;
}
.kb-search {
	grid-column: 12 / 14;
	grid-row: 3 / 6;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	height: 100%;
	font-size: 17px;
}
.map__searchCloseBtn.closeBtn {
	right: 0px;
	top: -45px;
	border-radius: 10px;
}
.map__searchCloseBtn.closeBtn::before {
	left: 22px;
}
.map__searchCloseBtn.closeBtn::after {
	left: 22px;
}

/* ========== BOTTOM CONTROLS ========== */
.map__viewSwitch {
	pointer-events: auto;
	position: absolute;
	left: 10px;
	bottom: 15px;
	display: flex;
	align-items: center;
	gap: 10px;
}
.map__viewBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 78px;
	height: 78px;
	border: 8px solid #cbcbcb;
	border-radius: 50%;
	background: #e8e8e8;
	font-size: 24px;
	font-weight: 600;
	color: #010101;
	box-shadow: 0 4px 8px rgba(0, 0, 0, .04);
}
.map__viewBtn.active {
	border-color: #c32d97;
	background: #39176d;
	color: #fff;
}
.map__manage {
	display: flex;
	pointer-events: auto;
	position: absolute;
	right: 50px;
	bottom: -2px;
	flex-direction: row;
	align-items: flex-start;
	gap: 25px;
	transform: translateX(-50%);
}
.map__manageBtn {
	flex-direction: column;
	gap: 6px;
	position: static;
	display: flex;
	align-items: center;
	color: #858585;
}
.map__manageBtnIcon {
	aspect-ratio: 1;
	filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.08));
	transition: .25s all ease-in-out;
	position: relative;
	width: 68px;
	height: 68px;
	border: 3px solid var(--manage-color, #ad45ee);
	border-radius: 50%;
	background: #fff;
	background-image: none;
}
.map__manageBtnIcon::after {
	content: "";
	position: absolute;
	inset: 14px;
	background: #8c8c8c;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}
.map__manageBtn.active .map__manageBtnIcon {
	background: var(--manage-color, var(--gudok-pink));
}
.map__manageBtn.active .map__manageBtnIcon::after {
	background: #fff;
}
.map__manageBtnTitle {
	color: #858585;
	text-align: center;
	font-size: 18px;
	line-height: 1.1;
	font-weight: 500;
	white-space: nowrap;
}
.map__manageBtn--toilet {
	--manage-color: #e1367c;
}
.map__manageBtn--mother {
	--manage-color: #7238e6;
}
.map__manageBtn--escalator {
	--manage-color: #b347f6;
}
.map__manageBtn--lift {
	--manage-color: #0f8cf6;
}
.map__manageBtn--cash {
	--manage-color: #ad45ee;
}
.map__manageBtn--toilet .map__manageBtnIcon::after {
	mask-image: url("../img/manage/toilet.svg");
	-webkit-mask-image: url("../img/manage/toilet.svg");
}
.map__manageBtn--mother .map__manageBtnIcon::after {
	mask-image: url("../img/manage/mother-room.svg");
	-webkit-mask-image: url("../img/manage/mother-room.svg");
}
.map__manageBtn--escalator .map__manageBtnIcon::after {
	mask-image: url("../img/manage/escalator.svg");
	-webkit-mask-image: url("../img/manage/escalator.svg");
}
.map__manageBtn--lift .map__manageBtnIcon::after {
	mask-image: url("../img/manage/lift.svg");
	-webkit-mask-image: url("../img/manage/lift.svg");
}
.map__manageBtn--cash .map__manageBtnIcon::after {
	mask-image: url("../img/manage/cash.svg");
	-webkit-mask-image: url("../img/manage/cash.svg");
}

/* ========== RIGHT CONTROLS ========== */
.map__floorBtn.active .map__floorBtnStage {
	color: #fff;
}
.map__floorBtn.active .map__floorBtnTitle {
	color: #fff;
}
.map__zoomBtn:active {
	background-color: #dcdcdc;
}
.map__zoomBtn--in {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' fill='none' viewBox='0 0 30 30'%3E%3Cpath fill='%23393939' d='M13 0h4v30h-4z'/%3E%3Cpath fill='%23393939' d='M30 13v4H0v-4z'/%3E%3C/svg%3E");
}
.map__zoomBtn--in:active {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' fill='none' viewBox='0 0 30 30'%3E%3Cpath fill='%23393939' d='M13 0h4v30h-4z'/%3E%3Cpath fill='%23393939' d='M30 13v4H0v-4z'/%3E%3C/svg%3E");
}
.map__zoomBtn--out {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='4' fill='none' viewBox='0 0 18 4'%3E%3Cpath fill='%23393939' d='M18 0v4H0V0z'/%3E%3C/svg%3E");
}
.map__zoomBtn--out:active {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='4' fill='none' viewBox='0 0 18 4'%3E%3Cpath fill='%23393939' d='M18 0v4H0V0z'/%3E%3C/svg%3E");
}
.map__devModal.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}
.map__home {
	height: auto;
	aspect-ratio: 1;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg width='42' height='42' viewBox='0 0 42 42' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M41.5965 20.0103L21.9941 0.414038C21.864 0.282843 21.7091 0.178711 21.5385 0.107649C21.3678 0.0365865 21.1848 0 21 0C20.8152 0 20.6322 0.0365865 20.4615 0.107649C20.2909 0.178711 20.136 0.282843 20.0059 0.414038L0.40351 20.0103C0.209225 20.2071 0.0776149 20.457 0.0252848 20.7286C-0.0270453 21.0001 0.00224993 21.281 0.109474 21.536C0.214515 21.7916 0.392893 22.0104 0.622129 22.1648C0.851366 22.3193 1.1212 22.4024 1.39763 22.4038H5.59814V40.6003C5.59814 40.9715 5.74566 41.3275 6.00824 41.59C6.27082 41.8525 6.62696 42 6.99831 42H18.1997C18.571 42 18.9271 41.8525 19.1897 41.59C19.4523 41.3275 19.5998 40.9715 19.5998 40.6003V32.2019H22.4002V40.6003C22.4002 40.9715 22.5477 41.3275 22.8103 41.59C23.0729 41.8525 23.429 42 23.8003 42H35.0017C35.373 42 35.7292 41.8525 35.9918 41.59C36.2543 41.3275 36.4019 40.9715 36.4019 40.6003V22.4038H40.6024C40.8788 22.4024 41.1486 22.3193 41.3779 22.1648C41.6071 22.0104 41.7855 21.7916 41.8905 21.536C41.9978 21.281 42.027 21.0001 41.9747 20.7286C41.9224 20.457 41.7908 20.2071 41.5965 20.0103Z' fill='white'/%3e%3c/svg%3e ");
	background-repeat: no-repeat;
	background-position: center;
	pointer-events: auto;
	width: 90px;
	border-radius: 50%;
	background-color: var(--gudok-blue);
	box-shadow: 0 5px 8px rgba(0, 0, 0, .1);
	filter: none;
}
.map__home:active {
	background-color: #416ef2;
}
.map__floors {
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	pointer-events: auto;
	width: 86px;
	padding: 6px;
	border-radius: 45px;
	box-shadow: 0 5px 8px rgba(0, 0, 0, .1);
	filter: none;
	gap: 2px;
}
.map__floorBtn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: 80px;
	height: auto;
	aspect-ratio: 1;
	gap: 0px;
	padding: 0 0 5px;
}
.map__floorBtnStage {
	text-transform: uppercase;
	color: #393939;
	text-align: center;
	font-size: 34px;
	line-height: 1;
	font-weight: 600;
}
.map__floorBtnTitle {
	color: #393939;
	text-align: center;
	font-size: 15px;
	line-height: 1;
	font-weight: 600;
	text-transform: none;
}
.map__floorBtn.active {
	background: var(--gudok-pink);
	color: #fff;
}
.map__zoom {
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	pointer-events: auto;
	width: 86px;
	height: auto;
	padding: 6px;
	border-radius: 44px;
	box-shadow: 0 5px 8px rgba(0, 0, 0, .1);
	filter: none;
}
.map__zoomBtn {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	border-radius: 50%;
	outline: none;
	background-repeat: no-repeat;
	background-position: center;
}
.map__dev {
	pointer-events: auto;
	position: relative;
}
.map__devLink {
	text-align: left;
	outline: none;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	font-size: 15px;
	line-height: 1.25;
	font-weight: 600;
	color: #5b5b5b;
}
.map__devModal {
	position: fixed;
	background-color: #fff;
	max-width: 710px;
	filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.08));
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(15px);
	transition: opacity 0.25s ease,
		visibility 0.25s ease,
		transform 0.25s ease;
	z-index: 100;
	top: auto;
	right: 230px;
	bottom: 58px;
	width: 720px;
	padding: 50px 220px 60px 70px;
	border-radius: 10px;
	box-shadow: 0 14px 32px rgba(0, 0, 0, .18);
}
.map__devModalClose.closeBtn {
	outline: none;
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
	right: 0px;
	top: -20px;
	border-radius: 10px;
}
.map__devModalClose.closeBtn::before {
	left: 22px;
}
.map__devModalClose.closeBtn::after {
	left: 22px;
}
.map__devModalTitle {
	color: #000000;
	font-weight: 700;
	margin-bottom: 20px;
	font-size: 36px;
	line-height: 1.14;
}
.map__devModalText {
	color: #272727;
	font-weight: 500;
	font-size: 22px;
	line-height: 1.35;
}
.map__devModalLink {
	line-height: 1.2;
	color: #000000;
	font-weight: 700;
	margin: 25px 0 20px;
	font-size: 22px;
}
.map__devModalPhone {
	line-height: 1.3;
	color: #272727;
	font-weight: 600;
	font-size: 27px;
}
.map__devModalQr {
	aspect-ratio: 1;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='none' viewBox='0 0 200 200'%3e%3cpath fill='%23000' fill-rule='evenodd' d='m179.521 185.357-.002-5.166.022-.838 6.641-.031.028.869-.005 12.699-6.686-.005.002-7.528Zm13.581-75.115h6.896v-6.887h-6.681l-.215.107v6.78ZM41.381 62.032h6.896v-6.888h-6.68l-.216.107v6.78Zm110.342 96.421h6.897v-6.887h-6.897v6.887ZM124.138 48.257h6.896V41.37h-6.896v6.887Zm6.896-41.324 13.793.002V.046H131.25l-.216.107v6.78Zm-75.86 144.633h6.896c0-1.043-.317-5.849.225-6.663l13.568-.224v-6.888H62.07v6.888h-6.896v6.887Zm-41.379-6.887 13.793.002c0-.963-.275-12.926.224-13.553.815-.54 5.628-.224 6.674-.224l-.002-13.774h-6.896v13.776l-6.687-.025v-6.849l-7.108-.015.056 7.096h6.838l.005 6.678h-6.897v6.888ZM68.967 41.793v6.464h-6.473c-.267-.313-.153.12-.253-.636-.015-.112.005-.711.007-.867l.036-5.171 5.177-.036c1.848-.02 1.3-.03 1.506.246ZM55.174 62.032h6.896l-.005-6.036c.118-.805.064-.353.26-.597.245-.196-.209-.142.597-.26l6.044.005-.006-6.037c.122-1.099.003-.283.231-.626.24-.16-.292-.116.627-.23.145-.019.688 0 .87.002l5.175.004V41.37l-6.687-.004v-13.65l-7.106-.128v6.895h-6.896v27.549Zm110.342-27.55h20.689V13.822h-20.689v20.662Zm-151.72 0h20.688V13.822H13.795v20.662Zm0 151.52h20.688V165.34H13.795v20.662Zm-6.742-41.1.05-27.527c.317-.259-.354-.118.647-.253l12.94.008-.004-5.17c-.018-2.057.027-1.174.248-1.475.29-.212-.538-.264 1.477-.247l5.176.004v-6.887H0l.032 7.097h6.863l.004 6.678H.002l.03 27.758 7.022.014ZM.002 96.468l13.793.002-.005-6.037c.16-1.123-.051-.2.258-.629l5.138-.046c1.19-.013 1.09-.107 1.506.246v6.464h6.896l-.009-12.924c.125-.833.014-.351.279-.633l6.603-.01.023 6.68h13.793v-6.888h-6.473c-.266-.313-.152.12-.252-.636l.053-5.999c.43-.308-.495-.097.63-.257l6.042.005V68.92H27.588v13.774H7.322c-.266-.313-.153.12-.252-.636l.053-12.886c.38-.326.134-.27 1.496-.257l12.073.005-.006-6.036c.11-.836.067-.356.26-.597.36-.35.26-.27 1.465-.26l12.073.005v-6.887H13.795v6.888H.002v34.436ZM158.62 6.933h34.482V41.37H158.62V6.933Zm-6.897 41.324h48.275V.153l-.215-.107-48.06.002v48.209ZM6.899 158.453H41.38v34.437H6.899v-34.437ZM.002 199.777h48.275v-48.211H.002v48.211ZM6.9 6.933H41.38V41.37H6.899V6.933ZM.002 48.257h48.275V.047H.002v48.21Zm172.411 124.394v6.464l-6.473.001c-.276-.205-.267.341-.246-1.504l.036-5.171c.776-.041 6.053-.324 6.683.21Zm-13.793 0v6.464l-6.473.001c-.276-.205-.267.341-.246-1.504l.036-5.171 6.046-.043c.756.1.324-.013.637.253Zm-27.585 0-.001 6.464-6.473.001c-.275-.205-.266.341-.246-1.504l.036-5.171c.776-.041 6.054-.324 6.684.21Zm6.896-6.887v6.464h-6.473c-.374-.277-.136.369-.253-.637l.043-6.037 6.045-.043c.757.1.324-.014.638.253Zm27.586-20.662-.001 20.238-20.265.001c-.489-.363-.244-1.765-.243-2.368.008-5.202-.202-13.668.033-18.081 4.418-.234 12.895-.025 18.105-.032.693-.001 1.846-.203 2.371.242Zm.214-20.847 13.554-.03.031 6.889 6.862-.001.027 6.678h-6.896v6.888l-6.687-.019.001-13.726-6.897-.036.005-6.643Zm6.682-13.59v6.465h-6.473c-.276-.205-.267.342-.246-1.504.006-.575.003-1.15.003-1.725 0-1.15-.023-2.302.027-3.451 1.15-.05 2.304-.026 3.456-.026.8 0 2.638-.263 3.233.241Zm-47.852 34.014c-.275-.205-.266.342-.246-1.504l.028-5.138c.686-.472 2.38-.246 3.243-.246h3.448l-.009-12.923c.125-.834.014-.352.279-.633l6.814-.014.031-20.596c.314-.247-.091-.292 1.502-.274l5.176.004-.005-5.17c-.002-.16-.018-.744-.001-.865.125-.9.041-.322.282-.616l6.597-.029.027 13.777h6.988l-.1 6.678h-6.892v20.661h-13.792v13.775l-6.687.01v-6.868l-6.683-.029Zm40.956-40.901-.001 6.464-6.473.001c-.5-.336-.242-2.577-.242-3.229 0-1.148-.029-2.3.032-3.446l6.054-.042c1.02.133.407.051.63.252Zm-55.172 0v6.464l-6.473.001c-.275-.205-.266.341-.246-1.504l.036-5.171c.776-.041 6.054-.324 6.683.21Zm-34.482 0v6.464l-6.473.001c-.266-.313-.153.119-.253-.637l.01-2.592c0-1.15-.023-2.303.027-3.451 1.15-.05 2.305-.027 3.456-.027.576 0 1.152.003 1.728-.004 1.847-.02 1.3-.029 1.505.246Zm41.379-6.887-.001 6.464-6.473.001c-.505-.594-.242-2.431-.242-3.229 0-1.15-.023-2.303.027-3.451 1.15-.05 2.304-.027 3.456-.027.575 0 1.151.003 1.727-.004 1.848-.02 1.301-.03 1.506.246Zm-48.275 0v6.464l-6.473.001c-.535-.629-.252-5.9-.21-6.675l5.177-.036c1.848-.02 1.3-.03 1.506.246Zm96.55-6.887-.001 6.464h-6.473c-.505-.593-.242-2.43-.242-3.229 0-1.15-.023-2.302.027-3.45 1.15-.05 2.304-.027 3.455-.027.576 0 1.152.002 1.728-.004 1.848-.02 1.301-.03 1.506.246Zm.232-7.099 13.556-.002.004 6.679-13.585-.025.025-6.652Zm-7.129.211v6.465h-6.473c-.353-.415-.259-.316-.246-1.504l.036-5.17 5.178-.036c1.847-.02 1.3-.03 1.505.245ZM96.552 76.23v6.464h-6.473c-.353-.415-.259-.315-.246-1.503.007-.575.004-1.15.004-1.725 0-1.15-.023-2.303.026-3.451 1.15-.05 2.305-.027 3.456-.027.576 0 1.152.003 1.728-.004 1.848-.02 1.3-.03 1.505.246Zm62.491 6.465c-.353-.416-.259-.316-.246-1.504.041-3.653-.135-8.841.036-12.058 3.221-.17 8.416.005 12.074-.036 1.848-.02 1.301-.03 1.506.246v6.464h-6.897v6.887h-6.473Zm-76.05-20.449 6.66-.004.003 13.567-6.688-.025.024-13.538Zm13.983 6.674c-.535-.628-.251-5.854-.218-6.642.697-.48 2.375-.245 3.242-.245h3.449l-.007-6.037c.122-1.1.003-.283.231-.627.815-.54 5.627-.224 6.672-.224l-.007-6.037c.122-1.099.003-.283.231-.626.815-.54 5.628-.224 6.672-.224V41.37h-6.896v6.889l-6.686-.026-.001-20.63-6.897-.031.03-13.537 6.651-.005.036 6.888h13.757l.033 6.887h6.863l.036 6.887h13.762l.002 27.341-6.687-.025V55.15l-7.106-.005v6.888h-13.793v13.776l-6.687-.025v-6.86l-6.682-.004ZM82.76 14.244v6.464h-6.474c-.535-.629-.25-5.9-.21-6.674l5.178-.036c1.848-.02 1.3-.03 1.506.246Zm27.585-6.888v6.465h-6.473c-.535-.629-.251-5.9-.21-6.674l5.178-.036c1.847-.02 1.3-.03 1.505.245ZM82.759 48.257h6.897l-.005-5.17c-.017-1.69.072-1.226.28-1.482l6.597-.028.031 6.89h6.863l.028 6.677h-6.898v6.888l-6.687-.005v-6.853l-7.106-.032v6.89h-6.896v6.887h-6.897l.005 7.096h6.865l.029 6.678h-6.899v6.888l-6.686-.005V68.948c-1.063-.005-6.537-.212-7.106.078v27.442h-20.69l.005 7.096 20.661.001.026 6.677H41.38l.005 7.097h6.864l.03 6.678h-6.9l.006 7.097 6.864-.001.03 6.678H34.483v6.888l13.793.002-.004-5.171c-.001-.181-.02-.723-.003-.868.115-.918.072-.386.232-.626.343-.228-.474-.11.627-.231l6.045.006v-6.887l-6.473.001c-.276-.205-.267.341-.246-1.504l.028-5.139c.685-.471 2.38-.245 3.242-.245h3.449l-.01-12.924c.125-.833.014-.351.28-.633l6.602-.009.024 20.56 6.896-.113-.005-12.916c.131-.918.011-.342.258-.629l12.903-.053c.757.1.324-.013.638.253v13.351h6.896V117.13l-6.687-.004V96.497l-13.579-.029c-.534-.628-.251-5.854-.218-6.642.698-.48 2.375-.245 3.243-.245h3.448l-.005-5.17c-.002-.159-.02-.75-.004-.867.127-.954.035-.324.279-.633l13.499-.008.03 6.887h20.778l-.1 6.678c-2.222 0-20.096-.185-20.684.107l.005 6.989h6.867l.031 6.888h6.863l.028 6.678h-6.898v6.887h6.897v-3.444c0-.866-.236-2.541.245-3.238.789-.033 6.022-.316 6.651.218v13.458l6.896-.113-.006-12.916c.121-.775-.001-.33.282-.617l6.808-.032.024-34.61-7.108-.032v6.89h-6.473c-.201-.222-.118.39-.252-.629l.034-12.9c.318-.26-.354-.119.647-.254l12.941.008-.007-6.035c.126-.9.041-.322.283-.616l20.389-.027.026 6.678h-13.795l.002 20.871h6.868l.028 6.678h-6.898v20.662h-6.896v13.774h-6.897v6.888l-6.687-.004.001-6.854-6.897-.036v-6.759l-7.106-.129.005 7.104h6.945l-.047 6.887h6.863l.034 6.887 20.778.001-.101 6.677h-13.788v20.662l-6.687-.004.001-6.854-6.897-.036v-13.738l-7.106-.032v6.889l-6.687-.004.027-13.494c.255-.209-.21-.298 1.484-.281l5.176.005v-6.887H82.759v6.887h-6.896v6.887H62.07v6.887h-6.896v20.662h6.896l-.005-12.056c-.013-1.322-.069-1.128.28-1.482l6.598-.029.025 27.551 7.082-.004.026-20.629 6.66-.031.027 13.777h6.866l.027 6.678h6.896v-6.887l-6.687-.005v-13.741l-6.896-.035v-6.852l-13.793-.033.026-6.608c.256-.209-.209-.298 1.485-.28l5.176.004v-3.443l-.008-2.593c.096-.709.045-.343.254-.645l6.013-.035c.757.1.324-.014.638.252l.004 6.674h6.851l.047 6.887h6.863l.034 6.887h6.863l.027 20.453h6.896l-.005-12.922c.131-.918.011-.342.257-.629 2.145-.165 4.674-.034 6.86-.036l5.175-.01c1.19-.013 1.09-.108 1.506.245v6.465h-6.897l.005 7.096 20.84.014.068-6.858c.318-.228-.539-.275 1.497-.257l5.176.005-.006-6.035c.138-.882.037-.318.282-.617l20.39-.026.023 13.565h6.897l-.006-6.035c.161-1.123-.051-.199.258-.629l5.139-.046c1.189-.013 1.09-.107 1.506.246l-.001 6.464h6.896l-.006-6.037c.115-.918.071-.386.231-.626.343-.228-.473-.109.627-.231.167-.019.671.001.869.003l5.176.004v-13.775l-6.473.001c-.373-.278-.135.368-.253-.637-.016-.138.005-.691.007-.867l.046-5.132c.318-.228-.54-.275 1.497-.257l5.176.005v-6.888l-13.583-.002v-6.855l-6.683-.029c-.373-.278-.135.369-.253-.637l.053-5.999c.318-.227-.539-.275 1.497-.257l5.176.005v-3.444l-.008-2.592c.096-.71.045-.344.254-.646l6.013-.035c.757.1.324-.013.638.253l-.001 6.464 13.793.002v-13.777l-6.687-.004v-6.853l-6.896-.036.026-6.606c.23-.359-.318-.151.618-.281l12.939.006v-6.887l-13.583-.003v-6.855l-6.896-.036v-6.851l-13.793-.026.008-6.621c.282-.265-.201-.154.634-.279l12.941.009v-3.444c0-.862-.226-2.554.246-3.238l6.013-.035c1.007.117.36-.12.638.253l-.001 6.464H200l-.002-13.775-6.687-.004v-6.854l-7.106-.031v6.89l-6.686-.005.008-13.5c.315-.248-.091-.292 1.503-.275l5.175.005-.005-6.035c.146-1.143-.053-.197.258-.629l5.139-.046c1.847-.02 1.3-.03 1.505.246v6.464H200l-.002-13.775h-20.689V68.92l-6.687-.004V62.06l-6.896-.036v-6.851l-20.689-.032V27.625l-20.69-.032.009-6.615c.282-.265-.201-.154.633-.279l12.942.009v-6.887h-13.793v6.887l-6.687-.004.009-13.5c.31-.245-.301-.14.633-.28l6.045.01V.045h-6.897v6.887l-6.687-.004.001-6.853c-2.231-.004-20.322-.212-20.9.077v13.668l-6.686-.005V.168c-1.027-.02-6.584-.292-7.106-.015v6.78h-6.897v6.888l-6.686-.005V.168l-7.106-.13.001 20.88H75.84l.03 6.887h6.863l.027 20.452Z' clip-rule='evenodd'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	right: 70px;
	bottom: 65px;
	width: 140px;
	height: 140px;
}

/* ========== MAP CANVAS ========== */
.map__placeholder {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
.map__placeholder #floors {
	width: 100% !important;
	height: 100% !important;
	position: relative;
	overflow: hidden;
}
.map__placeholder #floors.is-map-loading::after {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.18s ease;
}
.map__placeholder #floors.is-floor-switching::after {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition: opacity 0.18s ease;
}
.map__placeholder #floors .floor {
	display: none;
	width: 100%;
	height: 100%;
}
.map__placeholder #floors .floor.active {
	display: block;
}
.map__placeholder #floors .floor > svg {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	touch-action: none;
}
.map__placeholder #floors .floor > svg > .kiosk-pan-surface {
	fill: transparent;
	stroke: transparent;
	pointer-events: all;
	cursor: grab;
}
.map__placeholder #floors .floor > svg > .kiosk-pan-surface:active {
	cursor: grabbing;
}
.map__placeholder #floors svg text {
	line-height: 1.6;
	fill: #757575;
	font-weight: 500;
	text-anchor: middle;
	dominant-baseline: middle;
	stroke: none;
	pointer-events: none;
}
.map__placeholder #floors svg .map_g_item {
	cursor: pointer;
}
.map__placeholder #floors svg .map_g_item:hover text {
	fill: #fff;
}
.map__placeholder #floors svg .map_g_item.active text {
	fill: #fff;
}
.map__placeholder #floors svg image.icon_active {
	display: none;
}
.map__placeholder #floors svg .active image {
	display: none;
}
.map__placeholder #floors svg .active image.icon_active {
	display: block;
}
.map__placeholder .entry.active path {
	stroke: #41b79a;
}
.map__placeholder .toilet.active path {
	stroke: #41b79a;
}
.map__placeholder .lift.active path {
	stroke: #41b79a;
}
.map__placeholder .elevator.active path {
	stroke: #41b79a;
}
.map__placeholder .escalator.active path {
	stroke: #41b79a;
}
.map__placeholder .escalator_45.active path {
	stroke: #41b79a;
}
.map__placeholder .escalator_90.active path {
	stroke: #41b79a;
}
.map__placeholder .escalator_0.active path {
	stroke: #41b79a;
}
.map__placeholder .travelator.active path {
	stroke: #41b79a;
}
.map__placeholder .free.active path {
	stroke: #41b79a;
}
.map__placeholder .motherRoom.active path,
.map__placeholder .mother.active path,
.map__placeholder .mother-room.active path {
	stroke: #41b79a;
}
.map__placeholder .cash.active path,
.map__placeholder .bank.active path,
.map__placeholder .atm.active path {
	stroke: #41b79a;
}
.map__placeholder .invalid.active path {
	stroke: #41b79a;
}
.map__placeholder #floors svg g.map_g_item {
	fill: #FCFCFC;
	stroke: #C2C2C2;
	cursor: pointer;
	pointer-events: all;
	transition: fill .25s ease-in-out, stroke .25s ease-in-out;
}
.map__placeholder #floors svg g[id^="gm_"] {
	fill: #FCFCFC;
	stroke: #C2C2C2;
	cursor: pointer;
	pointer-events: all;
	transition: fill .25s ease-in-out, stroke .25s ease-in-out;
}
.map__placeholder #floors svg g[data-map_id^="object_"].notMark > path {
	fill: #E6E6E6 !important;
	stroke: #CFCFCF !important;
	stroke-width: 3.2px;
}
.map__placeholder #floors svg g.map_g_item > text {
	fill: #757575;
	pointer-events: none;
	transition: fill .25s ease-in-out;
}
.map__placeholder #floors svg g[id^="gm_"] > text {
	fill: #757575;
	pointer-events: none;
	transition: fill .25s ease-in-out;
}
.map__placeholder #floors svg g.map_g_item:hover > text {
	fill: #fff !important;
}
.map__placeholder #floors svg g[id^="gm_"]:hover > text {
	fill: #fff !important;
}
.map__placeholder #floors svg g.map_g_item.active > text {
	fill: #fff !important;
}
.map__placeholder #floors svg g[id^="gm_"].active > text {
	fill: #fff !important;
}
.map__placeholder #floors svg g.map_g_item:hover > g path {
	fill: #fff !important;
}
.map__placeholder #floors svg g[id^="gm_"]:hover > g path {
	fill: #fff !important;
}
.map__placeholder #floors svg g.map_g_item.active > g path {
	fill: #fff !important;
}
.map__placeholder #floors svg g[id^="gm_"].active > g path {
	fill: #fff !important;
}
.map__placeholder #floors svg g[id^="logo_"] path {
	fill: #56585D;
	stroke: none;
}
.map__placeholder #floors svg g.notMark.entry {
	pointer-events: none;
}
.map__placeholder #floors svg g.escalator {
	pointer-events: none;
}
.map__placeholder #floors svg g.escalator_0 {
	pointer-events: none;
}
.map__placeholder #floors svg g.escalator_45 {
	pointer-events: none;
}
.map__placeholder #floors svg g.escalator_90 {
	pointer-events: none;
}
.map__placeholder #floors svg g.travelator {
	pointer-events: none;
}
#floors .kiosk-route-point {
	pointer-events: none;
}
#floors .pathPoint {
	pointer-events: none;
}
#floors g.navigation {
	display: none !important;
}
#floors .startPoint {
	pointer-events: none;
}
#floors .icon_startPoint {
	pointer-events: none;
}
.map--view-2d .map__placeholder #floors .floor > svg {
	filter: saturate(.9) contrast(1.02);
}
.map__placeholder {
	position: absolute;
	inset: 0;
	pointer-events: none;
	overflow: hidden;
	background: transparent;
}
.map__placeholder #floors::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 30;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.18s ease, visibility 0s linear 0.18s;
	background: var(--gudok-bg);
}
.map__placeholder #floors svg g.map_g_item > path {
	cursor: pointer;
	pointer-events: all;
	transition: fill .25s ease-in-out, stroke .25s ease-in-out;
	fill: #fbfbfb !important;
	stroke: #c9c9c9 !important;
}
.map__placeholder #floors svg g[id^="gm_"] > path {
	cursor: pointer;
	pointer-events: all;
	transition: fill .25s ease-in-out, stroke .25s ease-in-out;
	fill: #E6E6E6 !important;
	stroke: #CFCFCF !important;
	stroke-width: 3.2px;
}
.map__placeholder #floors svg g.map_g_item > polygon {
	cursor: pointer;
	pointer-events: all;
	transition: fill .25s ease-in-out, stroke .25s ease-in-out;
	fill: #fbfbfb !important;
	stroke: #c9c9c9 !important;
}
.map__placeholder #floors svg g[id^="gm_"] > polygon {
	cursor: pointer;
	pointer-events: all;
	transition: fill .25s ease-in-out, stroke .25s ease-in-out;
	fill: #fbfbfb !important;
	stroke: #c9c9c9 !important;
}
.map__placeholder #floors svg g.map_g_item:hover > path {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
.map__placeholder #floors svg g[id^="gm_"]:hover > path {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
.map__placeholder #floors svg g.map_g_item.active > path {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
.map__placeholder #floors svg g[id^="gm_"].active > path {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
.map__placeholder #floors svg g.map_g_item:hover > polygon {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
.map__placeholder #floors svg g[id^="gm_"]:hover > polygon {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
.map__placeholder #floors svg g.map_g_item.active > polygon {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
.map__placeholder #floors svg g[id^="gm_"].active > polygon {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
}
#floors .kiosk-route-line {
	fill: none !important;
	pointer-events: none;
	stroke-linecap: butt !important;
	stroke-linejoin: miter !important;
	stroke-miterlimit: 10 !important;
	stroke-dasharray: 18 12 !important;
	opacity: 1;
}
#floors .kiosk-route-line--outer {
	display: none !important;
}
#floors .kiosk-route-line--gap {
	stroke: #FEFEFE !important;
	stroke-width: 14.4 !important;
}
#floors .kiosk-route-line--main {
	stroke: #D62198 !important;
	stroke-width: 7.2 !important;
}
#floors .kiosk-route-point {
	display: none !important;
}

/* ========== CLOSE BUTTON ========== */
.closeBtn:active {
	background-color: #585858;
	color: #fff;
}
.closeBtn:active::before {
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' fill='none' viewBox='0 0 17 17'%3e%3cpath fill='%23fff' d='M14.28.467a1.593 1.593 0 1 1 2.253 2.253l-5.78 5.78 5.78 5.78a1.594 1.594 0 1 1-2.254 2.253L8.5 10.753l-5.78 5.78A1.593 1.593 0 1 1 .467 14.28L6.247 8.5.466 2.72A1.593 1.593 0 1 1 2.72.467l5.78 5.78 5.78-5.78Z'/%3e%3c/svg%3e");
}
.closeBtn {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	right: -20px;
	top: -20px;
	aspect-ratio: 1;
	text-align: center;
	width: 70px;
	height: 70px;
	padding-top: 37px;
	border-radius: 0 10px 10px 0;
	background: #7c7c7c;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	color: #fff;
}
.closeBtn::before {
	aspect-ratio: 1;
	flex: none;
	transition: .25s all ease-in-out;
	content: "";
	position: absolute;
	left: 20px;
	top: 20px;
	width: 27px;
	height: 3px;
	border-radius: 2px;
	background: #fff;
	transform: rotate(45deg);
}
.closeBtn::after {
	content: "";
	position: absolute;
	left: 20px;
	top: 20px;
	width: 27px;
	height: 3px;
	border-radius: 2px;
	background: #fff;
	transform: rotate(-45deg);
}

/* ========== SHOP MODAL ========== */
.map__shopModal.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.map__shopModalInfo.is-left-empty {
	grid-template-columns: minmax(0, 1fr);
}
.map__shopModalInfo.is-right-empty {
	grid-template-columns: minmax(0, 1fr);
}
.map__shopModalInfoRight {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 4px;
}
.map__shopModalInfoLeft {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 8px;
}
.map__shopModalInfoItem--place {
	font-weight: 700;
}
.map__shopModalInfoItem::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 17px;
	height: 17px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.map__shopModalInfoItem--place::before {
	top: 4px;
	width: 13px;
	height: 19px;
	background-image: url("/local/templates/gudok/assets/img/productPage__contentInfoItem1.png");
}
.map__shopModalInfoItem--time::before {
	width: 16px;
	height: 16px;
	background-image: url("/local/templates/gudok/assets/img/productPage__contentInfoItem3.png");
}
.map__shopModalGallery {
	position: relative;
	display: none;
}
.map__shopModalGalleryViewport {
	width: 100%;
	overflow: hidden;
}
.map__shopModalGalleryTrack {
	display: flex;
	gap: 10px;
	transition: transform 0.3s ease;
	will-change: transform;
}
.map__shopModalGalleryItem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.map__shopModalGalleryArrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 54px;
	height: 54px;
	border-radius: 4px;
	background: #ffffff;
	filter: drop-shadow(0px 5px 8px rgba(0, 0, 0, 0.08));
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 22px 22px;
	outline: none;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.map__shopModalGalleryArrow--next {
	right: -34px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='25' height='18' fill='none' viewBox='0 0 25 18'%3e%3cpath fill='%23000' d='M16.006.293 24.713 9l-8.707 8.707-1.414-1.414L20.885 10H0V8h20.885l-6.293-6.293L16.006.293Z'/%3e%3c/svg%3e");
}
.map__shopModalGalleryArrow--prev {
	left: -34px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='25' height='18' fill='none' viewBox='0 0 25 18'%3e%3cpath fill='%23000' d='M8.994.293.287 9l8.707 8.707 1.414-1.414L4.115 10H25V8H4.115l6.293-6.293L8.994.293Z'/%3e%3c/svg%3e");
}
.map__shopModalRouteBtn:active {
	transform: translateY(1px);
	background-color: #d41472;
}
.map__shopModal.active.is-photo-open {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.map__shopModal.is-summary .map__shopModalInner {
	width: 460px;
	padding: 55px;
}
.map__shopModal.is-summary .map__shopModalTitle {
	margin-bottom: 30px;
}
.map__shopModal.is-summary .map__shopModalSummary {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.map__shopModal.is-summary .map__shopModalDetails {
	display: none;
}
.map__shopModal.is-summary .map__shopModalRouteBtn {
	width: 100%;
	margin: 0;
}
.map__shopModal.is-details .map__shopModalSummary {
	display: none;
}
.map__shopModal.is-details .map__shopModalDetails {
	display: block;
}
.map__shopModalDescriptionBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	width: 100%;
	height: 68px;
	border-radius: 10px;
	background: #dddddd;
	font-size: 20px;
	color: #777777;
	font-weight: 700;
	text-align: center;
	outline: none;
}
.map__shopModalDescriptionBtn::after {
	content: "";
	width: 31px;
	height: 22px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='31' height='22' fill='none' viewBox='0 0 31 22'%3e%3cpath stroke='%23777' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='M1.5 11S6.4 2 15.5 2s14 9 14 9-4.9 9-14 9-14-9-14-9Z'/%3e%3ccircle cx='15.5' cy='11' r='4.5' stroke='%23777' stroke-width='2.2'/%3e%3c/svg%3e");
}
.map__shopModalRouteBtn:disabled {
	opacity: 0.55;
	pointer-events: none;
}
.map__shopModalDescriptionBtn:disabled {
	opacity: 0.55;
	pointer-events: none;
}
.map__shopModalDescriptionBtn:active {
	transform: translateY(1px);
	background-color: #d2d2d2;
}
.map__shopModalGalleryItem {
	flex: 0 0 calc((100% - 30px) / 4);
	width: calc((100% - 30px) / 4);
	aspect-ratio: 1;
	border-radius: 4px;
	overflow: hidden;
	background: #f1f1f1;
	outline: none;
	padding: 0;
	cursor: pointer;
}
.map__shopModal.is-loading .map__shopModalInner {
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.map__shopModal.is-loading .map__shopModalTitle {
	display: none;
}
.map__shopModal.is-loading .map__shopModalSummary {
	display: none;
}
.map__shopModal.is-loading .map__shopModalDetails {
	display: none;
}
.map__shopModal.is-loading .map__shopModalInner::before {
	content: "";
	width: 58px;
	height: 58px;
	border: 5px solid rgba(124, 54, 239, .16);
	border-top-color: var(--gudok-purple);
	border-radius: 50%;
	animation: shopModalLoaderRotate 0.75s linear infinite;
}
.map__shopModalInfoRight:empty {
	display: none;
}
.map__shopModalTags:empty {
	display: none;
}
.map__shopModalGalleryTrack:empty {
	display: none;
}
.map__shopModalGalleryArrow.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.map__shopModal {
	position: fixed;
	z-index: 120;
	display: flex;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease,
		visibility 0.25s ease;
	top: 70px;
	right: 210px;
	align-items: flex-start;
	justify-content: flex-end;
}
.map__shopModalInner {
	position: relative;
	background: #ffffff;
	filter: drop-shadow(0px 5px 8px rgba(0, 0, 0, 0.08));
	width: 660px;
	max-height: 675px;
	padding: 52px 72px 66px;
	border-radius: 10px;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .2);
}
.map__shopModal.is-details .map__shopModalInner {
	width: 660px;
	max-height: none;
	padding: 52px 72px 66px;
	border-radius: 12px;
	box-shadow: 0 16px 34px rgba(0, 0, 0, .2);
	overflow: visible;
}
.map__shopModalClose {
	right: 0px;
	top: -20px;
	border-radius: 10px;
}
.map__shopModalClose::before {
	left: 22px;
}
.map__shopModalClose::after {
	left: 22px;
}
.map__shopModalTitle {
	color: #000000;
	font-weight: 700;
	margin-bottom: 24px;
	font-size: 38px;
	line-height: 1.15;
}
.map__shopModalInfo {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-bottom: 30px;
}
.map__shopModalInfoItem {
	color: #000000;
	padding-left: 32px;
	position: relative;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 600;
}
.map__shopModalPhone,
.map__shopModalSite {
	position: relative;
	display: block;
	max-width: 100%;
	padding-left: 32px;
	font-size: 21px;
	line-height: 1.3;
	font-weight: 600;
	color: #000;
}
.map__shopModalPhone::before,
.map__shopModalSite::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 17px;
	height: 17px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.map__shopModalPhone::before {
	width: 16px;
	height: 16px;
	background-image: url("/local/templates/gudok/assets/img/productPage__contentInfoItem2.png");
}
.map__shopModalSite {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.map__shopModalSite::before {
	background-image: url("/local/templates/gudok/assets/img/productPage__contentInfoItem4.png");
}
.map__shopModalTags {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 26px;
}
.map__shopModalTag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	background: #ffffff;
	color: #000000;
	font-weight: 500;
	text-align: center;
	padding: 8px 18px;
	border: 1px solid #d0d0d0;
	border-radius: 5px;
	font-size: 16px;
}
.map__shopModalText {
	max-width: 530px;
	color: #272727;
	font-weight: 400;
	margin-bottom: 45px;
	font-size: 18px;
	line-height: 1.55;
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 5;
	line-clamp: 5;
}
.map__shopModalRouteBtn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	color: #ffffff;
	font-weight: 700;
	text-align: center;
	outline: none;
	width: 330px;
	height: 68px;
	margin: 22px auto 0;
	border-radius: 10px;
	background: linear-gradient(90deg, #ed1663, #ed176e);
	font-size: 19px;
}
.map__shopModalRouteBtn::after {
	content: "";
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='28' height='32' fill='none' viewBox='0 0 28 32'%3e%3cpath fill='%23fff' fill-rule='evenodd' d='M4.4 2.462c-1.105 0-2 .918-2 2.05 0 1.134.895 2.052 2 2.052s2-.918 2-2.051-.895-2.051-2-2.051ZM0 4.512C0 2.02 1.97 0 4.4 0c2.014 0 3.712 1.388 4.234 3.282H21.2c3.756 0 6.8 3.123 6.8 6.974 0 3.852-3.044 6.975-6.8 6.975H6.8c-2.43 0-4.4 2.02-4.4 4.513 0 2.492 1.97 4.512 4.4 4.512h17.103l-1.151-1.18a1.253 1.253 0 0 1 0-1.741 1.179 1.179 0 0 1 1.697 0l3.2 3.282c.468.48.468 1.26 0 1.74l-3.2 3.283c-.47.48-1.229.48-1.698 0a1.253 1.253 0 0 1 0-1.741l1.152-1.181H6.8c-3.756 0-6.8-3.123-6.8-6.974 0-3.852 3.044-6.975 6.8-6.975h14.4c2.43 0 4.4-2.02 4.4-4.513 0-2.492-1.97-4.512-4.4-4.512H8.634C8.112 7.638 6.414 9.026 4.4 9.026c-2.43 0-4.4-2.02-4.4-4.513Z' clip-rule='evenodd'/%3e%3c/svg%3e");
	width: 34px;
	height: 34px;
}
.map__shopModalSummary {
	display: none;
}
.map__shopModalDetails {
	display: none;
}

/* ========== PHOTO MODAL ========== */
.map__shopPhotoModal {
	position: fixed;
	top: 60px;
	right: 188px;
	z-index: 130;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease,
		visibility 0.25s ease;
}
.map__shopPhotoModal.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.map__shopPhotoModalInner {
	position: relative;
	width: 730px;
	padding: 55px 80px 70px;
	border-radius: 8px;
	background: #ffffff;
	filter: drop-shadow(0px 5px 8px rgba(0, 0, 0, 0.08));
}
.map__shopPhotoModalClose {
	right: -15px;
	top: -20px;
}
.map__shopPhotoModalTitle {
	margin-bottom: 32px;
	font-size: 45px;
	line-height: 1.2;
	color: #000000;
	font-weight: 700;
}
.map__shopPhotoModalStage {
	position: relative;
}
.map__shopPhotoModalImageWrap {
	width: 100%;
	aspect-ratio: 1;
	border-radius: 5px;
	overflow: hidden;
	background: #f8f8f8;
}
.map__shopPhotoModalImage {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.map__shopPhotoModalArrow {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 54px;
	height: 54px;
	border-radius: 4px;
	background-color: #ffffff;
	filter: drop-shadow(0px 5px 8px rgba(0, 0, 0, 0.08));
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 25px 18px;
	outline: none;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}
.map__shopPhotoModalArrow.is-hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}
.map__shopPhotoModalArrow--prev {
	left: -34px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='25' height='18' fill='none' viewBox='0 0 25 18'%3e%3cpath fill='%23000' d='M8.994.293.287 9l8.707 8.707 1.414-1.414L4.115 10H25V8H4.115l6.293-6.293L8.994.293Z'/%3e%3c/svg%3e");
}
.map__shopPhotoModalArrow--next {
	right: -34px;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='25' height='18' fill='none' viewBox='0 0 25 18'%3e%3cpath fill='%23000' d='M16.006.293 24.713 9l-8.707 8.707-1.414-1.414L20.885 10H0V8h20.885l-6.293-6.293L16.006.293Z'/%3e%3c/svg%3e");
}

/* ========== ROUTE ========== */
.map__route.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateX(0);
}
.map__routeStep.active .map__routeFloor {
	border-color: #ad45ee;
	color: #fff;
	background: transparent;
}
.map__routeStep.active .map__routeStepTitle {
	color: #fff;
}
.map__routeTransition {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #777;
	font-size: 15px;
	line-height: 1.2;
	font-weight: 700;
}
.map__routeTransitionIcon {
	flex: none;
	width: 31px;
	height: auto;
	aspect-ratio: 1.192308;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='31' height='26' fill='none' viewBox='0 0 31 26'%3e%3cpath fill='%23676768' d='M18.806.03c1.017.157 2.004.855 2.464 1.741.2.39.406 1.189.406 1.591a3.67 3.67 0 0 1-.969 2.434c-1.61 1.672-4.287 1.22-5.268-.893-.363-.774-.435-1.39-.272-2.201.254-1.245 1.272-2.34 2.422-2.597.46-.107.878-.132 1.217-.076Zm-6.424 20.002c3.094 2.912 5.776 5.433 5.952 5.597l.326.308H14.29l-5.794-5.446c-3.191-3-5.867-5.514-5.952-5.596l-.151-.151H6.75l5.63 5.288Zm3.42-5.414 7.03 6.603H31V26h-9.566l-6.994-6.571-6.993-6.571H0V8.015h8.773l7.03 6.602Zm3.064-6.791c1.15.176 2.174.968 2.689 2.056.345.748.363.912.363 4.565 0 1.83-.024 3.314-.049 3.302-.03-.013-1.622-1.49-3.541-3.289-3.942-3.697-3.621-3.308-3.355-4.125.382-1.163 1.356-2.126 2.434-2.402.479-.126 1.078-.17 1.46-.107Z'/%3e%3c/svg%3e");
}
.map__route {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 80;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateX(-24px);
	transition: opacity 0.25s ease,
		visibility 0.25s ease,
		transform 0.25s ease;
	width: 440px;
	background: #ebebeb;
}
.map__routePanel {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 62px 54px;
}
.map__routeClose {
	z-index: 5;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	right: -70px;
	top: 220px;
}
.map__routeTitle {
	color: #010101;
	font-weight: 700;
	margin-bottom: 8px;
	font-size: 27px;
}
.map__routeText {
	color: #676768;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.35;
}
.map__routeList {
	display: flex;
	flex-direction: column;
	margin-top: 30px;
	position: relative;
	gap: 26px;
	padding-left: 38px;
}
.map__routeList::before {
	content: "";
	position: absolute;
	left: 13px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: #c8c8c8;
}
.map__routeStep {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	filter: drop-shadow(0px 5px 8px rgba(0,0,0,0.08));
	background-color: #fff;
	text-align: left;
	outline: none;
	position: relative;
	min-height: 124px;
	padding: 28px 30px;
	border-radius: 13px;
	box-shadow: 0 7px 18px rgba(0, 0, 0, .12);
}
.map__routeStep::before {
	content: "";
	position: absolute;
	left: -47px;
	top: 50%;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #bbb;
	transform: translateY(-50%);
}
.map__routeStep.active {
	color: #fff;
	background: #7037e1;
}
.map__routeStep.active::before {
	background: #ab3fef;
}
.map__routeFloor {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 110px;
	height: 35px;
	margin-bottom: 14px;
	font-weight: 500;
	text-align: center;
	padding: 4px 17px;
	border: 2px solid var(--gudok-violet);
	border-radius: 20px;
	font-size: 16px;
	color: var(--gudok-violet);
}
.map__routeStepTitle {
	color: #000;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.25;
}
.map__routeTransitionText {
	display: block;
	color: #676768;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.25;
}
.map__routeError {
	padding: 22px;
	border: 2px solid rgba(227, 49, 20, .25);
	border-radius: 12px;
	font-weight: 500;
	line-height: 1.25;
	font-size: 18px;
	color: var(--gudok-pink);
	border-color: rgba(217, 45, 152, .28);
}

/* @media (max-width: 1600px), (max-height: 850px) {
	.map {
		--map-sidebar-width: 360px;
		--map-sidebar-padding: 30px 42px 34px 46px;
		--map-sidebar-submenu-width: 230px;
	}
	.map__scroll {
		width: 60px;
		height: 60px;
	}
	.map__menuBtn {
		gap: 13px;
		padding: 9px 13px;
		font-size: 16px;
	}
	.map__menuIcon {
		flex-basis: 40px;
		width: 40px;
		height: 40px;
	}
	.map_controlsLeft {
		top: 36px;
		bottom: 34px;
	}
	.map_controlsRight {
		right: 40px;
		top: 36px;
		bottom: 34px;
	}
	.map__searchInputWrap {
		width: 390px;
	}
	.map__searchInputWrap input {
		height: 64px;
		font-size: 18px;
	}
	.map__searchBody {
		grid-template-columns: 280px 760px;
	}
	.map__searchSuggest {
		min-height: 420px;
		padding: 34px 20px 30px 34px;
	}
	.map__searchSuggestList {
		max-height: 350px;
	}
	.map__keyboardWrapper {
		width: 760px;
	}
	.kb-key {
		height: 49px;
		font-size: 17px;
	}
	.map__floors {
		width: 72px;
	}
	.map__home {
		width: 72px;
		background-size: 34px;
	}
	.map__floorBtn {
		height: 63px;
	}
	.map__floorBtnStage {
		font-size: 25px;
	}
	.map__floorBtnTitle {
		font-size: 11px;
	}
	.map__zoom {
		width: 72px;
		height: 132px;
	}
	.map__manage {
		gap: 18px;
	}
	.map__manageBtnIcon {
		width: 55px;
		height: 55px;
	}
	.map__manageBtnTitle {
		font-size: 12px;
	}
	.map__viewBtn {
		width: 60px;
		height: 60px;
		font-size: 20px;
	}
	.map__placeholder {
		inset: 85px 105px 90px 0;
	}
} */

@keyframes shopModalLoaderRotate {
    to {
        transform: rotate(360deg);
    }
}

/* SVG-объекты: убираем только наследуемую обводку карты.
   Собственные stroke внутри импортированного SVG сохраняются. */
.map__placeholder #floors svg g.svg_object,
.map__placeholder #floors svg g[data-svg_id] {
	stroke: none;
}

/* ========== PUBLISHED 3D MAP ========== */
/*
 * 3D живёт отдельным слоем и не меняет геометрию/размеры обычного #floors.
 * Переключатель только показывает нужный контейнер, поэтому существующий 2D
 * pan/zoom и расчёт безопасной области остаются нетронутыми.
 */
.map__placeholder #floors3d {
	position: absolute;
	inset: 0;
	display: none;
	width: 100%;
	height: 100%;
	overflow: hidden;
	pointer-events: auto;
	touch-action: none;
	user-select: none;
	-webkit-user-select: none;
}
.map[data-map-view="3d"] .map__placeholder #floors {
	display: none;
}
.map[data-map-view="3d"] .map__placeholder #floors3d {
	display: block;
}
.map[data-map-view="2d"] .map__placeholder #floors3d,
.map.map--view-2d .map__placeholder #floors3d {
	display: none;
}
.map__placeholder #floors3d .floor3d {
	display: none;
	width: 100%;
	height: 100%;
}
.map__placeholder #floors3d .floor3d.active {
	display: block;
}
.map__placeholder #floors3d .floor3d > svg {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	overflow: hidden;
	pointer-events: auto;
	touch-action: none;
	user-select: none;
	-webkit-user-select: none;
}

/* Магазины и физические части логических групп кликабельны целиком. */
.map__placeholder #floors3d [data-shop-id],
.map__placeholder #floors3d .map_g_item,
.map__placeholder #floors3d [data-editor-group],
.map__placeholder #floors3d [data-grow-group] {
	cursor: pointer;
	pointer-events: all;
}
.map__placeholder #floors3d [data-editor-group] > *,
.map__placeholder #floors3d [data-grow-group] > * {
	pointer-events: all;
}

/* Активный магазин использует фирменный розовый Gudok. */
.map__placeholder #floors3d .grow-bldg.active > polygon.bldg {
	fill: var(--gudok-pink) !important;
	stroke: var(--gudok-pink) !important;
	stroke-width: 0 !important;
}
.map__placeholder #floors3d .grow-bldg.active > polygon.grow-wall {
	fill: #c6268c !important;
	stroke: none !important;
}
.map__placeholder #floors3d .grow-bldg.active > polygon.grow-wall.kiosk-3d-wall--left {
	fill: #c6268c !important;
}
.map__placeholder #floors3d .grow-bldg.active > polygon.grow-wall.kiosk-3d-wall--right {
	fill: #ad217b !important;
}
.map__placeholder #floors3d .grow-bldg.active > text,
.map__placeholder #floors3d .grow-bldg.active > text tspan {
	fill: #fff !important;
	stroke: none !important;
}
.map__placeholder #floors3d .grow-bldg.active > image,
.map__placeholder #floors3d .grow-bldg.active > .grow-group-logo-fragment image {
	filter: brightness(0) invert(1) !important;
}
@media (hover:hover) and (pointer:fine) {
	.map__placeholder #floors3d [data-shop-id]:hover polygon,
	.map__placeholder #floors3d .map_g_item:hover polygon,
	.map__placeholder #floors3d [data-editor-group]:hover polygon,
	.map__placeholder #floors3d [data-grow-group]:hover polygon,
	.map__placeholder #floors3d .map-logical-hover polygon {
		filter: brightness(1.04);
	}
}

/* Сервисные фигуры из отдельного 2D workspace=3d. */
.map__placeholder #floors3d .kiosk-3d-service-layer {
	pointer-events: all;
}
.map__placeholder #floors3d .kiosk-3d-service-figure {
	cursor: pointer;
	pointer-events: all;
}
.map__placeholder #floors3d .kiosk-3d-service-figure image {
	cursor: pointer;
	pointer-events: all;
}
.map__placeholder #floors3d .kiosk-3d-service-figure image.icon_active {
	display: none;
}
.map__placeholder #floors3d .kiosk-3d-service-figure.active image:not(.icon_active) {
	display: none;
}
.map__placeholder #floors3d .kiosk-3d-service-figure.active image.icon_active {
	display: block;
}
.map__placeholder #floors3d .kiosk-3d-start-point {
	pointer-events: none;
}

/* Тот же визуальный маршрут, что и на 2D-карте. */
#floors3d .kiosk-route-line {
	fill: none !important;
	pointer-events: none;
	stroke-linecap: butt !important;
	stroke-linejoin: miter !important;
	stroke-miterlimit: 10 !important;
	stroke-dasharray: 18 12 !important;
	opacity: 1;
}
#floors3d .kiosk-route-line--outer {
	display: none !important;
}
#floors3d .kiosk-route-line--gap {
	stroke: #FEFEFE !important;
	stroke-width: 14.4 !important;
}
#floors3d .kiosk-route-line--main {
	stroke: #D62198 !important;
	stroke-width: 7.2 !important;
}
#floors3d .kiosk-3d-route-layer {
	pointer-events: none;
}
/* ========== /PUBLISHED 3D MAP ========== */

/* Служебные границы маршрута существуют в SVG только для расчёта графа. */
#floors .route-barrier,
#floors [data-route-barrier="1"] {
    opacity: 0 !important;
    pointer-events: none !important;
}



/* Service markers used to be display-only on some floors (notably escalators).
   Re-enable hit testing ONLY for editor-exported icon images, not route barriers. */
.map__placeholder #floors svg g.notMark:not(.startPoint) > image[id^="image_"] {
    pointer-events: all !important;
    cursor: pointer;
}

/* Explicit service shapes can be vector paths as well as SVG <image> icons. */
.map__placeholder #floors svg g.notMark:is(.toilet,.lift,.elevator,.escalator,.escalator_0,.escalator_45,.escalator_90,.travelator,.stairs,.motherRoom,.cash,.bank,.atm,.wardrobe,.cloakroom,.invalid,.free,.entry) > :is(path,polygon,rect,circle,ellipse) {
    pointer-events: all !important;
    cursor: pointer;
}

/* Route-to-service uses the existing lightweight shop summary without a shop description. */
.map__shopModal.is-service .map__shopModalDescriptionBtn {
    display: none !important;
}
.map__shopModal.is-service .map__shopModalSummary {
    gap: 0;
}

/* Directly selected custom 2D figures without a separate icon_active asset.
   Standard figures still use their existing menu-style active SVG image. */
.map__placeholder #floors svg g.notMark.kiosk-service-selected--fallback > image:not(.icon_active) {
    display: block !important;
    filter: drop-shadow(0 0 5px #41b79a) saturate(1.6);
}
.map__placeholder #floors svg g.notMark.kiosk-service-selected--fallback > :is(path, polygon, rect, circle, ellipse) {
    stroke: #41b79a !important;
}


@media (min-width: 1200px) and (max-width: 1600px) {
	.map__manageBtnTitle {
		font-size: 14px;
	}
	.map__manageBtnIcon::after {
		inset: 11px;
	}
	.map__manageBtnIcon {
		width: 50px;
		height: 50px;
	}
	.map__viewBtn {
		width: 55px;
		height: 55px;
		border-width: 4px;
		font-size: 18px;
	}
	.map_controlsLeft {
		left: 10px;
	}
	.map_controlsRight {
		right: 30px
	}
	.map__manage {
		right: -60px;
	}
	.map_controlsLeft {
		bottom: 30px;
		top: 30px;
	}
	.map__sidebar {
		padding: 30px 20px 30px 40px;
	}
	.map__searchInputWrap input {
		height: 66px;
	}
	.map__home {
		width: 70px;
		background-size: 32px;
	}
	.map__floors {
		width: 70px;
	}
	.map__zoom {
		width: 70px;
	}
	.map__floorBtnStage {
		font-size: 26px;
	}
	.map__floorBtnTitle {
		font-size: 12px;
	}
	.map__zoomBtn--in {
		background-size: 23px;
	}
	.map__zoomBtn--out {
		background-size: 17px;
	}
	.map__devLink {
		font-size: 12px;
	}
	.map__menuBtn {
		font-size: 16px;
	}
	.map__menuIcon {
		flex: 0 0 44px;
		width: 44px;
		height: 44px;
	}
	.map__scroll {
		width: 56px;
		height: 56px;
		background-size: contain;
		background-size: 21px auto;
	}
}