.video-popup {
    position: fixed;
    inset: 0;
    z-index: 9999;
    pointer-events: none;
}

.video-popup__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    opacity: 0;
    transition: 0.4s;
}

.video-popup__inner {
    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-height: 90%;
    max-width: 1440px;
    transition: 0.6s cubic-bezier(0.77, 0, 0.175, 1);
    aspect-ratio: 16/9;
    overflow: hidden;
}

.video-popup__video {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
}

.video-popup__close {
    position: absolute;
    top: clamp(16px, 3vw, 40px);
    right: clamp(16px, 3vw, 40px);
    z-index: 2;
    width: clamp(36px, 4vw, 48px);
    height: clamp(36px, 4vw, 48px);
    border-radius: 50%;
    background: var(--white-10);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transition: .45s padding cubic-bezier(.55, 0, .1, 1), .4s opacity cubic-bezier(.55, 0, .1, 1);
}

.video-popup__close:before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    height: 2px;
    width: 60%;
    background-color: var(--color-white);
    display: block;
    transition: .45s transform cubic-bezier(.55, 0, .1, 1);
    transform: translate(-50%, -50%) rotate(-45deg) scaleX(1);
}

.video-popup__close:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    height: 2px;
    width: 60%;
    background-color: var(--color-white);
    display: block;
    transition: .45s transform cubic-bezier(.55, 0, .1, 1);
    transform: translate(-50%, -50%) rotate(45deg) scaleX(1);
}

.video-popup__close:hover {
    background: var(--color-white);
}

.video-popup__close:hover:before,
.video-popup__close:hover:after {
    background-color: var(--color-black);
}

.video-popup__close:hover:before {
    transform: translate(-50%, -50%) rotate(-45deg) scaleX(.5);
}

.video-popup__close:hover:after {
    transform: translate(-50%, -50%) rotate(45deg) scaleX(.5);
}

.video-popup__iframe {
    width: 100%;
    height: 100%;
    display: none;
}

.video-popup.is-youtube .video-popup__iframe {
    display: block;
}

.video-popup.is-youtube .video-popup__video {
    display: none;
}

.video-popup.is-mp4 .video-popup__video {
    display: block;
}

/* ACTIVE */
.video-popup.is-active {
    pointer-events: auto;
}

.video-popup.is-active .video-popup__overlay {
    opacity: 1;
}

.video-popup.is-active .video-popup__inner {
    top: 50%;
    transform: translate(-50%, -50%);
}