/* Shows & Podcasts (/shows/): episode lists, the show directory and the show fact box. Colours come from site.css tokens. */
.cv-shows > .cv-card,
.cv-shows > .cv-sources{ margin-bottom:18px; }
.cv-shows-h{ margin:26px 0 8px; font-size:22px; color:var(--cv-ink); }
.cv-shows-jump{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; }
.cv-shows-jump a{ text-decoration:none; }

.cv-eps{ list-style:none; margin:0; padding:0; }
.cv-ep{ display:flex; gap:14px; justify-content:space-between; align-items:flex-start; padding:10px 0; border-top:1px solid var(--cv-line); }
.cv-ep:first-child{ border-top:0; padding-top:2px; }
.cv-ep-main{ min-width:0; flex:1 1 auto; }
.cv-ep-show{ display:block; font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--cv-red); text-decoration:none; margin-bottom:2px; }
.cv-ep-show:hover{ text-decoration:underline; }
.cv-ep-title{ font-size:15.5px; line-height:1.4; color:var(--cv-blue); overflow-wrap:anywhere; }
span.cv-ep-title{ color:var(--cv-ink); }
.cv-ep-sum{ margin:4px 0 0; font-size:13.5px; line-height:1.5; color:var(--cv-ink-2); }
.cv-ep-meta{ flex:0 0 auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; font-size:12.5px; color:var(--cv-ink-3); white-space:nowrap; }

.cv-showlist{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:12px 22px; }
.cv-showlist li{ min-width:0; }
.cv-showlist a{ font-weight:600; color:var(--cv-blue); }
.cv-showlist-by, .cv-showlist-last{ display:block; font-size:13px; line-height:1.45; color:var(--cv-ink-2); }
.cv-showlist-last{ color:var(--cv-ink-3); }

.cv-show .cv-card{ margin-bottom:18px; }
.cv-show-facts .cv-facts{ display:grid; gap:10px; margin:0 0 14px; }
.cv-fact{ display:flex; flex-direction:column; gap:1px; }
.cv-fact-k{ font-size:11.5px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:var(--cv-ink-3); }
.cv-fact-v{ font-size:14.5px; color:var(--cv-ink); }
.cv-fact-v a{ color:var(--cv-blue); }
.cv-show-links{ display:flex; flex-wrap:wrap; gap:8px; margin:0 0 16px; }
.cv-show-more-h{ margin:6px 0 8px; font-size:14px; color:var(--cv-ink-2); }

@media (max-width:600px){
  .cv-ep{ flex-direction:column; gap:4px; }
  .cv-ep-meta{ flex-direction:row; gap:10px; align-items:center; }
}
