.section-title {
    font-family: 'Cinzel', serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .06em;
    color: var(--text);
    padding: 0 2rem;
    max-width: 1200px;
    margin: 2.5rem auto .5rem;
    display: flex;
    align-items: center;
    gap: .7rem;
}

.section-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: var(--border);
}

.empty-state {
    text-align: center;
    padding: 5rem 2rem;
    color: var(--muted);
}

.empty-state-icon {
    font-size: 3rem;
    margin-bottom: 1rem;
}

.empty-state h3 {
    color: var(--text);
    margin-bottom: .5rem;
    font-weight: 400;
}

.loader {
    display: flex;
    gap: .5rem;
    justify-content: center;
    padding: 3rem;
}

.loader span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
    animation: bounce .8s ease infinite;
}

.loader span:nth-child(2) {
    animation-delay: .15s;
    background: var(--accent2);
}

.loader span:nth-child(3) {
    animation-delay: .3s;
    background: var(--cyan);
}

@keyframes bounce {
    0%, 80%, 100% {
        transform: scale(.7);
        opacity: .4;
    }

    40% {
        transform: scale(1);
        opacity: 1;
    }
}