/* =========================================
   css/components/pagination.css
   Controles de paginación reutilizables.
========================================= */

/* --- Wrapper externo --- */
.pagination-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
}

/* --- Info: "Mostrando X–Y de Z registros" --- */
.pagination-info {
  font-size: 0.8rem;
  color: var(--text-slate-500);
}

/* --- Barra de navegación --- */
.pagination {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* --- Botón base --- */
.pagination__btn {
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid var(--border-slate-200);
  border-radius: var(--radius-md);
  background: var(--bg-white);
  color: var(--text-slate-600);
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    background-color var(--transition-fast),
    color            var(--transition-fast),
    border-color     var(--transition-fast);
}

.pagination__btn:hover:not(:disabled):not(.pagination__btn--active) {
  background-color: var(--bg-slate-100);
  border-color: var(--border-slate-300);
  color: var(--text-slate-900);
}

/* --- Página activa --- */
.pagination__btn--active {
  background-color: var(--color-blue-600);
  border-color: var(--color-blue-600);
  color: var(--text-white);
  cursor: default;
  font-weight: 700;
}

/* --- Botón deshabilitado (prev/next en extremos) --- */
.pagination__btn:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

/* --- Elipsis (…) --- */
.pagination__ellipsis {
  min-width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--text-slate-400);
  font-size: 0.875rem;
  user-select: none;
}

/* --- Responsive: botones más compactos en móvil --- */
@media (max-width: 768px) {
  .pagination__btn {
    min-width: 32px;
    height: 32px;
    font-size: 0.8rem;
    padding: 0 7px;
  }

  .pagination__ellipsis {
    min-width: 28px;
  }
}
