﻿/* Overlay background */
.loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.4); /* Faded black background */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.3s ease;
}

    /* Hide overlay when not needed */
    .loader-overlay.hidden {
        opacity: 0;
        pointer-events: none;
    }

/* Loader styles */
.dotted-loader {
    width: 100px;
    height: 100px;
    border-width: 4px;
    border-color: #0075ff;
    border-style: solid solid dotted dotted;
    border-radius: 50%;
    animation: rotate-right 2s linear infinite;
    position: relative;
}

    .dotted-loader::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        border-width: 4px;
        border-color: #009688;
        border-style: solid dotted solid dotted;
        border-radius: 50%;
        width: 60px;
        height: 60px;
        animation: rotate-left 1s linear infinite;
    }

@keyframes rotate-right {
    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(360deg);
    }
}

@keyframes rotate-left {
    from {
        transform: rotate(0);
    }

    to {
        transform: rotate(-360deg);
    }
}
