/* ─────────────────────────────────────────────
   Video Modal Block
   ───────────────────────────────────────────── */

/* ── Trigger button ──────────────────────────────────────────────────────── */

.video-modal-block {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

.video-modal-trigger {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.video-modal-trigger:hover {
    transform: scale(1.08);
    opacity: 0.9;
}

.video-modal-trigger:focus-visible {
    outline: 3px solid rgba(255, 255, 255, 0.8);
    outline-offset: 4px;
    border-radius: 50%;
}

.video-modal-icon-img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* ── Overlay — hidden by default ────────────────────────────────────────── */

.video-modal-overlay[data-open="false"] {
    display: none;
}

.video-modal-overlay[data-open="true"] {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ── Backdrop ────────────────────────────────────────────────────────────── */

.video-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    cursor: pointer;
}

/* ── Dialog — 16:9 responsive ───────────────────────────────────────────── */

.video-modal-dialog {
    position: relative;
    width: 90vw;
    max-width: 1200px;
    aspect-ratio: 16 / 9;
    z-index: 1;
}

/* ── Player container fills dialog ─────────────────────────────────────── */

.video-modal-player-container {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.video-modal-player-container iframe,
.video-modal-player-container video {
    width: 100%;
    height: 100%;
    display: block;
    border: none;
}

/* ── Close button ────────────────────────────────────────────────────────── */

.video-modal-close {
    position: absolute;
    top: -44px;
    right: 0;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    padding: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
    transition: opacity 0.2s ease;
    z-index: 2;
}

.video-modal-close:hover {
    opacity: 1;
}

.video-modal-close:focus-visible {
    outline: 2px solid rgba(255, 255, 255, 0.8);
    outline-offset: 2px;
    border-radius: 4px;
}

/* ── Editor placeholder ──────────────────────────────────────────────────── */

.video-modal-placeholder {
    min-height: 120px;
}
