/* Memories collection and chapter indexes. This CSS only styles .cam-archive. */
body.cfp-custom-home .cam-archive,
body.cfp-custom-home .cam-archive * { box-sizing: border-box; }
body.cfp-custom-home .cam-archive {
  --cam-accent:#D11566;
  --cam-ink:#30343B;
  --cam-sub:#656C76;
  --cam-line:#DCE0E5;
  --cam-panel:#F7F8FA;
  background:#fff;
  color:var(--cam-ink);
  min-height:60vh;
  padding:clamp(28px,5vw,64px) 0 76px;
  font-size:16px;
  line-height:1.7;
}
body.cfp-custom-home .cam-archive .cam-archive-inner {
  width:min(100% - 36px, 1050px);
  margin:0 auto;
}
body.cfp-custom-home .cam-archive .cam-preview-banner {
  background:#FFF2CF;
  border:1px solid #E9D596;
  border-radius:6px;
  color:#4F431D;
  padding:10px 14px;
  margin-bottom:24px;
  font-size:13px;
}
body.cfp-custom-home .cam-archive .cam-archive-heading {
  padding-bottom:22px;
  border-bottom:2px solid var(--cam-accent);
  margin-bottom:26px;
}
body.cfp-custom-home .cam-archive .cam-eyebrow {
  font-size:12px;
  line-height:1.5;
  letter-spacing:.14em;
  color:var(--cam-accent);
  font-weight:700;
  margin:0 0 8px;
}
body.cfp-custom-home .cam-archive .cam-archive-heading h1 {
  color:var(--cam-ink);
  font-size:clamp(26px,4vw,36px);
  line-height:1.3;
  margin:0 0 10px;
}
body.cfp-custom-home .cam-archive .cam-archive-intro,
body.cfp-custom-home .cam-archive .cam-archive-intro p {
  margin:0;
  color:var(--cam-sub);
  font-size:14px;
  line-height:1.8;
}
body.cfp-custom-home .cam-archive .cam-list-caption {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  color:var(--cam-sub);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  margin-bottom:12px;
}
body.cfp-custom-home .cam-archive .cam-list {
  border:1px solid var(--cam-line);
  border-radius:10px;
  overflow:hidden;
  background:#fff;
}
body.cfp-custom-home .cam-archive .cam-list-item + .cam-list-item { border-top:1px solid var(--cam-line); }
body.cfp-custom-home .cam-archive .cam-list-item { margin:0; padding:0; list-style:none; }
body.cfp-custom-home .cam-archive .cam-list-link {
  display:flex;
  gap:18px;
  align-items:center;
  min-height:116px;
  padding:15px 20px;
  color:var(--cam-ink);
  background:#fff;
  text-decoration:none;
  transition:background .16s;
}
body.cfp-custom-home .cam-archive .cam-list-link:hover,
body.cfp-custom-home .cam-archive .cam-list-link:focus-visible {
  background:#F2F3F5;
  text-decoration:none;
}
body.cfp-custom-home .cam-archive .cam-list-link:focus-visible { outline:3px solid var(--cam-accent); outline-offset:-3px; }
/* Reserve identical image-column width even when a thumbnail is absent. */
body.cfp-custom-home .cam-archive .cam-leading {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 80px;
  width:80px;
  height:80px;
}
body.cfp-custom-home .cam-archive .cam-thumbnail {
  display:block;
  max-width:100%;
  width:80px;
  height:80px;
  padding:3px;
  object-fit:contain;
  background:var(--cam-panel);
  border:1px solid var(--cam-line);
  border-radius:5px;
}
body.cfp-custom-home .cam-archive .cam-chapter-number {
  color:var(--cam-accent);
  font-size:18px;
  font-weight:700;
  letter-spacing:.06em;
  font-variant-numeric:tabular-nums;
}
body.cfp-custom-home .cam-archive .cam-post-detail {
  display:flex;
  min-width:0;
  flex:1 1 auto;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
}
body.cfp-custom-home .cam-archive .cam-post-type { font-size:11px; font-weight:700; color:var(--cam-accent); letter-spacing:.08em; }
body.cfp-custom-home .cam-archive .cam-post-title {
  width:100%;
  color:var(--cam-ink);
  font-size:16px;
  line-height:1.5;
  font-weight:700;
  overflow-wrap:anywhere;
}
body.cfp-custom-home .cam-archive .cam-post-date { font-size:12px; color:var(--cam-sub); font-variant-numeric:tabular-nums; }
body.cfp-custom-home .cam-archive .cam-list-arrow { color:var(--cam-accent); font-size:20px; margin-left:auto; }
body.cfp-custom-home .cam-archive .cam-no-posts { padding:24px; border:1px solid var(--cam-line); border-radius:9px; }
body.cfp-custom-home .cam-archive .cam-pagination { margin:28px 0; }
body.cfp-custom-home .cam-archive .cam-pagination ul.page-numbers {
  padding:0;
  margin:0;
  list-style:none;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
}
body.cfp-custom-home .cam-archive .cam-pagination li { margin:0; list-style:none; }
body.cfp-custom-home .cam-archive .cam-pagination a.page-numbers,
body.cfp-custom-home .cam-archive .cam-pagination span.page-numbers {
  display:inline-flex;
  min-height:40px;
  min-width:40px;
  padding:7px 12px;
  align-items:center;
  justify-content:center;
  border:1px solid var(--cam-line);
  border-radius:6px;
  text-decoration:none;
  font-size:13px;
  color:var(--cam-ink);
  background:var(--cam-panel);
  width:auto;
  height:auto;
  margin:0;
  line-height:1.3;
}
body.cfp-custom-home .cam-archive .cam-pagination span.page-numbers.current,
body.cfp-custom-home .cam-archive .cam-pagination a.page-numbers:hover {
  color:#fff;
  background:var(--cam-accent);
  border-color:var(--cam-accent);
}
body.cfp-custom-home .cam-archive .cam-back-to-comic { margin-top:24px; text-align:center; }
body.cfp-custom-home .cam-archive .cam-back-to-comic a { color:var(--cam-accent); text-decoration:none; font-weight:700; }
@media(max-width:640px) {
  body.cfp-custom-home .cam-archive { padding:28px 0 100px; }
  body.cfp-custom-home .cam-archive .cam-archive-inner { width:calc(100% - 24px); }
  body.cfp-custom-home .cam-archive .cam-list-link { gap:12px; padding:12px 11px; min-height:96px; }
  body.cfp-custom-home .cam-archive .cam-leading { flex-basis:64px; width:64px; height:64px; }
  body.cfp-custom-home .cam-archive .cam-thumbnail { width:64px; height:64px; }
  body.cfp-custom-home .cam-archive .cam-chapter-number { font-size:16px; }
  body.cfp-custom-home .cam-archive .cam-post-title { font-size:14px; }
  body.cfp-custom-home .cam-archive .cam-list-arrow { font-size:16px; }
}


/* CHAPTERS: image-forward gallery cards, separate from the compact memories list. */
body.cfp-custom-home .cam-archive .cam-chapter-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  align-items:stretch;
}
body.cfp-custom-home .cam-archive .cam-chapter-card {
  margin:0;
  min-width:0;
  list-style:none;
  border:1px solid var(--cam-line);
  border-radius:10px;
  background:#F7F8FA;
  overflow:hidden;
}
body.cfp-custom-home .cam-archive .cam-chapter-card-link {
  display:flex;
  flex-direction:column;
  height:100%;
  color:var(--cam-ink);
  text-decoration:none;
}
body.cfp-custom-home .cam-archive .cam-chapter-card-link:hover,
body.cfp-custom-home .cam-archive .cam-chapter-card-link:focus-visible {
  background:#F0F1F4;
  text-decoration:none;
}
body.cfp-custom-home .cam-archive .cam-chapter-card-link:focus-visible {
  outline:3px solid var(--cam-accent);
  outline-offset:-3px;
}
body.cfp-custom-home .cam-archive .cam-chapter-image {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:4/3;
  background:#E9EAED;
  overflow:hidden;
}
body.cfp-custom-home .cam-archive .cam-chapter-cover {
  display:block;
  height:100%;
  width:100%;
  object-fit:contain;
}
body.cfp-custom-home .cam-archive .cam-chapter-placeholder {
  color:#7B808A;
  font-size:12px;
  font-weight:700;
  line-height:1.6;
  text-align:center;
  letter-spacing:.1em;
}
body.cfp-custom-home .cam-archive .cam-chapter-placeholder strong {
  display:block;
  font-size:28px;
  color:var(--cam-accent);
}
body.cfp-custom-home .cam-archive .cam-chapter-info {
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  padding:14px 16px 17px;
  min-width:0;
}
body.cfp-custom-home .cam-archive .cam-chapter-label {
  color:var(--cam-accent);
  font-size:11px;
  font-weight:700;
  letter-spacing:.07em;
}
body.cfp-custom-home .cam-archive .cam-chapter-title {
  font-size:15px;
  line-height:1.6;
  color:var(--cam-ink);
  font-weight:700;
  overflow-wrap:anywhere;
}
body.cfp-custom-home .cam-archive .cam-chapter-date {
  margin-top:auto;
  font-size:12px;
  color:var(--cam-sub);
}
@media (max-width:800px) {
  body.cfp-custom-home .cam-archive .cam-chapter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
}
@media (max-width:640px) {
  body.cfp-custom-home .cam-archive .cam-chapter-grid { gap:10px; }
  body.cfp-custom-home .cam-archive .cam-chapter-info { padding:10px 10px 13px; gap:4px; }
  body.cfp-custom-home .cam-archive .cam-chapter-title { font-size:13px; }
  body.cfp-custom-home .cam-archive .cam-chapter-label { font-size:10px; }
  body.cfp-custom-home .cam-archive .cam-chapter-date { font-size:11px; }
}
/* 作品別アーカイブと章別一覧の表示をシンプルにする */
/* 1. 章名・タグ名の下の説明文を非表示 */
body.cfp-custom-home .cam-archive .cam-archive-intro {
    display: none;
}

/* 説明文を隠した分、見出し下の余白を調整 */
body.cfp-custom-home .cam-archive .cam-archive-heading h1 {
    margin-bottom: 0;
}

/* 2. 『古い順』『新しい順』だけを非表示 */
body.cfp-custom-home .cam-archive .cam-list-caption > span:last-child {
    display: none;
}

/* 3. 作品別リスト右端の ↗ を非表示 */
body.cfp-custom-home .cam-archive .cam-list-arrow {
    display: none;
}
