/*!
 * Custom Video Player Features - MEJS Player Overrides
 *
 * Purpose:
 * Custom MediaElement.js (MEJS) styling for WooCommerce video product pages.
 * This file contains the CSS for our modified WordPress video player UI.
 *
 * Scope:
 * - Full-width product video layout
 * - Custom MEJS control bar positioning
 * - Current time / total time grouping
 * - Settings / subtitle / fullscreen alignment
 * - Mobile responsive control behavior
 * - Adaptive time rail sizing
 *
 * Notes:
 * - Loaded only by the Custom Video Player Features plugin
 * - Intended only for WooCommerce video product pages
 * - Source of truth for MEJS/player CSS
 * - Do not duplicate MEJS rules in WordPress Additional CSS
 *
 * Related JS:
 * - Uses plugin JS state classes such as:
 *   .cvpf-timerail-active
 *   .cvpf-timerail-dragging
 *   .rv-mejs-controls-normalized
 */

.mejs-container {
    background: #000000;
}

.single-product .summary,
.single-product .product {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0;
    padding: 0;
}

.single-product .summary .wp-video {
    margin: 0;
    padding: 0;
    width: 100vw;
    max-width: 100vw;
    position: relative;
    padding-bottom: 56.25%;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
    height: 0;
    overflow: hidden;
    padding-right: 100%;
}

.single-product .wp-video-shortcode {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    background: black;
}

@media only screen and (max-width: 768px) {
    .single-product .summary .wp-video {
        width: 100vw !important;
        max-width: 100vw !important;
        padding-bottom: 100%;
    }

    .single-product .summary .wp-video-shortcode video {
        width: 100% !important;
        height: 100% !important;
    }
}

@media only screen and (max-width: 480px) {
    .single-product .summary .wp-video {
        padding-bottom: 100%;
    }
}

/* Hide and show video elements after MEJS is ready */
.wp-video video {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

.wp-video.mejs-container video,
.wp-video .mejs-video video {
    opacity: 1;
}

/* Make video players un-selectable */
.mejs-container,
.mejs-container * {
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
}

.wp-video .mejs-time-rail .mejs-time-total,
.wp-video .mejs-time-rail .mejs-time-loaded,
.wp-video .mejs-time-rail .mejs-time-current,
.wp-video .mejs-time-rail .mejs-time-buffering,
.wp-video .mejs-time-rail .mejs-time-hovered {
    height: 4px !important;
    border-radius: 2px;
}

.wp-video .mejs-time-handle {
    width: 12px !important;
    height: 12px !important;
    background-color: #2196f3 !important;
    border-radius: 50% !important;
    display: block !important;
    top: -4px !important;
    z-index: 11 !important;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.4);
    pointer-events: auto;
}

.wp-video .mejs-time-handle-content {
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.wp-video .mejs-time-current::after {
    content: none !important;
}

@media (max-width: 768px) {
    .single-product .site-content {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .single-product .summary.entry-summary
        > *:not(.woocommerce-product-details__short-description),
    .single-product .woocommerce-tabs,
    .single-product .related.products,
    .single-product .woocommerce-notices-wrapper {
        padding-left: 30px;
        padding-right: 30px;
        box-sizing: border-box;
    }

    .single-product .woocommerce-product-details__short-description,
    .single-product .woocommerce-product-details__short-description > .wp-video,
    .single-product
        .woocommerce-product-details__short-description
        .mejs-container,
    .single-product .woocommerce-product-details__short-description .mejs-inner,
    .single-product
        .woocommerce-product-details__short-description
        .mejs-mediaelement,
    .single-product
        .woocommerce-product-details__short-description
        video.wp-video-shortcode {
        width: 100% !important;
        max-width: 100% !important;
    }

    .single-product .woocommerce-product-details__short-description > .wp-video {
        display: block;
        margin: 0 !important;
    }
}

.wp-video .mejs-container,
.wp-video .mejs-container .mejs-inner,
.wp-video .mejs-container .mejs-mediaelement {
    overflow: hidden !important;
}

.wp-video .mejs-container .mejs-controls {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: 80px !important;
    padding: 0 !important;
    overflow: visible !important;
    opacity: 1 !important;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.92) 0%,
        rgba(0, 0, 0, 0.55) 55%,
        rgba(0, 0, 0, 0) 100%
    ) !important;
}

.wp-video .mejs-controls .mejs-time-rail {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: 8px !important;
    width: auto !important;
    height: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wp-video .mejs-controls .mejs-time-rail .mejs-time-buffering {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    height: 8px !important;
    bottom: auto !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.wp-video .mejs-controls .mejs-time-rail .mejs-time-loaded,
.wp-video .mejs-controls .mejs-time-rail .mejs-time-current,
.wp-video .mejs-controls .mejs-time-rail .mejs-time-buffering {
    position: absolute !important;
    left: 0 !important;
    right: auto !important;
    height: 8px !important;
    bottom: auto !important;
    border-radius: 999px !important;
}

.wp-video .mejs-controls .mejs-time-rail .mejs-time-current {
    transform: none !important;
}

.wp-video .mejs-controls .mejs-time-rail .mejs-time-hovered {
    position: absolute !important;
    height: 8px !important;
    bottom: auto !important;
    right: auto !important;
    border-radius: 999px !important;
    pointer-events: none !important;
}

.wp-video .mejs-time-handle {
    width: 16px !important;
    height: 16px !important;
    top: -4px !important;
    margin-left: -8px !important;
    border-radius: 50% !important;
    z-index: 11 !important;
}

.wp-video .mejs-controls .mejs-playpause-button {
    position: absolute !important;
    left: 8px !important;
    bottom: 8px !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
}

.wp-video .mejs-controls .mejs-volume-button {
    position: absolute !important;
    left: 44px !important;
    bottom: 8px !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
}

.wp-video .mejs-controls .mejs-currenttime-container {
    position: absolute !important;
    left: 80px !important;
    bottom: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 24px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wp-video .mejs-controls .mejs-duration-container {
    position: absolute !important;
    left: 118px !important;
    bottom: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    height: 24px !important;
    line-height: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wp-video .mejs-currenttime-container:after {
    content: "/" !important;
    margin: 0 3px !important;
}

.wp-video .video-settings-gear {
    position: absolute !important;
    right: 80px !important;
    bottom: 8px !important;
    top: auto !important;
    left: auto !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 1003 !important;
}

.wp-video .mejs-subtitle-button,
.wp-video .video-subtitle-button {
    position: absolute !important;
    right: 44px !important;
    bottom: 8px !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    float: none !important;
    width: 28px !important;
    height: 28px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    z-index: 1003 !important;
    background: transparent !important;
}

.wp-video .mejs-controls .mejs-fullscreen-button {
    position: absolute !important;
    right: 8px !important;
    bottom: 8px !important;
    width: 28px !important;
    height: 28px !important;
    margin: 0 !important;
}

.wp-video .mejs-controls .mejs-button > button,
.wp-video .mejs-subtitle-button svg,
.wp-video .video-subtitle-button svg,
.wp-video .video-settings-gear svg {
    width: 20px !important;
    height: 20px !important;
}

.wp-video .mejs-controls .mejs-button > button {
    margin: 0 !important;
}

.wp-video .mejs-controls .mejs-horizontal-volume-slider {
    position: absolute !important;
    left: 42px !important;
    bottom: 42px !important;
    width: 72px !important;
    height: 8px !important;
    z-index: 1004 !important;
}

.wp-video .mejs-controls .mejs-horizontal-volume-total,
.wp-video .mejs-controls .mejs-horizontal-volume-current {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    height: 8px !important;
    border-radius: 999px !important;
}

.wp-video .video-settings-toggle {
    right: 75px !important;
    bottom: 70px !important;
    z-index: 1005 !important;
}

.wp-video .subtitle-language-menu {
    right: 6px !important;
    bottom: calc(76% + 8px) !important;
    transform: none !important;
    z-index: 1005 !important;
}

.wp-video .mejs-controls .mejs-time span {
    font-size: 13px !important;
}

.wp-video .mejs-controls {
    position: absolute !important;
}

.wp-video .mejs-controls .video-settings-gear,
.wp-video .mejs-controls .video-subtitle-button,
.wp-video .mejs-controls .subtitle-language-menu,
.wp-video .mejs-controls .video-settings-toggle {
    pointer-events: auto !important;
}

/* CVPF adaptive MEJS timerail */
.wp-video .mejs-container {
    --cvpf-rail-height-compact: 4px;
    --cvpf-rail-height-expanded: 8px;
    --cvpf-rail-handle-compact: 12px;
    --cvpf-rail-handle-expanded: 16px;
    --cvpf-rail-height-current: var(--cvpf-rail-height-compact);
    --cvpf-rail-handle-current: var(--cvpf-rail-handle-compact);
}

@media (max-width: 169.98px) {
    .wp-video .mejs-container {
        --cvpf-rail-height-compact: 4px;
        --cvpf-rail-height-expanded: 6px;
        --cvpf-rail-handle-compact: 10px;
        --cvpf-rail-handle-expanded: 12px;
    }
}

.wp-video .mejs-container.cvpf-timerail-active,
.wp-video .mejs-container.cvpf-timerail-dragging {
    --cvpf-rail-height-current: var(--cvpf-rail-height-expanded);
    --cvpf-rail-handle-current: var(--cvpf-rail-handle-expanded);
}

.wp-video
    .mejs-container
    .mejs-controls.rv-mejs-controls-normalized
    .mejs-time-rail,
.wp-video .mejs-container .mejs-controls .mejs-time-rail {
    height: var(--cvpf-rail-height-current) !important;
    transition: height 0.18s ease !important;
}

.wp-video
    .mejs-container
    .mejs-controls.rv-mejs-controls-normalized
    .mejs-time-rail
    .mejs-time-total,
.wp-video
    .mejs-container
    .mejs-controls.rv-mejs-controls-normalized
    .mejs-time-rail
    .mejs-time-loaded,
.wp-video
    .mejs-container
    .mejs-controls.rv-mejs-controls-normalized
    .mejs-time-rail
    .mejs-time-current,
.wp-video
    .mejs-container
    .mejs-controls.rv-mejs-controls-normalized
    .mejs-time-rail
    .mejs-time-buffering,
.wp-video
    .mejs-container
    .mejs-controls.rv-mejs-controls-normalized
    .mejs-time-rail
    .mejs-time-hovered,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-total,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-loaded,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-current,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-buffering,
.wp-video .mejs-container .mejs-controls .mejs-time-rail .mejs-time-hovered {
    height: var(--cvpf-rail-height-current) !important;
    border-radius: 999px !important;
    transition: height 0.18s ease !important;
}

.wp-video .mejs-container .mejs-time-handle {
    width: var(--cvpf-rail-handle-current) !important;
    height: var(--cvpf-rail-handle-current) !important;
    top: 50% !important;
    margin-left: 0 !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: 50% 50% !important;
    transition:
        width 0.18s ease,
        height 0.18s ease,
        top 0.18s ease,
        transform 0.18s ease !important;
}

/* ==========================================
   CVPF final scrub + handle-centering fix
   Put this at the very end
   ========================================== */

.wp-video .mejs-controls .mejs-time-rail,
.wp-video .mejs-controls .mejs-time-total,
.wp-video .mejs-controls .mejs-time-slider,
.wp-video .mejs-controls .mejs-time-handle {
    touch-action: none !important;
}

.wp-video .mejs-controls .mejs-time-total,
.wp-video .mejs-controls .mejs-time-slider {
    cursor: pointer !important;
}

.wp-video .mejs-controls .mejs-time-handle {
    top: 50% !important;
    margin-left: 0 !important;
    transform: translate(-50%, -50%) !important;
    transform-origin: 50% 50% !important;
}

.wp-video .mejs-controls .mejs-time-float {
    margin-left: 0 !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
    z-index: 1006 !important;
}

.wp-video .mejs-container.cvpf-timerail-dragging .mejs-time-float {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.wp-video .mejs-controls .mejs-time-current,
.wp-video .mejs-controls .mejs-time-hovered,
.wp-video .mejs-controls .mejs-time-handle,
.wp-video .mejs-controls .mejs-time-float {
    will-change: transform, left, width, opacity;
}

/* ==========================================
   CVPF custom rail hover preview
   - hide native MEJS hovered segment
   - use custom preview span instead
   ========================================== */

.wp-video .mejs-controls .mejs-time-rail .mejs-time-hovered {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.wp-video .mejs-controls .mejs-time-rail .cvpf-time-hover-preview {
    position: absolute !important;
    top: 0 !important;

    height: var(--cvpf-rail-height-current) !important;

    background: rgba(255,255,255,0.28) !important;
    border-radius: 999px !important;

    pointer-events: none !important;

    z-index: 9 !important;

    opacity: 0;
    width: 0;

    will-change: left, width, opacity;
}

.wp-video
    .mejs-container.cvpf-timerail-active
    .mejs-controls
    .mejs-time-rail
    .cvpf-time-hover-preview,
.wp-video
    .mejs-container.cvpf-timerail-dragging
    .mejs-controls
    .mejs-time-rail
    .cvpf-time-hover-preview {
    height: var(--cvpf-rail-height-current) !important;
}

@media (hover: hover) and (pointer: fine) {
    .wp-video .mejs-container.cvpf-desktop-rail-hover-lock .mejs-controls {
        visibility: visible !important;
        opacity: 1 !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    .wp-video .mejs-container.cvpf-desktop-rail-hover-lock .mejs-controls,
    .wp-video .mejs-container.cvpf-desktop-rail-hover-lock video,
    .wp-video .mejs-container.cvpf-timerail-active .mejs-controls,
    .wp-video .mejs-container.cvpf-timerail-active video,
    .wp-video .mejs-container.cvpf-timerail-dragging .mejs-controls,
    .wp-video .mejs-container.cvpf-timerail-dragging video {
        cursor: pointer !important;
    }

    .wp-video
        .mejs-container:not(.cvpf-timerail-preview-ready)
        .mejs-controls
        .mejs-time-rail
        .cvpf-time-hover-preview {
        opacity: 0 !important;
        width: 0 !important;
    }
}

/* ==========================================
   CVPF custom MEJS tooltips with shortcut keys
   ========================================== */

@media (hover: hover) and (pointer: fine) {
    .wp-video .mejs-controls .cvpf-has-tooltip {
        overflow: visible !important;
    }

    .wp-video .mejs-controls .cvpf-mejs-tooltip {
        position: absolute !important;
        left: 50% !important;
        bottom: calc(100% + 10px) !important;
        transform: translateX(-50%) translateY(4px) !important;

        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;

        width: max-content !important;
        max-width: 220px !important;
        min-height: 24px !important;
        padding: 5px 8px !important;

        color: #ffffff !important;
        background: rgba(20, 20, 20, 0.96) !important;
        border: 1px solid rgba(255, 255, 255, 0.16) !important;
        border-radius: 6px !important;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.45) !important;

        font-family:
            Arial,
            Helvetica,
            sans-serif !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
        white-space: nowrap !important;

        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;

        z-index: 2000 !important;

        transition:
            opacity 0.14s ease,
            visibility 0.14s ease,
            transform 0.14s ease !important;
    }

    .wp-video .mejs-controls .cvpf-mejs-tooltip::after {
        content: "" !important;
        position: absolute !important;
        left: 50% !important;
        bottom: -5px !important;
        width: 8px !important;
        height: 8px !important;
        transform: translateX(-50%) rotate(45deg) !important;
        background: rgba(20, 20, 20, 0.96) !important;
        border-right: 1px solid rgba(255, 255, 255, 0.16) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
    }

    .wp-video .mejs-controls .cvpf-mejs-tooltip-label {
        display: inline-block !important;
    }

    .wp-video .mejs-controls .cvpf-mejs-tooltip-key {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        min-width: 18px !important;
        height: 18px !important;
        padding: 0 5px !important;

        color: #ffffff !important;
        background: rgba(255, 255, 255, 0.14) !important;
        border: 1px solid rgba(255, 255, 255, 0.45) !important;
        border-radius: 4px !important;

        font-family:
            Arial,
            Helvetica,
            sans-serif !important;
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
        box-shadow:
            inset 0 -1px 0 rgba(0, 0, 0, 0.35),
            0 1px 0 rgba(255, 255, 255, 0.12) !important;
    }

    .wp-video .mejs-controls .cvpf-has-tooltip:hover > .cvpf-mejs-tooltip,
    .wp-video
        .mejs-controls
        .cvpf-has-tooltip:focus-within
        > .cvpf-mejs-tooltip {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(-50%) translateY(0) !important;
        z-index: 100;
    }

    .wp-video .mejs-controls .rv-mejs-time-group,
    .wp-video .mejs-controls .cvpf-time-group-clickable {
        cursor: pointer !important;
    }
}

/* ==========================================
   CVPF tooltip edge-clamping for leftmost/rightmost buttons
   Prevents tooltips from being clipped by .mejs-container overflow:hidden
   ========================================== */

@media (hover: hover) and (pointer: fine) {

    /* Play/Pause is the leftmost button (left: 8px).
       The tooltip is centered with translateX(-50%), which means for a ~100px
       tooltip it would extend ~42px to the left of the button center (~22px),
       putting the left edge at about -20px — clipped.
       Pin the tooltip's left edge to 0 by overriding transform and left. */
    .wp-video .mejs-controls .mejs-playpause-button .cvpf-mejs-tooltip {
        left: 0 !important;
        transform: translateX(0) translateY(4px) !important;
    }

    .wp-video .mejs-controls .mejs-playpause-button:hover > .cvpf-mejs-tooltip,
    .wp-video .mejs-controls .mejs-playpause-button:focus-within > .cvpf-mejs-tooltip {
        transform: translateX(0) translateY(0) !important;
    }

    /* Also reposition the arrow caret to match the new alignment.
       The caret uses left:50% by default (centered under the tooltip).
       With the tooltip now left-aligned to the button, the caret should
       point at the button center (~14px = half of 28px button width). */
    .wp-video .mejs-controls .mejs-playpause-button .cvpf-mejs-tooltip::after {
        left: 14px !important;
        transform: translateX(-50%) rotate(45deg) !important;
    }

    /* Fullscreen is the rightmost button (right: 8px).
       Pin the tooltip's right edge to 0 by using right:0 and removing
       the centering transform. */
    .wp-video .mejs-controls .mejs-fullscreen-button .cvpf-mejs-tooltip {
        left: auto !important;
        right: 0 !important;
        transform: translateX(0) translateY(4px) !important;
    }

    .wp-video .mejs-controls .mejs-fullscreen-button:hover > .cvpf-mejs-tooltip,
    .wp-video .mejs-controls .mejs-fullscreen-button:focus-within > .cvpf-mejs-tooltip {
        transform: translateX(0) translateY(0) !important;
    }

    /* Reposition the caret for fullscreen tooltip to align with the button center.
       Button is 28px wide, so the caret should be ~14px from the right edge. */
    .wp-video .mejs-controls .mejs-fullscreen-button .cvpf-mejs-tooltip::after {
        left: auto !important;
        right: 14px !important;
        transform: translateX(50%) rotate(45deg) !important;
    }
}

@media (hover: hover) and (pointer: fine) {
    /* When JS has clamped a tooltip to the edge, the hover state should
       only apply the vertical slide (no X centering), and the caret
       should use our dynamically-set position. */
    .wp-video .mejs-controls .cvpf-tooltip-edge-clamped:hover > .cvpf-mejs-tooltip,
    .wp-video .mejs-controls .cvpf-tooltip-edge-clamped:focus-within > .cvpf-mejs-tooltip {
        transform: translateY(0) !important;
    }

    .wp-video .mejs-controls .cvpf-tooltip-edge-clamped .cvpf-mejs-tooltip::after {
        left: var(--cvpf-caret-left, 50%) !important;
        transform: translateX(-50%) rotate(45deg) !important;
    }
}

/* ==========================================
   CVPF Problem #2 fix: suppress tooltip after click
   ========================================== */
@media (hover: hover) and (pointer: fine) {
    .wp-video .mejs-controls .cvpf-has-tooltip.cvpf-tooltip-suppress > .cvpf-mejs-tooltip,
    .wp-video .mejs-controls .cvpf-has-tooltip.cvpf-tooltip-suppress:hover > .cvpf-mejs-tooltip,
    .wp-video .mejs-controls .cvpf-has-tooltip.cvpf-tooltip-suppress:focus-within > .cvpf-mejs-tooltip {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* ==========================================
   CVPF Problem #3 fix: hide secondary tooltip
   when it loses the volume mutual-exclusion race
   ========================================== */
@media (hover: hover) and (pointer: fine) {
    .wp-video .mejs-controls .cvpf-has-tooltip.cvpf-tooltip-secondary > .cvpf-mejs-tooltip,
    .wp-video .mejs-controls .cvpf-has-tooltip.cvpf-tooltip-secondary:hover > .cvpf-mejs-tooltip,
    .wp-video .mejs-controls .cvpf-has-tooltip.cvpf-tooltip-secondary:focus-within > .cvpf-mejs-tooltip {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

/* ==========================================
   CVPF desktop subtitle hover-release fix
   After a pointer click, the subtitle button
   should only look hovered while actually hovered
   ========================================== */
@media (hover: hover) and (pointer: fine) {
    .wp-video
        .mejs-controls
        .video-subtitle-button.cvpf-subtitle-pointer-active:not(:hover),
    .wp-video
        .mejs-controls
        .mejs-subtitle-button.cvpf-subtitle-pointer-active:not(:hover) {
        background: transparent !important;
    }

    .wp-video
        .mejs-controls
        .video-subtitle-button.cvpf-subtitle-pointer-active:not(:hover)
        > button,
    .wp-video
        .mejs-controls
        .mejs-subtitle-button.cvpf-subtitle-pointer-active:not(:hover)
        > button {
        background: transparent !important;
        box-shadow: none !important;
    }
}