/* ── Pagination Styles ── */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  margin-top: var(--space-8);
}

.pagination-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: var(--space-1);
  background: var(--color-surface);
  color: var(--color-text);
  font-size: var(--text-sm);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: all var(--duration-fast) var(--ease-default);
}

.pagination-item:hover:not(.pagination-item-disabled):not(.pagination-item-active) {
  background: var(--color-bg-alt);
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.pagination-item-active {
  background: var(--color-primary);
  color: var(--color-surface);
  border-color: var(--color-primary);
}

.pagination-item-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

.pagination-ellipsis {
  padding: var(--space-1) var(--space-2);
  color: var(--color-text-muted);
}

/* ── Pagination with Icons ── */
.pagination-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  background: var(--color-surface);
  color: var(--color-text);
  font-size: var(--text-sm);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  transition: all var(--duration-fast) var(--ease-default);
}

.pagination-link:hover:not(.pagination-link-disabled) {
  background: var(--color-bg-alt);
  border-color: var(--color-accent);
  color: var(--color-accent);
}

.pagination-link-disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

@media (max-width: 640px) {
  .pagination-link span:not(:last-child) {
    display: none;
  }

  .pagination-item {
    min-width: 36px;
    height: 36px;
    font-size: var(--text-xs);
  }
}
