/* 20260828c - Final homepage radio layout. This stylesheet is loaded after
   all historic page/theme files, so those rules can no longer squeeze the
   two radio entries into the old five-column layout. */
html.dmw-new body.test-home .test-on-air{display:grid!important;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr)!important;grid-template-areas:"now play next" "program program program"!important;align-items:center!important;gap:14px 16px!important;padding:18px 22px 16px!important;}
html.dmw-new body.test-home .test-radio-slot{display:grid!important;grid-template-columns:64px minmax(0,1fr)!important;align-items:center!important;gap:14px!important;min-width:0!important;min-height:88px!important;padding:11px 13px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:18px!important;background:rgba(3,30,57,.16)!important;}
html.dmw-new body.test-home .test-now-slot{grid-area:now!important}html.dmw-new body.test-home .test-next-slot{grid-area:next!important}
html.dmw-new body.test-home .test-on-air-art,html.dmw-new body.test-home .test-up-next-art{display:block!important;min-width:0!important}html.dmw-new body.test-home .test-on-air-art img,html.dmw-new body.test-home .test-up-next-art img{display:block!important;width:64px!important;height:64px!important;object-fit:cover!important;border-radius:16px!important;}
html.dmw-new body.test-home .test-on-air-track,html.dmw-new body.test-home .test-up-next{display:grid!important;gap:4px!important;min-width:0!important;padding:0!important;border:0!important}
html.dmw-new body.test-home .test-on-air-track strong,html.dmw-new body.test-home .test-up-next strong{display:block!important;overflow:visible!important;white-space:normal!important;text-overflow:clip!important;overflow-wrap:anywhere!important;-webkit-line-clamp:unset!important;font-size:clamp(14px,1.35vw,17px)!important;line-height:1.18!important;}
html.dmw-new body.test-home .test-on-air-track small,html.dmw-new body.test-home .test-up-next small{overflow:visible!important;white-space:normal!important;text-overflow:clip!important;overflow-wrap:anywhere!important}
html.dmw-new body.test-home .test-play{grid-area:play!important;position:relative!important;justify-self:center!important}html.dmw-new body.test-home .test-play:before{content:""!important;position:absolute!important;z-index:-1!important;left:50%!important;top:50%!important;width:1px!important;height:112px!important;background:linear-gradient(transparent,rgba(255,255,255,.38) 18%,rgba(255,255,255,.38) 82%,transparent)!important;transform:translate(-50%,-50%)!important}
html.dmw-new body.test-home .test-program{grid-area:program!important;grid-column:1/-1!important;padding-right:96px!important}html.dmw-new body.test-home .test-full-player{position:absolute!important;right:22px!important;bottom:18px!important}
@media(max-width:960px){html.dmw-new body.test-home .test-on-air{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"now" "next" "program"!important}html.dmw-new body.test-home .test-now-slot{padding-right:72px!important}html.dmw-new body.test-home .test-play{position:absolute!important;top:34px!important;right:34px!important}html.dmw-new body.test-home .test-play:before{display:none!important}}
@media(max-width:700px){html.dmw-new body.test-home .test-on-air{padding:12px!important;gap:10px!important}html.dmw-new body.test-home .test-radio-slot{grid-template-columns:48px minmax(0,1fr)!important;gap:10px!important;min-height:70px!important;padding:9px 10px!important;border-radius:15px!important}html.dmw-new body.test-home .test-on-air-art img,html.dmw-new body.test-home .test-up-next-art img{width:48px!important;height:48px!important;border-radius:13px!important}html.dmw-new body.test-home .test-now-slot{padding-right:62px!important}html.dmw-new body.test-home .test-play{top:34px!important;right:25px!important}html.dmw-new body.test-home .test-on-air-track strong,html.dmw-new body.test-home .test-up-next strong{font-size:13px!important;line-height:1.2!important}}
/* Compact desktop keeps the two peers side by side. A phone uses two short,
   predictable flex rows; inherited grid areas can no longer displace artwork
   into the text column. */
@media(min-width:701px) and (max-width:960px){
  html.dmw-new body.test-home .test-on-air{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:"now next" "program program"!important;gap:12px!important}
  html.dmw-new body.test-home .test-radio-slot{grid-template-columns:54px minmax(0,1fr)!important;min-height:76px!important;padding:10px!important}
  html.dmw-new body.test-home .test-on-air-art img,html.dmw-new body.test-home .test-up-next-art img{width:54px!important;height:54px!important}
  html.dmw-new body.test-home .test-play{display:none!important}
}
@media(max-width:700px){
  html.dmw-new body.test-home .test-on-air{grid-template-columns:minmax(0,1fr)!important;grid-template-areas:"now" "next" "program"!important}
  html.dmw-new body.test-home .test-radio-slot{display:flex!important;align-items:center!important;gap:11px!important;min-height:72px!important;padding:10px 12px!important}
  html.dmw-new body.test-home .test-on-air-art,html.dmw-new body.test-home .test-up-next-art{display:block!important;flex:0 0 48px!important;width:48px!important;height:48px!important;align-self:center!important}
  html.dmw-new body.test-home .test-on-air-art img,html.dmw-new body.test-home .test-up-next-art img{display:block!important;width:48px!important;height:48px!important;margin:0!important}
  html.dmw-new body.test-home .test-on-air-track,html.dmw-new body.test-home .test-up-next{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;justify-content:center!important;min-width:0!important;margin:0!important}
  html.dmw-new body.test-home .test-on-air-track span,html.dmw-new body.test-home .test-up-next span{margin:0!important}
  html.dmw-new body.test-home .test-on-air-track strong,html.dmw-new body.test-home .test-up-next strong{margin:2px 0!important;line-height:1.16!important}
  html.dmw-new body.test-home .test-next-slot{min-height:72px!important}
  html.dmw-new body.test-home .test-play,html.dmw-new body.test-home .test-full-player{display:none!important}
}
html.dmw-new-embedded body.test-home .test-play,html.dmw-new-embedded body.test-home .test-full-player{display:none!important}

/* A request stays visually secondary to the track title, but makes the
   listener contribution unmistakable on both desktop and app-sized layouts. */
html.dmw-new body.test-home .test-on-air-label{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important}
html.dmw-new body.test-home .test-request-badge{display:inline-flex!important;align-items:center!important;min-height:18px!important;margin-left:4px!important;padding:3px 7px!important;border:1px solid rgba(255,216,120,.65)!important;border-radius:999px!important;background:rgba(255,205,96,.18)!important;color:#fff0ba!important;font:800 8px/1 'Montserrat',sans-serif!important;letter-spacing:.075em!important;text-transform:uppercase!important;white-space:nowrap!important}
html.dmw-new body.test-home .test-on-air-label>span+span{margin-left:7px!important;}
html.dmw-new body.test-home .test-request-badge[hidden]{display:none!important}
@media(max-width:700px){html.dmw-new body.test-home .test-on-air-label{gap:5px!important}html.dmw-new body.test-home .test-request-badge{min-height:16px!important;margin-left:3px!important;padding:3px 6px!important;font-size:7px!important;letter-spacing:.055em!important}}

/* 20260829a - Keep the programme summary as two anchored ends of one rail.
   Older mobile CSS changed it to one column, which made the next programme
   appear centred beneath the current programme. */
html.dmw-new body.test-home .test-program{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px 18px!important;
  padding-right:0!important;
}
html.dmw-new body.test-home .test-program-current{
  justify-self:start!important;
  min-width:0!important;
  text-align:left!important;
}
html.dmw-new body.test-home .test-program-next{
  display:flex!important;
  justify-self:end!important;
  justify-content:flex-end!important;
  align-items:baseline!important;
  flex-wrap:wrap!important;
  min-width:0!important;
  text-align:right!important;
}
html.dmw-new body.test-home .test-program-next :is(strong,small){
  text-align:right!important;
}
@media(max-width:700px){
  html.dmw-new body.test-home .test-program{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:6px 10px!important;
  }
  html.dmw-new body.test-home .test-program-next{gap:3px 6px!important;}
}

/* 20260829b - Desktop reserves the centre of the programme rail for the
   Open player action. The current and next programme can therefore never
   run underneath that control. */
@media(min-width:961px){
  html.dmw-new body.test-home .test-program{
    grid-template-columns:minmax(0,1fr) minmax(148px,170px) minmax(0,1fr)!important;
    column-gap:18px!important;
    padding:0!important;
  }
  html.dmw-new body.test-home .test-program-current{grid-column:1!important;}
  html.dmw-new body.test-home .test-program-next{grid-column:3!important;}
  html.dmw-new body.test-home .test-full-player{
    left:50%!important;
    right:auto!important;
    bottom:16px!important;
    transform:translateX(-50%)!important;
    z-index:2!important;
    white-space:nowrap!important;
  }
}
