/* === RESPONSIVE FIX — IncomeWithBen === */
/* Injected by Netlify snippet on every page */

/* FOUNDATION */
*, *::before, *::after { box-sizing: border-box; }
html, body {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
}

/* IMAGE & MEDIA CONTAINMENT */
img, video, canvas, svg, embed, object, iframe {
  max-width: 100%;
  height: auto;
}

/* FORM INPUTS: prevent iOS auto-zoom */
input, select, textarea {
  max-width: 100%;
  font-size: 16px;
}

/* FLUID TYPOGRAPHY */
h1 { font-size: clamp(1.75rem, 1.2rem + 2.5vw, 3rem); }
h2 { font-size: clamp(1.4rem, 1rem + 2vw, 2.25rem); }
h3 { font-size: clamp(1.2rem, 0.9rem + 1.5vw, 1.75rem); }

/* TABLET */
@media (max-width: 1024px) {
  body > div, .container, .wrapper, .content, main, #main {
    max-width: 100% !important;
    width: auto !important;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* MOBILE */
@media (max-width: 768px) {
  .row, .columns, .grid, [class*="col-"], .flex-row {
    display: block !important;
  }
  .row > *, .columns > *, .grid > * {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
  aside, .sidebar { width: 100% !important; float: none !important; }
  pre, code { max-width: 100%; overflow-x: auto; white-space: pre-wrap; }
}

/* SMALL PHONE — 55-70 audience big touch targets */
@media (max-width: 480px) {
  a, button, [role="button"] { min-height: 48px; min-width: 48px; }
  nav a, .menu a { padding: 0.75rem 1rem; display: inline-block; }
}

/* TABLE SCROLL WRAPPER (applied by JS) */
.table-scroll-wrapper {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
