/* ===================== */
/* Pagination Component  */
/* ===================== */

.pagination-wrapper {
  margin-top: 3rem;
}

.pagination-wrapper:empty {
  display: none;
}

.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Prev / Next arrows */

.pagination__prev,
.pagination__next {
  display: flex;
}

.pagination__prev a,
.pagination__next a,
.pagination__prev > span,
.pagination__next > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  border: 1px solid #dee3e6;
  background: var(--white);
  color: #343b40;
  transition: 0.2s;
}

.pagination__prev a:hover,
.pagination__next a:hover {
  background: #f5f7f8;
  border-color: #ced5da;
  color: #202426;
}

/* Disabled state — DLE renders <span> instead of <a> */
.pagination__prev > span,
.pagination__next > span {
  opacity: 0.4;
  cursor: default;
}

/* Page numbers container */

.pagination__pages {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* Page number links */

.pagination__pages a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  border-radius: 10px;
  border: 1px solid transparent;
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
  color: #6c767d;
  transition: 0.2s;
}

.pagination__pages a:hover {
  background: #f5f7f8;
  border-color: #dee3e6;
  color: #343b40;
}

/* Active (current) page — DLE outputs <span> for current page */

.pagination__pages span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 8px;
  border-radius: 10px;
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  font-family: var(--font-heading);
  font-size: 14px;
  font-weight: 600;
  color: var(--white);
}

/* Responsive */

@media (max-width: 767px) {
  .pagination-wrapper {
    margin-top: 2rem;
  }

  .pagination {
    gap: 4px;
  }

  .pagination__prev a,
  .pagination__next a,
  .pagination__prev > span,
  .pagination__next > span {
    width: 36px;
    height: 36px;
    border-radius: 8px;
  }

  .pagination__pages a,
  .pagination__pages span {
    min-width: 36px;
    height: 36px;
    font-size: 13px;
    border-radius: 8px;
  }
}

@media (max-width: 575px) {
  .pagination__prev a,
  .pagination__next a,
  .pagination__prev > span,
  .pagination__next > span {
    width: 34px;
    height: 34px;
  }

  .pagination__pages a,
  .pagination__pages span {
    min-width: 34px;
    height: 34px;
    padding: 0 6px;
  }
}
