.related-news {
    --gap: 16px;
    --columns: 1;
    display: flex;
    flex-flow: row wrap;
    gap: var(--gap);
    width: 100%;
}

.related-news .news-item {
    --column-width: calc(100% / var(--columns));
    --column-gap: calc(var(--gap) * (var(--columns) - 1) / var(--columns));
    padding: 16px 0;
    min-width: 0;
    flex: 0 0 calc(var(--column-width) - var(--column-gap));
}

.related-news .news-item__title {
    font-size: 20px;
}

@media screen and (max-width: 980px) {
    .related-news {
        --columns: 2;
    }
}

@media screen and (max-width: 480px) {
    .related-news {
        --columns: 1;
    }
}
