/* OmniVideo Lightbox */

.ovlb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(0, 0, 0, .88);
	opacity: 0;
	transition: opacity .18s ease;
}

.ovlb[hidden] {
	display: none;
}

.ovlb.is-open {
	opacity: 1;
}

/* Обычное видео: ширина ограничена и шириной экрана, и его высотой */
.ovlb__frame {
	position: relative;
	width: min(1180px, 92vw, calc(84vh * 16 / 9));
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 24px 70px rgba(0, 0, 0, .55);
	transform: scale(.97);
	transition: transform .18s ease;
}

/* Вертикальный клип */
.ovlb--clip .ovlb__frame {
	width: min(92vw, calc(86vh * 9 / 16));
	aspect-ratio: 9 / 16;
}

.ovlb.is-open .ovlb__frame {
	transform: scale(1);
}

.ovlb__frame iframe,
.ovlb__frame video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	background: #000;
}

.ovlb__close {
	position: fixed;
	top: 10px;
	right: 12px;
	width: 44px;
	height: 44px;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, .12);
	border: 0;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	transition: background .15s ease;
}

.ovlb__close:hover,
.ovlb__close:focus-visible {
	background: rgba(255, 255, 255, .26);
	outline: none;
}

.ovlb__close svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

/* Блокировка прокрутки страницы, пока открыт лайтбокс */
html.ovlb-lock,
html.ovlb-lock body {
	overflow: hidden;
}

/* Курсор-указатель на постере, чтобы было понятно, что по нему кликают */
.omnivideo-block .omnivideo-poster,
.omnivideo-block .omnivideo-icon {
	cursor: pointer;
}

@media (prefers-reduced-motion: reduce) {

	.ovlb,
	.ovlb__frame {
		transition: none;
	}
}
