/* Previously — Free-content expansion batch styles (2026-09-26).
   Extends the site's design tokens (defined inline in index.html):
   --accent #2b2b30, --accent-hi #f4f1ea, --ink, --muted, --copy,
   --surface, --surface-2, --line, --radius-lg/md.
   Buttons are never red: primary CTAs graphite, secondary pearl/ivory. */

/* ============ Free toolbar: filters + search ============ */
.free-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:22px 0 26px}
.free-toolbar .filter-row{margin-bottom:0}
#freeFilterRow{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}
#freeFilterRow::-webkit-scrollbar{display:none}
#freeFilterRow .chip{flex:none}
.chip-count{display:inline-block;min-width:22px;margin-left:7px;padding:2px 7px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px;font-weight:750}
.chip.active .chip-count{background:rgba(255,255,255,.22)}
.free-search-wrap{display:flex;align-items:center;gap:10px;width:min(360px,100%);border:1px solid var(--line);border-radius:999px;background:var(--surface);padding:0 18px;transition:border-color .2s,box-shadow .2s}
.free-search-wrap:hover{border-color:var(--line-strong)}
.free-search-wrap:focus-within{border-color:var(--accent-hi);box-shadow:0 0 0 4px rgba(43,43,48,.18)}
.free-search-wrap svg{flex:none;color:var(--muted)}
.free-search-wrap input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);padding:13px 0;font-size:14px}
.free-search-wrap input::placeholder{color:var(--muted)}

/* ============ Series cards (typographic, no artwork in source data) ============ */
.series-tap{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;text-align:left;border-radius:14px;color:inherit;font:inherit}
.series-tap:focus-visible{outline:2px solid var(--accent,#2b2b30);outline-offset:3px}
.series-art{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#17181d 0%,#2b2b30 55%,#34343b 100%);border:1px solid rgba(237,230,214,.14)}
.series-initials{font-family:"Previously Display",serif;font-size:clamp(40px,4.5vw,64px);color:#f2e9d8;text-shadow:0 4px 28px rgba(0,0,0,.5)}
.series-eps-badge{position:absolute;left:10px;bottom:10px;padding:5px 11px;border-radius:999px;background:rgba(8,7,6,.72);border:1px solid rgba(237,230,214,.28);color:#fff;font-size:11px;font-weight:750;letter-spacing:.04em;backdrop-filter:blur(6px)}
.series-sub{display:block;margin:6px 2px 0;font-size:12.5px;color:var(--muted);line-height:1.4}
.series-tap:hover .series-art{border-color:var(--accent-hi)}
.series-art img.series-art-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ============ Free empty state ============ */
.free-empty{padding:64px 20px;border:1px dashed var(--line);border-radius:var(--radius-md,18px);color:var(--muted);text-align:center;line-height:1.7}
.free-empty strong{color:var(--ink);font-size:17px}
.free-empty .cta{margin-top:18px}

/* ============ Hood rail + Series rail ============ */
.hood-block,.series-block{margin-top:64px}
.hood-block .section-head,.series-block .section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.hood-rail,.series-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,320px);gap:16px;overflow-x:auto;padding:4px 2px 18px;scroll-snap-type:x proximity;scrollbar-width:thin}
.hood-rail>* ,.series-rail>*{scroll-snap-align:start}
.hood-rail .free-title,.series-rail .free-title{font-size:14.5px}
.hood-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:44px 24px;border:1px dashed var(--line);border-radius:var(--radius-md,18px);color:var(--muted);text-align:center;line-height:1.65}
.hood-empty strong{color:var(--ink);font-size:16px}
.hood-empty-mark{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--line);border-radius:50%;color:var(--accent-hi);font-size:20px}
.hood-more{display:flex;align-items:center;justify-content:center;min-height:150px;border:1px dashed var(--line);border-radius:14px;color:var(--muted);font-size:13px;font-weight:650;text-align:center;line-height:1.5}
.rail-player{grid-column:1/-1}

/* ============ Podcasts view ============ */
#view-podcasts .shell{max-width:1460px}
.pod-head{display:flex;align-items:end;justify-content:space-between;gap:28px;flex-wrap:wrap;margin-bottom:24px}
.pod-h1{font-family:"Previously Display",serif;font-size:clamp(38px,5vw,58px);line-height:1;margin:0}
.pod-lanes{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-bottom:30px}
.pod-lanes::-webkit-scrollbar{display:none}
.pod-lanes .chip{flex:none}
.pod-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.pod-card{display:flex;flex-direction:column;align-items:stretch;gap:0;width:100%;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;color:inherit;font:inherit;text-align:left;transition:border-color .18s,transform .14s,box-shadow .18s}
.pod-card:hover{border-color:var(--accent-hi);transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.3)}
.pod-card:active{transform:scale(.98)}
.pod-card:focus-visible{outline:2px solid var(--accent,#2b2b30);outline-offset:3px}
.pod-tile{display:flex;align-items:center;justify-content:center;height:96px;border-radius:12px;background:linear-gradient(135deg,#17171a 0%,#2b2b30 60%,#1d1d21 100%);margin-bottom:14px;position:relative;overflow:hidden}
.pod-tile img.pod-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pod-tile span{font-family:"Previously Display",serif;font-size:34px;color:#f2e9d8}
.comp-tile{background:linear-gradient(135deg,#241a20 0%,#5f0e2e 60%,#381222 100%)}
.pod-name{font-size:15.5px;font-weight:700;line-height:1.3;color:var(--ink)}
.pod-hosts{margin-top:5px;font-size:12.5px;color:var(--copy);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pod-meta{margin-top:9px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.pod-more{display:flex;justify-content:center;margin-top:34px}
.pod-actions{flex-wrap:wrap}
.pod-eps-note{font-size:11.5px;color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none}
.pod-ep-static{cursor:default}
.pod-ep-static:hover{border-color:var(--line)}
.pod-noeps{color:var(--muted);font-size:13.5px;line-height:1.6;margin:6px 0 0}

/* ============ Series modal ============ */
.series-stage{position:relative;background:#0a0908;border-radius:24px 24px 0 0;overflow:hidden}
.series-hero-art{display:flex;align-items:center;justify-content:center;min-height:190px;background:linear-gradient(135deg,#17181d 0%,#2b2b30 55%,#34343b 100%)}
.series-hero-art span{font-family:"Previously Display",serif;font-size:88px;color:#f2e9d8;text-shadow:0 6px 40px rgba(0,0,0,.55)}
.series-player .free-player-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#0a0908}
.series-player .free-player-frame{aspect-ratio:16/9;background:#000}
.series-player iframe{width:100%;height:100%;border:0;display:block}
.series-eps-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:26px 0 12px;padding-top:20px;border-top:1px solid var(--line)}
.series-eps-head>span:first-child{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-hi)}
.series-eps{display:grid;gap:10px}
.series-ep-btn{display:flex;align-items:center;gap:14px;width:100%;min-height:60px;padding:12px 16px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:inherit;font:inherit;cursor:pointer;text-align:left;text-decoration:none;transition:border-color .18s,background .18s}
.series-ep-btn:hover{border-color:var(--accent-hi);background:var(--surface)}
.series-ep-btn:focus-visible{outline:2px solid var(--accent,#2b2b30);outline-offset:2px}
.ep-num{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);color:var(--muted);font-size:13px;font-weight:750}
.ep-main{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}
.ep-title{font-size:14px;font-weight:650;color:var(--ink);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ep-dur{flex:none;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.ep-play{flex:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--accent);transition:background .18s}
.ep-play .free-tri{width:0;height:0;border-left:11px solid #fff;border-top:7px solid transparent;border-bottom:7px solid transparent;margin-left:2px}
.series-ep-btn:hover .ep-play{background:var(--accent-hover)}

/* ============ Companion module (title detail) ============ */
.companion-mod{margin-top:22px;padding:22px;border:1px solid rgba(237,230,214,.18);border-radius:var(--radius-md,18px);background:linear-gradient(180deg,rgba(43,43,48,.12),rgba(43,43,48,.04))}
.companion-mod .eyebrow{margin-bottom:8px}
.companion-mod h3{font-family:"Previously Display",serif;font-size:22px;margin:0 0 6px;color:var(--ink)}
.companion-sub{color:var(--copy);font-size:13.5px;line-height:1.55;margin:0 0 14px}
.companion-note{color:var(--muted);font-size:13px;line-height:1.6;margin:0}

/* ============ Responsive ============ */
@media(max-width:1100px){
  .pod-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:860px){
  .pod-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .pod-card{padding:14px}
  .pod-tile{height:76px}
  .hood-rail,.series-rail{grid-auto-columns:minmax(200px,72vw)}
}
@media(max-width:600px){
  .free-toolbar{flex-direction:column;align-items:stretch}
  .free-search-wrap{width:100%}
  .hood-block,.series-block{margin-top:52px}
  .series-hero-art{min-height:150px}
  .series-hero-art span{font-size:64px}
  .companion-mod{padding:18px}
}

/* ---------- CSP sweep 2026-09-27: class-based conceal (replaces JS style.display writes) ---------- */
.pv-concealed{display:none!important}
