@media (max-width: 800px) {
  html { -webkit-text-size-adjust: 100%; }
  input, select, textarea, button { font-size: 16px; }
  .btn, .part-card button, .cart-button, .filter-reset { min-height: 44px; }
  .order { grid-template-columns: 1fr !important; gap: 14px; padding: 17px; }
  .order label { display: grid; gap: 5px; }
  .order select, .order input { margin-top: 0; }
  .admin-row { overflow-wrap: anywhere; }
  .status-history li, .cart-panel p { overflow-wrap: anywhere; }
}

@media (max-width: 480px) {
  .wrap { width: min(calc(100% - 24px), var(--max)); }
  h1 { font-size: clamp(40px, 12vw, 52px); }
  h2 { font-size: clamp(31px, 9vw, 40px); }
  .hero-actions .btn, .contact-actions .btn { width: 100%; }
  .messengers { gap: 14px; }
  .part-card strong { font-size: 18px; }
}

/* Пальцевые зоны: минимум 44px по высоте у всего, что нажимается.
   Прежнее правило покрывало только .btn, из-за чего меню, ссылки мессенджеров
   и текстовые ссылки оставались 21–22px. */
@media (max-width: 800px) {
  .menu-toggle,
  .nav-links a,
  .messengers a,
  .contact-actions a,
  .text-link,
  .route-link,
  .service-card a,
  .season-grid a,
  .paths-grid .btn,
  .mobile-bar a,
  .footer-grid a,
  .client-toggle,
  .client-batch,
  .phone-link,
  [data-phone-link],
  .brand,
  .cabinet-link,
  .status-section a,
  select { min-height: 44px; display: inline-flex; align-items: center; gap: 6px; }

  /* Согласие: нажатие по всей строке, а не по 16-пиксельному квадратику. */
  .consent { min-height: 44px; align-items: center; }
  .consent input { width: 22px; height: 22px; flex: 0 0 22px; }

  .nav-links a { padding: 4px 0; }
  .messengers a, .contact-actions a { padding: 10px 16px; }
  .service-card a, .season-grid a, .text-link, .route-link { padding: 8px 0; }
  .footer-grid a { padding: 6px 0; }

  /* Декоративная орбита вылезала за край и добавляла лишнюю ширину. */
  .hero-visual { overflow: hidden; }
  .grid-orbit { max-width: 100%; }
}

/* Нижняя панель: три действия должны помещаться на узком экране. */
@media (max-width: 480px) {
  .mobile-bar { gap: 4px; }
  .mobile-bar a, .mobile-bar button { font-size: 13px; padding-left: 6px; padding-right: 6px; white-space: nowrap; }
}
