/* ===== Mobile Overflow Hotfix — v7 (STRICT: main/article/home-main only) =====
   Purpose: Fix right-side cut & stacking on phones without affecting header/menu.
   Scope: ONLY inside main / article / .home-main
=============================================================================== */

/* 1) Never allow sideways scroll in content */
main, article, .home-main { overflow-x: hidden !important; }
main *, article *, .home-main * { box-sizing: border-box !important; min-width: 0 !important; }

/* 2) Fluid media (content only) */
main img, main video, main iframe,
article img, article video, article iframe,
.home-main img, .home-main video, .home-main iframe {
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
}

/* 3) Tables: scroll on small screens (content only) */
main .scroll-x, main .table-wrap,
article .scroll-x, article .table-wrap,
.home-main .scroll-x, .home-main .table-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
@media (max-width: 800px){
  main table, article table, .home-main table {
    display: block !important;
    width: 100% !important;
    border-collapse: collapse !important;
  }
}

/* 4) Stack any two-column layout in content only */
@media (max-width: 1024px){
  main .home-grid, main .article-grid, main .page-grid, main .content-grid,
  article .home-grid, article .article-grid, article .page-grid, article .content-grid,
  .home-main .home-grid, .home-main .article-grid, .home-main .page-grid, .home-main .content-grid,
  main [class*="grid"], article [class*="grid"], .home-main [class*="grid"],
  main [class*="two-col"], article [class*="two-col"], .home-main [class*="two-col"],
  main [class*="two-column"], article [class*="two-column"], .home-main [class*="two-column"] {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  /* Common columns go full width */
  main, article, .home-main,
  main .home-main, main article, main .content, main .sidebar, main aside,
  article .content, article .sidebar, article aside,
  .home-main .content, .home-main .sidebar, .home-main aside {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  /* Kill inline fixed widths ONLY in content */
  main [style*="width:"], main [style*="min-width:"], main [style*="max-width:"], main [width],
  article [style*="width:"], article [style*="min-width:"], article [style*="max-width:"], article [width],
  .home-main [style*="width:"], .home-main [style*="min-width:"], .home-main [style*="max-width:"], .home-main [width] {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* 5) 100vw inside padded parents — content only */
main [class*="full"], article [class*="full"], .home-main [class*="full"],
main [class*="bleed"], article [class*="bleed"], .home-main [class*="bleed"],
main [style*="100vw"], article [style*="100vw"], .home-main [style*="100vw"] { width: 100% !important; }

/* 6) Wrap long tokens/URLs (content only) */
main, article, .home-main,
main p, main li, main h1, main h2, main h3, main h4, main h5, main h6, main code, main pre,
article p, article li, article h1, article h2, article h3, article h4, article h5, article h6, article code, article pre,
.home-main p, .home-main li, .home-main h1, .home-main h2, .home-main h3, .home-main h4, .home-main h5, .home-main h6, .home-main code, .home-main pre {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* NOTE: There are deliberately NO header/nav selectors in v7.
   Your header/menu/submenus are controlled entirely by assets/style.css. */
