@media print {
    form.xm-form.xm-print {
        --pdf-group-bottom-gap: 4px;
    }

    form.xm-form.xm-print
    .CXFieldSet
    .XFieldSetWrapper {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /*
     * Abstand nur zwischen FORMCYCLE-Formularelementen setzen,
     * nicht bei sämtlichen untergeordneten HTML-Elementen.
     */
    form.xm-form.xm-print .xm-item-div {
        margin-bottom: 2px !important;
    }

    form.xm-form.xm-print
    .CXFieldSet
    .XFieldSet,

    form.xm-form.xm-print
    .CXContainer
    .XContainer {
        padding-bottom: var(--pdf-group-bottom-gap) !important;
        box-sizing: border-box !important;
    }

    /* Letztes sichtbares Formularelement im Fieldset. */
    form.xm-form.xm-print
    .CXFieldSet
    .XFieldSetWrapper
    > .xm-item-div:not(.pdf-smart-hide--empty):not(
        :has(~ .xm-item-div:not(.pdf-smart-hide--empty))
    ),

    /* Letztes sichtbares Formularelement im Container. */
    form.xm-form.xm-print
    .CXContainer
    .XContainer
    > .xm-item-div:not(.pdf-smart-hide--empty):not(
        :has(~ .xm-item-div:not(.pdf-smart-hide--empty))
    ) {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

/* Wiederholbare FORMCYCLE-Felder im PDF-Print. */
form.xm-form.xm-print
[data-xm-dynamic] > .dynamic-row {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
}

/* Kontrollierter Abstand zwischen zwei Wiederholungen. */
form.xm-form.xm-print
[data-xm-dynamic] > .dynamic-row
+ .dynamic-row {
    margin-top: 2px !important;
}

/* FORMCYCLE-Löschcontainer vollständig ausblenden. */
form.xm-form.xm-print
[data-xm-dynamic] > .dynamic-row
> .xm-del-button-container {
    display: none !important;
}

/* Upload-Wrapper kompakter darstellen. */
form.xm-form.xm-print
[data-xm-dynamic] > .dynamic-row
> .xm-upl-input-wrapper,

form.xm-form.xm-print
[data-xm-dynamic] > .dynamic-row
> .xm-upl-wrapper {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Tatsächlich leere Fehlercontainer ausblenden. */
form.xm-form.xm-print
[data-xm-dynamic] > .dynamic-row
> .xm-error-container:empty {
    display: none !important;
}


    form.xm-form.xm-print
    .XFieldSet > legend {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        line-height: 1.1 !important;
    }

    form.xm-form.xm-print .xm-item-div > label,
    form.xm-form.xm-print .xm-item-div > .XItem,
    form.xm-form.xm-print .dynamic-row > label,
    form.xm-form.xm-print .dynamic-row > .XItem {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    form.xm-form.xm-print label {
        line-height: 1.1 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    form.xm-form.xm-print input,
    form.xm-form.xm-print textarea,
    form.xm-form.xm-print select {
        line-height: 1.1 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /*
     * Druckmodus „Formularfelder in Text umwandeln“.
     * Label und Druckwert erhalten dieselbe Schriftgröße und Zeilenhöhe.
     * Padding, display und vertical-align werden bewusst nicht verändert.
     */
    form.xm-form.xm-print.xm-print--mode-dynamic
    .xm-content .xm-item-div label,

    form.xm-form.xm-print.xm-print--mode-dynamic
    .xm-content .xm-item-div div.print.XSpan {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    font-family: inherit !important;
    font-size: 1em !important;
    line-height: 1.1em !important;
    }
}