/* mobile-fix v1 — conservative mobile hardening, no desktop impact */
html, body { overflow-x: hidden; }

img, svg, video, iframe { max-width: 100%; }

pre { overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 768px) {
  /* wide tables scroll inside themselves instead of stretching the page */
  .seo-block table, .pia-cmp table, .cmp-table, main table, section table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
  .seo-block table td, .seo-block table th { white-space: normal; min-width: 110px; }

  /* prevent iOS auto-zoom on focus: inputs must be >=16px */
  input, select, textarea { font-size: 16px !important; }

  /* comfortable tap targets on primary actions */
  .cta, .buy, .blog-cta, .mob-cta, .proceed-btn, button.cta { min-height: 44px; }

  /* long words / urls never push layout */
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }

  /* generic grid guards: cards collapse instead of overflowing */
  .cards, .plans, .plans-grid { grid-auto-flow: row; }
}

@media (max-width: 480px) {
  /* top promo bar: allow wrap, never force horizontal growth */
  .topbar, .sale-bar, .promo-bar { white-space: normal; }
}
