/* MUI 스타일 페이지네이션 */
.pagination-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1rem 0;
}

.pagination-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background-color: white;
  border-radius: 0.5rem;
  border: 1px solid #e5e7eb;
  padding: 0.25rem;
}

.page-numbers {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

/* 페이지네이션 버튼 기본 스타일 */
.pagination-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
  background-color: white;
  border-radius: 0.375rem;
  transition: all 0.2s;
  text-decoration: none;
}

.pagination-btn:hover {
  background-color: #f9fafb;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

.pagination-btn:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
  box-shadow: 0 0 0 2px #3b82f6;
}

/* 현재 페이지 스타일 */
.page.current {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 0.5rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: white;
  background-color: #3b82f6;
  border-radius: 0.375rem;
}

/* 페이지 번호 스타일 */
.page {
  display: inline-flex;
}

/* 첫 페이지, 마지막 페이지, 이전, 다음 버튼 */
.first-page,
.last-page,
.prev-page,
.next-page {
  display: inline-flex;
}

/* 생략 표시 */
.page.gap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  color: #9ca3af;
  cursor: default;
}

/* 비활성화된 상태 */
.pagination-btn:disabled,
.pagination-btn.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.pagination-btn:disabled:hover,
.pagination-btn.disabled:hover {
  background-color: white;
}

/* 호버 효과 강화 */
.pagination-btn:hover:not(:disabled) {
  background-color: #f3f4f6;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

/* 모바일 반응형 */
@media (max-width: 640px) {
  .pagination-wrapper {
    padding: 0.125rem;
  }
  
  .pagination-btn {
    min-width: 28px;
    height: 28px;
    padding: 0 0.375rem;
    font-size: 0.75rem;
  }
  
  .page.current {
    min-width: 28px;
    height: 28px;
    padding: 0 0.375rem;
    font-size: 0.75rem;
  }
}