div.news-list
{
	word-wrap: break-word;
}
div.news-list img.preview_picture
{
	float:left;
	margin:0 4px 6px 0;
}
.news-date-time {
	color:#486DAA;
}
.map-contacts {
    position: relative; /* обязательно для позиционирования псевдоэлемента */

}

.map-contacts::before {
content: url('/images/map.png');
    position: absolute;
    top: 0;
    left: 35%;
    right: -50%;
    bottom: 0;
    z-index: 0;
    max-width: 25rem;
}
.contacts-grid {
    display: grid;
    grid-template-columns: 1fr 25rem 1fr; /* 3 колонки: лево | пусто | право */
    grid-auto-rows: minmax(80px, auto); /* высота строк, можно подстроить */
    gap: 16px 0; /* вертикальный отступ между строками, горизонтального нет */
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Убираем стандартное поведение col-12, если мешает */
.contacts-grid > .col-12 {
    grid-column: auto;
    grid-row: auto;
    width: 100%;
    max-width: none;
}

/* Позиционируем элементы: чётные — справа, нечётные — слева */
.contacts-grid > .col-12:nth-child(odd)  { grid-column: 1; }
.contacts-grid > .col-12:nth-child(even) { grid-column: 3; }

/* Каждый элемент занимает свою строку */
.contacts-grid > .col-12 {
    grid-row: auto;
}
.map-contacts--item_btns {
    display: block;
    width: max-content;
}
.map-contacts--item .row {
gap: 1rem;
    justify-content: center;
    flex-wrap: nowrap;
}

@media (orientation: portrait) {
	.button-map {
		padding: 0 !important;
	}
	.map-contacts--item-right,
	.map-contacts--item_btns {
		width: 100%;
	}
}

@media (max-width: 767.98px) {
.map-contacts::before {

    width: 100%;
    position: relative;

}
    .map-contacts--item .row {
        flex-wrap: wrap;
    }
.map-contacts {
    position: relative;
    overflow: hidden;
}
}