.salon-section {
	--sl-dark: #1f2d3d;
	--sl-accent: #b08d57;
	--sl-bg: #f4f4f4;
	--sl-border: #dcdcdc;
	font-family: 'Montserrat', system-ui, Arial, sans-serif;
	background: #fff;
	color: #3a3a3a;
	-webkit-margin-after: clamp(5rem, 3.9038461538rem + 3.6538461538vw, 9.75rem);
	margin-block-end: clamp(5rem, 3.9038461538rem + 3.6538461538vw, 9.75rem);
	width: 100%;
	max-width: 100%;
	/*overflow-x: hidden;*/
}

.salon-section, .salon-section *, .salon-section *::before, .salon-section *::after {
	box-sizing: border-box
}

.salon-section button {
	font: inherit;
	cursor: pointer
}

.salon-section .sl-wrap {
	max-width: 1338px;
	width: 100%;
	margin: 0 auto
}

.salon-section .sl-head {
	text-align: center;
	margin-bottom: 34px;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto
}

.salon-section .sl-title {
	font-family: 'Onest', system-ui, Arial, sans-serif;
	font-size: clamp(28px, 3.6vw, 44px);
	font-weight: 700;
	color: #153f51;
	line-height: 1.1;
	margin: 0
}

.salon-section .sl-line {
	display: block;
	width: 74px;
	height: 2px;
	background: #153f51;
	opacity: .75;
	margin: 14px auto 14px;
	border-radius: 2px
}

.salon-section .sl-sub {
	font-family: 'Onest', system-ui, Arial, sans-serif;
	font-size: clamp(14px, 1.25vw, 17px);
	font-weight: 400;
	color: #153f51;
	margin: 0
}

.salon-section .sl-stage {
	display: flex;
	align-items: center;
	gap: 20px;
	max-width: 100%
}

.salon-section .sl-nav {
	flex: 0 0 auto;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 1px solid var(--sl-border);
	background: #fff;
	color: var(--sl-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	transition: .22s
}

.salon-section .sl-nav:hover {
	background: var(--sl-dark);
	border-color: var(--sl-dark);
	color: #fff
}

.salon-section .sl-nav i {
	color: inherit
}

.salon-section .sl-card {
	flex: 1 1 1190px;
	min-width: 0;
	width: 100%;
	max-width: 1190px;
	background: var(--sl-bg);
	border-radius: 20px;
	padding: 18px;
	display: grid;
	grid-template-columns:minmax(200px, 26%) minmax(0, 1fr);
	gap: 22px
}

.salon-section .sl-info {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 26px 8px 26px 20px
}

.salon-section .sl-deco {
	position: absolute;
	top: 2px;
	left: 16px;
	right: 4px;
	height: 120px;
	opacity: .9;
	pointer-events: none;
	background-image: url("https://storage.yandexcloud.net/timenote/dl/67b4cf3aeb1284000115b350/codeblock/2026-09/6aaa86943b2a29f934e92e75.webp");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: contain
}

.salon-section .sl-city {
	font-family: 'Onest', system-ui, Arial, sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #153f51;
	margin: 104px 0 9px;
	line-height: 1.2
}

.salon-section .sl-label {
	font-family: 'Onest', system-ui, Arial, sans-serif;
	font-size: 13.5px;
	font-weight: 500;
	color: #153f51;
	line-height: 1.4
}

.salon-section .sl-label-line {
	display: block;
	width: 28px;
	height: 2px;
	background: #153f51;
	opacity: .8;
	margin: 12px 0 18px
}

.salon-section .sl-desc {
	font-family: 'Onest', system-ui, Arial, sans-serif;
	font-size: 13.5px;
	line-height: 1.7;
	color: #153f51;
	max-width: 235px;
	white-space: pre-line
}

.salon-section .sl-count {
	font-family: 'Onest', system-ui, Arial, sans-serif;
	margin-top: 16px;
	font-size: 11.5px;
	letter-spacing: .04em;
	color: #9aa1a8;
	text-transform: uppercase
}

.salon-section .sl-gal {
	min-width: 0
}

.salon-section .sl-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16/9.6;
	border-radius: 12px;
	overflow: hidden;
	background: #e7e7e7
}

.salon-section .sl-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity .7s ease
}

.salon-section .sl-photo.on {
	opacity: 1
}

.salon-section .sl-gdots {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 17px;
	padding: 16px 0 4px
}

.salon-section .sl-gdot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #c6c6c6;
	transition: .2s
}

.salon-section .sl-gdot:hover {
	background: #9b9b9b
}

.salon-section .sl-gdot.on {
	background: var(--sl-dark);
	transform: scale(1.2)
}

.salon-section .sl-cities {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 38px
}

.salon-section .sl-cnav {
	flex: 0 0 auto;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid var(--sl-border);
	background: #fff;
	color: var(--sl-dark);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	transition: .22s;
	visibility: hidden;
	opacity: 0;
	pointer-events: none
}

.salon-section .sl-cnav.on {
	visibility: visible;
	opacity: 1;
	pointer-events: auto
}

.salon-section .sl-cnav:hover {
	background: var(--sl-dark);
	border-color: var(--sl-dark);
	color: #fff
}

.salon-section .sl-cnav i {
	color: inherit
}

.salon-section .sl-ctrack {
	position: relative;
	font-family: 'Onest', system-ui, Arial, sans-serif;
	color: #153f51;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	display: flex;
	align-items: center;
	gap: 30px;
	overflow-x: auto;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding: 2px
}

.salon-section .sl-ctrack::-webkit-scrollbar {
	display: none
}

.salon-section .sl-move, .salon-section .sl-del-city {
	display: none
}

.salon-section .sl-city-item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 2px
}

.salon-section .sl-city-btn {
	background: none;
	border: none;
	font-family: inherit;
	font-size: 15px;
	color: #153f51;
	padding: 6px 2px 10px;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
	transition: .2s
}

.salon-section .sl-city-btn:hover {
	color: var(--sl-dark)
}

.salon-section .sl-city-btn.on {
	font-weight: 700;
	color: var(--sl-dark);
	border-bottom-color: var(--sl-dark)
}

.salon-section .sl-maplink {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 34px
}

.salon-section .sl-maplink i {
	color: #153f51;
	font-size: 15px
}

.salon-section .sl-maplink a {
	font-family: 'Onest', system-ui, Arial, sans-serif;
	color: #153f51;
	font-size: 14px;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: .2s
}

.salon-section .sl-maplink a:hover {
	border-bottom-color: #153f51
}

.salon-section .ed-only {
	display: none
}

@media (max-width: 900px) {
	.salon-section .sl-card {
		grid-template-columns:1fr;
		gap: 14px;
		padding: 14px
	}

	.salon-section .sl-info {
		padding: 12px 6px 0 6px
	}

	.salon-section .sl-city {
		margin-top: 0
	}

	.salon-section .sl-desc {
		max-width: none
	}

	.salon-section .sl-deco {
		display: none
	}

	.salon-section .sl-stage {
		gap: 8px
	}

	.salon-section .sl-nav {
		width: 40px;
		height: 40px;
		font-size: 13px
	}

	.salon-section .sl-ctrack {
		gap: 20px
	}
}

@media (max-width: 520px) {
	.salon-section .sl-nav {
		width: 34px;
		height: 34px
	}

	.salon-section .sl-city-btn {
		font-size: 14px
	}
}