
/* ===== MOBILE STACK REPAIR (2026-10-06) — collapse multi-column grids to one column at <=768px. ADD-ONLY. ===== */
@media (max-width:768px){
  /* 1) Confirmed bug: homepage pain/promise two-column grid */
  .pain-grid{grid-template-columns:minmax(0,1fr) !important;}

  /* 2) Named major layout grids: footer, founder, heroes, FAQs, splits, landmarks, article layouts, calculators, custom city sections, entity/strip/flow/meter/visual/wheel grids, service/trade/area/calendar grids, stat/cta/note/resource wraps, competition stacks, hero stat lists, ledger/orbit/snow/port layouts, blog selects, category pills */
  .footer-grid,.founder,.route-hero-grid,
  .faq-layout,.b12-faq-layout,.b16-faq-layout,.b17-faq-layout,.b18-faq-layout,.b19-faq-layout,.b20-faq,
  .b12-split,.r12-split,.b13-split,.b14-split,
  .city-landmark,.article-toc,.article-layout,.calc-grid,.ai-grid,
  .custom-city .custom-two,.custom-city .custom-two.reverse,
  .answer-sources,.b20-entity-strip,.b11-entity-list,
  .b20-flow.columns,.b13-season-meter,.b12-season-visual,.b10-seasonwheel,
  .b20-services,.b20-trades,.b20-areas,.b20-calendar,
  .b10-stat .wrap,.city-stat .wrap,.b11-cta .wrap,.b13-note .wrap,
  .b14-airport .b14-services .wrap,.b22-resource-strip .wrap,
  .competition-stack,.custom-bulletin .competition-stack article,
  .custom-atlas .custom-neighborhoods,
  .b12-hero dl,.b13-hero dl,.b14-hero dl,
  .b10-ledger-layout,.b10-orbit-layout,.b10-snow-layout,.b10-port-frame,
  .blog-selects,.category-pills,
  [class*="competition"]>.wrap,
  [class*="article-body"]>section
  {grid-template-columns:minmax(0,1fr) !important;}

  /* 3) Generic safety net: every other multi-column layout grid collapses, except the sticky mobile CTA bar */
  [class*="grid"]:not(.mobile-cta),
  [class*="split"]:not(.mobile-cta),
  [class*="layout"]:not(.mobile-cta),
  [class*="areas"]:not(.mobile-cta),
  [class*="hood"]:not(.mobile-cta),
  [class*="services"]:not(.mobile-cta),
  [class*="trades"]:not(.mobile-cta),
  [class*="entity"]:not(.mobile-cta),
  [class*="season"]:not(.mobile-cta),
  [class*="faq"]:not(.mobile-cta),
  [class*="hero"]:not(.mobile-cta),
  [class*="stat"]:not(.mobile-cta),
  [class*="cta"]:not(.mobile-cta),
  [class*="note"]:not(.mobile-cta),
  [class*="calendar"]:not(.mobile-cta),
  [class*="custom-"]:not(.mobile-cta),
  [class*="article-"]:not(.mobile-cta),
  [class*="blog-"]:not(.mobile-cta),
  [class*="flow"]:not(.mobile-cta),
  [class*="two"]:not(.mobile-cta)
  {grid-template-columns:minmax(0,1fr) !important;}

  /* 4) Neutralize multi-column spans inside collapsed grids so no implicit second track is created */
  .trade-card:first-child,.article:first-child,.footer-brand,
  [class*="hood-grid"] article,[class*="service-grid"] article,
  .planning-grid article,
  .article-toc strong,.article-toc .toc-cta
  {grid-column:auto !important;}
  .footer-brand{grid-column:1/-1 !important;}

  /* 5) Footer legal: stack with real spacing (fixes "contractors.Market" run-together) */
  .legal{display:block !important;}
  .legal span{display:block !important;}
  .legal span+span{margin-top:10px !important;}
  .footer-area-links a{display:inline-block;padding:8px 6px;}

  /* 6) Overflow + media guards (overflow-x:clip preserves position:sticky header) */
  html,body{overflow-x:hidden !important;overflow-x:clip !important;}
  img{max-width:100% !important;}
  .table-wrap{overflow-x:auto !important;-webkit-overflow-scrolling:touch;}
  p,h1,h2,h3,h4,li{overflow-wrap:break-word;}
}
@media (max-width:620px){
  /* 7) Sticky mobile CTA clearance: footer copyright stays readable above the fixed bar */
  body{padding-bottom:110px !important;}
}
  