/*
 * Frontend video layout — loaded LAST to override page-builder / rte-content conflicts.
 * Native <video controls> only; seek must not be blocked by overflow or positioning.
 */

/* overflow-x: clip on .post-content breaks seek hit-testing in Chromium */
.post-content,
.pb-rich-text__body,
.rte-content {
    overflow-x: visible;
}

.post-content .pb-video,
.pb-rich-text__body .pb-video,
.rte-content .pb-video,
.post-content .pb-video__inner,
.post-content .pb-video__media,
.post-content .pb-video__wrap,
.post-content .pb-video__wrap--file,
.pb-rich-text__body .pb-video__wrap,
.pb-rich-text__body .pb-video__wrap--file,
.rte-content .pb-video__wrap,
.rte-content .pb-video__wrap--file,
.single-post__cover,
.single-post__cover-inner,
.single-post__cover-player {
    overflow: visible;
    max-width: 100%;
}

.single-post__cover.single-post__cover--playing,
.single-post__cover:has(.single-post__cover-player:not([hidden])) {
    overflow: visible;
}

.post-content .pb-video__wrap,
.post-content .pb-video__wrap--file,
.pb-rich-text__body .pb-video__wrap,
.pb-rich-text__body .pb-video__wrap--file,
.rte-content .pb-video__wrap,
.rte-content .pb-video__wrap--file,
.single-post__cover-player {
    position: relative;
    height: auto;
    padding-bottom: 0;
    aspect-ratio: auto;
    background: transparent;
}

.post-content video,
.pb-rich-text__body video,
.rte-content video,
.single-post__cover-player > video {
    position: static;
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0;
    border: 0;
    border-radius: var(--radius-md, 8px);
    background: #000;
    object-fit: contain;
    pointer-events: auto;
    user-select: auto;
    -webkit-user-select: auto;
    touch-action: auto;
}

.post-content .pb-video,
.pb-rich-text__body .pb-video,
.rte-content .pb-video {
    user-select: auto;
    -webkit-user-select: auto;
}

.single-post__cover-player:has(iframe) {
    aspect-ratio: 16 / 9;
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-md, 8px);
}

.single-post__cover-player iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
