/**
 * Numbered pagination (views/partials/pagination.twig) on the XPT News,
 * category, author and search listings.
 *
 * Plain CSS outside the Sass build; loaded by AssetsServiceProvider.
 */

.xpt-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 20px;
  margin-top: clamp(32px, 4vw, 48px);
}

.xpt-pagination__pages {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.xpt-pagination__pages li { margin: 0; }

.xpt-pagination .xpt-pagination__page,
.xpt-pagination .xpt-pagination__gap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 10px;
  border: 1px solid #d5deda;
  border-radius: 2px;
  background: #fff;
  font-family: "TradeGothicLT-Bold", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  color: #16201d;
  text-decoration: none;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.xpt-pagination .xpt-pagination__gap { border-color: transparent; background: none; }

.xpt-pagination a.xpt-pagination__page:hover { border-color: #16201d; }

.xpt-pagination .xpt-pagination__page.is-current {
  border-color: #16201d;
  background: #16201d;
  color: #fff;
}

.xpt-pagination .xpt-pagination__step {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: "TradeGothicLT-Bold", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  color: #00744b;
  text-decoration: none;
}

.xpt-pagination .xpt-pagination__step svg { width: 18px; height: 18px; }
.xpt-pagination .xpt-pagination__step:hover span { text-decoration: underline; }

.xpt-pagination a:focus-visible {
  outline: 3px solid #00ce7c;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .xpt-pagination .xpt-pagination__page { transition: none; }
}
