@media (max-width: 1200px) {
    .cards-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 880px) {
    .page-shell {
        padding: 24px;
    }

    .cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .page-shell {
        padding: 18px 14px;
    }

    .hero-panel {
        gap: 18px;
    }

    .hero-copy h1 {
        font-size: clamp(2.1rem, 7vw, 3rem);
    }

    .cards-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .search-block,
    .service-card {
        padding: 16px;
    }

    .glass-search {
        max-width: 100%;
    }

    .gs-suggestions {
        max-width: 100%;
        margin-top: 12px;
    }

    .category-bar {
        gap: 10px;
    }

    .category-pill {
        flex: 1 1 100%;
        min-width: 0;
        text-align: center;
        padding: 12px 14px;
    }

    .service-card {
        min-height: auto;
        padding: 18px;
    }

    .service-card .card-top h2 {
        font-size: 1.2rem;
    }

    .card-action {
        height: 48px;
        padding: 0 18px;
    }

    .card-action-row {
        gap: 8px;
    }

    .card-action-row .card-action {
        flex: 1 1 auto;
        height: 48px;
        padding: 0 16px;
    }

    .card-action-row .card-qr-btn {
        flex: 0 0 48px;
        width: 48px;
        min-width: 48px;
        min-height: 48px;
    }

    .modal-card {
        width: min(100%, calc(100% - 28px));
    }

    .modal-close-bottom {
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 32px);
        bottom: 14px;
    }
}
