.site-pagination {
  --sp-text: #ffffff;
  --sp-text-muted: #888888;
  --sp-accent: #e34449;
  --sp-bg-hover: rgba(255, 255, 255, 0.1);
  --sp-transition: 0.15s ease;
}

.site-pagination {
  display: flex;
  justify-content: center;
  padding: 32px 0;
}

.site-pagination ul {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-pagination li {
  display: flex;
}

.site-pagination a,
.site-pagination span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 12px;
  font-size: 15px;
  font-weight: 600;
  color: var(--sp-text);
  text-decoration: none;
  border-radius: 8px;
  background-color: rgba(255, 255, 255, 0.06);
  transition: background-color var(--sp-transition), color var(--sp-transition);
}

.site-pagination a:hover {
  background-color: rgba(255, 255, 255, 0.12);
}

.site-pagination .sp-current span {
  background-color: var(--sp-accent);
  color: #fff;
}

.site-pagination .sp-dots span {
  color: var(--sp-text-muted);
  cursor: default;
  min-width: auto;
  padding: 0 8px;
  background-color: transparent;
}

.site-pagination .sp-prev a,
.site-pagination .sp-next a {
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.06);
}

.site-pagination .sp-prev a:hover,
.site-pagination .sp-next a:hover {
  background-color: var(--sp-bg-hover);
}

.site-pagination .sp-icon {
  width: 20px;
  height: 20px;
  fill: currentColor;
}

.site-pagination .sp-first a,
.site-pagination .sp-last a {
  color: var(--sp-text-muted);
}

.site-pagination .sp-first a:hover,
.site-pagination .sp-last a:hover {
  color: var(--sp-text);
}

@media (max-width: 767px) {
  .site-pagination {
    padding: 24px 16px;
  }

  .site-pagination ul {
    gap: 4px;
  }

  .site-pagination a,
  .site-pagination span {
    min-width: 36px;
    height: 36px;
    padding: 0 8px;
    font-size: 13px;
  }

  .site-pagination .sp-prev,
  .site-pagination .sp-next,
  .site-pagination .sp-hide-mobile {
    display: none;
  }
}

.load-more {
  display: flex;
  justify-content: center;
  padding: 32px 0;
}

.load-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 40px;
  font-size: 15px;
  font-weight: 600;
  color: var(--sp-text);
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  text-decoration: none;
  transition: background-color var(--sp-transition), border-color var(--sp-transition);
}

.load-more a:hover {
  background-color: var(--sp-bg-hover);
  border-color: rgba(255, 255, 255, 0.25);
}
