/* Signal & Soul shows and tags: discover programmes and editorial subjects without duplicating the global player. */
:root { --cfm-discovery-red:#e8192c; --cfm-discovery-plum:#2c132b; --cfm-discovery-ink:#251722; --cfm-discovery-paper:#f7f4ed; --cfm-discovery-yellow:#f5c518; }
.cfm-shows-page,.cfm-show-detail,.cfm-tag-archive { background:var(--cfm-discovery-paper); color:var(--cfm-discovery-ink); padding-bottom:120px; }
.cfm-shows-hero,.cfm-show-detail__hero { background:var(--cfm-discovery-plum); color:#fff; overflow:hidden; position:relative; }
.cfm-shows-hero:before,.cfm-show-detail__hero:before { background:repeating-linear-gradient(135deg,rgba(245,197,24,.2) 0 5px,transparent 5px 13px); content:""; height:100%; opacity:.35; position:absolute; right:-12%; top:0; transform:skewX(-12deg); width:38%; }
.cfm-shows-hero__grid,.cfm-show-detail__hero-grid { align-items:end; display:grid; gap:48px; grid-template-columns:minmax(0,1fr) minmax(260px,370px); min-height:430px; padding-bottom:64px; padding-top:88px; position:relative; }
.cfm-shows-hero .cfm-label,.cfm-show-detail__hero .cfm-label { color:var(--cfm-discovery-yellow); font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.cfm-shows-hero .cfm-label span,.cfm-show-detail__hero .cfm-label span { background:var(--cfm-discovery-yellow); border-radius:50%; display:inline-block; height:8px; margin-right:8px; width:8px; }
.cfm-shows-hero h1,.cfm-show-detail__hero h1,.cfm-tag-archive__hero h1 { font-family:"Barlow Condensed","Arial Narrow",sans-serif; font-size:clamp(58px,8vw,130px); font-weight:800; letter-spacing:-.055em; line-height:.8; margin:14px 0 22px; text-transform:uppercase; }
.cfm-shows-hero h1 em,.cfm-show-detail__hero h1 em,.cfm-tag-archive__hero h1 em { color:var(--cfm-discovery-yellow); font-style:normal; }
.cfm-shows-hero p:not(.cfm-label) { font-size:18px; line-height:1.55; margin:0; max-width:480px; }
.cfm-shows-listen { align-items:center; background:var(--cfm-discovery-yellow); border:0; color:var(--cfm-discovery-ink); cursor:pointer; display:inline-flex; font-size:12px; font-weight:800; gap:10px; letter-spacing:.08em; margin-top:28px; padding:15px 20px; text-transform:uppercase; }
.cfm-shows-listen span { align-items:center; background:var(--cfm-discovery-ink); border-radius:50%; color:var(--cfm-discovery-yellow); display:inline-flex; font-size:9px; height:22px; justify-content:center; width:22px; }
.cfm-shows-listen--light { background:#fff; }
.cfm-shows-now { background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.35); padding:25px; position:relative; }
.cfm-shows-now:before { background:var(--cfm-discovery-red); content:""; height:3px; left:0; position:absolute; top:0; width:100%; }
.cfm-shows-now>span,.cfm-show-card__copy>b { color:var(--cfm-discovery-yellow); font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.cfm-shows-now h2 { font-size:32px; letter-spacing:-.055em; line-height:.95; margin:13px 0 7px; }
.cfm-shows-now p { color:rgba(255,255,255,.72); margin:0 0 25px; }
.cfm-shows-now a { border-bottom:1px solid var(--cfm-discovery-yellow); color:#fff; font-size:12px; font-weight:800; padding-bottom:5px; text-decoration:none; }
.cfm-shows-catalog,.cfm-show-detail__info,.cfm-show-related,.cfm-tag-archive__results { padding:86px 0; }
.cfm-shows-section-heading { border-top:2px solid var(--cfm-discovery-red); margin-bottom:30px; padding-top:16px; position:relative; }
.cfm-shows-section-heading:after { background:repeating-linear-gradient(135deg,var(--cfm-discovery-red) 0 5px,transparent 5px 10px); content:""; height:7px; position:absolute; right:0; top:-5px; width:58px; }
.cfm-shows-section-heading .cfm-label,.cfm-show-detail__info .cfm-label { color:var(--cfm-discovery-red); font-size:10px; font-weight:800; letter-spacing:.14em; margin:0 0 8px; text-transform:uppercase; }
.cfm-shows-section-heading h2,.cfm-show-detail__info h2 { font-size:clamp(39px,5vw,67px); letter-spacing:-.07em; line-height:.86; margin:0; }
.cfm-shows-section-heading h2 em,.cfm-show-detail__info h2 em { color:var(--cfm-discovery-red); font-style:normal; }
.cfm-shows-grid { border-top:1px solid var(--cfm-discovery-ink); display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cfm-show-card { border-bottom:1px solid rgba(37,23,34,.28); border-right:1px solid rgba(37,23,34,.28); display:flex; min-height:210px; padding:18px; position:relative; }
.cfm-show-card:nth-child(3n) { border-right:0; }
.cfm-show-card:hover { background:#fff; }
.cfm-show-card.is-live { background:var(--cfm-discovery-ink); color:#fff; }
.cfm-show-card__image { background:linear-gradient(135deg,#e8192c,#2c132b); flex:0 0 92px; height:124px; overflow:hidden; text-decoration:none; }
.cfm-show-card__image img { height:100%; object-fit:cover; width:100%; }
.cfm-show-card__image span { align-items:center; color:rgba(255,255,255,.85); display:flex; font-family:"Barlow Condensed",sans-serif; font-size:62px; font-weight:800; height:100%; justify-content:center; }
.cfm-show-card__copy { padding:2px 34px 0 16px; }
.cfm-show-card__copy p { color:rgba(37,23,34,.64); font-size:10px; font-weight:800; letter-spacing:.08em; line-height:1.35; margin:0 0 9px; text-transform:uppercase; }
.cfm-show-card.is-live .cfm-show-card__copy p { color:rgba(255,255,255,.7); }
.cfm-show-card__copy p i { color:var(--cfm-discovery-red); font-style:normal; }
.cfm-show-card__copy h3 { font-size:25px; letter-spacing:-.06em; line-height:.92; margin:6px 0; }
.cfm-show-card__copy h3 a { color:inherit; text-decoration:none; }
.cfm-show-card__copy>span { color:rgba(37,23,34,.64); font-size:12px; }
.cfm-show-card.is-live .cfm-show-card__copy>span { color:rgba(255,255,255,.7); }
.cfm-show-card__arrow { bottom:19px; color:inherit; font-size:17px; position:absolute; right:19px; text-decoration:none; }
.cfm-shows-empty,.cfm-tag-archive__empty { border-top:1px solid var(--cfm-discovery-ink); font-size:18px; padding-top:24px; }
.cfm-show-detail__hero.has-image:after { background:linear-gradient(90deg,rgba(44,19,43,.96) 0%,rgba(44,19,43,.74) 46%,rgba(44,19,43,.08) 100%),var(--cfm-show-image) center/cover no-repeat; content:""; inset:0; position:absolute; }
.cfm-show-detail__hero-grid { grid-template-columns:minmax(0,620px); z-index:1; }
.cfm-show-detail__copy { position:relative; z-index:2; }
.cfm-show-detail__host { font-size:20px; margin:0 0 10px; }
.cfm-show-detail__time { color:var(--cfm-discovery-yellow); font-size:12px; font-weight:800; letter-spacing:.1em; margin:0; text-transform:uppercase; }
.cfm-show-detail__time i { color:#fff; font-style:normal; }
.cfm-show-detail__info { background:#fff; }
.cfm-show-detail__info-grid { display:grid; gap:70px; grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr); }
.cfm-show-detail__about,.cfm-show-detail__about-placeholder { color:rgba(37,23,34,.76); font-size:18px; line-height:1.6; margin:26px 0 0; max-width:620px; }
.cfm-show-detail__schedule { border-top:3px solid var(--cfm-discovery-red); padding-top:16px; }
.cfm-show-detail__schedule h2 { font-size:40px; }
.cfm-show-detail__schedule ul { list-style:none; margin:25px 0 0; padding:0; }
.cfm-show-detail__schedule li { border-bottom:1px solid rgba(37,23,34,.22); display:flex; justify-content:space-between; padding:14px 0; }
.cfm-show-detail__schedule li span { color:var(--cfm-discovery-red); font-size:11px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cfm-show-detail__schedule li strong { font-size:13px; }
.cfm-show-related { background:var(--cfm-discovery-paper); }
.cfm-tag-archive__hero { background:var(--cfm-discovery-ink); color:#fff; padding:100px 0 72px; }
.cfm-tag-archive__hero .cfm-label { color:var(--cfm-discovery-yellow); font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.cfm-tag-archive__hero h1 { color:#fff; font-size:clamp(56px,9vw,150px); margin-bottom:16px; }
.cfm-tag-archive__description { color:rgba(255,255,255,.75); font-size:18px; line-height:1.55; max-width:600px; }
.cfm-tag-archive__description p { margin:0; }
.cfm-tag-story-grid { display:grid; gap:1px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.cfm-tag-story-card { background:#fff; min-width:0; }
.cfm-tag-story-card__image { background:var(--cfm-discovery-plum); display:block; height:210px; overflow:hidden; }
.cfm-tag-story-card__image img { height:100%; object-fit:cover; transition:transform .25s ease; width:100%; }
.cfm-tag-story-card:hover .cfm-tag-story-card__image img { transform:scale(1.035); }
.cfm-tag-story-card>div { min-height:190px; padding:20px; }
.cfm-tag-story-card p { color:var(--cfm-discovery-red); font-size:10px; font-weight:800; letter-spacing:.09em; margin:0 0 12px; text-transform:uppercase; }
.cfm-tag-story-card p i { color:var(--cfm-discovery-ink); font-style:normal; }
.cfm-tag-story-card h2,.cfm-tag-story-card h3 { font-size:25px; letter-spacing:-.055em; line-height:.97; margin:0 0 21px; }
.cfm-tag-story-card h2 a,.cfm-tag-story-card h3 a { color:var(--cfm-discovery-ink); text-decoration:none; }
.cfm-tag-story-card__more { border-bottom:1px solid var(--cfm-discovery-red); color:var(--cfm-discovery-ink); font-size:11px; font-weight:800; padding-bottom:4px; text-decoration:none; text-transform:uppercase; }
.cfm-tag-story-card__more span { color:var(--cfm-discovery-red); }
.cfm-tag-archive .navigation.pagination { margin-top:36px; }
.cfm-tag-archive .nav-links { display:flex; gap:8px; }
.cfm-tag-archive .page-numbers { border:1px solid var(--cfm-discovery-ink); color:var(--cfm-discovery-ink); font-size:12px; font-weight:800; padding:10px 13px; text-decoration:none; }
.cfm-tag-archive .page-numbers.current,.cfm-tag-archive .page-numbers:hover { background:var(--cfm-discovery-red); border-color:var(--cfm-discovery-red); color:#fff; }
html.dark-mode .cfm-shows-page,html.dark-mode .cfm-show-detail,html.dark-mode .cfm-tag-archive { background:#171116; color:#fff; }
html.dark-mode .cfm-shows-catalog,html.dark-mode .cfm-show-related,html.dark-mode .cfm-tag-archive__results { background:#171116; }
html.dark-mode .cfm-show-card { border-color:rgba(255,255,255,.2); }
html.dark-mode .cfm-show-card:hover,html.dark-mode .cfm-show-card.is-live,html.dark-mode .cfm-tag-story-card { background:#2c132b; color:#fff; }
html.dark-mode .cfm-show-card__copy p,html.dark-mode .cfm-show-card__copy>span,html.dark-mode .cfm-tag-story-card h2 a,html.dark-mode .cfm-tag-story-card h3 a,html.dark-mode .cfm-tag-story-card__more { color:#fff; }
html.dark-mode .cfm-show-detail__info { background:#251722; }
html.dark-mode .cfm-show-detail__about,html.dark-mode .cfm-show-detail__about-placeholder { color:rgba(255,255,255,.75); }
html.dark-mode .cfm-show-detail__schedule li { border-color:rgba(255,255,255,.22); }
@media(max-width:900px) { .cfm-shows-grid,.cfm-tag-story-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .cfm-show-card:nth-child(3n) { border-right:1px solid rgba(37,23,34,.28); } .cfm-show-card:nth-child(2n) { border-right:0; } .cfm-show-detail__info-grid { gap:42px; grid-template-columns:1fr; } }
@media(max-width:650px) { .cfm-shows-hero__grid,.cfm-show-detail__hero-grid { align-items:start; grid-template-columns:1fr; min-height:0; padding-bottom:48px; padding-top:62px; } .cfm-shows-now { max-width:100%; } .cfm-shows-hero h1,.cfm-show-detail__hero h1 { font-size:64px; } .cfm-shows-catalog,.cfm-show-detail__info,.cfm-show-related,.cfm-tag-archive__results { padding:60px 0; } .cfm-shows-grid,.cfm-tag-story-grid { grid-template-columns:1fr; } .cfm-show-card,.cfm-show-card:nth-child(2n),.cfm-show-card:nth-child(3n) { border-right:0; } .cfm-show-card { min-height:176px; } .cfm-tag-archive__hero { padding:68px 0 48px; } .cfm-tag-story-card__image { height:220px; } }
