/* SavvyGreat video modal sizing fix.
   The YouTube IFrame API replaces its mount element with an iframe. Keep every
   generated layer pinned to the existing 16:9 preview surface so the player
   cannot collapse to its intrinsic/default iframe height. */
.sgbv-frame-wrap {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #000;
}

.sgbv-frame-wrap > iframe,
.sgbv-frame-wrap > .sgbv-youtube-player,
.sgbv-frame-wrap .sgbv-youtube-player,
.sgbv-frame-wrap .sgbv-youtube-player > div,
.sgbv-frame-wrap .sgbv-youtube-player iframe {
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    border: 0 !important;
}

.sgbv-frame-wrap > iframe,
.sgbv-frame-wrap > .sgbv-youtube-player,
.sgbv-frame-wrap .sgbv-youtube-player {
    position: absolute !important;
    inset: 0 !important;
    display: block;
}

.sgbv-frame-wrap .sgbv-youtube-player > div,
.sgbv-frame-wrap .sgbv-youtube-player iframe {
    display: block !important;
}

/* Status stays centered over the same 16:9 surface while the hidden YouTube
   player is being verified. */
.sgbv-frame-wrap > [data-sgbv-preview-status] {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: grid;
    align-content: center;
    justify-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
}

.sgbv-dialog {
    width: min(92vw, 1100px);
    max-width: 1100px;
    max-height: calc(100dvh - 24px);
}

@media (max-width: 760px) {
    .sgbv-dialog {
        width: 100vw;
        max-width: none;
        max-height: 100dvh;
    }
}
