/* Radio Vault 42 Stage 5I.1 player overflow fix */
html,body{max-width:100%;overflow-x:hidden!important}
*{box-sizing:border-box}
.hour,.recording-card,.archive-card{overflow:hidden}

/* Keep the custom player inside each recording card */
.hour .rv42-audio-ui,
.recording-card .rv42-audio-ui,
.archive-card .rv42-audio-ui{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  margin:14px 0 12px!important;
}

.hour .rv42-audio-bar,
.recording-card .rv42-audio-bar,
.archive-card .rv42-audio-bar{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:28px 38px minmax(0,1fr) 38px 24px!important;
  gap:6px!important;
  align-items:center!important;
  padding:9px 10px!important;
  border-radius:13px!important;
  background:linear-gradient(180deg,#28313d 0%,#111722 100%)!important;
  box-shadow:0 8px 16px rgba(5,10,20,.22), inset 0 1px 0 rgba(255,255,255,.08)!important;
}

.hour .rv42-progress-wrap,
.recording-card .rv42-progress-wrap,
.archive-card .rv42-progress-wrap{
  min-width:0!important;
  width:100%!important;
  overflow:hidden!important;
}

.hour .rv42-progress,
.recording-card .rv42-progress,
.archive-card .rv42-progress{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

.hour .rv42-right,
.recording-card .rv42-right,
.archive-card .rv42-right{
  width:24px!important;
  min-width:24px!important;
  max-width:24px!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Hide the separate volume slider on small recording cards.
   The speaker button still gives a clean visual without causing horizontal scroll. */
.hour .rv42-volume,
.recording-card .rv42-volume,
.archive-card .rv42-volume{
  display:none!important;
}

.hour .rv42-play-btn,
.hour .rv42-mute-btn,
.recording-card .rv42-play-btn,
.recording-card .rv42-mute-btn,
.archive-card .rv42-play-btn,
.archive-card .rv42-mute-btn{
  width:26px!important;
  height:26px!important;
  min-width:26px!important;
  padding:0!important;
}

.hour .rv42-play-btn svg,
.hour .rv42-mute-btn svg,
.recording-card .rv42-play-btn svg,
.recording-card .rv42-mute-btn svg,
.archive-card .rv42-play-btn svg,
.archive-card .rv42-mute-btn svg{
  width:14px!important;
  height:14px!important;
}

.hour .rv42-time,
.hour .rv42-duration,
.recording-card .rv42-time,
.recording-card .rv42-duration,
.archive-card .rv42-time,
.archive-card .rv42-duration{
  min-width:0!important;
  width:auto!important;
  font-size:10px!important;
  white-space:nowrap!important;
  text-align:center!important;
}

/* Live stream player can stay larger but must never overflow its card */
.clean-live-player-card .rv42-audio-ui,
.player .rv42-audio-ui,
.rv42-now-card .rv42-audio-ui{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
}

.clean-live-player-card .rv42-audio-bar,
.player .rv42-audio-bar,
.rv42-now-card .rv42-audio-bar{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  display:grid!important;
  grid-template-columns:32px 42px minmax(0,1fr) 42px 28px 54px!important;
  gap:8px!important;
  align-items:center!important;
}

.clean-live-player-card .rv42-progress-wrap,
.player .rv42-progress-wrap,
.rv42-now-card .rv42-progress-wrap{
  min-width:0!important;
  width:100%!important;
}

.clean-live-player-card .rv42-progress,
.player .rv42-progress,
.rv42-now-card .rv42-progress{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

.clean-live-player-card .rv42-right,
.player .rv42-right,
.rv42-now-card .rv42-right{
  display:contents!important;
}

.clean-live-player-card .rv42-volume,
.player .rv42-volume,
.rv42-now-card .rv42-volume{
  width:54px!important;
  max-width:54px!important;
}

@media(max-width:760px){
  .clean-live-player-card .rv42-audio-bar,
  .player .rv42-audio-bar,
  .rv42-now-card .rv42-audio-bar{
    grid-template-columns:30px 40px minmax(0,1fr) 40px 26px!important;
  }
  .clean-live-player-card .rv42-volume,
  .player .rv42-volume,
  .rv42-now-card .rv42-volume{display:none!important}
}
