.paginacao { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid #e5e7eb; text-align: center; }
.paginacao ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.paginacao li a, .paginacao li.gap span {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 40px; height: 40px; padding: 0 12px; border-radius: 8px;
    font-weight: 600; font-size: 15px; color: #374151; text-decoration: none;
    border: 1px solid #e5e7eb; background: #fff; transition: background .15s, color .15s, border-color .15s;
}
.paginacao li.gap span { border-color: transparent; background: transparent; min-width: 24px; padding: 0; }
.paginacao li a:hover { background: #f3f4f6; border-color: #cbd5e1; }
.paginacao li.active a { background: #007bff; border-color: #007bff; color: #fff; cursor: default; }
.paginacao li.disabled a { opacity: .4; pointer-events: none; }
.paginacao-info { margin: .9rem 0 0; font-size: 13px; color: #6b7280; }
@media (max-width: 480px) {
    .paginacao li a { min-width: 36px; height: 36px; padding: 0 8px; font-size: 14px; }
}

/* Grade de listagens: 1 coluna no celular, 2 no tablet, 3 no desktop */
.grade-3 { display: grid !important; grid-template-columns: 1fr; gap: 28px 20px; margin: 0 !important; }
.grade-3 > * { width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; min-width: 0; }
@media (min-width: 576px) { .grade-3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .grade-3 { grid-template-columns: repeat(3, 1fr); } }
