/* ── Site-wide mobile fixes (2026) — loaded after common-general.css on every page ── */

/* media never wider than the screen */
img,video,iframe,svg,canvas{max-width:100%}
img,video{height:auto}
html,body{overflow-x:clip}

/* breadcrumb <nav>s must not pick up the site header's sticky nav rule */
nav.crumbs,nav.breadcrumb,nav.bc-row,nav[aria-label="Breadcrumb"]{position:static!important;z-index:auto!important;top:auto!important}
/* open mobile menu sits above page content; hide the chat bubble behind it */
.mobile-menu.open{z-index:1500!important}
body:has(.mobile-menu.open) .bchat{display:none}

@media (max-width:1240px){
  /* fixed 1200px row in common-general.css */
  .testi-header-row{width:auto!important;max-width:1200px;padding-left:16px;padding-right:16px;box-sizing:border-box}
}

@media (max-width:860px){
  /* long headings wrap instead of pushing the page wider */
  h1,h2,h3,.sh,.hero h1,.page-hero h1{overflow-wrap:break-word;word-wrap:break-word;hyphens:manual}
  h2 em,h1 em,.sh em{overflow-wrap:break-word}
  .hero,.page-hero,section{max-width:100vw}

  /* grids that were overflowing */
  .stats-inner{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .steps-grid{grid-template-columns:minmax(0,1fr)!important}
  [style*="grid-template-columns:repeat(3,1fr)"],[style*="grid-template-columns: repeat(3, 1fr)"]{grid-template-columns:minmax(0,1fr)!important}
  [style*="grid-template-columns:repeat(4,1fr)"],[style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}

  /* inline flex rows (e.g. gut test social proof) */
  .eatiq-head [style*="display:flex"],.eatiq-head [style*="display: flex"]{flex-wrap:wrap!important;row-gap:.6rem}
  .eatiq-head [style*="display:flex"] > *{min-width:0}

  /* tables scroll inside themselves, never the page */
  table{max-width:100%}
  .table-responsive,.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
}

@media (max-width:640px){
  /* 16px inputs stop iOS zooming on focus */
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}

  /* comfortable tap targets */
  .bt-mchips{gap:8px}
  .bt-mchips button{min-height:36px;padding:7px 12px;font-size:.8rem}
  input[type=checkbox],input[type=radio]{width:20px!important;height:20px!important;min-width:20px;flex:none}
  .eye-btn{min-width:40px;min-height:40px}
  .tp-close,.opt-btn{min-width:40px;min-height:40px}
  .checkbox-item,.check-row{min-height:40px;align-items:center}
  .bc-row a,.bc-in a,.ic-link,.auth-footer-link a{display:inline-block;padding:6px 0}

  /* very small labels → readable minimum */
  .hub-label,.hub-track-val,.hcm-tag,.hcm-label,.hero-eyebrow,.hero-powered-lbl,.gp-eyebrow,.gp-ey,
  .gp-badge,.gp-pk-badge,.auth-eyebrow,.form-eyebrow,.cert-chip,span.trust-item:not(.x),.prod-cat,.prod-turnaround,.ta,
  .tl-desc,.location-badge,.badge,.bm-count-badge,em.chip,.ph,.form-label,.qp-terms,footer h5{font-size:12px!important}
  small{font-size:12px}

  /* footer social icons on one centred row */
  .footer-social{justify-content:center!important;gap:10px!important;flex-wrap:wrap}
  .footer-social a{width:40px!important;height:40px!important;flex:none}

  /* dashboard video captions wrap inside the video */
  .vc-caption{white-space:normal!important;width:calc(100% - 24px);max-width:none;text-align:center;line-height:1.4}
}
