/**
 * Archive Page Pagination Styles
 * アーカイブページのページネーションスタイル
 */

/* ページネーション */
.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  margin-top: 3rem;
  flex-wrap: wrap;
}

.pagination a,
.pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 45px;
  height: 45px;
  padding: 0 0.8rem;
  border: 2px solid #e5e5e5;
  background: white;
  color: #3d405b;
  text-decoration: none;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.9rem;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* 現在のページ */
.pagination .current {
  background: linear-gradient(135deg, #e07a5f, #f2cc8f);
  color: white;
  border-color: transparent;
  box-shadow: 0 4px 15px rgba(224, 122, 95, 0.3);
}

/* ホバー効果 */
.pagination a:hover {
  background: linear-gradient(135deg, #3d405b, #2a2d3a);
  color: white;
  border-color: #3d405b;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(61, 64, 91, 0.3);
}

/* 前へ・次へボタン */
.pagination .prev,
.pagination .next {
  min-width: auto;
  padding: 0 1.2rem;
  font-size: 0.85rem;
  letter-spacing: 0.3px;
}

.pagination .prev:hover,
.pagination .next:hover {
  background: linear-gradient(135deg, #81b29a, #6ba085);
  border-color: #81b29a;
}

/* 省略記号 */
.pagination .dots {
  background: transparent;
  border: none;
  color: #999;
  cursor: default;
  pointer-events: none;
}

.pagination .dots:hover {
  background: transparent;
  transform: none;
  box-shadow: none;
}

/* 無効化されたボタン */
.pagination .prev.disabled,
.pagination .next.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}

/* レスポンシブデザイン */
@media (max-width: 768px) {
  .pagination {
    gap: 0.3rem;
  }

  .pagination a,
  .pagination span {
    min-width: 40px;
    height: 40px;
    font-size: 0.8rem;
  }

  .pagination .prev,
  .pagination .next {
    padding: 0 1rem;
    font-size: 0.75rem;
  }
}

@media (max-width: 480px) {
  .pagination {
    flex-wrap: wrap;
    gap: 0.2rem;
  }

  .pagination a,
  .pagination span {
    min-width: 35px;
    height: 35px;
    font-size: 0.75rem;
  }

  /* モバイルでは一部のページ番号を非表示 */
  .pagination a:not(.prev):not(.next):not(.current) {
    display: none;
  }

  .pagination .current,
  .pagination .prev,
  .pagination .next {
    display: inline-flex;
  }

  /* 現在のページの前後1つずつを表示 */
  .pagination .current + a,
  .pagination a + .current {
    display: inline-flex;
  }
}