.vm-grid {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: clamp(32px, 6vw, 88px);
	align-items: center;
}

@media (max-width: 860px) {
	.vm-grid {
		grid-template-columns: 1fr;
	}
	.vm-video-col {
		max-width: 440px;
		margin: 0 auto;
	}
}

.vm-poster-wrapper {
	position: relative;
	padding: 14px;
	border: 1px solid #B8925A;
}

.vm-poster-wrapper::before {
	content: "";
	position: absolute;
	inset: 5px;
	border: 1px solid rgba(184,146,90,.45);
	pointer-events: none;
}

.vm-poster-img {
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	display: block;
}

.vm-play-btn {
	position: absolute;
	left: 44px;
	bottom: 44px;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	background: rgba(43,9,16,.82);
	border: 1px solid #D4B47F;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s, background .2s;
	z-index: 2;
}

.vm-play-btn::before {
	content: "";
	position: absolute;
	inset: -9px;
	border-radius: 50%;
	border: 1px solid rgba(212,180,127,.6);
}

.vm-play-btn svg {
	width: 28px;
	fill: #D4B47F;
	margin-left: 5px;
}

.vm-play-btn:hover {
	transform: scale(1.05);
	background: #2B0910;
}

.vm-play-btn:focus-visible {
	outline: 2px solid #D4B47F;
	outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
	.vm-play-btn { transition: none; }
	.vm-overlay { transition: none !important; }
	.vm-media-element { transition: none !important; }
}

body.vm-no-scroll {
	overflow: hidden;
}

.vm-overlay {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100svh;
	z-index: 9999;
	background: var(--vm-overlay-bg, #12040A);
	opacity: 0;
	visibility: hidden;
	transition: opacity .4s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}

.vm-overlay.is-open {
	opacity: 1;
	visibility: visible;
}

.vm-overlay-deco {
	position: absolute;
	inset: clamp(12px, 2vw, 28px);
	border: 1px solid var(--vm-frame-color, rgba(212,180,127,.5));
	pointer-events: none;
	z-index: 2;
}
.vm-overlay-deco::before {
	content: "";
	position: absolute;
	inset: 6px;
	border: 1px solid rgba(212,180,127,.25);
}

.vm-overlay-close {
	position: absolute;
	top: clamp(16px, 2.5vw, 36px);
	right: clamp(16px, 2.5vw, 36px);
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: rgba(43,9,16,.82);
	border: 1px solid #D4B47F;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}
.vm-overlay-close svg {
	width: 24px;
	fill: #D4B47F;
}

.vm-media-element {
	width: min(100vw, 177.78svh);
	height: min(100svh, 56.25vw);
	max-width: 100%;
	max-height: 100%;
	transform: scale(.96);
	transition: transform .5s cubic-bezier(.2,.7,.1,1);
	border: none;
	z-index: 1;
}

.vm-overlay.is-open .vm-media-element {
	transform: scale(1);
}

.vm-media-element.vm-fill-cover {
	width: 100vw;
	height: 100svh;
	object-fit: cover;
}