.pagination-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  padding: var(--space-2) 0;
}

.pagination-size {
  display: flex;
  align-items: center;
  gap: var(--space-1);
  font-size: 0.85rem;
}

.page-size-select {
  padding: 4px 8px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--radius-sm);
  font-size: 0.85rem;
  background: #fff;
}

.pagination-nav {
  display: flex;
  align-items: center;
  gap: 2px;
}

/* The `hidden` attribute only carries `display: none` from the UA stylesheet,
 * which the author rule above overrides — so setting .hidden in JS had no
 * visual effect and stale page buttons stayed on screen at size=all. */
.pagination-nav[hidden] {
  display: none;
}

.page-btn {
  min-width: 44px;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: var(--radius-sm);
  background: #fff;
  cursor: pointer;
  font-size: 0.85rem;
  transition: background 120ms ease;
}

.page-btn:hover:not(:disabled):not(.page-btn-active) {
  background: rgba(0, 0, 0, 0.04);
}

.page-btn-active {
  background: var(--color-accent);
  color: var(--color-text-inverse);
  border-color: var(--color-accent);
  font-weight: 700;
}

.page-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.page-ellipsis {
  padding: 6px 4px;
  color: var(--color-text-light);
}

.pagination-info {
  font-size: 0.8rem;
  color: var(--color-text-light);
}

@media (max-width: 600px) {
  .pagination-controls {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
  }

  .pagination-nav {
    justify-content: center;
    flex-wrap: wrap;
  }

  .pagination-size {
    justify-content: center;
  }

  .pagination-info {
    text-align: center;
  }
}
