/**
 * Shared AJAX Spinner Styles
 * Used by both Material Bank and Contacts Archive
 */

/* Loading state for containers */
.vsliitto-ajax-loading,
.materials-content.loading,
.vsliitto-contacts-results.loading {
    pointer-events: none;
}

/* Spinner overlay */
.vsliitto-ajax-loading::before,
.materials-content.loading::before,
.vsliitto-contacts-results.loading::before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.6);
    z-index: 9998;
}

/* Spinner - centered in viewport */
.vsliitto-ajax-loading::after,
.materials-content.loading::after,
.vsliitto-contacts-results.loading::after {
    content: '';
    display: block;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 60px;
    height: 60px;
    margin-left: -30px;
    margin-top: -30px;
    border-radius: 50%;
    border: 6px solid rgba(0, 61, 92, 0.1);
    border-top-color: #003d5c;
    animation: vsliitto-spinner 1s linear infinite;
    z-index: 9999;
}

/* Spinner animation */
@keyframes vsliitto-spinner {
    to {
        transform: rotate(360deg);
    }
}
