/* ==========================================================================
   Кинолента с видео

   Разметку даёт плагин video-carousel, его собственные стили и скрипт сняты
   в functions.php — файлы плагина при этом не трогаются. Раньше лента имела
   жёсткую высоту 155px, кадры 91x68, прокрутку только по наведению курсора
   (на телефоне бесполезную) и ни одного медиазапроса.
   ========================================================================== */

.chr-filmstrip {
	margin-block-start: var(--space-m);
}

#carousel {
	position: relative;
	width: min(100% - 2 * var(--space-s), var(--container));
	margin-inline: auto;

	/*
	 * Высота ленты плавно зависит от ширины экрана. Все внутренние размеры
	 * считаются от неё, поэтому пропорции киноплёнки сохраняются на любом
	 * экране без единого медиазапроса.
	 */
	--strip-height: clamp(96px, 12vw, 155px);
	--strip-unit: calc(var(--strip-height) / 155);
}

.video-carousel {
	position: relative;
}

.video-list {
	display: flex;
	align-items: flex-start;
	gap: calc(5 * var(--strip-unit));
	height: var(--strip-height);
	margin: 0;
	padding-inline: calc(30 * var(--strip-unit));
	list-style: none;

	/* Прокрутка средствами браузера: работает пальцем, колесом и клавишами */
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
	scrollbar-width: none;

	background-image: url("../../../plugins/video-carousel/images/bg.png");
	background-repeat: repeat-x;
	background-size: auto 100%;
	/* local — чтобы перфорация ехала вместе с кадрами, как было раньше */
	background-attachment: local;
}

.video-list::-webkit-scrollbar {
	display: none;
}

.video-item {
	flex: none;
	margin-block-start: calc(63 * var(--strip-unit));
	scroll-snap-align: center;
}

.video-item a {
	display: block;
	width: calc(91 * var(--strip-unit));
	height: calc(68 * var(--strip-unit));
	background-position: center;
	background-size: cover;
	border-radius: var(--radius);
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/*
 * Раньше кадр при наведении переключался в position:absolute и на тач-экране
 * «залипал» увеличенным. Теперь это transform: соседей не сдвигает, а на
 * устройствах без мыши правило не применяется вовсе.
 */
@media (hover: hover) {
	.video-item a:hover {
		transform: scale(1.25);
		box-shadow: 0 0 15px rgba(0, 0, 0, 0.9);
	}
}

/* --- Стрелки --- */

.video-prev,
.video-next {
	position: absolute;
	top: calc(63 * var(--strip-unit));
	z-index: 5;
	width: calc(44 * var(--strip-unit));
	height: calc(68 * var(--strip-unit));
	cursor: pointer;
}

.video-prev {
	inset-inline-start: 0;
}

.video-next {
	inset-inline-end: 0;
}

.video-prev a,
.video-next a {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0.85;
}

.video-prev a {
	background-image: url("../../../plugins/video-carousel/images/prev.png");
}

.video-next a {
	background-image: url("../../../plugins/video-carousel/images/next.png");
}

.video-prev a:hover,
.video-next a:hover {
	opacity: 1;
}

/* На тач-экранах стрелки не нужны — лента листается пальцем */
@media (hover: none) {
	.video-prev,
	.video-next {
		display: none;
	}
}

/* --- Всплывающий плеер --- */

.video-bg {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: none;
	place-items: center;
	padding: var(--space-m);
	background-color: rgba(0, 0, 0, 0.85);
}

.video-bg.is-open {
	display: grid;
}

.video-player {
	width: min(100%, 1100px);
	aspect-ratio: 16 / 9;
	background-color: #000;
}

.video-player iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.video-close {
	position: absolute;
	top: var(--space-m);
	inset-inline-end: var(--space-m);
	width: 44px;
	height: 44px;
	background-image: url("../../../plugins/video-carousel/images/close.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

body.chr-modal-open {
	overflow: hidden;
}
