
.csm-wrap { max-width: 1100px; margin: 0 auto; padding: 24px; }
.csm-title { font-size: 2rem; margin: 0 0 6px; color: #2a2a2a; }
.csm-desc { color: #555; margin-bottom: 10px; }

/* Hero cover */
.csm-hero-cover { width: 100%; height: 240px; border-radius: 12px;
  background-size: cover; background-position: center; margin: 8px 0 12px;
  box-shadow: 0 2px 10px rgba(0,0,0,.15);
}

/* TOC */
.csm-toc { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 16px; }
.csm-toc-btn { padding: 6px 10px; background:#333; color:#fff; text-decoration:none; border-radius:8px; font-size:.9rem; }
.csm-toc-btn.disabled { background:#bdbdbd; color:#fff; pointer-events:none; }

/* Grid */
.csm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; }
.series-card { background: rgba(255,255,255,.95); padding: 16px; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.08); display: flex; flex-direction: column; }
.series-meta { font-size: .85rem; color:#6a6a6a; margin-bottom: 6px; }
.csm-item-title { margin: 0 0 8px; }
.csm-item-title a { color:#1e1e1e; text-decoration:none; }
.card-thumb { border-radius: 8px; width: 100%; height: auto; margin: 8px 0; }
.excerpt { color: #444; line-height: 1.6; margin-bottom: 10px; }
.read-more { align-self: flex-start; padding: 8px 12px; background:#333; color:#fff; text-decoration:none; border-radius:6px; }
.read-more:hover { background:#555; }

/* Hub cards */
.csm-terms-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.csm-term-card { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end;
  background: rgba(255,255,255,.95); padding: 16px; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,.08); text-decoration: none; min-height: 160px;}
.csm-term-card .csm-term-cover { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .25; }
.csm-term-name { font-weight: 700; color:#1e1e1e; margin-bottom: 4px; position: relative; }
.csm-term-count { color:#333; font-size: .9rem; position: relative; }

/* Pagination */
.csm-pagination { margin-top: 16px; }
.csm-pagination .page-numbers { margin-right: 6px; padding:6px 10px; background:#eee; border-radius:6px; text-decoration:none; }
.csm-pagination .current { background:#333; color:#fff; }
