.nowplaying-timer {
  margin-top: 0.25rem;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.1;
  color: #f0abfc;
  text-shadow: 0 0 10px rgba(240, 171, 252, 0.55);
}

.timer-progress-wrap {
  width: min(260px, 78%);
  height: 5px;
  margin: 0.25rem auto 0;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
}

.timer-progress-bar {
  height: 100%;
  width: 0%;
  border-radius: 999px;
  background: linear-gradient(90deg, #5E005E, #d946ef);
  transition: width 0.9s linear;
}
.nowplaying-request-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.65rem;
  padding: 0.45rem 0.85rem;
  border-radius: 9999px;

  color: #fff;
  font-weight: 700;
  font-size: 0.92rem;

  background: linear-gradient(135deg, rgba(94,0,94,0.92), rgba(179,0,255,0.92));
  box-shadow:
    0 0 0 1px rgba(255,255,255,0.08),
    0 0 18px rgba(179,0,255,0.35);

  opacity: 0;
  transform: translateY(6px) scale(0.98);
  transition: opacity .35s ease, transform .35s ease;
}

.nowplaying-request-badge.show {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.nowplaying-request-badge[hidden] {
  display: none !important;
}
    /* Nu-op-ShoutFM cover wrapper */
    .nowplaying-cover-wrapper {
      display: inline-block;
      position: relative;
    }
    .nowplaying-cover-wrapper .bio-button {
      top: 10px;
      right: 16px;
      transform: none;
      padding: 3px 10px;
      font-size: 13px;
      border-radius: 14px;
    }
    @media (hover: hover) {
      .nowplaying-cover-wrapper:hover .bio-button {
        opacity: 1;
        pointer-events: auto;
      }
    }
    @media (hover: none) {
      .nowplaying-cover-wrapper .bio-button {
        opacity: 1;
        pointer-events: auto;
      }
    }
        /* Fade in/out voor Nu-op-ShoutFM cover */
    #coverArt,
    #coverArtMobile {
      opacity: 0;
      transition: opacity 0.9s ease;
    }
    .nowplaying-hit {
  box-shadow:
    0 0 0 2px rgba(255,255,255,.18),
    0 0 22px rgba(216,180,254,.55),
    0 0 44px rgba(94,0,94,.45);
  animation: nowPlayingPulse 1.2s ease-in-out 8;
  transition: box-shadow 0.6s ease;
}

@keyframes nowPlayingPulse {
  0%   { transform: scale(1); }
  50%  { transform: scale(1.015); }
  100% { transform: scale(1); }
} 