﻿

.preloader-wrap {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-direction: column;
}

/* Spinner */
.spinner {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: relative;
    display: inline-block;
    transform: translateZ(0);
}

    /* Outer ring */
    .spinner::before {
        content: "";
        box-sizing: border-box;
        position: absolute;
        inset: 0;
        border-radius: 50%;
        border: 8px solid rgba(255,165,0,0.18); /* soft orange ring */
    }

    /* Animated colored arc */
    .spinner::after {
        content: "";
        box-sizing: border-box;
        position: absolute;
        inset: 0;
        border-radius: 50%;
        border: 8px solid transparent;
        border-top-color: #ff8c00; /* orange */
        border-right-color: #ff7a00; /* slightly different tint for depth */
        animation: spin 1s linear infinite;
        will-change: transform;
    }

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/* Optional small label */
.preloader-text {
    font-size: 14px;
    color: #666;
    letter-spacing: 0.2px;
}

/* Reduce motion preference */
@media (prefers-reduced-motion: reduce) {
    .spinner::after {
        animation: none;
        transform: rotate(0deg);
    }
}

