/* ============================================
   ESTILOS GLOBAIS DO TEMA
   ============================================ */

html, body {
    scroll-behavior: smooth;
    font-family: 'Poppins', sans-serif;
}

/* Utilitário para fonte maior */
.mx-auto {
    font-size: 1.4375rem; /* 23px */
}

/* ============================================
   PAGINAÇÃO
   ============================================ */

.pagination,
.page-numbers {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pagination li,
.page-numbers li {
    display: inline-block;
}

.pagination a,
.pagination span,
.page-numbers a,
.page-numbers span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    height: 2.5rem;
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    color: #050B47;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.2s ease;
}

.pagination a:hover,
.page-numbers a:hover {
    background-color: #050B47;
    color: #fff;
    border-color: #050B47;
}

.pagination .current,
.pagination span.current,
.page-numbers .current,
.page-numbers span.current {
    background-color: #050B47;
    color: #fff;
    border-color: #050B47;
}

.pagination .dots,
.page-numbers .dots {
    border: none;
    background: transparent;
    pointer-events: none;
}

.pagination .prev,
.pagination .next,
.page-numbers .prev,
.page-numbers .next {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

@media (max-width: 576px) {
    .pagination a,
    .pagination span,
    .page-numbers a,
    .page-numbers span {
        min-width: 2rem;
        height: 2rem;
        padding: 0.375rem 0.75rem;
        font-size: 0.875rem;
    }
    
    .pagination,
    .page-numbers {
        gap: 0.25rem;
    }
}
