/* BJC Smart Studio — independent Frame Rich Text component.
 * The normal Frame viewport remains the geometry owner. Rich Text is only a
 * nested content layer and must never participate in Frame sizing or page flow.
 */
.bjc-studio-frame-design .bjc-frame-baseline-media.bjc-frame-rich-text-viewport {
    position:relative;
}

/* Rich Text uses the same physical media path as every other Frame.
 * When no background image is supplied, the renderer provides a transparent
 * 16:9 media sizing image. It participates in normal flow and establishes the
 * Frame footprint; the Rich Text layer remains an overlay and cannot size the
 * outside Frame. Shape/aspect controls remain owned by the normal Frame files. */
.bjc-studio-section.bjc-studio-frame-design .bjc-frame-rich-text-viewport > .bjc-frame-rich-text-media-sizer {
    display:block;
    opacity:0;
    pointer-events:none;
    user-select:none;
}

/* The optional Rich Text background is genuine Frame media, not a CSS
 * background. It therefore follows the existing Frame image sizing, shape,
 * aspect-ratio, Cover/Contain and focus contract. */
.bjc-studio-section.bjc-studio-frame-design .bjc-frame-rich-text-viewport > .bjc-frame-rich-text-background-media {
    display:block;
}

.bjc-studio-frame-design .bjc-frame-rich-text-layer {
    position:absolute;
    inset:0;
    z-index:1;
    display:flex;
    align-items:var(--bjc-frame-rich-text-vpos,center);
    justify-content:center;
    padding:
        var(--bjc-frame-rich-text-inset-top,0px)
        var(--bjc-frame-rich-text-inset-right,0px)
        var(--bjc-frame-rich-text-inset-bottom,0px)
        var(--bjc-frame-rich-text-inset-left,0px);
    box-sizing:border-box;
    line-height:normal;
    pointer-events:auto;
}

.bjc-studio-section.bjc-studio-frame-design .bjc-frame-rich-text-layer > .bjc-studio-frame-rich-text {
    display:block;
    width:min(var(--bjc-frame-rich-text-width,100%),100%);
    max-width:100%;
    min-width:0;
    margin:0;
    padding:
        var(--bjc-frame-rich-text-padding-top,12px)
        var(--bjc-frame-rich-text-padding-right,12px)
        var(--bjc-frame-rich-text-padding-bottom,12px)
        var(--bjc-frame-rich-text-padding-left,12px);
    box-sizing:border-box;
    line-height:normal;
    white-space:normal;
    overflow:visible;
    overflow-wrap:anywhere;
    transform:scale(var(--bjc-frame-rich-text-scale,1));
    transform-origin:center center;
}

.elementor-editor-active .bjc-studio-frame-design .bjc-studio-frame-rich-text:empty::before {
    content:'Add rich text';
    opacity:.45;
    font-style:italic;
}
.bjc-studio-frame-design .bjc-studio-frame-rich-text > :first-child {margin-top:0;}
.bjc-studio-frame-design .bjc-studio-frame-rich-text > :last-child {margin-bottom:0;}
