/* Mobile-first pagination styles - components/pagination.css
   - Designed to work with existing markup in pages/noticias and busca_resultados
   - Small screens: hide long page ranges, keep Prev / Current / Next accessible
   - Larger screens: show full page range
*/

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 1.25rem 0;
  flex-wrap: nowrap;
}

.pagination-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  align-items: center;
}

.pagination-info {
  font-size: 0.875rem;
  color: #6b7280;
}

.pagination-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 0.6rem;
  border-radius: 6px;
  border: none;
  background: transparent;
  color: #111827;
  text-decoration: none;
  font-size: 0.95rem;
  outline: none;
  box-shadow: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.pagination-link:hover {
  background: rgba(var(--primary-color-rbg), 0.06);
}

.pagination-link:focus {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

.pagination-link.is-disabled,
.pagination-item.disabled .pagination-link,
.pagination-link[aria-disabled="true"] {
  opacity: 0.6;
  pointer-events: none;
  background: transparent;
  color: #9ca3af;
}

.pagination-link.is-current,
.pagination-item.active .pagination-link,
.pagination-link[aria-current="page"] {
  background: var(--primary-color);
  color: #ffffff;
  box-shadow: none;
  font-weight: 600;
}

.pagination-numbers,
.pagination-list {
  display: flex;
  gap: 0.25rem;
  align-items: center;
  flex-wrap: wrap;
}

.pagination-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.5rem;
  color: #6b7280;
}

/* Responsividade: no mobile mostramos range menor de páginas */
/* Responsividade: no mobile mostramos apenas página atual ±1 
   Mantém primeira página, última página, ellipsis se houver */
@media (max-width: 640px) {
  .pagination {
    gap: 0.25rem;
  }

  /* Pagination numbers reduzido no mobile */
  .pagination-numbers {
    display: flex !important;
    gap: 0.15rem;
  }

  .pagination-info {
    font-size: 0.8rem;
  }

  .pagination-link {
    min-width: 44px;
    height: 44px;
    font-size: 1rem;
    border-radius: 8px;
  }

  .pagination-wrapper {
    align-items: stretch;
  }

  /* Estratégia: mostrar 1 ... [current-1 current current+1] ... última
     Usando nth-child para esconder elementos intermediários */
  .pagination-numbers > * {
    display: none;
  }

  .pagination-numbers > :first-child,
  .pagination-numbers > :last-child,
  .pagination-numbers > .is-current,
  .pagination-numbers > .pagination-ellipsis {
    display: inline-flex;
  }

  /* Mostrar um elemento antes e um depois do atual */
  .pagination-numbers > .is-current ~ :not(.pagination-ellipsis):not(.is-current):first-of-type,
  .pagination-numbers > .is-current ~ .is-current:first-of-type {
    display: inline-flex;
  }
}

@media (min-width: 641px) {
  .pagination-numbers {
    display: flex !important;
  }
}
