/* General splash screen container */
body fuse-splash-screen {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, #0f8488, #09616d);
    color: #F9FAFB;
    z-index: 999999;
    pointer-events: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 800ms ease-in-out, visibility 800ms ease-in-out;
}

/* Logo container with smooth fade-in */
body fuse-splash-screen .logo-container {
    text-align: center;
    animation: fadeIn 1s ease-in-out;
}

/* Text with shadow for depth */
body fuse-splash-screen .text-8xl {
    text-shadow: 4px 4px 6px rgba(0, 0, 0, 0.2);
    letter-spacing: 4px;
    font-size: 4rem; /* Default font size */
}

/* Spinner container with space-around for balanced alignment */
body fuse-splash-screen .spinner {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 50px;
    width: 25%;
}

/* Spinner dots - make them slightly larger and give them a glowing effect */
body fuse-splash-screen .spinner > div {
    width: 36px;
    height: 36px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 50%;
    display: inline-block;
    box-shadow: 0px 0px 15px rgba(255, 255, 255, 0.4);
    animation: fuse-bouncedelay 1.2s infinite ease-in-out both;
}

/* Bounce delays for each spinner dot */
body fuse-splash-screen .spinner .bounce1 {
    animation-delay: -0.4s;
}

body fuse-splash-screen .spinner .bounce2 {
    animation-delay: -0.3s;
}

body fuse-splash-screen .spinner .bounce3 {
    animation-delay: -0.2s;
}

body fuse-splash-screen .spinner .bounce4 {
    animation-delay: -0.1s;
}

/* Keyframes for bounce animation */
@keyframes fuse-bouncedelay {
    0%,
    80%,
    100% {
        transform: scale(0);
    }

    40% {
        transform: scale(1.0);
    }
}

/* Smooth fade-in for the logo */
@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-20px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Hide overflow when splash screen is visible */
body:not(.fuse-splash-screen-hidden) {
    overflow: hidden;
}

/* Hide splash screen smoothly */
body.fuse-splash-screen-hidden fuse-splash-screen {
    visibility: hidden;
    opacity: 0;
}

/* Responsive styles */
@media (max-width: 768px) {
    body fuse-splash-screen .text-8xl {
        font-size: 3rem; /* Smaller font size for tablets and mobile devices */
        letter-spacing: 2px; /* Reduced letter-spacing */
    }

    body fuse-splash-screen .spinner {
        width: 40%; /* Wider spinner area */
        margin-top: 30px; /* Less margin on smaller screens */
    }
}

@media (max-width: 480px) {
    body fuse-splash-screen .text-8xl {
        font-size: 2.5rem; /* Smaller font size for mobile devices */
        letter-spacing: 1px; /* Further reduced letter-spacing */
    }

    body fuse-splash-screen .spinner {
        width: 50%; /* Wider spinner area for mobile */
    }

    body fuse-splash-screen .spinner > div {
        width: 30px; /* Smaller spinner dots */
        height: 30px; /* Smaller spinner dots */
    }
}
