/* Homepage entry is usable before the optional 3D scene is ready. */
body.page-index .g-load-page,
html.jvds-page-transition-pending body.page-index .g-load-page {
    display: none !important;
    pointer-events: none !important;
}

body.page-index.jvds-entry-active {
    overflow-y: auto !important;
}

body.jvds-home-nonblocking .banner,
body.jvds-home-nonblocking .main,
body.jvds-home-nonblocking .footer {
    opacity: 1;
}

/* Content is visible by default; GSAP may enhance individual nodes afterwards. */
.jvds-home-nonblocking .wow,
.jvds-home-nonblocking .row-a1 .products-list {
    opacity: 1;
    visibility: visible;
}

.jvds-home-nonblocking .jvds-hero-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    opacity: 1;
    visibility: visible;
    pointer-events: none;
    transition: opacity .45s ease, visibility .45s ease;
}

.jvds-home-nonblocking .jvds-hero-canvas {
    position: absolute;
    inset: 0;
}

.jvds-home-nonblocking .jvds-hero-stage.is-ready .jvds-hero-poster {
    opacity: 0;
    visibility: hidden;
}

.jvds-home-nonblocking .jvds-hero-stage.is-fallback .jvds-hero-poster {
    opacity: 1;
    visibility: visible;
}

.jvds-home-nonblocking .jvds-hero-stage .jvds-hero-fallback-figure,
.jvds-home-nonblocking .jvds-hero-stage.is-fallback .jvds-hero-fallback-figure {
    display: none;
}

/* Hide the former percentage badge if a cached template still contains it. */
.jvds-home-nonblocking .jvds-hero-model-loader {
    display: none !important;
}

@media (prefers-reduced-motion: reduce) {
    .jvds-home-nonblocking .jvds-hero-poster {
        transition: none;
    }
}
