/**
 * GTPlay - AJAX Loading States
 *
 * Visual feedback for asynchronous content loading.
 *
 * @package GTPlay Astra Child
 */

.gtplay-pilots-leaderboard.loading,
.gtplay-loading {
    opacity: 0.5;
    pointer-events: none;
    position: relative;
}

.gtplay-pilots-leaderboard.loading::after,
.gtplay-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 4px solid var(--gtplay-primary);
    border-top-color: transparent;
    border-radius: 50%;
    animation: gtplay-spinner 0.8s linear infinite;
    z-index: 100;
}

@keyframes gtplay-spinner {
    to { transform: rotate(360deg); }
}