.bvp-video {
	--bvp-ring: #78756e;
	--bvp-play: #fcc60e;
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: var(--bvp-aspect, 16 / 9);
	background: #1a1a1a;
	border-radius: 4px;
	overflow: hidden;
}

.bvp-video__inner {
	position: absolute;
	inset: 0;
	z-index: 1;
}

.bvp-video__poster {
	position: absolute;
	inset: 0;
	z-index: 2;
	margin: 0;
	padding: 0;
	border: 0;
	width: 100%;
	height: 100%;
	cursor: pointer;
	background-size: cover;
	background-position: center;
	background-color: #2a2826;
	display: flex;
	align-items: center;
	justify-content: center;
}

.bvp-video__poster:focus {
	outline: 2px solid var(--bvp-play);
	outline-offset: 4px;
}

.bvp-video__poster::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.25);
	pointer-events: none;
	transition: background 0.2s ease;
}

.bvp-video__poster:hover::after,
.bvp-video__poster:focus-visible::after {
	background: rgba(0, 0, 0, 0.15);
}

.bvp-video__play-icon {
	position: relative;
	z-index: 1;
	width: clamp(56px, 14vw, 88px);
	height: clamp(56px, 14vw, 88px);
	flex-shrink: 0;
	filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.35));
	transition: transform 0.2s ease;
}

.bvp-video__poster:hover .bvp-video__play-icon,
.bvp-video__poster:focus-visible .bvp-video__play-icon {
	transform: scale(1.06);
}

.bvp-video__play-icon .bvp-ring {
	fill: var(--bvp-ring);
}

.bvp-video__play-icon .bvp-triangle {
	fill: var(--bvp-play);
}

.bvp-video iframe,
.bvp-video video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	display: block;
}

.bvp-video.is-playing .bvp-video__poster {
	display: none;
}
