/* Category player and synchronized captions */
.category-player-shell{margin:0 0 30px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#21152b,#17101e);box-shadow:0 14px 40px #0002}
.category-player-host{min-height:88px}
.sticky-player.category-inline-player{position:relative;inset:auto;bottom:auto;width:100%;box-shadow:none;border-top:0;border-bottom:1px solid var(--line);padding:18px 22px;background:linear-gradient(120deg,#21152b,#17101e);backdrop-filter:none}
.sticky-player.category-inline-player img{width:84px;height:84px;border-radius:15px}
.sticky-player.category-inline-player .player-meta{gap:18px}
.sticky-player.category-inline-player .player-meta strong{max-width:32%;font-size:16px;white-space:normal}
.sticky-player.category-inline-player audio{height:42px}
.caption-panel{padding:18px 22px 22px}
.caption-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.caption-toolbar>strong{font-size:16px;color:var(--purple2)}
.caption-languages{display:flex;gap:8px;flex-wrap:wrap}
.caption-language{border:1px solid var(--line);border-radius:999px;background:#251832;color:var(--text);padding:7px 13px;font:inherit;font-size:13px;cursor:pointer}
.caption-language.active{background:linear-gradient(135deg,#cba3ef,#9260c1);color:#1c1027;border-color:transparent;font-weight:800}
.caption-empty{color:var(--muted);font-size:13px}
.caption-line{min-height:76px;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px;border-radius:14px;background:#100b16;color:#b9a8c5;font-size:clamp(17px,2vw,23px);line-height:1.9;transition:color .15s,background .15s}
.caption-line.caption-speaking{color:#fff;background:#352044;box-shadow:inset 0 0 0 1px #9d70c8;text-shadow:0 0 18px #cba3ef55}
.category-voice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.category-voice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.category-voice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-player.category-inline-player{padding:12px;gap:10px}.sticky-player.category-inline-player img{width:54px;height:54px}.sticky-player.category-inline-player .player-meta{display:grid;gap:5px}.sticky-player.category-inline-player .player-meta strong{max-width:100%;font-size:13px}.sticky-player.category-inline-player audio{height:32px}.caption-panel{padding:14px}.caption-line{min-height:68px;font-size:16px}}

/* Category hero: image background fading smoothly into the site background */
.hero.category-hero {
  position: relative;
  isolation: isolate;
  min-height: 390px;
  margin: 0;
  padding: 76px 24px 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
  background-color: #100b15;
  background-image:
    linear-gradient(to bottom, rgba(16, 8, 22, .34) 0%, rgba(16, 8, 22, .48) 42%, rgba(16, 11, 21, .88) 76%, #100b15 100%),
    linear-gradient(90deg, rgba(35, 12, 48, .42), rgba(35, 12, 48, .42)),
    var(--category-hero-image, none);
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
}
.hero.category-hero > * {
  position: relative;
  z-index: 1;
}
.hero.category-hero h1,
.hero.category-hero p {
  text-shadow: 0 2px 18px rgba(0,0,0,.45);
}
.hero.category-hero .primary-link {
  margin-top: 12px;
}
@media (max-width: 650px) {
  .hero.category-hero {
    min-height: 330px;
    padding: 54px 18px 100px;
    background-position: center;
  }
}


/* Stage 13: compact playback navigation and progress */
.player-meta{min-width:0;flex:1}
.player-track-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0 4px}
.player-track-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:#2a1a35;color:var(--text);font:inherit;font-size:13px;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}
.player-track-button:hover:not(:disabled){background:#432852;border-color:#9d70c8}
.player-track-button:disabled{opacity:.4;cursor:not-allowed}
.player-track-count{font-size:12px;color:var(--muted);min-width:78px;text-align:center;font-variant-numeric:tabular-nums}
.player-progress-row{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;align-items:center;gap:9px;width:100%;margin:3px 0 8px;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.player-progress{width:100%;height:6px;margin:0;accent-color:var(--purple2);cursor:pointer;direction:ltr}
.player-time{min-width:36px;text-align:center}
.sticky-player .player-meta audio{display:block;width:100%;max-width:100%}
@media(max-width:650px){.player-track-controls{gap:6px;margin:6px 0}.player-track-button{min-height:32px;padding:5px 10px;font-size:12px}.player-track-count{min-width:62px;font-size:11px}.player-progress-row{gap:6px;margin-bottom:5px}}


/* Stage 20: custom compact audio player; remove the browser-native audio bar. */
.sticky-player .player-meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:8px}
.sticky-player .player-meta audio{display:none!important}
.sticky-player .player-meta #playerTitle{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.5;color:var(--text);font-weight:800}
.banafsig-player-face{display:flex;align-items:center;gap:12px;min-height:48px;padding:8px 10px;border:1px solid rgba(203,163,239,.2);border-radius:16px;background:linear-gradient(115deg,rgba(68,37,83,.72),rgba(31,19,42,.88))}
.banafsig-play-toggle{width:44px;height:44px;flex:0 0 44px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;background:linear-gradient(135deg,#d12be8,#8d18c4);color:#fff;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 5px 18px rgba(185,0,220,.22);transition:transform .15s,filter .15s}
.banafsig-play-toggle:hover{filter:brightness(1.1);transform:scale(1.04)}
.banafsig-play-toggle.is-playing{background:linear-gradient(135deg,#a75bd5,#6f32a5)}
.banafsig-player-info{min-width:0;display:flex;flex:1;align-items:center;justify-content:space-between;gap:12px}
.banafsig-player-kicker{font-size:11px;color:#cba3ef;letter-spacing:.02em}
.banafsig-player-time{display:flex;align-items:center;gap:5px;white-space:nowrap;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;direction:ltr}
.banafsig-player-time-separator{opacity:.55}
.sticky-player .player-track-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px 0 0;padding:0}
.sticky-player .player-track-button{min-width:112px;min-height:36px;border-color:rgba(203,163,239,.25);border-radius:12px;background:#2a1a35;font-weight:700}
.sticky-player .player-track-count{min-width:54px}
.sticky-player.category-inline-player .player-meta{gap:8px}
.sticky-player.category-inline-player .player-meta #playerTitle{max-width:100%;font-size:15px}
.sticky-player.category-inline-player .player-meta audio{display:none!important}
.sticky-player.category-inline-player .player-track-controls{margin-top:2px}
@media(max-width:650px){
 .sticky-player .player-meta #playerTitle{font-size:13px}
 .banafsig-player-face{min-height:42px;padding:6px 8px;border-radius:13px;gap:9px}
 .banafsig-play-toggle{width:38px;height:38px;flex-basis:38px;font-size:17px}
 .banafsig-player-info{gap:8px;flex-wrap:wrap}
 .banafsig-player-kicker{font-size:10px}
 .banafsig-player-time{font-size:11px}
 .sticky-player .player-track-controls{gap:6px}
 .sticky-player .player-track-button{min-width:0;flex:1;min-height:32px;padding:5px 8px;font-size:11px}
 .sticky-player .player-track-count{min-width:42px;font-size:10px}
}

/* Stage 20 refinement: restore a usable seek bar and make track navigation discreet. */
.banafsig-seek-row{width:100%;margin:4px 0 0;padding:0 3px;line-height:0}
.banafsig-seek-bar{display:block;width:100%;height:5px;margin:0;padding:0;appearance:none;-webkit-appearance:none;border:0;border-radius:999px;background:linear-gradient(to right,#c000e8 0%,#c000e8 var(--seek-progress,0%),rgba(203,163,239,.24) var(--seek-progress,0%),rgba(203,163,239,.24) 100%);accent-color:#c000e8;cursor:pointer;direction:ltr}
.banafsig-seek-bar::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#d52bf0;border:2px solid #fff;box-shadow:0 0 0 3px rgba(197,0,232,.16)}
.banafsig-seek-bar::-moz-range-thumb{width:10px;height:10px;border-radius:50%;background:#d52bf0;border:2px solid #fff;box-shadow:0 0 0 3px rgba(197,0,232,.16)}
.sticky-player .player-track-controls{gap:9px;margin:3px 0 0;justify-content:flex-start}
.sticky-player .player-track-button.player-track-button-icon{min-width:34px;width:34px;height:28px;min-height:28px;flex:0 0 34px;padding:0;border-radius:9px;font-size:15px;line-height:1;font-weight:700;background:rgba(80,45,96,.52);border-color:rgba(203,163,239,.2)}
.sticky-player .player-track-count{min-width:42px;font-size:11px}
.sticky-player .player-track-button:disabled{opacity:.3}
.sticky-player .banafsig-player-face{border:0;background:transparent;padding:2px 0;box-shadow:none;min-height:38px}
.sticky-player .banafsig-play-toggle{width:38px;height:38px;flex-basis:38px}
.sticky-player .banafsig-player-kicker{display:none}
.sticky-player .banafsig-player-info{justify-content:flex-start}
.sticky-player .banafsig-player-time{font-size:11px}
.sticky-player .player-meta #playerTitle{font-size:14px;margin-bottom:2px}
.sticky-player .player-meta{gap:3px}
.sticky-player.category-inline-player .banafsig-seek-row{margin-top:2px}
@media(max-width:650px){
 .sticky-player .player-meta #playerTitle{font-size:12px}
 .sticky-player .banafsig-player-face{min-height:34px;gap:8px}
 .sticky-player .banafsig-play-toggle{width:34px;height:34px;flex-basis:34px;font-size:15px}
 .sticky-player .player-track-controls{gap:7px;margin-top:2px}
 .sticky-player .player-track-button.player-track-button-icon{width:30px;height:26px;min-width:30px;min-height:26px;flex-basis:30px;font-size:13px}
 .sticky-player .player-track-count{min-width:38px;font-size:10px}
 .banafsig-seek-bar{height:4px}
 .banafsig-seek-bar::-webkit-slider-thumb{width:10px;height:10px}
 .sticky-player.category-inline-player .banafsig-player-face{padding:0}
}


/* Unified category layout: match the standalone voice page width and compact the category hero. */
.category-hero.hero.category-hero {
  width: min(1120px, calc(100% - 36px));
  max-width: 1120px;
  min-height: 0;
  margin: 24px auto 22px;
  padding: clamp(24px, 3vw, 38px) 24px;
  gap: 8px;
  justify-content: center;
}
.category-hero.hero.category-hero h1 {
  margin: 4px 0 2px;
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  line-height: 1.25;
}
.category-hero.hero.category-hero > p:not(.eyebrow) {
  max-width: 760px;
  margin: 4px auto 0;
  line-height: 1.75;
  font-size: 15px;
}
.category-hero .category-hero-actions {
  margin-top: 14px;
}
.category-library.content-section {
  width: min(1120px, calc(100% - 36px));
  max-width: 1120px;
  margin: 0 auto 36px;
  padding-left: 0;
  padding-right: 0;
}
.category-library .category-player-shell,
.category-library .category-now-playing {
  width: 100%;
  max-width: none;
}
.category-library .category-now-playing.voice-detail-hero {
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 30px;
  padding: clamp(20px, 3vw, 38px);
}
.category-library .category-now-playing .voice-detail-cover {
  width: 100%;
  max-width: 340px;
  aspect-ratio: 1 / 1;
  height: auto;
  object-fit: cover;
}
.category-library .category-now-playing .voice-detail-copy h2 {
  font-size: clamp(1.8rem, 3.2vw, 2.8rem);
  line-height: 1.35;
}
.ad-voice-detail-inline {
  width: min(1120px, calc(100% - 36px));
  max-width: 1120px;
  margin: 20px auto;
}
@media (max-width: 700px) {
  .category-hero.hero.category-hero {
    width: calc(100% - 24px);
    margin: 14px auto 18px;
    padding: 22px 16px;
  }
  .category-hero.hero.category-hero h1 { font-size: 1.75rem; }
  .category-library.content-section {
    width: calc(100% - 24px);
  }
  .category-library .category-now-playing.voice-detail-hero {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .category-library .category-now-playing .voice-detail-cover {
    max-width: 280px;
    margin: 0 auto;
  }
}
