.ims-icon-list {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
}

/*
 * =========================================================
 * STANDARD: ICON VOR DEM TEXT
 * =========================================================
 */

.ims-icon-list__item {
    display: grid !important;
    grid-template-columns: 60px minmax(0, 1fr);
    column-gap: 20px;
    align-items: start;
}

/*
 * Der Icon-Bereich ist bei allen Einträgen exakt gleich breit.
 * Dadurch beginnt der Text immer an derselben Position.
 */
.ims-icon-list__icon {
    width: 60px !important;
    min-width: 60px !important;
    max-width: 60px !important;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    box-sizing: border-box;

    color: var(--e-global-color-primary);
    line-height: 1;
}

/*
 * Eigentliches Icon
 */
.ims-icon-list__icon i,
.ims-icon-list__icon svg {
    display: block;
    line-height: 1;

    max-width: 100%;
}

/*
 * SVG soll weiterhin über die Elementor-Icon-Größe
 * gesteuert werden können.
 */
.ims-icon-list__icon svg {
    width: 1em;
    height: 1em;
    fill: currentColor;
}


/*
 * =========================================================
 * TEXTBEREICH
 * =========================================================
 */

.ims-icon-list__content {
    min-width: 0;
    width: 100%;
}


/*
 * =========================================================
 * ÜBERSCHRIFT
 * =========================================================
 */

.ims-icon-list__title {
    margin: 0 0 12px;
    padding: 0;
}

.ims-icon-list__title a {
    color: inherit;
    text-decoration: none;
}

.ims-icon-list__title a:hover,
.ims-icon-list__title a:focus {
    color: inherit;
}


/*
 * =========================================================
 * WYSIWYG-TEXT
 * =========================================================
 */

.ims-icon-list__text {
    margin: 0;
    padding: 0;
}

.ims-icon-list__text > :first-child {
    margin-top: 0;
}

.ims-icon-list__text > :last-child {
    margin-bottom: 0;
}


/*
 * =========================================================
 * ICON OBERHALB DES TEXTES
 * =========================================================
 */

.ims-icon-list__item.icon-position-top {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
}

/*
 * Im Top-Modus keine feste 60px-Breite.
 * Der Icon-Container ist nur so breit wie das Icon selbst.
 */
.ims-icon-list__item.icon-position-top .ims-icon-list__icon {
    flex: 0 0 auto;

    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
}


/*
 * Icon oben: Anfang
 */
.ims-icon-list__item.icon-position-top.icon-align-start .ims-icon-list__icon {
    align-self: flex-start;
    justify-content: flex-start;
}


/*
 * Icon oben: Mitte
 */
.ims-icon-list__item.icon-position-top.icon-align-center .ims-icon-list__icon {
    align-self: center;
    justify-content: center;
}


/*
 * Icon oben: Ende
 */
.ims-icon-list__item.icon-position-top.icon-align-end .ims-icon-list__icon {
    align-self: flex-end;
    justify-content: flex-end;
}


/*
 * =========================================================
 * THEME-TYPOGRAFIE FÜR DIESES WIDGET ÜBERSCHREIBEN
 * =========================================================
 */

.elementor-widget-ims-icon-list h2.ims-icon-list__title,
.elementor-widget-ims-icon-list h3.ims-icon-list__title,
.elementor-widget-ims-icon-list h4.ims-icon-list__title,
.elementor-widget-ims-icon-list h5.ims-icon-list__title,
.elementor-widget-ims-icon-list h6.ims-icon-list__title,
.elementor-widget-ims-icon-list .ims-icon-list__title a {
    font-size: inherit !important;
    line-height: inherit;
    font-weight: inherit;
}