#loader-wrapper {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(255, 255, 255, 0.8);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#loader-wrapper.hidden {
    opacity: 0;
    visibility: hidden;
}

#loader-message {
    margin-top: 20px;
    font-family: sans-serif;
    font-size: 1.2rem;
    color: #333;
}

/* Стиль для spinner-border (круглий спінер) */
.spinner-border {
    width: 3rem;
    height: 3rem;
    border: 0.4rem solid #f3f3f3; /* Основний колір для фону */
    border-top: 0.4rem solid #007bff; /* Колір верхнього шару спінера */
    border-radius: 50%;
    animation: spin 1s linear infinite; /* Анімація обертання */
}

/* Стиль для spinner-grow (зростаючий спінер) */
.spinner-grow {
    width: 3rem;
    height: 3rem;
    background-color: #007bff; /* Колір заливки спінера */
    border-radius: 50%;
    animation: grow 1s infinite; /* Анімація зростання */
}

/* Анімація для обертання спінера (spinner-border) */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Анімація для зростаючого спінера (spinner-grow) */
@keyframes grow {
    0% {
        transform: scale(0);
        opacity: 0.5;
    }
    50% {
        transform: scale(1.1);
        opacity: 1;
    }
    100% {
        transform: scale(1);
        opacity: 0.5;
    }
}

/* Зміна кольору спінера на зелений (spinner-success) */
.spinner-border-success, .spinner-grow-success {
    border-top-color: #28a745;
    background-color: #28a745;
}

/* Зміна кольору спінера на червоний (spinner-danger) */
.spinner-border-danger, .spinner-grow-danger {
    border-top-color: #dc3545;
    background-color: #dc3545;
}

/* Зміна кольору спінера на жовтий (spinner-warning) */
.spinner-border-warning, .spinner-grow-warning {
    border-top-color: #ffc107;
    background-color: #ffc107;
}

/* Зміна кольору спінера на сірий (spinner-secondary) */
.spinner-border-secondary, .spinner-grow-secondary {
    border-top-color: #6c757d;
    background-color: #6c757d;
}
