/* Shared small-screen guardrails: long text must stay inside the viewport. */
@media (max-width: 620px) {
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  .container, .contact-bar-inner, .header-inner, .site-search-form { min-width: 0; max-width: 100%; }

  /* The three contact methods must remain a single compact row on every phone. */
  .contact-bar { font-size: clamp(.48rem, 2.3vw, .7rem) !important; }
  .contact-bar-inner { display: flex !important; flex-wrap: nowrap !important; align-items: center; justify-content: center; padding: 6px !important; gap: 6px !important; overflow: hidden; }
  .contact-bar-group { display: flex !important; flex: 0 0 auto; min-width: 0; flex-wrap: nowrap !important; justify-content: flex-start; gap: 7px !important; }
  .contact-bar-item { flex: 0 0 auto; min-width: 0; gap: 3px !important; white-space: nowrap !important; }
  .contact-bar-item svg { width: 11px !important; height: 11px !important; }
  .contact-bar-email { flex: 0 1 auto; min-width: 0; max-width: none !important; }
  .contact-bar-email span { min-width: 0; overflow: hidden !important; overflow-wrap: normal !important; word-break: normal !important; text-overflow: ellipsis; white-space: nowrap !important; }

  .header-inner { gap: 8px; padding-inline: 14px; }
  .logo { min-width: 0; max-width: calc(100vw - 70px); font-size: clamp(.84rem, 4vw, 1rem); line-height: 1.14; white-space: normal; }
  .logo span { min-width: 0; overflow-wrap: anywhere; }
  .nav-toggle { flex: 0 0 40px; }

  .site-search-row .container { padding-inline: 12px; }
  .site-search-form { min-width: 0; padding-left: 12px; }
  .site-search-form input { width: 0; min-width: 0; font-size: 16px; }
  .site-search-form button { flex: 0 0 auto; }

  h1, h2, h3, h4, p, li, dd, dt, label, small, .btn { overflow-wrap: anywhere; }
  .btn { white-space: normal; }
}
