/* Site-wide responsive layer.
   Page layouts are written with inline styles (from the original design files), so these
   rules target those inline patterns and override them on tablets and phones. */

img, video { max-width: 100%; }
html, body { overflow-x: hidden; overflow-x: clip; }

/* ---------- Footer ---------- */
@media (max-width: 900px) {
  .uscs-foot-grid { grid-template-columns: 1fr 1fr !important; gap: 32px 24px !important; }
  .uscs-foot-grid > a:first-child { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .uscs-foot { padding: 36px 20px 24px !important; }
  .uscs-foot-grid { grid-template-columns: 1fr !important; gap: 28px !important; }
}

/* ---------- Multi-column inline grids ---------- */
@media (max-width: 900px) {
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:1.2fr 1fr"],
  [style*="grid-template-columns:1.05fr 1fr"],
  [style*="grid-template-columns:1.02fr 1fr"],
  [style*="grid-template-columns:220px 1fr"],
  [style*="grid-template-columns:150px 1fr"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:repeat(2,minmax(0,1fr))"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
@media (max-width: 520px) {
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:1fr 1fr 1fr"] {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* ---------- Side gutters and oversized padding ---------- */
@media (max-width: 600px) {
  [style*="padding:0 40px"], [style*="padding:0 48px"], [style*="padding:0 60px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  [style*="padding:40px 36px"], [style*="padding:44px 40px"], [style*="padding:48px"] {
    padding: 28px 22px !important;
  }
  /* long unbroken strings (emails, URLs) must wrap instead of widening the page */
  a[href^="mailto:"] { overflow-wrap: anywhere; }
}

/* ---------- Tab bars (Equipment, About): swipe sideways instead of overflowing ---------- */
@media (max-width: 760px) {
  .uscs-tabs { max-width: 100%; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .uscs-tabs::-webkit-scrollbar { display: none; }
  .uscs-tabs > button { flex-shrink: 0; white-space: nowrap; }
}
