:root{--fm320-pink:#e60155;--fm320-blue:#0059e7;--fm320-bg:#111318;--fm320-card:#181b22;--fm320-text:#fff;--fm320-muted:#aab0bd;--fm320-play:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M7.2 4.5L19.5 12L7.2 19.5Z'/%3E%3C/svg%3E");--fm320-stop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect fill='%23fff' x='6' y='6' width='12' height='12' rx='1'/%3E%3C/svg%3E")}
.fm320-homebar,.fm320-compact-status,.fm320-persistent-player{box-sizing:border-box;font-family:inherit}
.fm320-homebar *,.fm320-compact-status *,.fm320-persistent-player *{box-sizing:border-box}
.fm320-homebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;padding:26px;background:#fff;color:#171922;border-radius:18px}
.fm320-homebar-now{display:flex;gap:22px;align-items:center;min-width:0}
.fm320-homebar-cover{position:relative;flex:0 0 210px;width:210px;height:210px;border:0;padding:0;border-radius:16px;overflow:visible;background:transparent;cursor:pointer}
.fm320-homebar-cover>img{width:100%;height:100%;object-fit:cover;border-radius:16px;display:block}
.fm320-homebar-play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.fm320-homebar-play-circle{width:64px;height:64px;border-radius:50%;background-color:rgba(17,19,24,.9);background-image:var(--fm320-play);background-position:52% 50%;background-repeat:no-repeat;background-size:26px 26px;box-shadow:0 8px 24px rgba(0,0,0,.35);transition:transform .2s ease}
.fm320-homebar-cover:hover .fm320-homebar-play-circle{transform:scale(1.06)}
.fm320-homebar-cover.is-playing .fm320-homebar-play-circle,.fm320-homebar-cover[aria-pressed="true"] .fm320-homebar-play-circle{background-image:var(--fm320-stop);background-position:50% 50%;background-size:22px 22px;animation:fm320Beat 1.15s ease-in-out infinite}
.fm320-homebar-beat-rings,.fm320-cover-live-layer{display:none!important}
@keyframes fm320Beat{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(230,1,85,.35),0 8px 24px rgba(0,0,0,.35)}50%{transform:scale(1.12);box-shadow:0 0 0 14px rgba(230,1,85,0),0 10px 30px rgba(0,89,231,.3)}}
.fm320-homebar-copy{min-width:0}.fm320-homebar-copy h3{margin:8px 0 4px;font-size:clamp(24px,3vw,42px);line-height:1.05}.fm320-homebar-copy p{margin:0;color:#596070;font-size:18px}.fm320-homebar-onair{font-weight:800;font-size:13px;letter-spacing:.08em;color:var(--fm320-pink)}
.fm320-homebar-progress{height:5px;background:#e8eaf0;border-radius:99px;overflow:hidden;margin-top:8px}.fm320-homebar-progress>span{display:block;height:100%;width:0;background:var(--fm320-pink)}.fm320-homebar-progress-meta{margin-top:18px;font-size:12px;color:#777}
.fm320-homebar-side{display:flex;flex-direction:column;gap:18px;min-width:260px}.fm320-homebar-kpis{display:flex;gap:12px}.fm320-homebar-kpi{flex:1;padding:14px;background:#f4f5f8;border-radius:12px}.fm320-homebar-kpi span{display:block;font-size:12px;color:#777}.fm320-homebar-kpi strong{font-size:20px}.fm320-direct-streams-list{display:flex;gap:8px}.fm320-direct-stream{border:0;border-radius:10px;padding:10px 12px;text-decoration:none;background:#f0f2f6;color:#171922;cursor:pointer}.fm320-direct-stream-name{font-weight:700}.fm320-direct-stream-quality{display:block;font-size:11px;color:#777}
.fm320-next-show,.fm320-recent-tracks-home{grid-column:1/-1;margin-top:8px}.fm320-next-show-info{display:grid;grid-template-columns:72px auto 1fr auto;gap:16px;align-items:center;padding:16px;background:#f6f7f9;border-radius:14px}.fm320-next-show-cover{width:72px;height:72px;border-radius:10px;object-fit:cover}.fm320-recent-tracks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fm320-recent-track{display:flex;gap:12px;align-items:center;padding:12px;background:#f6f7f9;border-radius:12px}.fm320-recent-track img{width:56px;height:56px;border-radius:8px;object-fit:cover}.fm320-recent-track strong,.fm320-recent-track span{display:block}
.fm320-compact-status{padding:20px;background:#fff;border-radius:16px}.fm320-compact-main{display:flex;gap:18px;align-items:center}.fm320-compact-cover img{width:110px;height:110px;border-radius:12px;object-fit:cover}.fm320-compact-track{flex:1}.fm320-compact-track h3{margin:4px 0}.fm320-compact-stats{display:flex;gap:10px;margin-top:16px}.fm320-compact-stats>div{flex:1;padding:10px;background:#f4f5f8;border-radius:10px}
.fm320-persistent-player{position:fixed;right:16px;bottom:16px;z-index:999999;display:flex;align-items:center;gap:12px;min-width:320px;max-width:min(440px,calc(100vw - 32px));padding:10px 14px;background:var(--fm320-bg);color:#fff;border-radius:16px;box-shadow:0 12px 36px rgba(0,0,0,.35);opacity:1;visibility:visible;pointer-events:auto;transition:width .25s ease,min-width .25s ease,padding .25s ease,border-radius .25s ease}
.fm320-persistent-player-control{flex:0 0 46px;width:46px;height:46px;border:0;border-radius:50%;background-color:#232734;background-image:var(--fm320-play);background-position:52% 50%;background-repeat:no-repeat;background-size:20px 20px;cursor:pointer}
.fm320-persistent-player.is-playing .fm320-persistent-player-control,.fm320-persistent-player-control[aria-pressed="true"]{background-image:var(--fm320-stop);background-position:50% 50%;background-size:18px 18px}
.fm320-persistent-player-copy{display:flex;flex-direction:column;min-width:0}.fm320-persistent-player-copy strong,.fm320-persistent-player-copy span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fm320-persistent-player-label{font-size:10px;color:var(--fm320-pink);font-weight:800}
.fm320-persistent-player.is-collapsed{min-width:56px;width:56px;height:56px;padding:0;border-radius:50%;justify-content:center;animation:fm320StoppedPulse 2.3s ease-in-out infinite}.fm320-persistent-player.is-collapsed .fm320-persistent-player-copy{display:none}.fm320-persistent-player.is-collapsed .fm320-persistent-player-control{width:56px;height:56px;flex-basis:56px;background-color:var(--fm320-bg)}
@keyframes fm320StoppedPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.06);box-shadow:0 0 0 10px rgba(230,1,85,0),0 12px 36px rgba(0,0,0,.35)}}
@media(max-width:767px){.fm320-homebar{grid-template-columns:1fr;padding:18px}.fm320-homebar-now{flex-direction:column;text-align:center}.fm320-homebar-cover{width:180px;height:180px;flex-basis:180px}.fm320-homebar-side{min-width:0}.fm320-next-show-info{grid-template-columns:56px 1fr}.fm320-next-show-copy,.fm320-next-show-link{grid-column:2}.fm320-recent-tracks-grid{grid-template-columns:1fr}.fm320-persistent-player{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));max-width:calc(100vw - 28px)}}
@media(prefers-reduced-motion:reduce){.fm320-homebar-play-circle,.fm320-persistent-player{animation:none!important;transition:none!important}}


/* Stable footer player component */
#fm320-persistent-player.fm320-persistent-player{position:fixed!important;right:18px!important;bottom:18px!important;z-index:2147483000!important}
#fm320-persistent-player .fm320-persistent-player-control svg{display:block!important;visibility:visible!important;opacity:1!important}
#fm320-persistent-player .fm320-persistent-player-control::before,#fm320-persistent-player .fm320-persistent-player-control::after{content:none!important;display:none!important}
#fm320-persistent-player.is-visible{display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
#fm320-persistent-player.is-visible.is-compact:not(.is-playing){width:56px!important;height:56px!important;min-width:56px!important;max-width:56px!important;min-height:56px!important;max-height:56px!important;padding:0!important;border-radius:9999px!important;grid-template-columns:1fr!important;grid-template-rows:1fr!important;place-items:center!important}
#fm320-persistent-player.is-compact .fm320-persistent-player-copy{display:none!important}
#fm320-persistent-player.is-compact .fm320-persistent-player-control{grid-area:1/1!important;place-self:center!important;width:44px!important;height:44px!important;margin:0!important;padding:0!important}

/* 320 FM v1.0.0 — attention pulse for the closed footer player */
#fm320-persistent-player.is-visible.is-compact:not(.is-playing){
  overflow:visible!important;
  isolation:isolate!important;
  transform-origin:center center!important;
  animation:fm320FooterBreathe 2.8s ease-in-out infinite!important;
  box-shadow:0 8px 22px rgba(0,0,0,.35)!important;
}
#fm320-persistent-player.is-visible.is-compact:not(.is-playing)::before,
#fm320-persistent-player.is-visible.is-compact:not(.is-playing)::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-1px!important;
  z-index:-1!important;
  border-radius:50%!important;
  pointer-events:none!important;
  opacity:0;
  transform:scale(.86);
  transform-origin:center center!important;
  box-sizing:border-box!important;
}
#fm320-persistent-player.is-visible.is-compact:not(.is-playing)::before{
  border:2px solid rgba(230,1,85,.48)!important;
  animation:fm320FooterRing 2.2s cubic-bezier(.2,.65,.3,1) infinite!important;
}
#fm320-persistent-player.is-visible.is-compact:not(.is-playing)::after{
  border:2px solid rgba(0,89,231,.38)!important;
  animation:fm320FooterRing 2.2s cubic-bezier(.2,.65,.3,1) .8s infinite!important;
}
#fm320-persistent-player.is-visible.is-compact:not(.is-playing):hover{
  animation-play-state:paused!important;
  transform:scale(1.08)!important;
  box-shadow:0 0 24px rgba(230,1,85,.35),0 0 42px rgba(0,89,231,.18),0 10px 28px rgba(0,0,0,.42)!important;
  transition:transform 180ms ease,box-shadow 180ms ease!important;
}
@keyframes fm320FooterBreathe{
  0%,100%{transform:scale(1);box-shadow:0 8px 22px rgba(0,0,0,.35)}
  50%{transform:scale(1.06);box-shadow:0 0 24px rgba(230,1,85,.35),0 0 42px rgba(0,89,231,.18),0 10px 28px rgba(0,0,0,.4)}
}
@keyframes fm320FooterRing{
  0%{opacity:0;transform:scale(.86)}
  18%{opacity:.82}
  72%,100%{opacity:0;transform:scale(1.72)}
}
@media(prefers-reduced-motion:reduce){
  #fm320-persistent-player.is-visible.is-compact:not(.is-playing){
    animation:none!important;
    box-shadow:0 0 0 4px rgba(230,1,85,.24),0 8px 22px rgba(0,0,0,.35)!important;
  }
  #fm320-persistent-player.is-visible.is-compact:not(.is-playing)::before,
  #fm320-persistent-player.is-visible.is-compact:not(.is-playing)::after{
    animation:none!important;
    display:none!important;
  }
}


/* 320 FM v1.0.0 — Direct stream controls and subtle online state */
.fm320-direct-streams-label{
  display:block;
  margin:0 0 9px;
  color:#727987;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.fm320-direct-streams-list-three{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px!important;
}
.fm320-direct-stream{
  appearance:none;
  -webkit-appearance:none;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px;
  padding:9px 14px!important;
  border:1px solid transparent!important;
  border-radius:999px!important;
  color:#fff!important;
  font:inherit;
  line-height:1!important;
  text-align:center;
  white-space:nowrap;
  box-shadow:0 6px 16px rgba(17,19,24,.13);
  transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease,border-color 180ms ease!important;
}
.fm320-direct-stream::before{
  content:"";
  display:block;
  flex:0 0 18px;
  width:18px;
  height:18px;
  background-color:currentColor;
  -webkit-mask-position:center;
  mask-position:center;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-size:contain;
  mask-size:contain;
}
.fm320-direct-stream:hover,
.fm320-direct-stream:focus-visible{
  color:#fff!important;
  text-decoration:none!important;
  transform:translateY(-1px) scale(1.03);
  box-shadow:0 10px 24px rgba(17,19,24,.22);
  outline:none;
}
.fm320-direct-stream:focus-visible{box-shadow:0 0 0 3px rgba(0,89,231,.2),0 10px 24px rgba(17,19,24,.22)}
.fm320-direct-stream-name,
.fm320-direct-stream-quality{
  display:inline!important;
  color:inherit!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1!important;
}
.fm320-direct-stream-quality::before{content:"·";margin:0 5px 0 1px;opacity:.72}
.fm320-direct-stream-hq{
  background-color:#0059e7!important;
  border-color:#0059e7!important;
}
.fm320-direct-stream-hq:hover{background-color:#0752c8!important}
.fm320-direct-stream-hq::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13v5a2 2 0 0 0 2 2h2v-8H6a2 2 0 0 0-2 1Zm12-1v8h2a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-1h-2ZM6 10a6 6 0 0 1 12 0h2a8 8 0 0 0-16 0h2Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 13v5a2 2 0 0 0 2 2h2v-8H6a2 2 0 0 0-2 1Zm12-1v8h2a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-1h-2ZM6 10a6 6 0 0 1 12 0h2a8 8 0 0 0-16 0h2Z'/%3E%3C/svg%3E");
}
.fm320-direct-stream-mobile{
  background-color:#40464f!important;
  border-color:#4d545e!important;
}
.fm320-direct-stream-mobile:hover{background-color:#343a43!important}
.fm320-direct-stream-mobile::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2h8a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 3v14h8V5H8Zm3 15h2v1h-2v-1Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 2h8a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 3v14h8V5H8Zm3 15h2v1h-2v-1Z'/%3E%3C/svg%3E");
}
.fm320-direct-stream-popup{
  background-color:#111318!important;
  border-color:#242832!important;
}
.fm320-direct-stream-popup:hover{background-color:#1b1e25!important}
.fm320-direct-stream-popup::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-8.3 8.3-1.4-1.42L17.58 5H14V3ZM5 5h6v2H6v11h11v-5h2v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 3h7v7h-2V6.41l-8.3 8.3-1.4-1.42L17.58 5H14V3ZM5 5h6v2H6v11h11v-5h2v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E");
}
.fm320-homebar-kpi .status-value{
  display:inline-flex!important;
  align-items:center;
  gap:7px;
  font-size:15px!important;
  font-weight:800;
  letter-spacing:.02em;
}
.fm320-homebar-kpi .status-value::before{
  content:"";
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-radius:50%;
  background:#aab0bd;
}
.fm320-homebar-kpi .status-value.online{color:#27865a!important}
.fm320-homebar-kpi .status-value.online::before{
  background:#43b978;
  box-shadow:0 0 0 4px rgba(67,185,120,.13);
  animation:fm320OnlineDot 2.2s ease-in-out infinite;
}
.fm320-homebar-kpi .status-value.offline{color:#a54450!important}
.fm320-homebar-kpi .status-value.offline::before{background:#c75b68;box-shadow:0 0 0 4px rgba(199,91,104,.11)}
@keyframes fm320OnlineDot{0%,100%{box-shadow:0 0 0 3px rgba(67,185,120,.12)}50%{box-shadow:0 0 0 7px rgba(67,185,120,0)}}
@media(max-width:900px){.fm320-direct-streams-list-three{grid-template-columns:1fr!important}.fm320-direct-stream{width:100%!important}}
@media(prefers-reduced-motion:reduce){.fm320-direct-stream,.fm320-homebar-kpi .status-value.online::before{animation:none!important;transition:none!important}.fm320-direct-stream:hover{transform:none!important}}

/* 320 FM v1.0.0 — refined premium direct-stream buttons */
.fm320-direct-streams-list-three{
  gap:12px!important;
}
.fm320-direct-stream{
  position:relative!important;
  justify-content:flex-start!important;
  min-height:52px!important;
  padding:8px 16px 8px 8px!important;
  gap:11px!important;
  border-width:1px!important;
  border-style:solid!important;
  letter-spacing:.01em;
  box-shadow:
    0 8px 22px rgba(17,19,24,.16),
    inset 0 1px 0 rgba(255,255,255,.10)!important;
  overflow:hidden;
}
.fm320-direct-stream::before{
  content:""!important;
  display:block!important;
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  border-radius:50%!important;
  background-color:rgba(255,255,255,.13)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:19px 19px!important;
  -webkit-mask:none!important;
  mask:none!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.15),
    0 5px 14px rgba(0,0,0,.18)!important;
  transition:transform 180ms ease,background-color 180ms ease,box-shadow 180ms ease!important;
}
.fm320-direct-stream:hover,
.fm320-direct-stream:focus-visible{
  transform:translateY(-2px) scale(1.015)!important;
  box-shadow:
    0 14px 30px rgba(17,19,24,.24),
    inset 0 1px 0 rgba(255,255,255,.14)!important;
}
.fm320-direct-stream:hover::before,
.fm320-direct-stream:focus-visible::before{
  transform:scale(1.08)!important;
  background-color:rgba(255,255,255,.19)!important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.22),
    0 7px 18px rgba(0,0,0,.24)!important;
}
.fm320-direct-stream-name{
  font-size:12px!important;
  font-weight:900!important;
  letter-spacing:.015em!important;
}
.fm320-direct-stream-quality{
  font-size:11px!important;
  font-weight:700!important;
  opacity:.82;
}
.fm320-direct-stream-hq{
  border-color:rgba(74,139,255,.68)!important;
  box-shadow:
    0 9px 24px rgba(0,89,231,.25),
    inset 0 1px 0 rgba(255,255,255,.14)!important;
}
.fm320-direct-stream-hq::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M4 13v5a2 2 0 0 0 2 2h2v-8H6a2 2 0 0 0-2 1Zm12-1v8h2a2 2 0 0 0 2-2v-5a2 2 0 0 0-2-1h-2ZM6 10a6 6 0 0 1 12 0h2a8 8 0 0 0-16 0h2Z'/%3E%3C/svg%3E")!important;
}
.fm320-direct-stream-mobile{
  border-color:rgba(145,154,169,.34)!important;
}
.fm320-direct-stream-mobile::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M8 2h8a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2Zm0 3v14h8V5H8Zm3 15h2v1h-2v-1Z'/%3E%3C/svg%3E")!important;
}
.fm320-direct-stream-popup{
  border-color:rgba(255,255,255,.13)!important;
}
.fm320-direct-stream-popup::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M14 3h7v7h-2V6.41l-8.3 8.3-1.4-1.42L17.58 5H14V3ZM5 5h6v2H6v11h11v-5h2v6a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z'/%3E%3C/svg%3E")!important;
}
@media(max-width:900px){
  .fm320-direct-stream{min-height:54px!important}
}
@media(prefers-reduced-motion:reduce){
  .fm320-direct-stream::before{transition:none!important}
}

/* Final 1.0.0 - compact expanded player near the page footer */
#fm320-persistent-player.is-visible.is-playing.is-near-footer{
  width:min(270px,calc(100vw - 36px))!important;
  min-height:54px!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:9px!important;
  padding:7px 10px!important;
  border-radius:14px!important;
  box-shadow:0 8px 26px rgba(0,0,0,.30)!important;
}
#fm320-persistent-player.is-playing.is-near-footer .fm320-persistent-player-control{
  width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
}
#fm320-persistent-player.is-playing.is-near-footer .fm320-persistent-player-label{display:none!important}
#fm320-persistent-player.is-playing.is-near-footer .fm320-persistent-player-copy strong{font-size:13px!important}
#fm320-persistent-player.is-playing.is-near-footer .fm320-persistent-player-copy [data-role="persistent-title"]{font-size:11px!important;margin-top:1px!important}
@media(max-width:767px){
  #fm320-persistent-player.is-visible.is-playing.is-near-footer{width:min(230px,calc(100vw - 28px))!important;grid-template-columns:36px minmax(0,1fr)!important;padding:6px 9px!important;gap:8px!important}
  #fm320-persistent-player.is-playing.is-near-footer .fm320-persistent-player-control{width:36px!important;height:36px!important;min-width:36px!important;min-height:36px!important}
}

/* 320 FM v1.0.0 — premium Upcoming Show and Recently Played */
.fm320-next-show{
  position:relative;
  margin-top:20px!important;
  padding:2px;
  border-radius:20px;
  background:#e9edf5;
  box-shadow:0 16px 38px rgba(17,19,24,.09);
}
.fm320-next-show::before{
  content:"";
  position:absolute;
  left:22px;
  top:-1px;
  width:88px;
  height:3px;
  border-radius:0 0 99px 99px;
  background:#e60155;
}
.fm320-next-show-label{
  margin:0;
  padding:15px 20px 0;
  color:#727987;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.fm320-next-show-info{
  grid-template-columns:88px minmax(230px,auto) minmax(0,1fr) auto!important;
  gap:20px!important;
  padding:18px 20px 20px!important;
  background:#fff!important;
  border:1px solid #edf0f5;
  border-radius:18px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.fm320-next-show-cover-link{
  display:block;
  border-radius:14px;
  box-shadow:0 9px 24px rgba(17,19,24,.18);
  transition:transform 180ms ease,box-shadow 180ms ease;
}
.fm320-next-show-cover-link:hover,
.fm320-next-show-cover-link:focus-visible{
  transform:translateY(-2px) scale(1.025);
  box-shadow:0 14px 30px rgba(17,19,24,.24);
  outline:none;
}
.fm320-next-show-cover{
  width:88px!important;
  height:88px!important;
  border-radius:14px!important;
  display:block;
}
.fm320-next-show-schedule{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-width:260px;
  overflow:hidden;
  border:1px solid #e6eaf1;
  border-radius:14px;
  background:#f8f9fb;
}
.fm320-next-show-start,
.fm320-next-show-countdown{
  min-height:68px;
  padding:11px 14px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fm320-next-show-start{
  border-right:1px solid #e1e5ed;
}
.fm320-next-show-meta-label{
  display:block;
  margin-bottom:5px;
  color:#858c99;
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.fm320-next-show-start-value{
  display:flex;
  align-items:baseline;
  gap:7px;
}
.fm320-next-show-start-value span{
  color:#6a7180;
  font-size:12px;
  font-weight:700;
}
.fm320-next-show-start-value strong{
  color:#171922;
  font-size:21px;
  line-height:1;
}
.fm320-next-show-countdown strong{
  color:#0059e7;
  font-size:21px;
  line-height:1;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
}
.fm320-next-show-copy{
  min-width:0;
  padding:3px 0;
}
.fm320-next-show-kicker{
  display:block;
  margin-bottom:6px;
  color:#e60155;
  font-size:10px;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.fm320-next-show-copy strong{
  display:block;
  color:#111318;
  font-size:clamp(18px,2vw,25px);
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.fm320-next-show-link{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:10px 17px!important;
  border:1px solid #1e222b;
  border-radius:999px;
  background:#111318;
  color:#fff!important;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none!important;
  white-space:nowrap;
  box-shadow:0 9px 22px rgba(17,19,24,.2),inset 0 1px 0 rgba(255,255,255,.09);
  transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease;
}
.fm320-next-show-link-icon{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#e60155;
  color:#fff;
  font-size:15px;
  line-height:1;
  transition:transform 180ms ease;
}
.fm320-next-show-link:hover,
.fm320-next-show-link:focus-visible{
  background:#1a1d24;
  color:#fff!important;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(17,19,24,.28),inset 0 1px 0 rgba(255,255,255,.12);
  outline:none;
}
.fm320-next-show-link:hover .fm320-next-show-link-icon,
.fm320-next-show-link:focus-visible .fm320-next-show-link-icon{
  transform:translateX(2px);
}
.fm320-recent-tracks-home{
  margin-top:24px!important;
}
.fm320-recent-tracks-heading{
  margin-bottom:14px;
  text-align:center;
  color:#646b79;
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
}
.fm320-recent-tracks-more{
  display:flex;
  justify-content:center;
  width:100%;
  margin-top:20px;
  text-align:center;
}
.fm320-recent-tracks-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:11px;
  min-height:48px;
  padding:11px 20px;
  border:1px solid #dce1e9;
  border-radius:999px;
  background:#fff;
  color:#171922!important;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  text-decoration:none!important;
  box-shadow:0 9px 22px rgba(17,19,24,.1),inset 0 1px 0 rgba(255,255,255,.95);
  transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}
.fm320-recent-tracks-button::before{
  content:"";
  width:28px;
  height:28px;
  border-radius:50%;
  background-color:#111318;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M4 6h12v2H4V6Zm0 5h12v2H4v-2Zm0 5h8v2H4v-2Zm14-6 4 3-4 3v-6Z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
  box-shadow:0 5px 12px rgba(17,19,24,.2);
}
.fm320-recent-tracks-button>span{
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border-radius:50%;
  background:#f0f2f6;
  transition:transform 180ms ease,background-color 180ms ease;
}
.fm320-recent-tracks-button:hover,
.fm320-recent-tracks-button:focus-visible{
  color:#171922!important;
  border-color:#c8ced9;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(17,19,24,.16),inset 0 1px 0 rgba(255,255,255,.95);
  outline:none;
}
.fm320-recent-tracks-button:hover>span,
.fm320-recent-tracks-button:focus-visible>span{
  background:#e60155;
  color:#fff;
  transform:translateX(2px);
}
@media(max-width:980px){
  .fm320-next-show-info{grid-template-columns:76px 1fr auto!important}
  .fm320-next-show-cover{width:76px!important;height:76px!important}
  .fm320-next-show-schedule{grid-column:2;grid-row:2;min-width:0;margin-top:9px}
  .fm320-next-show-copy{grid-column:2;grid-row:1}
  .fm320-next-show-link{grid-column:3;grid-row:1/3}
}
@media(max-width:680px){
  .fm320-next-show-info{grid-template-columns:66px minmax(0,1fr)!important;gap:14px!important;padding:16px!important}
  .fm320-next-show-cover{width:66px!important;height:66px!important}
  .fm320-next-show-copy{grid-column:2!important;grid-row:1!important}
  .fm320-next-show-schedule{grid-column:1/-1!important;grid-row:2!important;width:100%;margin-top:2px}
  .fm320-next-show-link{grid-column:1/-1!important;grid-row:3!important;width:100%;margin-top:2px}
  .fm320-next-show-copy strong{white-space:normal}
}
@media(prefers-reduced-motion:reduce){
  .fm320-next-show-cover-link,.fm320-next-show-link,.fm320-next-show-link-icon,.fm320-recent-tracks-button,.fm320-recent-tracks-button>span{transition:none!important}
}

/* 320 FM v1.0.0 — unified Upcoming Show / Recently Played design */
.fm320-next-show-label{
  padding:18px 22px 2px!important;
  font-size:15px!important;
  line-height:1.2!important;
  letter-spacing:.105em!important;
  color:#4f5663!important;
}
.fm320-next-show-copy strong{
  font-size:clamp(21px,2.2vw,28px)!important;
}
.fm320-recent-tracks-home{
  position:relative;
  margin-top:24px!important;
  padding:2px!important;
  border-radius:20px!important;
  background:#e9edf5!important;
  box-shadow:0 16px 38px rgba(17,19,24,.09)!important;
  overflow:visible;
}
.fm320-recent-tracks-home::before{
  content:"";
  position:absolute;
  left:22px;
  top:-1px;
  width:88px;
  height:3px;
  border-radius:0 0 99px 99px;
  background:#0059e7;
  pointer-events:none;
}
.fm320-recent-tracks-heading{
  margin:0!important;
  padding:18px 22px 14px!important;
  text-align:left!important;
  color:#4f5663!important;
  font-size:15px!important;
  line-height:1.2!important;
  font-weight:900!important;
  letter-spacing:.105em!important;
}
.fm320-recent-tracks-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  padding:0 18px 4px!important;
}
.fm320-recent-track,
.fm320-recent-track-placeholder{
  min-height:78px;
  padding:11px 13px!important;
  border:1px solid #edf0f5!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 7px 18px rgba(17,19,24,.055)!important;
}
.fm320-recent-track{
  transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease;
}
.fm320-recent-track:hover{
  transform:translateY(-2px);
  border-color:#dfe4ed!important;
  box-shadow:0 12px 26px rgba(17,19,24,.11),inset 0 1px 0 rgba(255,255,255,.95)!important;
}
.fm320-recent-track img{
  width:58px!important;
  height:58px!important;
  border-radius:11px!important;
  box-shadow:0 7px 18px rgba(17,19,24,.16);
}
.fm320-recent-track strong{
  color:#111318!important;
  font-size:14px!important;
  line-height:1.25!important;
}
.fm320-recent-track span{
  color:#737b89!important;
  font-size:12px!important;
  line-height:1.35!important;
}
.fm320-recent-tracks-more{
  justify-content:flex-end!important;
  margin:0!important;
  padding:16px 18px 18px!important;
  background:#fff;
  border:1px solid #edf0f5;
  border-top:0;
  border-radius:0 0 18px 18px;
}
.fm320-recent-tracks-button{
  min-height:46px!important;
  padding:10px 17px!important;
  border:1px solid #1e222b!important;
  background:#111318!important;
  color:#fff!important;
  box-shadow:0 9px 22px rgba(17,19,24,.2),inset 0 1px 0 rgba(255,255,255,.09)!important;
}
.fm320-recent-tracks-button::before{
  width:25px!important;
  height:25px!important;
  background-color:#0059e7!important;
  background-size:15px 15px!important;
  box-shadow:none!important;
}
.fm320-recent-tracks-button>span{
  width:25px!important;
  height:25px!important;
  background:#e60155!important;
  color:#fff!important;
}
.fm320-recent-tracks-button:hover,
.fm320-recent-tracks-button:focus-visible{
  background:#1a1d24!important;
  color:#fff!important;
  border-color:#1e222b!important;
  box-shadow:0 14px 30px rgba(17,19,24,.28),inset 0 1px 0 rgba(255,255,255,.12)!important;
}
.fm320-recent-tracks-button:hover>span,
.fm320-recent-tracks-button:focus-visible>span{
  background:#e60155!important;
}
@media(max-width:680px){
  .fm320-next-show-label,
  .fm320-recent-tracks-heading{
    padding-left:17px!important;
    padding-right:17px!important;
    font-size:13px!important;
  }
  .fm320-recent-tracks-grid{
    grid-template-columns:1fr!important;
    padding:0 14px 4px!important;
  }
  .fm320-recent-tracks-more{
    justify-content:center!important;
    padding:14px!important;
  }
  .fm320-recent-tracks-button{
    width:100%;
  }
}
@media(prefers-reduced-motion:reduce){
  .fm320-recent-track{transition:none!important}
}

/* 320 FM v1.0.0 — flat Upcoming/Recently sections and detached CTA */
.fm320-next-show,
.fm320-recent-tracks-home{
  box-shadow:none!important;
}
.fm320-next-show-info,
.fm320-next-show-cover-link,
.fm320-next-show-cover-link:hover,
.fm320-next-show-cover-link:focus-visible,
.fm320-recent-track,
.fm320-recent-track-placeholder,
.fm320-recent-track:hover,
.fm320-recent-track img{
  box-shadow:none!important;
}
.fm320-recent-tracks-more{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  width:100%!important;
  margin:20px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.fm320-recent-tracks-button{
  margin:0 auto!important;
}
@media(max-width:680px){
  .fm320-recent-tracks-more{
    margin-top:16px!important;
    padding:0 14px!important;
  }
  .fm320-recent-tracks-button{
    width:auto!important;
    max-width:100%!important;
  }
}

/* 320 FM v1.0.0 — transparent Recently Played content area */
.fm320-recent-tracks-home{
  background:transparent!important;
}

/* 320 FM v1.0.0 — refined Recently Played track hover */
.fm320-recent-tracks-home .fm320-recent-track{
  transition:transform 200ms ease,background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease!important;
}
.fm320-recent-tracks-home .fm320-recent-track img{
  transition:transform 200ms ease,filter 200ms ease!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover,
.fm320-recent-tracks-home .fm320-recent-track:focus-within{
  transform:translateY(-2px)!important;
  background:#f7f9fc!important;
  border-color:#d8e2f0!important;
  box-shadow:0 9px 22px rgba(17,19,24,.10)!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover img,
.fm320-recent-tracks-home .fm320-recent-track:focus-within img{
  transform:scale(1.025)!important;
  filter:brightness(1.045)!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover strong,
.fm320-recent-tracks-home .fm320-recent-track:focus-within strong{
  color:#111318!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover span,
.fm320-recent-tracks-home .fm320-recent-track:focus-within span{
  color:#0059e7!important;
}
@media(prefers-reduced-motion:reduce){
  .fm320-recent-tracks-home .fm320-recent-track,
  .fm320-recent-tracks-home .fm320-recent-track img{
    transition:none!important;
  }
  .fm320-recent-tracks-home .fm320-recent-track:hover,
  .fm320-recent-tracks-home .fm320-recent-track:focus-within,
  .fm320-recent-tracks-home .fm320-recent-track:hover img,
  .fm320-recent-tracks-home .fm320-recent-track:focus-within img{
    transform:none!important;
  }
}

/* 320 FM v1.0.0 — stronger Recently Played hover contrast */
.fm320-recent-tracks-home .fm320-recent-track:hover,
.fm320-recent-tracks-home .fm320-recent-track:focus-within{
  transform:translateY(-4px) scale(1.015)!important;
  background:#eef4ff!important;
  border-color:#7aa7ef!important;
  box-shadow:0 14px 30px rgba(17,19,24,.18),0 0 0 2px rgba(0,89,231,.10)!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover::before,
.fm320-recent-tracks-home .fm320-recent-track:focus-within::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 4px 0 0 #0059e7!important;
}
.fm320-recent-tracks-home .fm320-recent-track{
  position:relative!important;
  overflow:hidden!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover img,
.fm320-recent-tracks-home .fm320-recent-track:focus-within img{
  transform:scale(1.06)!important;
  filter:brightness(1.08) saturate(1.08)!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover strong,
.fm320-recent-tracks-home .fm320-recent-track:focus-within strong{
  color:#0059e7!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover span,
.fm320-recent-tracks-home .fm320-recent-track:focus-within span{
  color:#e60155!important;
}
@media(prefers-reduced-motion:reduce){
  .fm320-recent-tracks-home .fm320-recent-track:hover,
  .fm320-recent-tracks-home .fm320-recent-track:focus-within{
    transform:none!important;
  }
}

/* Recently Played: Spielzeit fest am rechten Kartenrand */
.fm320-recent-tracks-home .fm320-recent-track{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding-right:104px!important;
}
.fm320-recent-tracks-home .fm320-recent-track-copy{
  min-width:0!important;
  flex:1 1 auto!important;
}
.fm320-recent-tracks-home .fm320-recent-track-time{
  position:absolute!important;
  top:50%!important;
  right:16px!important;
  transform:translateY(-50%)!important;
  display:block!important;
  width:76px!important;
  margin:0!important;
  color:#667085!important;
  font-size:12px!important;
  font-weight:800!important;
  line-height:1.2!important;
  letter-spacing:.02em!important;
  text-align:right!important;
  white-space:nowrap!important;
  font-variant-numeric:tabular-nums!important;
  transition:color .2s ease!important;
}
.fm320-recent-tracks-home .fm320-recent-track:hover .fm320-recent-track-time,
.fm320-recent-tracks-home .fm320-recent-track:focus-within .fm320-recent-track-time{
  color:#0059e7!important;
}
@media(max-width:767px){
  .fm320-recent-tracks-home .fm320-recent-track{
    gap:10px!important;
    padding-right:86px!important;
  }
  .fm320-recent-tracks-home .fm320-recent-track-time{
    right:12px!important;
    width:64px!important;
    font-size:11px!important;
  }
}
