.kp-video-player {
	position: relative;
	width: 100%;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 14px;
	background: #050810;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
	aspect-ratio: 16 / 9;
}

.kp-video-player__media {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	overflow: hidden;
}

.kp-video-player__media--empty {
	background:
		radial-gradient(
			circle at center,
			rgba(255, 212, 0, 0.12),
			transparent 40%
		),
		#050810;
}

.kp-video-player__thumbnail {
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: saturate(0.72) contrast(1.06);
	transition:
		filter 260ms ease,
		transform 400ms ease;
}

.kp-video-player__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(5, 8, 16, 0.3);
	pointer-events: none;
	transition: background-color 260ms ease;
}

.kp-video-player__button {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	display: grid;
	place-items: center;
	width: clamp(64px, 8vw, 92px);
	aspect-ratio: 1;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	background: #ffd400;
	color: #050810;
	font-size: clamp(1.25rem, 3vw, 2rem);
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 12px 35px rgba(0, 0, 0, 0.35);
	transition:
		transform 180ms ease,
		box-shadow 180ms ease;
}

.kp-video-player__button span {
	margin-left: 0.12em;
}

.kp-video-player__button:focus-visible {
	outline: 3px solid #f5f7fa;
	outline-offset: 4px;
}

.kp-video-player iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

@media (hover: hover) and (pointer: fine) {
	.kp-video-player__media:hover .kp-video-player__thumbnail {
		filter: saturate(0.95) contrast(1.03);
		transform: scale(1.025);
	}

	.kp-video-player__media:hover::after {
		background: rgba(5, 8, 16, 0.16);
	}

	.kp-video-player__button:hover {
	transform: translate(-50%, -50%) scale(1.06);
	box-shadow: 0 16px 42px rgba(0, 0, 0, 0.42);
	}
}

@media (prefers-reduced-motion: reduce) {
	.kp-video-player__thumbnail,
	.kp-video-player__button,
	.kp-video-player__media::after {
		transition: none;
	}
}
