/* Subtitle Position Fix - Force subtitles to bottom */
.plyr__captions {
    position: absolute !important;
    bottom: 0 !important;
    top: auto !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    padding: 20px !important;
    text-align: center !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: #fff !important;
    background: transparent !important;
    pointer-events: none !important;
    z-index: 3 !important;
    transform: translateY(-60px) !important;
    transition: transform 0.3s ease !important;
}

@media (min-width: 768px) {
    .plyr__captions {
        font-size: 24px !important;
    }
}

.plyr__captions span {
    padding: 3px 10px !important;
    line-height: 150% !important;
    background: rgba(0, 0, 0, 0.7) !important;
    border-radius: 2px !important;
    box-decoration-break: clone !important;
    display: inline-block !important;
    margin: 2px !important;
}

.plyr__captions span:empty {
    display: none !important;
}

.plyr--captions-active .plyr__captions {
    display: block !important;
}

.plyr--fullscreen-active .plyr__captions {
    font-size: 32px !important;
    transform: translateY(-40px) !important;
}

.plyr--hide-controls .plyr__captions {
    transform: translateY(-20px) !important;
}

/* Additional video player subtitle fixes */
video::cue {
    bottom: 0;
    text-align: center;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 18px;
    line-height: 1.4;
}

/* WebVTT subtitle positioning */
::cue {
    bottom: 0;
    color: white;
    background: rgba(0, 0, 0, 0.7);
    font-size: 18px;
    text-align: center;
    line-height: 1.4;
}

/* Override any top positioning */
.plyr__captions {
    top: auto !important;
}

/* Force subtitle container to bottom */
.plyr [data-plyr="captions"] {
    bottom: 0 !important;
    top: auto !important;
}