/*
 * RatedTunes Frontend v2 / Layout 2 final player overrides.
 *
 * Goals:
 * - disable temporary fake waveform canvas
 * - restore native WaveSurfer waveform visibility
 * - keep controls clickable
 * - keep old orb/playhead visible but non-blocking
 */

/* Remove temporary fake waveform renderer from visual layer. */
#rt-visible-waveform-canvas {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Waveform must not block player buttons. */
#waveform,
#waveform *,
.audioplayer_waveform,
.audioplayer_waveform *,
.audioplayer_waveform_inner,
.audioplayer_waveform_inner * {
    pointer-events: none !important;
}

/* Native WaveSurfer canvas must remain visible. */
.audioplayer #waveform,
.audioplayer #waveform wave,
.audioplayer #waveform wave canvas,
.audioplayer #waveform canvas:not(#rt-visible-waveform-canvas) {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
}

/* Old Layout 2 orb/playhead: visible, but never clickable. */
#rt-wave-playhead,
#rt-wave-playhead-orb {
    pointer-events: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}

#rt-wave-playhead {
    z-index: 9000 !important;
}

#rt-wave-playhead-orb {
    z-index: 9001 !important;
}

/* Player controls must be above waveform/orb layers and clickable. */
.audioplayer_controls,
.audioplayer_away,
.audioplayer_meta {
    position: relative !important;
    z-index: 20000 !important;
    pointer-events: auto !important;
}

.audioplayer_controls *,
.audioplayer_away *,
.audioplayer_meta * {
    pointer-events: auto !important;
}

/* FontAwesome SVG/path can sit on top of buttons; let button receive click. */
.audioplayer_controls svg,
.audioplayer_controls path,
.audioplayer_away svg,
.audioplayer_away path {
    pointer-events: none !important;
}

/* Main buttons. */
.audioplayer_controls button,
.audioplayer_controls .player-button,
.audioplayer_away button,
.audioplayer_away .player-button {
    position: relative !important;
    z-index: 21000 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/*
 * Direct player bridge click safety.
 */
.audioplayer_controls_play--play {
    pointer-events: auto !important;
    cursor: pointer !important;
    position: relative !important;
    z-index: 25000 !important;
}

.audioplayer_controls_play--play svg,
.audioplayer_controls_play--play path {
    pointer-events: none !important;
}

/*
 * Direct bridge Play/Pause icon.
 */
.audioplayer_controls_play--play .rt-direct-play-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    pointer-events: none !important;
}

.audioplayer_controls_play--play.rt-direct-playing .rt-direct-play-icon {
    font-size: 17px !important;
    letter-spacing: -2px !important;
}

/*
 * Direct bridge Play/Pause icon.
 */
.audioplayer_controls_play--play .rt-direct-play-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 100% !important;
    font-size: 18px !important;
    line-height: 1 !important;
    color: #ffffff !important;
    pointer-events: none !important;
}

.audioplayer_controls_play--play.rt-direct-playing .rt-direct-play-icon {
    font-size: 17px !important;
    letter-spacing: -2px !important;
}

/*
 * FORCE native WaveSurfer waveform visible.
 *
 * Current state:
 * - #waveform wave exists
 * - native canvases exist
 * - fake canvas is removed
 *
 * Therefore the issue is visual CSS only.
 */
.audioplayer_waveform {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    z-index: 100 !important;
    /* transform: translateY(-1px) !important; */
}

.audioplayer_waveform_inner,
.audioplayer_waveform_inner#waveform,
#waveform {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 70px !important;
    min-height: 70px !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    z-index: 101 !important;

    /* temporary visible backing so we can see the waveform area */
    /* background: rgba(0, 180, 255, 0.08) !important; */
}

#waveform wave {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
    z-index: 102 !important;
}

#waveform wave canvas,
#waveform canvas:not(#rt-visible-waveform-canvas) {
    display: block !important;
    position: absolute !important;
    left: 18 !important;
    top: 0 !important;
    width: 50% !important;
    height: 72px !important;
    min-height: 72px !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 103 !important;
    mix-blend-mode: normal !important;
    filter: brightness(1.8) contrast(1.45) saturate(1.25) !important;
}

/* fake waveform must stay off */
#rt-visible-waveform-canvas {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* playhead/orb above native waveform */
#rt-wave-playhead {
    z-index: 9000 !important;
}

#rt-wave-playhead-orb {
    z-index: 9001 !important;
}

/*
 * FORCE native WaveSurfer waveform visible.
 *
 * Current state:
 * - #waveform wave exists
 * - native canvases exist
 * - fake canvas is removed
 *
 * Therefore the issue is visual CSS only.
 */
.audioplayer_waveform {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    z-index: 100 !important;
}

.audioplayer_waveform_inner,
.audioplayer_waveform_inner#waveform,
#waveform {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    z-index: 101 !important;

    /* temporary visible backing so we can see the waveform area */
    /* background: rgba(0, 180, 255, 0.08) !important; */
}

#waveform wave {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
    z-index: 102 !important;
}

#waveform wave canvas,
#waveform canvas:not(#rt-visible-waveform-canvas) {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 103 !important;
    mix-blend-mode: normal !important;
    filter: brightness(1.8) contrast(1.45) saturate(1.25) !important;
}

/* fake waveform must stay off */
#rt-visible-waveform-canvas {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* playhead/orb above native waveform */
#rt-wave-playhead {
    z-index: 9000 !important;
}

#rt-wave-playhead-orb {
    z-index: 9001 !important;
}

/*
 * Final native waveform visibility.
 */
.audioplayer_waveform,
.audioplayer_waveform_inner,
.audioplayer_waveform_inner#waveform,
#waveform,
#waveform wave {
    height: 72px !important;
    min-height: 72px !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: hidden !important;
}

/* Remove temporary blue debug background if it was added earlier. */
#waveform {
    background: transparent !important;
}

/* Native WaveSurfer canvases above player background. */
#waveform canvas:not(#rt-visible-waveform-canvas) {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 103 !important;
    filter: brightness(2.2) contrast(1.7) saturate(1.6) !important;
}

/*
 * Restore old Layout 2 continuous waveform type.
 * No bar waveform.
 */
.audioplayer_waveform,
.audioplayer_waveform_inner,
.audioplayer_waveform_inner#waveform,
#waveform,
#waveform wave {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
}

/* Native WaveSurfer continuous canvas. */
#waveform canvas:not(#rt-visible-waveform-canvas) {
    height: 50px !important;
    min-height: 50px !important;
    max-height: 50px !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: brightness(1.45) contrast(1.25) saturate(1.15) !important;
}

/* Fake waveform remains disabled. */
#rt-visible-waveform-canvas {
    display: none !important;
}

/* RatedTunes: remove duplicate Layout 2 big-orb tracker.
   Keep real WaveSurfer waveform/progress.
   Removed/unused: decorative second tracker with large glowing orb. */

/* Hide extra visual tracker overlays inside waveform area. */
.audioplayer_waveform_inner .rt-waveform-tracker,
.audioplayer_waveform_inner .rt-player-tracker,
.audioplayer_waveform_inner .rt-playhead,
.audioplayer_waveform_inner .rt-playhead-line,
.audioplayer_waveform_inner .rt-progress-tracker,
.audioplayer_waveform_inner .rt-waveform-orb,
.audioplayer_waveform_inner .rt-player-orb,
.audioplayer_waveform_inner .rt-tracker-orb,
.audioplayer_waveform_inner .rt-playhead-orb,
#waveform .rt-waveform-tracker,
#waveform .rt-player-tracker,
#waveform .rt-playhead,
#waveform .rt-playhead-line,
#waveform .rt-progress-tracker,
#waveform .rt-waveform-orb,
#waveform .rt-player-orb,
#waveform .rt-tracker-orb,
#waveform .rt-playhead-orb {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Kill large orb drawn through pseudo-elements. */
.audioplayer_waveform_inner .rt-waveform-tracker::before,
.audioplayer_waveform_inner .rt-waveform-tracker::after,
.audioplayer_waveform_inner .rt-player-tracker::before,
.audioplayer_waveform_inner .rt-player-tracker::after,
.audioplayer_waveform_inner .rt-playhead::before,
.audioplayer_waveform_inner .rt-playhead::after,
.audioplayer_waveform_inner .rt-progress-tracker::before,
.audioplayer_waveform_inner .rt-progress-tracker::after,
#waveform .rt-waveform-tracker::before,
#waveform .rt-waveform-tracker::after,
#waveform .rt-player-tracker::before,
#waveform .rt-player-tracker::after,
#waveform .rt-playhead::before,
#waveform .rt-playhead::after,
#waveform .rt-progress-tracker::before,
#waveform .rt-progress-tracker::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    box-shadow: none !important;
}

/* Native WaveSurfer cursor must stay disabled. */
#waveform cursor,
#waveform wave > cursor,
#waveform .wavesurfer-cursor,
.audioplayer_waveform_inner cursor,
.audioplayer_waveform_inner wave > cursor,
.audioplayer_waveform_inner .wavesurfer-cursor {
    display: none !important;
    opacity: 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    box-shadow: none !important;
}

/* If the big orb is attached to direct waveform children as ::before/::after,
   remove only pseudo decorations, not the real canvas/wave content. */
.audioplayer_waveform_inner > div::before,
.audioplayer_waveform_inner > div::after,
#waveform > div::before,
#waveform > div::after {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    box-shadow: none !important;
}

/* RatedTunes: remove duplicate Layout 2 tracker with big orb.
   Keep real WaveSurfer WAVE/CANVAS elements.
   Removed/unused: #rt-wave-playhead and #rt-wave-playhead-orb. */
#rt-wave-playhead,
#rt-wave-playhead-orb {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    box-shadow: none !important;
}
