.cms-admin.app-djangocms_text.model-text .form-row.field-body > div > div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

.popup.cms-admin.app-djangocms_text.model-text #content {
    padding: 0;
    margin: 0;
    .form-row {
        padding: 0;
    };
    label {
        display: none;
    }
}

#cms-top .cms-toolbar .cms-edit-toggle span.cms-icon {
    line-height: 28px;
}

#cms-top dialog.cms-dialog {
    padding: 0;
    margin: 0;  /* Resets some values from django CMS core */
    top: 50%;
    inset-inline-start: 50%;
    inset-inline-end: unset;
    /* Anchor by inline-start only (no physical `left`) so the dialog is
       positioned by `left` in LTR and `right` in RTL without being
       over-constrained. The translate is mirrored for RTL via
       --cms-dialog-tx; the 21px nudges it slightly below centre. */
    --cms-dialog-tx: -50%;
    transform: translate(var(--cms-dialog-tx), calc(-50% + 21px));
    width: 32rem;
    height: 24rem;
    min-height: 16rem;
    min-width: 16rem;
    .cms-modal-body iframe {
        width: 100%;
        height: 100%;
        border: none;
    }
    .cms-modal-resize {
        position: absolute;
        inset-inline-end: 0;
        bottom: 0;
        width: 24px;
        height: 24px;
        cursor: nwse-resize;
        opacity: 0.5;
        clip-path: polygon(100% 0, 100% 100%, 0 100%);
        background: linear-gradient(
            135deg,
            transparent 0,
            transparent 20%,
            currentColor 20%,
            currentColor 28%,
            transparent 28%,
            transparent 36%,
            currentColor 36%,
            currentColor 44%,
            transparent 44%,
            transparent 52%,
            currentColor 52%,
            currentColor 60%,
            transparent 60%,
            transparent 68%,
            currentColor 68%,
            currentColor 76%,
            transparent 76%
        );
    }
    .cms-modal-resize:hover {
        opacity: 1;
    }
    /* RTL: mirror the resize handle and flip the centering translate.
       Nested under the `#cms-top dialog.cms-dialog` selector so it
       outranks the base rule (the previous standalone `[dir="rtl"]`
       selector had lower specificity than `#cms-top …` and never
       applied). */
    &:dir(rtl) {
        /* `inset-inline-start: 50%` resolves to `right: 50%` in RTL, so it
           pins the dialog's *right* edge to the centre line instead of the
           left edge. `transform` is physical (does not mirror), so the
           centering term flips sign: +50% pushes the box back to centre.
           The base rule's `+250px` is a physical nudge needed only for the
           left-anchored (LTR) case; right-anchored RTL needs no offset
           (verified empirically — see PR discussion). */
        --cms-dialog-tx: 50%;
        .cms-modal-resize {
            cursor: nesw-resize;
            transform: scaleX(-1);  /* flip handle to the bottom-start corner */
        }
    }
}

dialog.cms-form-dialog, .cms-editor-inline-wrapper .cms-block-dropdown {
    &::before {
        position: absolute;
        background: var(--dca-white, var(--body-bg, #fff));
        border: 1px solid var(--dca-gray-light, var(--close-button-bg, #888));
        box-shadow: 0 0 10px rgba(var(--dca-shadow, var(--body-fg, #000)), .25);
        height: 10px;
        width: 10px;
        left: 24px;
        top: 8px;
        transform: rotate(-135deg);
        transform-origin: 0 0;
        content: "";
    }

    &.right::before {
        right: 24px;
        left: auto;
    }

    &::after {
        position: absolute;
        background: var(--dca-white, var(--body-bg, #fff));
        height: 10px;
        left: 10px;
        top: 0;
        width: 40px;
        content: "";
    }

    &.right::after {
        right: 10px;
        left: auto;
    }
}
dialog.cms-form-dialog {
    .dropback {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        cursor: unset;  /* browser default */
    }
    font-family: var(--font-family-primary, Helvetica, Arial, sans-serif);
    z-index: 1001;
    position: absolute;
    margin: unset;
    left: auto;
    transform: translate(-50%, -50%);
    min-width: 240px;
    padding: 10px 15px;
    background-color: var(--dca-white, var(--body-bg, #fff));
    border: 1px solid var(--dca-gray-light, var(--close-button-bg, #888));
    border-radius: 5px;
    box-shadow: 0 0 10px rgba(var(--dca-shadow, var(--body-fg, #000)), .25);
    form {
        display: flex;
        flex-flow: row;
        justify-content: space-between;
        align-content: baseline;
        align-items: center;
    }
    .cancel {
        display: inline-flex;
        color: #f00;
        margin-left: 0.5em;
        margin-right: 0.5em;
        cursor: pointer;
    }
    .submit {
        display: inline-flex;
        color: #693;
        cursor: pointer;
    }
}


form.cms-form {
    display: flex;
    flex-flow: row;
    justify-content: space-between;
    align-content: baseline;
    align-items: center;
    text-align: start;
    zoom: 1;
    input, select {
        min-width: 200px;
        width: 100%;
        margin-bottom: 3px;
        font-size: 0.8rem;
        min-height: 1rem;
        line-height: unset;
        height: unset;
        padding: 3px 6px !important;
    }
    select {  /* !important for djangocms-admin-style */
        background: var(--dca-white, var(--body-bg, #fff)) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="16" fill="%23808080" viewBox="0 0 16 16"><path d="M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z"/></svg>') no-repeat right center  !important;
        background-size: auto 1em  !important;
        appearance: none;
    }
    label, summary {
        font-size: 0.7rem;
        padding-bottom: 4px;
    }
    hr {
        margin: 0.3em -1em;
    }
    .cms-form-buttons {
        display: inline-flex;
        margin-inline-start: 1em;
        .cancel {
            color: #f00;
            cursor: pointer;
            zoom: 1.2;
        }
        .submit {
            margin-left: 0.5em;
            margin-right: 0.5em;
            color: #693;
            cursor: pointer;
            zoom: 1.2;
        }
    }
}

cms-plugin.cms-editor-inline-wrapper:focus {
    outline: 3px solid AccentColor;
    outline-offset: 2px;
}
