/* Shared by article rendering and the settings preview. All rules are scoped. */
.nv-image-frame {
    display: inline-flex;
    position: relative;
    box-sizing: border-box;
    justify-content: center;
    align-items: center;
    vertical-align: middle;
    max-width: 100%;
    min-width: 0;
    padding: min(var(--nv-frame-py, 10px), 8vw) min(var(--nv-frame-px, 10px), 8vw);
    border-radius: var(--nv-frame-radius, 16px);
    background: var(--nv-frame-bg, #e8edf2) center / cover no-repeat;
    isolation: isolate;
}
.nv-image-frame > a,
.nv-image-frame > picture,
.nv-image-frame > a > picture { display: block; min-width: 0; max-width: 100%; line-height: 0; }
.nv-image-frame img,
.nirvana-article-content .nirvana-framed-content .nv-image-frame img {
    display: block !important;
    box-sizing: border-box;
    float: none !important;
    max-width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    border: 0 !important;
    border-radius: var(--nv-frame-radius, 16px) !important;
    box-shadow: 0 12px 32px rgb(0 0 0 / var(--nv-frame-shadow, .25)) !important;
    object-fit: contain;
}
.nv-image-frame--fixed { width: 100%; aspect-ratio: var(--nv-frame-ratio); }
.nv-image-frame--fixed > a,
.nv-image-frame--fixed > picture,
.nv-image-frame--fixed > a > picture { display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; }
.nv-image-frame--fixed img,
.nirvana-enhanced-images .nirvana-article-content .nv-image-frame--fixed img { width: auto !important; height: auto !important; min-height: 0; max-height: 100%; }
.nv-image-frame.alignleft { float: left; margin: 0 1.5em 1em 0; }
.nv-image-frame.alignright { float: right; margin: 0 0 1em 1.5em; }
.nv-image-frame.aligncenter { display: flex; width: fit-content; margin: 0 auto; }
.nv-image-frame--fixed.aligncenter { width: 100%; }
.nirvana-framed-content { display: flow-root; }
/* Old image-only inline styles and block presets belong inside the frame. */
.nirvana-framed-content .nv-image-frame img { vertical-align: middle; }
