.plve-video {
--plve-play-color: #ff0033;
position: relative;
width: 100%;
max-width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
background: #111;
}
.plve-video__button,
.plve-video__iframe {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: 0;
}
.plve-video__button {
display: block;
padding: 0;
cursor: pointer;
border: 0;
color: inherit;
background: transparent;
appearance: none;
}
.plve-video__button:focus-visible {
outline: 3px solid currentColor;
outline-offset: -6px;
}
.plve-video__thumb,
.plve-video__fallback {
display: block;
width: 100%;
height: 100%;
}
.plve-video__thumb {
object-fit: cover;
}
.plve-video__fallback {
background:
radial-gradient(circle at center, rgba(255, 255, 255, 0.12), transparent 30%),
linear-gradient(135deg, #222, #050505);
}
.plve-video__overlay {
position: absolute;
inset: 0;
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.36));
transition: background 160ms ease;
}
.plve-video__button:hover .plve-video__overlay,
.plve-video__button:focus-visible .plve-video__overlay {
background: linear-gradient(to bottom, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.28));
}
.plve-video__play {
position: absolute;
top: 50%;
left: 50%;
width: 78px;
height: 54px;
transform: translate(-50%, -50%);
border-radius: 18px;
background: var(--plve-play-color);
box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
transition: transform 160ms ease, filter 160ms ease;
}
.plve-video__play::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
transform: translate(-38%, -50%);
border-top: 13px solid transparent;
border-bottom: 13px solid transparent;
border-left: 21px solid #fff;
}
.plve-video__button:hover .plve-video__play,
.plve-video__button:focus-visible .plve-video__play {
transform: translate(-50%, -50%) scale(1.04);
filter: brightness(0.88);
}
.plve-video__consent {
position: absolute;
left: 18px;
right: 18px;
bottom: 16px;
display: block;
padding: 9px 12px;
border-radius: 999px;
color: #fff;
font-size: 13px;
line-height: 1.35;
text-align: center;
background: rgba(0, 0, 0, 0.62);
backdrop-filter: blur(3px);
}
@media (max-width: 600px) {
.plve-video__play {
width: 64px;
height: 44px;
border-radius: 14px;
}
.plve-video__play::before {
border-top-width: 10px;
border-bottom-width: 10px;
border-left-width: 17px;
}
.plve-video__consent {
left: 10px;
right: 10px;
bottom: 10px;
font-size: 12px;
}
}