﻿#preloader {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--bg, #ffffff);
    z-index: 99999;
    transition: opacity .5s ease, visibility .5s ease;
}

#preloader.hide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Modern Spinner */
.modern-loader {
    position: relative;
    width: 72px;
    height: 72px;
}

.modern-loader span {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid transparent;
    animation: rotate 1.2s cubic-bezier(.68,-0.55,.27,1.55) infinite;
}

/* Outer Ring */
.modern-loader span:first-child {
    border-top-color: var(--brand, #0B5DAA);
    border-left-color: var(--brand, #0B5DAA);
    filter: drop-shadow(0 0 10px rgba(11, 93, 170, .35));
}

/* Inner Ring */
.modern-loader span:last-child {
    inset: 10px;
    border-bottom-color: var(--accent, #10A87C);
    border-right-color: var(--accent, #10A87C);
    animation-direction: reverse;
    animation-duration: .9s;
    filter: drop-shadow(0 0 8px rgba(16, 168, 124, .3));
}

@keyframes rotate {
    100% {
        transform: rotate(360deg);
    }
}
