/* ==========================================
   PAGINATION STYLES
   ========================================== */

.pagination-nav,
.pagination-wrapper nav {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 20px 0;
}

.pagination-list,
.pagination nav ul {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.pagination-item,
.page-item {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* ==================== PAGE NUMBERS ==================== */
.pagination-link,
.page-link {
  min-width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  color: #555;
  background-color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: all 0.3s ease;
  cursor: pointer;
}

.pagination-link:hover,
.page-link:hover {
  color: #333;
  border-color: #007bff;
  background-color: #f8f9fa;
  transform: translateY(-1px);
}

/* ==================== ACTIVE PAGE ==================== */
.pagination-link-active,
.pagination-active .pagination-link,
.page-item.active .page-link,
.current {
  background-color: #007bff;
  color: #fff;
  border-color: #007bff;
  font-weight: 600;
}

.pagination-link-active:hover,
.pagination-active .pagination-link:hover {
  background-color: #0056b3;
  border-color: #0056b3;
}

/* ==================== PREV/NEXT BUTTONS ==================== */
.pagination-prev,
.pagination-next,
.prev,
.next {
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination-prev .pagination-link,
.pagination-next .pagination-link,
.prev .page-link,
.next .page-link {
  width: 40px;
  height: 40px;
  padding: 0;
}

.pagination-prev .pagination-link:disabled,
.pagination-next .pagination-link:disabled,
.prev .page-link:disabled,
.next .page-link:disabled,
.prev[href],
.next[href] {
  opacity: 0.5;
  cursor: not-allowed;
}

.pagination-prev .pagination-link i,
.pagination-next .pagination-link i {
  font-size: 12px;
}

/* ==================== DOTS ==================== */
.pagination-dots,
.pagination-dots-text {
  color: #999;
  font-size: 14px;
  font-weight: 600;
  line-height: 40px;
  padding: 0 5px;
}

/* ==================== RESPONSIVE ==================== */
@media (max-width: 768px) {
  .pagination-list,
  .pagination nav ul {
    gap: 4px;
  }

  .pagination-link,
  .page-link {
    min-width: 36px;
    height: 36px;
    font-size: 13px;
  }

  .pagination-prev .pagination-link,
  .pagination-next .pagination-link,
  .prev .page-link,
  .next .page-link {
    width: 36px;
    height: 36px;
  }
}

@media (max-width: 480px) {
  .pagination-list,
  .pagination nav ul {
    gap: 2px;
  }

  .pagination-link,
  .page-link {
    min-width: 32px;
    height: 32px;
    font-size: 12px;
  }

  .pagination-prev .pagination-link,
  .pagination-next .pagination-link,
  .prev .page-link,
  .next .page-link {
    width: 32px;
    height: 32px;
  }

  /* Hide dots on mobile */
  .pagination-dots,
  .pagination-dots-text {
    display: none;
  }
}
