.section-paragraph {
    width: 100%;
    box-sizing: border-box;
}

.section-paragraph-inner {
    display: block;
    max-width: 1200px;
    width: 85%;
    margin: 0 auto;
    box-sizing: border-box;
}

.section-paragraph-text {
    display: block;
}

/* Tabellen aus redaktionellen Absatztexten wie im iCMS darstellen. */
.section-paragraph-text table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 1px;
    overflow-wrap: break-word;
}

.section-paragraph-text td,
.section-paragraph-text th {
    padding: 12px;
    vertical-align: top;
}

.section-paragraph-text td {
    border: 2px solid #fff;
    background-color: #f4f4f4;
}

.section-paragraph-image {
    max-width: 100%;
    margin: 0 0 1.5rem 0;
}

.section-paragraph-image img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Bild oberhalb */
.section-paragraph--above_left .section-paragraph-image {
    text-align: left;
}

.section-paragraph--above_left .section-paragraph-image img {
    margin-right: auto;
}

.section-paragraph--above_center .section-paragraph-image {
    text-align: center;
}

.section-paragraph--above_center .section-paragraph-image img {
    margin-left: auto;
    margin-right: auto;
}

.section-paragraph--above_right .section-paragraph-image {
    text-align: right;
}

.section-paragraph--above_right .section-paragraph-image img {
    margin-left: auto;
}

/* Bild unterhalb */
.section-paragraph--below_left .section-paragraph-image {
    margin-top: 1.5rem;
    margin-bottom: 0;
}

.section-paragraph--below_left .section-paragraph-image img {
    margin-right: auto;
}

.section-paragraph--below_center .section-paragraph-image {
    margin-top: 1.5rem;
    margin-bottom: 0;
    text-align: center;
}

.section-paragraph--below_center .section-paragraph-image img {
    margin-left: auto;
    margin-right: auto;
}

.section-paragraph--below_right .section-paragraph-image {
    margin-top: 1.5rem;
    margin-bottom: 0;
    text-align: right;
}

.section-paragraph--below_right .section-paragraph-image img {
    margin-left: auto;
}

/* Bild und Text als feste Spalten */
.section-paragraph--side_left .section-paragraph-inner,
.section-paragraph--side_right .section-paragraph-inner {
    display: flex;
    align-items: flex-start;
    gap: 1.5rem;
}

.section-paragraph--side_left .section-paragraph-image,
.section-paragraph--side_right .section-paragraph-text {
    flex: 0 0 var(--section-paragraph-left-width, 50%);
    max-width: var(--section-paragraph-left-width, 50%);
    margin: 0;
}

.section-paragraph--side_left .section-paragraph-text,
.section-paragraph--side_right .section-paragraph-image {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}

.section-paragraph--relation-10_90 { --section-paragraph-left-width: 10%; }
.section-paragraph--relation-25_75 { --section-paragraph-left-width: 25%; }
.section-paragraph--relation-33_66 { --section-paragraph-left-width: 33%; }
.section-paragraph--relation-50_50 { --section-paragraph-left-width: 50%; }
.section-paragraph--relation-66_33 { --section-paragraph-left-width: 66%; }
.section-paragraph--relation-75_25 { --section-paragraph-left-width: 75%; }
.section-paragraph--relation-90_10 { --section-paragraph-left-width: 90%; }

/* Bild im Text: der Text fliesst um das Bild */
.section-paragraph--intext_left .section-paragraph-image {
    float: left;
    max-width: 40%;
    margin: 0 1.5rem 1rem 0;
}

.section-paragraph--intext_right .section-paragraph-image {
    float: right;
    max-width: 40%;
    margin: 0 0 1rem 1.5rem;
}

.section-paragraph--intext_left .section-paragraph-inner::after,
.section-paragraph--intext_right .section-paragraph-inner::after {
    content: "";
    display: block;
    clear: both;
}

/* Nur Text */
.section-paragraph--text_only .section-paragraph-image {
    display: none;
}

/* Mobile */
@media (max-width: 700px) {
    .section-paragraph-inner {
        width: 92%;
    }

    .section-paragraph--side_left .section-paragraph-inner,
    .section-paragraph--side_right .section-paragraph-inner {
        display: block;
    }

    .section-paragraph--side_left .section-paragraph-image,
    .section-paragraph--side_right .section-paragraph-image,
    .section-paragraph--intext_left .section-paragraph-image,
    .section-paragraph--intext_right .section-paragraph-image {
        float: none;
        max-width: 100%;
        margin: 0 0 1.5rem 0;
    }
}