/* Hide default pagy styles */
.data-table-footer nav.pagy {
  display: flex;
  align-items: center;
  gap: 0.5rem; /* space-x-2 */
}

/* Style all pagination links and elements */
.data-table-footer nav.pagy a,
.data-table-footer nav.pagy a[role="link"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem; /* w-8 */
  height: 2rem; /* h-8 */
  padding: 0;
  font-size: 0.875rem; /* text-sm */
  font-weight: 500; /* font-medium */
  transition-property: color, background-color, border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
  border-width: 1px;
  border-radius: 0.5rem; /* rounded-lg */
  white-space: nowrap;
  background-color: hsl(var(--background));
}

.data-table-footer
  nav.pagy
  a:hover:not([aria-disabled="true"]):not([aria-current="page"]) {
  background-color: hsl(var(--accent));
  color: hsl(var(--accent-foreground));
}

/* Current page (disabled/active state) */
.data-table-footer nav.pagy a[aria-current="page"],
.data-table-footer nav.pagy a[aria-disabled="true"] {
  opacity: 0.5;
  pointer-events: none;
}

/* Gap separator (...) */
.data-table-footer nav.pagy a[role="separator"] {
  border-width: 1px;
}

/* Hide first/last buttons on mobile, show on large screens */
@media (max-width: 1023px) {
  .data-table-footer nav.pagy a[rel="first"],
  .data-table-footer nav.pagy a[rel="last"] {
    display: none;
  }
}

@media (min-width: 1024px) {
  .data-table-footer nav.pagy a[rel="first"],
  .data-table-footer nav.pagy a[rel="last"] {
    display: inline-flex;
  }
}
