.youtube-item {
    display: block;
    position: relative;
}

.youtube-item__image {
}

.youtube-item__image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    opacity: 0.6;
    transition: opacity 0.15s ease-in-out;
}

.youtube-item__play-btn {
    --size: 62px;
    --bg: #ff4d39;
    --wave-color: 255, 77, 57;
    --duration: 1.8s;

    position: absolute;
    left: 50%;
    top: 50%;
    margin: calc(-0.5 * var(--size));
    width: var(--size);
    height: var(--size);
    border: none;
    padding: 0;
    background: var(--bg);
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: 0.15s ease-in-out;
}

.youtube-item__play-btn:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    margin: -12px 0 0 -8px;
    border-style: solid;
    border-width: 12px 0 12px 20px;
    border-color: transparent transparent transparent #ffffff;
}

.youtube-item__play-btn > span {
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(var(--size) * 1);
    height: calc(var(--size) * 1);
    transform: translate(-50%, -50%) scale(0.6);
    border-radius: 50%;
    background: rgba(var(--wave-color), 0);
    box-shadow: 0 0 0 2px rgba(var(--wave-color), 0.75) inset;
    opacity: 0;
    z-index: 1;
    pointer-events: none;
    animation: ripple var(--duration) ease-out infinite;
}

.youtube-item__play-btn > span:nth-child(1) {
    animation-delay: 0s;
}

.youtube-item__play-btn > span:nth-child(2) {
    animation-delay: calc(var(--duration) / 3);
}

.youtube-item__play-btn > span:nth-child(3) {
    animation-delay: calc(var(--duration) / 1.5);
}

@keyframes ripple {
    0% {
        transform: translate(-50%, -50%) scale(0.6);
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.2);
        opacity: 0;
    }
}

.youtube-item:hover .youtube-item__image img {
    opacity: 1;
}

.youtube-item:hover .youtube-item__play-btn {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 991px) {
    .swiper-slide-active .youtube-item__image img {
        opacity: 1;
    }

    .swiper-slide-active .youtube-item__play-btn {
        opacity: 1;
        visibility: visible;
    }
}