.ns-map-modal :where(h1, h2, h3, h4, h5, h6, p, img) {
	margin: 0;
	padding: 0;
}

/* MODAL */
.ns-map-modal {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(58, 63, 68, .7);
	width: 100%;
	height: 100%;
	position: fixed;
	opacity: 0;
	pointer-events: none;
	inset: 0;
	z-index: 30;
	padding: calc(var(--ns-header-height, 0) + 48px) 0 48px;
	transition-property: opacity;
	transition-duration: 0.5s;
	transition-timing-function: ease;
	box-sizing: border-box;
}

.ns-map-modal.ns-map-modal--opened {
	opacity: 1;
	pointer-events: auto;
}

.ns-map-modal__inner {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
	width: 1278px;
	height: 920px;
	max-height: calc(100% - 160px);
	background-color: #FFFFFF;
	border-radius: 24px;
	border: 1px solid #EBEDF1;
	color: #1F2023;
	padding: 60px 40px 40px;
	overflow: hidden;
	box-shadow: 0 10px 10px -5px rgba(0, 0, 0, .04);
	position: relative;
	box-sizing: border-box;
	margin-bottom: var(--ns-modal-offset-bottom, 0);
	box-sizing: border-box;
}

.ns-map-modal__close {
	display: block;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath stroke='%236A6F75' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m15 25 10-10m-10 0 10 10'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 1;
	cursor: pointer;
}

.ns-map-modal__content {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 40px;
	width: 100%;
	height: 100%;
}

.ns-map-modal__aside {
	flex: 1;
	max-width: 400px;
	height: auto;
}

.ns-map-modal__aside-step {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden auto;
	position: relative;
}

.ns-map-modal__aside-step--main:has(~ .ns-map-modal__aside-step--active),
.ns-map-modal__aside-step:not(.ns-map-modal__aside-step--active) {
	display: none;
}

.ns-map-modal__aside-step-back,
.ns-map-modal__map-back {
	flex-shrink: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 12px;
	width: 100%;
	height: 52px;
	background-color: #fff;
	border-bottom: 1px solid #9299A5;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	text-transform: lowercase;
	color: #9299A5;
	cursor: pointer;
	user-select: none;
	margin-bottom: 20px;
	position: sticky;
	top: 0;
	z-index: 1;
}

.ns-map-modal__aside-step-back::before,
.ns-map-modal__map-back::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%239ca3af' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M10 12 6 8l4-4'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
}

.ns-map-modal__aside-step .ns-order-modals__tabs {
	margin-bottom: 16px;
}

.ns-map-modal__aside-step .ns-order-modals__tabs .ns-order-modals__tabs-item {
	padding: 0 12px;
}

.ns-map-modal__aside-step .ns-order-modals__tabs .ns-order-modals__tabs-item-title {
	font-size: 14px;
}

/* MAP */

.ns-map-modal__map {

	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 16px;
	width: 100%;
	max-width: 758px;
	height: auto;
}

.ns-map-modal__map-back {
	display: none;
}

.ns-map-modal__map-widget {
	width: 100%;
	height: 100%;
	min-height: 302px;
	border-radius: 20px;
	overflow: hidden;
	flex-grow: 1;
}

.ns-map-modal__map-selected {
	display: none;
	background-color: #fff;
	border-radius: 12px;
	padding: 28px 16px 16px;
	box-shadow: 0 0 24px 0 rgba(18, 18, 18, .08);
	line-height: 1.333;
	position: relative;
	box-sizing: border-box;
}

.ns-map-modal__map-selected-close {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: 10px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath stroke='%236A6F75' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m15 25 10-10m-10 0 10 10'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	position: absolute;
	right: 8px;
	top: 8px;
	z-index: 1;
	cursor: pointer;
}

.ns-map-modal__map-selected-metro {
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 500;
	color: #9299A5;
}

.ns-map-modal__map-selected-head {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 6px;
	width: 100%;
}

.ns-map-modal__map-selected-head-title {
	font-size: 14px;
	font-weight: 600;
}

.ns-map-modal__map-selected-head-info {
	font-size: 12px;
	font-weight: 500;
	color: #9299A5;
}

.ns-map-modal__map-selected-actions {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 12px;
	margin-top: 22px;
}

.ns-map-modal__map-buttons {
	display: none;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 12px;
	width: calc(100% + 40px);
	background-color: #fff;
	border-top: 2px solid #ebedf1;
	padding: 24px 20px 0;
	margin-left: -20px;
	margin-right: -20px;
	position: sticky;
	bottom: 0;
	z-index: 1;
	box-sizing: border-box;
	box-shadow:
		0 -25px 50px 0 rgba(255, 255, 255, 1),
		0 50px 0 0 #fff;
}







/* METRO */
.ns-map-modal__metro {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 8px;
}

.ns-map-modal__metro::before {
	flex-shrink: 0;
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background-color: var(--branch-color);
}

/* STEP STORE */
.ns-map-modal__store {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 32px;
	width: 100%;
}

.ns-map-modal__store-head {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 20px;
	width: 100%;
}

.ns-map-modal__store-head-title {
	font-size: 24px;
	font-weight: 600;
	line-height: 1.5;
}

.ns-map-modal__store-search {
	display: block;
	width: 100%;
	height: 52px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	background-color: #F6F7F9;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3E%3Cpath fill='%239299a5' d='M3.89 10.446a6.63 6.63 0 0 1 6.624-6.624 6.63 6.63 0 0 1 6.624 6.624 6.55 6.55 0 0 1-1.361 4.01l4.059 4.084a.95.95 0 0 1 .274.68c0 .556-.39.98-.955.98a.98.98 0 0 1-.705-.282l-4.084-4.093a6.57 6.57 0 0 1-3.852 1.245 6.63 6.63 0 0 1-6.624-6.624m1.42 0a5.21 5.21 0 0 0 5.204 5.205 5.21 5.21 0 0 0 5.205-5.205 5.21 5.21 0 0 0-5.205-5.204 5.21 5.21 0 0 0-5.204 5.204'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: 24px auto;
	background-position: calc(100% - 16px) center;
	border: none !important;
	outline: none !important;
	border-radius: 10px;
	padding: 15px 48px 15px 16px;
	box-sizing: border-box;
}

.ns-map-modal__store-list {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 10px;
	width: 100%;
	height: 100%;
}

.ns-map-modal__store-item {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	width: 100%;
	background-color: #fff;
	border-radius: 10px;
	padding: 16px;
	transition: background-color .3s ease;
	user-select: none;
	cursor: pointer;
	box-sizing: border-box;
}

.ns-map-modal__store-item:hover {
	background-color: #F3F4F6;
}

.ns-map-modal__store-item-metro {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.7;
	color: #9299A5;
	margin-bottom: 10px;
}

.ns-map-modal__store-item-name {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
}

.ns-map-modal__store-item-info {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #9299A5;
}

.ns-map-modal__store-buttons {
	display: none;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	background-color: #fff;
	border-top: 2px solid #ebedf1;
	gap: 12px;
	width: calc(100% + 40px);
	padding: 24px 0 0;
	margin-left: -20px;
	margin-right: -20px;
	position: sticky;
	bottom: 0;
	left: 0;
	z-index: 1;
	margin-top: auto;
	box-sizing: border-box;
	box-shadow:
		0 -25px 50px 0 rgba(255, 255, 255, 1),
		0 50px 0 0 #fff;
}

/* SELECT */
.ns-map-modal__select {
	display: block;
	width: 100%;
}

.ns-map-modal__select-head {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 10px;
	width: 100%;
	margin-bottom: 16px;
}

.ns-map-modal__select-head-title {
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
}

.ns-map-modal__select-head-metro {
	font-size: 14px;
	font-weight: 500;
	color: #9299A5;
}

.ns-map-modal__select-info {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 6px;
	width: 100%;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.25;
	color: #9299A5;
}

.ns-map-modal__select-info p {
	margin: 0;
	padding: 0;
}

.ns-map-modal__select-info a {
	color: inherit;
	text-decoration: none;
}

.ns-map-modal__select-info a:hover {
	text-decoration: underline;
}

.ns-map-modal__select-actions {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	gap: 16px;
	width: 100%;
	margin-top: 32px;
}

.ns-map-modal__select-actions-title {
	font-weight: 600;
	font-size: 18px;
	line-height: 1.7;
	color: #1f2023;
}

.ns-map-modal__select-actions-row {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	gap: 12px;
	width: 100%;
}

/* BUTTONS */

/* BUTTONS STORE */
.ns-map-modal__store-button {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	height: 52px;
	background-color: #FFE7E7;
	border-radius: 10px;
	cursor: pointer;
	user-select: none;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #E00E1A;
	transition: .3s ease;
	transition-property: background-color, color;
	outline: none;
	border: none;
}

.ns-map-modal__store-button--secondary {
	background-color: #E00E1A;
	color: #fff;
}

.ns-map-modal__store-button--secondary:disabled {
	background-color: #F3F4F6;
	color: #1F2023;
}




/* BUTTONS SELECT */
.ns-map-modal__select-button {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 12px;
	width: 100%;
	height: 52px;
	background-color: #f3f4f6;
	border-radius: 10px;
	cursor: pointer;
	user-select: none;
	font-family: inherit;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: #1f2023;
	transition: .3s ease;
	transition-property: background-color, color;
	outline: none;
	border: none;
}

.ns-map-modal__select-button:hover {
	background-color: #eaecf0;
}

.ns-map-modal__select-button>span>span {
	color: #9299a5;
}

.ns-map-modal__select-button svg,
.ns-map-modal__select-button img {
	width: 20px;
	height: 20px;
}

.ns-map-modal__select-button.ns-map-modal__select-button--selected {
	background-color: #e00e1a;
	color: #fff;
}

.ns-map-modal__select-button.ns-map-modal__select-button--selected>span>span {
	color: #F3F4F6;
}

/* ADAPTIVE */

@media (max-width: 991px) {

	/* ASIDE */
	.ns-map-modal__aside-step {
		overflow: visible;
	}

	/* STORE */
	.ns-map-modal__store-buttons {
		display: flex;
		padding: 24px 20px 0;
	}

	/* MODAL */
	.ns-map-modal {
		padding: 0;
		align-items: flex-start;
		z-index: 9999;
	}

	.ns-map-modal__inner {
		width: 100%;
		height: 100%;
		max-height: 100%;
		border-radius: 0;
		gap: 10px;
		padding: 0;
		transform: translateY(100%);
		transition: transform 0.6s ease;
		overflow: hidden auto;
	}

	.ns-map-modal--opened .ns-map-modal__inner {
		transform: translateY(0);
	}

	.ns-map-modal__content {
		display: block;
		width: 100%;
		overflow: hidden auto;
		padding: 36px 20px 24px;
		box-sizing: border-box;
	}

	.ns-map-modal__close {
		width: 48px;
		height: 48px;
		right: 8px;
		top: 8px;
		z-index: 2;
	}

	.ns-map-modal__aside,
	.ns-map-modal__map {
		width: 100%;
		max-width: 100%;
	}

	/* MAP */

	.ns-map-modal__map {
		display: none;
		overflow: visible;
	}

	.ns-map-modal__map--opened {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		height: 100%;
	}

	.ns-map-modal:has(.ns-map-modal__map--opened) .ns-map-modal__aside {
		display: none !important;
	}

	.ns-map-modal__map-buttons {
		display: flex;
	}

	.ns-map-modal__map-back {
		display: flex;
	}

	.ns-map-modal__map-selected.ns-map-modal__map-selected--opened {
		display: block;
	}

	.ns-map-modal__map--opened .ns-map-modal__map-buttons{
		display: none;
	}

	/*  */
	.ns-map-modal__aside-step-back,
	.ns-map-modal__map-back {
		box-shadow:
			-50px 0 0 0 #fff,
			50px 0 0 0 #fff,
			0 -50px 0 0 #fff;
	}
}


.hint {
	max-width: 250px;
	width: 240px;
	background: white;
	border-radius: 8px;
	padding: 8px 12px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);

	text-align: left;

}

.hint_adress {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
}

.hint_time {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	color: #9299A5;
}

.custom-balloon {
	width: 300px;
	background-color: #fff;
	border-radius: 12px;
	padding: 28px 16px 16px;
	box-shadow: 0 0 24px 0 rgba(18, 18, 18, .08);
	position: relative;
	margin: 0;
}

.custom-balloon__tail {
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #fff;
}
.custom-balloon__close {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 20px;
	height: 20px;
	cursor: pointer;
	z-index: 1;
}



/* Переопределение стандартных стилей */
.ymaps-2-1-79-balloon__layout {
	border-radius: 12px !important;
	overflow: hidden !important;
}

.ymaps-2-1-79-balloon__content {
	margin: 0 !important;
	padding: 0 !important;
}

.ymaps-2-1-79-balloon__tail {

	left: 50%!important;

}