.search-results-page {
    width: 100%;
}

@media (max-width: 767px) {
    .search-results-page {
        margin-top: 0 !important;
        padding: 16px 12px calc(96px + env(safe-area-inset-bottom, 0px)) !important;
        overflow-x: hidden;
    }

    .search-results-card {
        border-radius: 26px !important;
        padding: 18px 14px !important;
        margin-bottom: 16px !important;
    }

    .search-results-form {
        margin-bottom: 16px !important;
    }

    .search-results-form input {
        min-height: 52px;
        padding-right: 88px !important;
        font-size: 16px !important;
        font-weight: 750 !important;
    }

    .search-results-form button {
        min-width: 72px;
        min-height: 42px;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    .search-results-title {
        font-size: 20px !important;
        line-height: 1.18 !important;
        overflow-wrap: anywhere;
    }

    .search-tabs {
        margin-left: -12px;
        margin-right: -12px;
        padding-left: 12px;
        padding-right: 12px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
    }

    .search-tabs::-webkit-scrollbar {
        display: none;
    }

    .search-tab-btn {
        min-height: 44px;
        scroll-snap-align: start;
    }

    .search-section {
        max-width: 100%;
        overflow-x: hidden;
    }

    .search-section h2 {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }

    .search-result-card {
        min-height: 76px;
        border-radius: 20px !important;
        padding: 14px !important;
    }

    .search-result-card img {
        object-fit: cover;
    }

    .search-route-card {
        border-radius: 20px !important;
        padding: 14px !important;
    }

    .search-route-card a {
        min-height: 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .search-publication-card {
        align-items: flex-start;
        border-radius: 20px !important;
        padding: 14px !important;
    }
}

@media (max-width: 374px) {
    .search-results-page {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }

    .search-results-form input {
        padding-right: 76px !important;
    }

    .search-results-form button {
        min-width: 64px;
        font-size: 9px !important;
    }
}
