.safari-loader {
    position: fixed;
    inset: 0;
    z-index: 20000;
    display: none;
    align-items: center;
    justify-content: center;
    background: rgba(0, 1, 25, .55); /* CITAM navy veil */
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
}

html[data-bs-theme="dark"] .safari-loader {
    background: rgba(5, 6, 15, .70);
}

.safari-loader.is-active {
    display: flex;
}

.safari-loader-box {
    position: relative;
    width: 110px;
    height: 110px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.safari-loader-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid rgba(75, 181, 216, .25); /* sky track */
    border-top-color: var(--citam-red, #E01020); /* brand red sweep */
    animation: safari-spin .9s linear infinite;
}

.safari-loader-logo {
    width: 64px;
    height: 64px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
    padding: 7px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .25);
    animation: safari-pulse 1.4s ease-in-out infinite;
}

.safari-loader-text {
    position: absolute;
    bottom: -34px;
    color: #fff;
    font-size: .82rem;
    letter-spacing: .04em;
}

@keyframes safari-spin {
    to { transform: rotate(360deg); }
}

@keyframes safari-pulse {
    0%, 100% { transform: scale(.9); opacity: .85; }
    50% { transform: scale(1.03); opacity: 1; }
}
