/* Карусель темы (inc/kvk-carousel.php): ряд с прокруткой по слайдам и стрелки */
.kvk-carousel {
	/* display задан явно: у галерей есть классы .gallery/.sert-img, которые стили темы делают flex-контейнером */
	display: block;
	position: relative;
	padding: 0 34px;
	--kvk-cols: var(--kvk-cols-d);
}
@media (max-width: 991px) { .kvk-carousel { --kvk-cols: var(--kvk-cols-t); } }
@media (max-width: 575px) { .kvk-carousel { --kvk-cols: var(--kvk-cols-m); } }

.kvk-carousel__track {
	display: flex;
	width: 100%;
	gap: var(--kvk-gap);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.kvk-carousel__track::-webkit-scrollbar { display: none; }

.kvk-carousel__item {
	flex: 0 0 calc((100% - var(--kvk-gap) * (var(--kvk-cols) - 1)) / var(--kvk-cols));
	scroll-snap-align: start;
}
.kvk-carousel__item img {
	display: block;
	max-width: 100%;
	height: auto;
}

.kvk-carousel__arrow {
	position: absolute;
	top: 50%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	padding: 0;
	border: 0;
	border-radius: 2px;
	background: #474747;
	cursor: pointer;
}
.kvk-carousel__arrow:hover { background: rgba(71, 71, 71, .7); }
.kvk-carousel__arrow::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
}
.kvk-carousel__arrow--prev { left: 0; }
.kvk-carousel__arrow--prev::before { transform: translate(-30%, -50%) rotate(135deg); }
.kvk-carousel__arrow--next { right: 0; }
.kvk-carousel__arrow--next::before { transform: translate(-70%, -50%) rotate(-45deg); }
/* Все слайды помещаются — стрелки не нужны (класс ставит kvk-carousel.js) */
.kvk-carousel.is-static .kvk-carousel__arrow { display: none; }

/* Логотипы брендов: узкие ячейки, логотип вписан целиком — как было у Smart Logo Showcase */
.kvk-carousel--logos .kvk-carousel__item { flex: 0 0 60px; height: 45px; display: flex; align-items: center; justify-content: center; }
.kvk-carousel--logos .kvk-carousel__item img { width: auto; height: auto; max-width: 100%; max-height: 45px; }

/* owlautowidth: слайды по ширине картинки, ряд одной высоты */
.kvk-carousel--autowidth .kvk-carousel__item { flex-basis: auto; }
.kvk-carousel--autowidth .kvk-carousel__item img { width: auto; height: 140px; }

/* Галереи на телефоне — сетка в 2 колонки без прокрутки, как было у wc-gallery */
@media (max-width: 575px) {
	.kvk-carousel.gallery { padding: 0; }
	.kvk-carousel.gallery .kvk-carousel__track { flex-wrap: wrap; overflow: visible; }
	.kvk-carousel.gallery .kvk-carousel__item { flex: 0 0 calc((100% - var(--kvk-gap)) / 2); }
	.kvk-carousel.gallery .kvk-carousel__item img { width: 100%; height: auto; }
	.kvk-carousel.gallery .kvk-carousel__arrow { display: none; }
}
