/* ============================================================
   4DV Logo Preloader — preloader.css
   ============================================================ */

/* ------------------------------------------------------------------
   Overlay: covers the entire viewport, sits above everything
   ------------------------------------------------------------------ */
#fdv-preloader {
    position: fixed;
    inset: 0;                        /* top/right/bottom/left: 0 */
    z-index: 999999;
    background-color: #170e0b;

    display: flex;
    align-items: center;
    justify-content: center;

    /* Starts fully visible; JS will add .fdv-fade-out to trigger exit */
    opacity: 1;
    transition: opacity 0.8s ease;
}

/* ------------------------------------------------------------------
   Hide the overlay once JS marks it done, then remove from flow
   ------------------------------------------------------------------ */
#fdv-preloader.fdv-fade-out {
    opacity: 0;
    pointer-events: none;           /* Prevent clicks during fade */
}

#fdv-preloader.fdv-hidden {
    display: none;                  /* Fully remove after fade completes */
}

/* ------------------------------------------------------------------
   Logo: starts invisible, fades in on page load
   ------------------------------------------------------------------ */
#fdv-preloader-logo {
    width: 300px;
    max-width: 90vw;                /* Responsive safety net */
    height: auto;

    opacity: 0;
    animation: fdv-logo-fade-in 1.4s ease forwards;
    animation-delay: 0.3s;         /* Short pause before logo appears */
}

/* ------------------------------------------------------------------
   Keyframe: logo fade-in
   ------------------------------------------------------------------ */
@keyframes fdv-logo-fade-in {
    from { opacity: 0; transform: scale(0.96); }
    to   { opacity: 1; transform: scale(1);    }
}

/* ------------------------------------------------------------------
   Keep the page body hidden while the preloader is active so there
   is no flash of unstyled / partially-loaded content beneath it.
   ------------------------------------------------------------------ */
body.fdv-loading {
    overflow: hidden;
}
