/* ============================================================
   ТРАЛАРЕНДА — responsive.css
   Мобильный первый: брейкпоинты 560 / 768 / 1000 / 1180 px.
   ============================================================ */

/* ---------- ≥ 560px: крупные телефоны / мини-планшеты ---------- */
@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; }
    .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(2, 1fr); }
    .region-list { grid-template-columns: 1fr; }
    .region-panel { width: 100vw; max-height: 100vh; height: 100vh; border-radius: 0; left: 0; top: 0; transform: none; opacity: 1; }
    .region-panel:not(.is-open) { opacity: 0; }
    .block__head .btn { margin-left: 0; }
    .cab__head-actions { margin-left: 0; width: 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; }
    .cookie-banner__actions .btn { flex: 1 1 100%; }
    .cab-panel { width: 100vw; }
    .ad-page .contacts { order: -1; }
}

/* ---------- Печать ---------- */
@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; }
}
