/* Mobile refinements — media queries can't be expressed inline. */

/* iOS zooms any input under 16px on focus. */
input, select, textarea { font-size: 16px; }

[data-m="bottombar"] { display: none; }

@media (max-width: 820px) {
  /* Top utility strip: keep the license badge + phone, drop the rest */
  [data-m="util-detail"] { display: none !important; }
  [data-m="utility-inner"] { justify-content: space-between !important; }

  /* Decorative hero panel duplicates content that follows — remove a full screen of scroll */
  [data-m="hero-panel"] { display: none !important; }

  /* Sticky nav keeps the menu + call button reachable while scrolling */
  [data-m="nav"] {
    position: sticky;
    top: 0;
    z-index: 70;
    box-shadow: 0 6px 20px rgba(3, 20, 34, 0.28);
  }
  [data-m="nav-inner"] { padding-top: 10px !important; padding-bottom: 10px !important; flex-wrap: nowrap !important; }
  /* Drop the nav call button on phones (bottom bar + top strip already carry it)
     so the gear stays pinned at the far right and its menu isn't clipped */
  [data-m="nav-inner"] > div > a[href^="tel:"] { display: none !important; }

  /* Menu panel widens toward the viewport instead of staying a narrow card */
  [data-m="menu"] {
    right: 0 !important;
    width: min(300px, calc(100vw - 32px)) !important;
    max-height: 66vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
  }
  /* Keep the spinning gear smooth on mobile compositors */
  [data-m="menu-gear"] { will-change: transform; }

  /* Floating pill out, real action bar in */
  [data-m="sticky-call"] { display: none !important; }
  [data-m="bottombar"] { display: grid !important; }
  /* Clearance must live on the last in-flow block — body's box doesn't grow with content here */
  footer { padding-bottom: 96px !important; }

  /* Comfortable reading measure on a phone */
  [data-m="glance"] p { font-size: 16px !important; }
}

@media (max-width: 520px) {
  [data-m="hero-actions"] a { flex: 1 1 100%; }
}
