/* Wavswap v847: keep the existing bottom player opaque through SPA route changes.
   Presentation only: no playback, queue, waveform, or navigation behavior changes. */
web-player player-controls,
web-player mobile-player-controls {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  mix-blend-mode: normal !important;
  background-color: var(--wav-player-bg, var(--be-background, #fff)) !important;
}

web-player player-controls > main-playback-buttons,
web-player player-controls > player-seekbar,
web-player player-controls > .lyrics-button-separator,
web-player player-controls > .player-action,
web-player player-controls > repeat-button,
web-player player-controls > volume-controls,
web-player mobile-player-controls > .controls,
web-player mobile-player-controls > .nav {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
}

/* Old AI cover layers can briefly remain active while Angular commits a route.
   Keep only the real desktop player above those covers during that short window. */
@media (min-width: 768px) {
  html.ws-ai-pack-desktop-bottom-v345 web-player player-controls,
  html.ws-ai-library-desktop-bottom-v346 web-player player-controls {
    position: relative !important;
    isolation: isolate !important;
    z-index: 2147483601 !important;
  }
}
