/* ── Hero (main page) ─────────────────────────────────────── */
.swiper-main {
	width: 100%;
	overflow: hidden;
	background: #2E3136;
}
.swiper-main .swiper-slide {
	position: relative;
	height: auto;
}
.swiper-main .swiper-slide img {
	width: 100%;
	height: 670px;
	object-fit: cover;
	object-position: center;
	display: block;
}
.swiper-main .swiper-slide a.slide-link {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
}
.swiper-main .swiper-button-prev,
.swiper-main .swiper-button-next {
	color: #fff;
	background: rgba(0, 0, 0, .35);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	transition: background .2s;
}
.swiper-main .swiper-button-prev:hover,
.swiper-main .swiper-button-next:hover {
	background: rgba(0, 0, 0, .6);
}
.swiper-main .swiper-button-prev::after,
.swiper-main .swiper-button-next::after {
	font-size: 16px;
	font-weight: 900;
}
.swiper-main .swiper-pagination {
	bottom: 20px;
}
.swiper-main .swiper-pagination-bullet {
	background: #fff;
	opacity: .6;
	width: 10px;
	height: 10px;
}
.swiper-main .swiper-pagination-bullet-active {
	opacity: 1;
	background: #fff;
}
@media (max-width: 991px) {
	.swiper-main .swiper-slide img {
		height: 450px;
	}
}
@media (max-width: 767px) {
	.swiper-main .swiper-slide img {
		height: auto;
		aspect-ratio: 16 / 9;
		object-position: top center;
	}
}
@media (max-width: 575px) {
	.swiper-main .swiper-slide img {
		aspect-ratio: 4 / 3;
	}
}

/* ── Горизонтальные карусели: принудительная раскладка ─────── */
.swiper-horizontal.swiper-partners,
.swiper-horizontal.swiper-info {
	width: 100%;
	overflow: hidden;
}

.swiper-horizontal.swiper-partners > .swiper-wrapper,
.swiper-horizontal.swiper-info > .swiper-wrapper {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center;
	box-sizing: content-box;
}

.swiper-horizontal.swiper-partners > .swiper-wrapper > .swiper-slide,
.swiper-horizontal.swiper-info > .swiper-wrapper > .swiper-slide {
	flex-shrink: 0 !important;
	height: auto;
	box-sizing: border-box;
}

/* ── Partners logos ───────────────────────────────────────── */
.swiper-partners {
	padding: 8px 0 16px;
}
.swiper-partners .swiper-slide {
	height: 80px;
	text-align: center;
}
.swiper-partners .swiper-slide a {
	display: inline-block;
	max-width: 100%;
	line-height: 80px;
}
.swiper-partners .swiper-slide img {
	display: inline-block;
	vertical-align: middle;
	width: auto;
	max-width: 100%;
	max-height: 72px;
	height: auto;
	object-fit: contain;
}

/* ── Info / gallery carousels ─────────────────────────────── */
.swiper-info {
	padding: 0 36px;
	position: relative;
}
.swiper-info .swiper-slide {
	text-align: center;
}
.swiper-info .swiper-slide a {
	display: inline-block;
	max-width: 100%;
}
.swiper-info .swiper-slide img {
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}
.swiper-info .swiper-button-prev,
.swiper-info .swiper-button-next {
	color: #333;
	width: 32px;
	height: 32px;
	margin-top: 0;
	top: 50%;
	transform: translateY(-50%);
}
.swiper-info .swiper-button-prev::after,
.swiper-info .swiper-button-next::after {
	font-size: 18px;
	font-weight: 900;
}
.swiper-info .swiper-button-prev {
	left: 0;
}
.swiper-info .swiper-button-next {
	right: 0;
}
.swiper-info .swiper-button-prev:hover,
.swiper-info .swiper-button-next:hover {
	color: #0088cc;
}
