/* Контактная карточка остаётся липкой только когда под ней нет рекламы. */
.detail-sidebar {
    position: static;
    align-self: start;
    min-width: 0;
}

.detail-sidebar .advertisement-sidebar {
    margin: 16px 0 0;
}

.detail-sidebar .contact-card {
    position: sticky;
    top: 90px;
}

.detail-sidebar-with-ad .contact-card {
    position: static;
}

/* На планшетной ширине карта скрыта, но рекламная боковая колонка остаётся. */
@media (min-width: 761px) and (max-width: 1100px) {
    .catalog-layout-with-sidebar-ad {
        grid-template-columns: minmax(0, 1fr) 300px;
    }

    .catalog-layout-with-sidebar-ad .catalog-results {
        padding-right: 14px;
    }

    .catalog-layout-with-sidebar-ad .catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalog-map.catalog-map-with-ad {
        display: block;
        position: sticky;
        top: 117px;
        height: max-content;
        padding: 18px 14px 0 0;
        background: transparent;
    }

    .catalog-map-with-ad #map {
        display: none;
    }

    .catalog-map-with-ad .advertisement-sidebar {
        height: min(420px, calc(100vh - 150px));
        max-height: none;
    }

    .detail-sidebar .contact-card {
        position: static;
    }
}

@media (max-width: 760px) {
    .detail-sidebar .contact-card {
        position: static;
    }
}
