@charset "utf-8";
/* ==========================================================================================================
   ksp-archive — カテゴリー/タグ/アーカイブ一覧ページ専用スタイルシート（新規・独立）
   ========================================================================================================== */

:root {
	--ksp-color-accent: #1c6eae;
	--ksp-color-accent-dark: #124d78;
	--ksp-color-text: #222222;
	--ksp-color-text-muted: #6b6b6b;
	--ksp-color-border: #e6e6e6;
	--ksp-color-bg: #f5f6f7;
	--ksp-radius-md: 1rem;
	--ksp-radius-lg: 1.6rem;
}

html { font-size: 62.5%; scroll-behavior: smooth; }
@media screen and (max-width: 1300px) and (min-width: 751px) {
	html { font-size: 0.75vw; }
}
@media screen and (max-width: 750px) {
	html { font-size: 62.5%; }
}

.ksp-archive,
.ksp-archive * { box-sizing: border-box; }

.ksp-archive { font-family: 'Noto Sans JP', sans-serif; color: var(--ksp-color-text); }
.ksp-archive-list { display: flex; flex-direction: column; gap: 2.4rem; margin: 0 0 3.2rem; padding: 0; list-style: none; }
.ksp-archive-card { display: flex; gap: 2rem; padding-bottom: 2.4rem; border-bottom: 0.1rem solid var(--ksp-color-border); }
.ksp-archive-card__thumb { flex: 0 0 auto; display: block; width: 17rem; height: 17rem; border-radius: var(--ksp-radius-md); overflow: hidden; background: var(--ksp-color-bg); }
.ksp-archive-card__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ksp-archive-card__body { flex: 1 1 auto; min-width: 0; }
.ksp-archive-card__date { font-size: 1.2rem; color: var(--ksp-color-text-muted); }
.ksp-archive-card__title { margin: 0.4rem 0 1rem; font-size: 1.8rem; font-weight: 700; line-height: 1.5; }
.ksp-archive-card__title a { color: inherit; text-decoration: none; }
.ksp-archive-card__title a:hover { color: var(--ksp-color-accent); }
.ksp-archive-card__terms { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-bottom: 2rem; }
.ksp-archive-card__terms a { display: inline-flex; align-items: center; height: 2.6rem; margin: 0 0.6rem 0.6rem 0; padding: 0 1.2rem; border-radius: 999rem; text-decoration: none; font-size: 1.1rem; font-weight: 600; }
.ksp-archive-card__categories a { background: var(--ksp-color-text); color: #fff; }
.ksp-archive-card__tags a { background: var(--ksp-color-bg); color: var(--ksp-color-text-muted); }
.ksp-archive-card__excerpt { margin: 0 0 1.2rem; font-size: 1.4rem; line-height: 1.8; color: var(--ksp-color-text-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ksp-archive-card__more { display: inline-flex; align-items: center; height: 3.4rem; padding: 0 1.6rem; border-radius: 999rem; background: var(--ksp-color-accent); color: #fff; text-decoration: none; font-size: 1.2rem; font-weight: 600; transition: background .2s ease; }
.ksp-archive-card__more:hover { background: var(--ksp-color-accent-dark); color: #fff; text-decoration: none; }

/* wp-pagenavi プラグインが出力する既存マークアップを、このスコープ内だけで新デザインにする */
/* wp_pagenavi() が内部でさらに .wp-pagenavi で包むため、実際のリンクはその子要素 */
.ksp-pagenavi .wp-pagenavi { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
.ksp-pagenavi .pages { display: none; }
.ksp-pagenavi a,
.ksp-pagenavi span { display: inline-flex; align-items: center; justify-content: center; min-width: 3.6rem; height: 3.6rem; margin: 0 !important; padding: 0 1rem !important; border: none !important; border-radius: var(--ksp-radius-md); background: var(--ksp-color-bg); color: var(--ksp-color-text); text-decoration: none; font-size: 1.3rem; box-sizing: border-box; }
.ksp-pagenavi a:hover { background: var(--ksp-color-accent); color: #fff; }
.ksp-pagenavi span.current { background: var(--ksp-color-accent); color: #fff; font-weight: 700; }

@media screen and (max-width: 750px) {
	.ksp-archive-card { gap: 1.2rem; }
	.ksp-archive-card__thumb { width: 10rem; height: 10rem; }
	.ksp-archive-card__title { font-size: 1.5rem; }
	.ksp-archive-card__excerpt { display: none; }
}
