
@media (min-width: 560px) {
    .grid-cards { grid-template-columns: repeat(2, 1fr); }
    .form__row { grid-template-columns: repeat(2, 1fr); }
    .form__row--3 { grid-template-columns: repeat(2, 1fr); }
    .stat-grid { grid-template-columns: repeat(3, 1fr); }
    .tariffs { grid-template-columns: repeat(2, 1fr); }
    .cookie-banner { left: auto; right: 18px; max-width: 680px; }
    .header__search-note { display: block; }
    .card__go { flex-basis: auto; margin-left: auto; }
}

/* ---------- ≥ 768px: ---------- */
@media (min-width: 768px) {
    main.main { padding: 22px 20px 46px; }
    .grid-cards { grid-template-columns: repeat(3, 1fr); gap: 16px; }
    .form__row--3 { grid-template-columns: repeat(3, 1fr); }
    .calc__fields { grid-template-columns: repeat(3, 1fr); }
    .calc__fields .calc__result { grid-column: 1 / -1; }
    .cab__grid { grid-template-columns: repeat(2, 1fr); }
    .admin-two-col { grid-template-columns: repeat(2, 1fr); }
    .ad-page { grid-template-columns: 1.9fr 1fr; align-items: start; }
    .ad-page .ad-main { min-width: 0; }
    .ad-page .contacts { position: sticky; top: 132px; }
    .footer__grid { grid-template-columns: 1fr 1fr; padding: 40px 20px 28px; }
    .legal { padding: 26px 26px; }
    .article { padding: 24px; }
    .auth-card { padding: 28px 26px; }
    .pay-fab { padding: 13px 22px; }
}

/* ---------- ≥ 1000px: ---------- */
@media (min-width: 1000px) {
    .grid-cards { grid-template-columns: repeat(4, 1fr); }
    .stat-grid { grid-template-columns: repeat(4, 1fr); }
    .footer__grid { grid-template-columns: 2fr 1fr 1fr 1.2fr; }
    .admin-chat { grid-template-columns: 340px 1fr; align-items: start; }
    .cab-panel { width: min(760px, 96vw); }
}

/* ---------- ≥ 1180px: ---------- */
@media (min-width: 1180px) {
    .container { padding: 0 22px; }
    .hero { padding: 46px 34px 40px; }
    .cab-panel { width: 820px; }
}

/* ---------- Телефоны:   ---------- */
@media (max-width: 559px) {
    .header__row { gap: 8px; }
    .brand__text { font-size: 1rem; }

    .header__actions > a.btn { display: none; }
    .search-form input[type='search'] { font-size: 0.9rem; }
    .search-form .btn { padding: 10px 13px; font-size: 0.85rem; }
    .hero__cta .btn { flex: 1 1 100%; }
    .header__geo-row { padding: 6px 16px; gap: 4px 10px; }
    .geo-label { font-size: 0.82rem; flex: 1 1 auto; min-width: 0; }
    .geo-btn { margin-left: 0; }

    .cats-strip__scroll { grid-template-columns: repeat(auto-fill, minmax(min(190px, 100%), 1fr)); }
    .region-list { grid-template-columns: 1fr; }
 
    .region-panel,
    .region-panel.is-open {
        left: 0; top: 0; right: 0; bottom: 0;
        width: auto; max-width: none; height: auto; max-height: none;
        border-radius: 0; transform: none; opacity: 1;
        padding-top: env(safe-area-inset-top);
        padding-bottom: env(safe-area-inset-bottom);
    }
    .region-panel:not(.is-open) { opacity: 0; }
    .region-panel__head { padding-top: 12px; }
    .region-panel__sub { font-size: 0.8rem; }
    .region-item { padding: 11px 12px; font-size: 0.95rem; }
    .block__head .btn { margin-left: 0; }
    .cab__head-actions { margin-left: 0; width: 100%; }

    .region-quick__row select { flex: 1 1 100%; }
    .region-quick__row .btn { flex: 1 1 100%; }
    .feed-tools { flex-direction: column; align-items: flex-start; }
    .pay-fab span { display: none; }
    .pay-fab { padding: 14px; border-radius: 50%; width: 52px; height: 52px; justify-content: center; }
    .pay-widget { right: 12px; left: 12px; width: auto; }
    .table { min-width: 560px; }
    .cab-panel { width: 100vw; }
    .ad-page .contacts { order: -1; }

    .cookie-banner {
        left: 8px; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom));
        max-width: calc(100vw - 16px);
        padding: 11px 12px 10px; gap: 8px; border-radius: 12px;
    }
    .cookie-banner__text p { font-size: 0.72rem; line-height: 1.45; margin: 0 0 5px; }
    .cookie-banner__text p:last-child { margin-bottom: 0; }
    .cookie-banner__agree label { font-size: 0.72rem; gap: 7px; }
    .cookie-banner__agree input { width: 15px; height: 15px; margin-top: 0; }
    .cookie-banner__actions { flex-wrap: nowrap; gap: 7px; }
    .cookie-banner__actions .btn { flex: 1 1 50%; padding: 9px 6px; font-size: 0.78rem; white-space: nowrap; }
}

/* ---------- (≤ 374px):  ---------- */
@media (max-width: 374px) {
    .cookie-banner { padding: 9px 10px 9px; }
    .cookie-banner__text p,
    .cookie-banner__agree label { font-size: 0.68rem; line-height: 1.4; }
    .cookie-banner__actions .btn { font-size: 0.74rem; padding: 8px 4px; }
}

/* ---------- Print ---------- */
@media print {
    .site-header, .site-footer, .cookie-banner, .to-top, .chat-fab, .pay-fab,
    .burger-panel, .cab-panel, .cab-overlay, .contacts__btns,
    .region-panel, .region-overlay { display: none !important; }
    body { background: #fff; color: #000; }
}
