.paginator{
  margin-top: 14px;
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  background: rgba(255,255,255,0.95);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 14px;
  padding: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  backdrop-filter: blur(10px);
}

.page-btn, .page-gap{
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 36px; padding: 0 12px;
  border-radius: 10px;
  font-size: .9rem; font-weight: 600; text-decoration: none;
  user-select: none;
}

.page-btn{
  color: #333;
  background: rgba(255,255,255,0.9);
  border: 1px solid rgba(255,255,255,0.28);
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, color .15s ease, background .15s ease;
}

.page-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.12);
  border-color: rgba(255,255,255,0.4);
}

.page-btn:active{
  transform: scale(.98);
}

.page-btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(102,126,234,.35), 0 6px 18px rgba(0,0,0,0.12);
  border-color: rgba(102,126,234,.55);
}

.page-btn.is-active{
  color: #fff;
  background: linear-gradient(135deg, #667eea, #764ba2);
  border-color: rgba(118,75,162,0.35);
  box-shadow: 0 6px 18px rgba(118,75,162,.25);
  cursor: default;
}

.page-btn.page-btn--ghost{
  background: rgba(255,255,255,0.6);
  color: #494f77;
}

.page-btn.is-disabled{
  pointer-events: none;
  opacity: .45;
  filter: grayscale(10%);
}

.page-gap{
  color: #666; padding: 0 4px; min-width: auto; height: 36px;
}

@media (max-width: 360px){
  .page-btn, .page-gap{ height: 34px; min-width: 34px; padding: 0 10px; font-size: .85rem; }
}
