/* Fluid Embed — layout + floating mini-player */

.fpe-root {
    --fpe-aspect-w: 16;
    --fpe-aspect-h: 9;
    --fpe-max-width: 960px;
    width: 100%;
    max-width: var(--fpe-max-width);
}

.fpe-floating-wrap {
    position: relative;
    width: 100%;
}

.fpe-stage {
    position: relative;
    width: 100%;
}

.fpe-frame {
    position: relative;
    width: 100%;
    aspect-ratio: var(--fpe-aspect-w) / var(--fpe-aspect-h);
    background: #000;
    overflow: hidden;
}

.fpe-mount {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background: #000;
    overflow: hidden;
}

.fpe-mount > *,
.fpe-mount .fluid_video_wrapper,
.fpe-mount video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
}

.fpe-mount video {
    object-fit: contain;
    background: #000;
}

.fpe-stage.is-floating {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: min(420px, calc(100vw - 32px));
    z-index: 1000;
    margin: 0;
    box-shadow: 0 25px 80px rgba(2, 6, 23, 0.6);
}

.fpe-stage.is-floating .fpe-frame {
    width: 100%;
}

.fpe-frame:fullscreen,
.fpe-frame:-webkit-full-screen,
.fpe-mount:fullscreen,
.fpe-mount:-webkit-full-screen,
:fullscreen .fpe-frame,
:fullscreen .fpe-mount {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    aspect-ratio: auto;
}

/* Audio + subtitle track menus (float:right like Fluid buttons) */
.fluid_video_wrapper.fluid_player_layout_default .fluid_controls_container .fluid_controls_right .fpe-track-btn,
.fpe-track-btn {
    position: relative;
    float: right;
    display: block;
    width: 24px;
    height: 24px;
    padding-right: 5px;
    margin: 0;
    cursor: pointer;
    box-sizing: content-box;
}

.fpe-track-btn.is-hidden {
    display: none !important;
}

.fpe-track-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
    opacity: 0.8;
    line-height: 1;
    position: relative;
    top: -1px;
}

.fpe-track-trigger:hover,
.fpe-track-btn.is-open .fpe-track-trigger {
    opacity: 1;
}

.fpe-track-icon {
    width: 18px;
    height: 18px;
    display: block;
    margin: 0;
    flex-shrink: 0;
}

.fpe-track-menu {
    display: none !important;
    position: absolute;
    right: 0;
    bottom: calc(100% + 8px);
    min-width: 160px;
    max-height: 220px;
    overflow: auto;
    padding: 6px 0;
    margin: 0;
    border-radius: 4px;
    background: rgba(15, 23, 42, 0.96);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
    z-index: 40;
}

.fpe-track-btn.is-open .fpe-track-menu {
    display: block !important;
}

.fpe-track-option {
    display: block;
    width: 100%;
    padding: 8px 14px;
    border: 0;
    background: transparent;
    color: #e2e8f0;
    font: 13px/1.3 system-ui, sans-serif;
    text-align: left;
    cursor: pointer;
    white-space: nowrap;
}

.fpe-track-option:hover {
    background: rgba(148, 163, 184, 0.18);
}

.fpe-track-option.is-active {
    color: #38bdf8;
}

.fpe-track-option.is-active::before {
    content: '✓ ';
}

/* Keep Fluid quality/speed dropdowns from stacking on top of each other. */
.fpe-mount .fluid_video_sources_list,
.fpe-mount .fluid_video_source_list,
.fpe-mount .fluid_video_playback_rates,
.fpe-mount .fluid_subtitles_list {
    z-index: 50;
}

.fpe-mount .fluid_control_playback_rate .fluid_video_playback_rates {
    right: 0;
}

.fpe-mount .fluid_control_video_source .fluid_video_sources_list,
.fpe-mount .fluid_control_video_source .fluid_video_source_list,
.fpe-mount .fluid_button_video_source .fluid_video_sources_list {
    right: 0;
}

.fpe-mount video::cue,
.fluid_video_wrapper video::cue {
    color: #fff;
    background: rgba(0, 0, 0, 0.65);
}

/* Custom center play button (Weltwoche play_circle) */
.fpe-mount .fluid_initial_play,
.fluid_video_wrapper .fluid_initial_play {
    width: 72px !important;
    height: 72px !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image: url('play_circle.png') !important;
    background-position: center !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    box-shadow: none !important;
}

.fpe-mount .fluid_initial_play_button,
.fluid_video_wrapper .fluid_initial_play_button {
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
    background: transparent !important;
}

/* Hide CSS triangle used by default Fluid play glyph */
.fpe-mount .fluid_initial_play_button:not(.fluid_initial_pause_button),
.fluid_video_wrapper .fluid_initial_play_button:not(.fluid_initial_pause_button) {
    border-style: none !important;
    border-width: 0 !important;
    border-color: transparent !important;
}

/* Fluid's playPauseAnimation adds transform-active (opacity 0 + flash) on pause */
.fpe-mount .fluid_initial_play.transform-active,
.fluid_video_wrapper .fluid_initial_play.transform-active {
    animation: none !important;
    opacity: 1 !important;
}



/* Keep play icon when Fluid swaps to pause bars during animation */
.fpe-mount .fluid_initial_pause_button,
.fluid_video_wrapper .fluid_initial_pause_button {
    border: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}

/* Hotfixes Schriften im Player */

.fluid_video_playback_rates_item {
    color: white;
}

.fluid_fluid_control_duration {
    color: white;
}

.fluid_video_source_list_item {
    color: white;
}

.source_button_icon .source_selected {
    color: white;
}