.nixo-vsb-background {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
    pointer-events: none;
    z-index: -1;
    background: #000;
    isolation: isolate;
}

.nixo-vsb-background[data-position="absolute"] {
    position: absolute;
}

.nixo-vsb-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--nixo-vsb-position-x, 50%) var(--nixo-vsb-position-y, 50%);
    opacity: var(--nixo-vsb-opacity, 0.7);
    filter: blur(var(--nixo-vsb-blur, 0px));
    transform: translate3d(0, 0, 0) scale(1.05);
    will-change: transform;
}

.nixo-vsb-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, var(--nixo-vsb-overlay, 0.25));
    pointer-events: none;
}

@media (max-width: 767px) {
    .nixo-vsb-background.nixo-vsb-mobile-disabled {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nixo-vsb-video {
        will-change: auto;
    }
}
