.benefits {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.benefits.per-row-2 .benefit {
    width: calc(1/2*100% - (1 - 1/2)*30px);
}

.benefits.per-row-3 .benefit {
    width: calc(1/3*100% - (1 - 1/3)*30px);
}

.benefits.per-row-4 .benefit {
    width: calc(1/4*100% - (1 - 1/4)*30px);
}

.benefits .has-icon {
    display: flex;
    gap: 50px;
    align-items: flex-start;
}

.benefits .has-icon .text {
    padding-top: 10px;
}

.benefits .image {
    width: 60px;
    min-width: 60px;
}

.benefits .image img {
    max-width: 100%;
    height: auto;
}

.benefits .title {
    color: var(--heading-color);
    font-weight: 700;
    margin-bottom: 15px;
}

@media only screen and (max-width: 1199px) {
    .benefits .has-icon {
        gap: 30px;
    }

    .benefits.per-row-4 .benefit {
        width: calc(1/3*100% - (1 - 1/3)*30px);
    }
}

@media only screen and (max-width: 991px) {
    .benefits.per-row-4 .benefit,
    .benefits.per-row-3 .benefit {
        width: calc(1/2*100% - (1 - 1/2)*30px);
    }
}

@media only screen and (max-width: 767px) {
    .benefits {
        column-gap: 20px;
    }

    .benefits .image {
        width: 40px;
        min-width: 40px;
    }

    .benefits.per-row-2 .benefit,
    .benefits.per-row-3 .benefit,
    .benefits.per-row-4 .benefit {
        width: 100%;
    }
}