.salons-map {
	.text_box {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 9.7%;
		margin-bottom: 56px;
	}

	.map_box {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-gap: 9.7%;

		h2 {
			margin-bottom: 56px;
		}
	}

	.cities_wrapper {
		margin-top: 32px;
	}

	.city_box {
		display: none;

		&.active {
			display: block;
		}

		ul {
			display: flex;
			flex-direction: column;
			gap: 24px;
			max-height: 435px;
			overflow: auto;
		}

		li {
			padding: 16px;
			background-color: var(--white-100);
			border-radius: 16px;
			cursor: pointer;

			&.active {
				background-color: var(--green-50);
			}
		}

		h3 {
			margin-bottom: 8px;
		}

		.flex_row {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}

		.map_link {
			display: grid;
			grid-template-columns: 24px auto;
			grid-gap: 8px;
			color: var(--green-700);
		}

		p {
			margin-top: 8px;
		}
	}

	#map {
		aspect-ratio: 1 / .9;
		/* Keep Leaflet pane z-indexes (400+) inside the map so they don't cover the header */
		position: relative;
		z-index: 0;
		isolation: isolate;

		&.mt-50 {
			margin-top: 50px;
		}
	}

	@media(max-width: 1199px) {
		.text_box {
			grid-gap: 32px;
			margin-bottom: 24px;
		}

		.map_box {
			grid-gap: 40px;
			align-items: center;

			h2 {
				margin-bottom: 32px;
			}
		}

		#map.mt-50 {
			margin-top: 0;
		}
	}

	@media(max-width: 767px) {
		.text_box {
			grid-template-columns: 100%;
		}

		.map_box {
			grid-template-columns: 100%;
		}

		#map {
			order: -1;
		}

		.city_box {
			ul {
				max-height: 2000px;
			}
		}
	}
}