/* Попап «Видео о проекте»; базовые стили .video-modal — в styles.css */
#videoModal {
	z-index: 10050;
	padding: 56px 16px 16px;
	box-sizing: border-box;
	background: rgba(0, 0, 0, .85);
}
#videoModal .video-modal-content {
	width: 100%;
	max-width: min(1100px, calc((100vh - 96px) * 16 / 9));
	overflow: visible;
	background: transparent;
	border-radius: 0;
}
#videoModal .video-modal-frame {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000;
	border-radius: 16px;
	overflow: hidden;
}
#videoModal .video-modal-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
#videoModal .video-modal-close {
	position: absolute;
	top: -48px;
	right: 0;
	width: 40px;
	height: 40px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, .15);
	color: #fff;
	font-size: 28px;
	line-height: 1;
	transition: background .2s;
}
#videoModal .video-modal-close:hover,
#videoModal .video-modal-close:focus-visible {
	background: rgba(255, 255, 255, .3);
	outline: none;
}
/* прокрутку блокируем только на html: overflow: hidden на body (высота 100%) сбрасывал страницу наверх */
html.video-modal-open {
	overflow: hidden;
}

/* ---------- обложка видео в тексте кейса (js/video-modal.js → videoCovers) ---------- */
.video-cover {
	cursor: pointer;
}
.video-cover:focus-visible {
	outline: 3px solid rgba(143, 198, 38, .6);
	outline-offset: 4px;
}
/* подпись «Смотреть видео» в левом нижнем углу — кнопка .btn.btn--light.btn--play (css/cta-button.css),
   здесь только её место; клики проходят к самой картинке */
.video-cover .video-cover__label {
	position: absolute;
	left: 20px;
	bottom: 20px;
	z-index: 1;
	pointer-events: none;
}
.video-cover .video-cover__label > span {
	box-shadow: 0 4px 14px rgba(0, 0, 0, .15);
}
/* лёгкий «наезд» картинки при наведении (обложка обрезает края: overflow: hidden) */
.video-cover img {
	transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}
@media (any-hover: hover) {
	.video-cover:hover img {
		transform: scale(1.05);
	}
}
.video-cover:focus-visible img {
	transform: scale(1.05);
}
@media (prefers-reduced-motion: reduce) {
	.video-cover img {
		transition: none;
	}
}
@media (max-width: 480px) {
	.video-cover .video-cover__label {
		left: 12px;
		bottom: 12px;
	}
}

/* ---------- появление окна каплями (js/video-modal.js → videoDrop) ---------- */
#videoModal .video-modal-content {
	transition: opacity .35s ease;
}
/* пока капли летят — плеер и крестик скрыты (окно уже разложено: по нему меряется место капель) */
#videoModal.is-dropping .video-modal-content {
	opacity: 0;
	transition: none;
}
#videoModal.active {
	animation: videoModalBg .3s ease both;
}
@keyframes videoModalBg {
	from { background-color: rgba(0, 0, 0, 0); }
}
.video-drop {
	position: fixed;
	inset: -80px; /* запас за краями экрана — js/video-modal.js: BLEED */
	z-index: 10051; /* над подложкой окна (#videoModal 10050) */
	pointer-events: none;
	overflow: hidden;
	filter: url(#video-goo);
}
/* копия нажатой кнопки над затемнением (js/video-modal.js → videoDrop) */
.video-drop-ghost {
	position: fixed;
	z-index: 10052;
	margin: 0;
	pointer-events: none;
	transition: opacity .3s ease, transform .3s ease;
}
.video-drop-ghost.is-gone {
	opacity: 0;
	transform: scale(.92);
}
.video-drop__blob {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
	#videoModal.active {
		animation: none;
	}
}
