html, body { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
@media (max-width: 768px) {
  button, a.btn, [role="button"] { min-height: 44px; touch-action: manipulation; }
  body { font-size: 16px !important; }
  div[style*="grid-template-columns:repeat(2"],
  div[style*="grid-template-columns:repeat(3"],
  div[style*="grid-template-columns:repeat(4"],
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns: 1fr 1fr"],
  div[style*="grid-template-columns:repeat(auto-fit,minmax(300px"],
  div[style*="grid-template-columns:repeat(auto-fit,minmax(280px"],
  div[style*="grid-template-columns:minmax(0,1fr) 380px"],
  div[style*="grid-template-columns:minmax(0,1fr) 360px"] {
    grid-template-columns: 1fr !important;
  }
  h1[style*="font-size:clamp(60px"],
  h1[style*="font-size:clamp(48px"] { font-size: clamp(32px,8vw,48px) !important; }
  div[style*="padding:60px"], div[style*="padding:80px"] { padding: 32px 16px !important; }
  div[style*="padding:48px"] { padding: 24px 16px !important; }
  div[style*="padding:32px clamp(16px,3vw,48px)"] { padding: 20px 16px !important; }
  input[type="text"], input[type="email"], input[type="password"],
  input[type="number"], input[type="search"], textarea, select {
    width: 100% !important; min-height: 44px; font-size: 16px !important;
  }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  img { max-width: 100%; height: auto; }
  div[style*="width:380px"], div[style*="width:360px"], div[style*="width:320px"] { width: 100% !important; }
}
@supports (padding: max(0px)) { body { padding-bottom: env(safe-area-inset-bottom); } }
