/* Loading overlay */
.tabs-loading-overlay {
    position: relative;
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 8px;
    z-index: 10;
    margin-top: 20px;
}

.loading-spinner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
}

/* Animated ring */
.spinner-ring {
    width: 52px;
    height: 52px;
    border: 4px solid #e0e0e0;
    border-top-color: #0057b8; /* Match your theme colour */
    border-radius: 50%;
    animation: spin 0.75s linear infinite;
}

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

.loading-text {
    font-size: 14px;
    color: #555;
    margin: 0;
    letter-spacing: 0.03em;
}

/* Fade-in for freshly loaded content */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
}

.tabs-content .tabs-panel.is-active {
    animation: fadeInUp 0.35s ease forwards;
}

/* Disabled tab state while loading */
.d23_day_categories .tabs-title a.is-loading {
    pointer-events: none;
    opacity: 0.55;
    cursor: not-allowed;
}