/* ============================================================
   loader.css — полноэкранный оверлей загрузки
   ============================================================ */

.loading-backdrop {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.5);
    -webkit-tap-highlight-color: transparent;
    color: #FFF;
    z-index: 1201;
}

.loading-backdrop.backdrop-blur {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

.loading-spinner-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
}

.loading-spinner {
    display: inline-block;
    animation: spinner-rotate 1.4s linear infinite;
}

@keyframes spinner-rotate {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-spinner-svg {
    display: block;
}

.loading-spinner-circle {
    stroke: currentColor;
    stroke-dasharray: 80px, 200px;
    stroke-dashoffset: 0;
    animation: spinner-dash 1.4s ease-in-out infinite;
}

@keyframes spinner-dash {
    0% {
        stroke-dasharray: 1px, 200px;
        stroke-dashoffset: 0;
    }
    50% {
        stroke-dasharray: 100px, 200px;
        stroke-dashoffset: -15px;
    }
    100% {
        stroke-dasharray: 100px, 200px;
        stroke-dashoffset: -125px;
    }
}
