/*
 * Универсальный класс, который пользователь добавляет контейнеру Elementor.
 * Фоновая картинка контейнера остаётся на месте под видео.
 */
.dl-video-bg.dlvbg-host {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.dl-video-bg > .dlvbg-layer {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	contain: paint;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
}

.dl-video-bg .dlvbg-video {
	position: absolute;
	inset: -1px;
	z-index: 0;
	display: block;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	max-width: none;
	object-fit: cover;
	object-position: center center;
	opacity: 0;
	pointer-events: none;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	-webkit-transform-origin: center center;
	transform-origin: center center;
	will-change: opacity, transform, filter, clip-path;
	transition:
		opacity var(--dlvbg-fade-duration, 1100ms) cubic-bezier(.22, .61, .36, 1),
		transform var(--dlvbg-fade-duration, 1100ms) cubic-bezier(.22, .61, .36, 1),
		filter var(--dlvbg-fade-duration, 1100ms) cubic-bezier(.22, .61, .36, 1),
		clip-path var(--dlvbg-fade-duration, 1100ms) cubic-bezier(.22, .61, .36, 1);
}

.dl-video-bg .dlvbg-video.is-active {
	opacity: 1;
}

/* Простое растворение. */
.dl-video-bg .dlvbg-effect-fade .dlvbg-video {
	-webkit-transform: translateZ(0) scale(1);
	transform: translateZ(0) scale(1);
	-webkit-filter: none;
	filter: none;
}

/* Мягкое приближение. */
.dl-video-bg .dlvbg-effect-zoom .dlvbg-video {
	-webkit-transform: translateZ(0) scale(1.065);
	transform: translateZ(0) scale(1.065);
	-webkit-filter: none;
	filter: none;
}

.dl-video-bg .dlvbg-effect-zoom .dlvbg-video.is-active {
	-webkit-transform: translateZ(0) scale(1);
	transform: translateZ(0) scale(1);
}

/* Проявление через размытие. */
.dl-video-bg .dlvbg-effect-blur .dlvbg-video {
	-webkit-transform: translateZ(0) scale(1.025);
	transform: translateZ(0) scale(1.025);
	-webkit-filter: blur(11px);
	filter: blur(11px);
}

.dl-video-bg .dlvbg-effect-blur .dlvbg-video.is-active {
	-webkit-transform: translateZ(0) scale(1);
	transform: translateZ(0) scale(1);
	-webkit-filter: blur(0);
	filter: blur(0);
}

/* Премиальный кинематографический переход. */
.dl-video-bg .dlvbg-effect-cinematic .dlvbg-video {
	-webkit-transform: translateZ(0) scale(1.075);
	transform: translateZ(0) scale(1.075);
	-webkit-filter: blur(9px) brightness(.82) saturate(.92);
	filter: blur(9px) brightness(.82) saturate(.92);
}

.dl-video-bg .dlvbg-effect-cinematic .dlvbg-video.is-active {
	-webkit-transform: translateZ(0) scale(1);
	transform: translateZ(0) scale(1);
	-webkit-filter: blur(0) brightness(1) saturate(1);
	filter: blur(0) brightness(1) saturate(1);
}

/* Плавное открытие снизу вверх. */
.dl-video-bg .dlvbg-effect-reveal .dlvbg-video {
	-webkit-clip-path: inset(100% 0 0 0);
	clip-path: inset(100% 0 0 0);
	-webkit-transform: translateZ(0) scale(1.02);
	transform: translateZ(0) scale(1.02);
	-webkit-filter: none;
	filter: none;
}

.dl-video-bg .dlvbg-effect-reveal .dlvbg-video.is-active {
	-webkit-clip-path: inset(0 0 0 0);
	clip-path: inset(0 0 0 0);
	-webkit-transform: translateZ(0) scale(1);
	transform: translateZ(0) scale(1);
}

/* Цвет или градиент над видео и под контентом. */
.dl-video-bg .dlvbg-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
	opacity: 0;
	pointer-events: none;
	-webkit-transform: translateZ(0);
	transform: translateZ(0);
	transition: opacity var(--dlvbg-fade-duration, 1100ms) ease;
}

.dl-video-bg .dlvbg-layer.is-started .dlvbg-overlay {
	opacity: 1;
}

/* Контент Elementor остаётся над видео и наложением. */
.dl-video-bg.dlvbg-host > .e-con-inner,
.dl-video-bg.dlvbg-host > .elementor-container,
.dl-video-bg.dlvbg-host > .elementor-widget-wrap,
.dl-video-bg.dlvbg-host > .elementor-element {
	position: relative;
	z-index: 2;
}

/* Если у Elementor уже используется собственный background overlay. */
.dl-video-bg.dlvbg-host > .elementor-background-overlay {
	z-index: 1;
	pointer-events: none;
}

.dlvbg-marker {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.dl-video-bg .dlvbg-video,
	.dl-video-bg .dlvbg-overlay {
		transition: none;
	}
}
