.banner-video-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

#banner-youtube-player {
    position: absolute;
    top: 50%; left: 50%;
    width: 100vw; height: 56.25vw;
    min-width: 177.77vh; min-height: 100%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
    opacity: 1;
    transition: opacity 0.6s ease-in-out;
}

#banner-youtube-player.video-visible {
    opacity: 1;
}

.banner__poster {
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%; 
    height: 100%;
    z-index: 2;
    transition: opacity 0.6s ease-in-out;
}

.banner__poster.hide {
    opacity: 0;
    pointer-events: none;
}

.banner__poster img {
    width: 100%;
    height: 100%;
}

.banner__text {
    position: relative;
    transform: translate(-50%, -40%);
    opacity: 0;
    z-index: 3;
    transition: all 1s ease-in-out;
}

.banner__text.show {
    transform: translate(-50%, -50%);
    opacity: 1;
}