/* C234 responsive guard v1 — mobile layout safety; no change to desktop layout */
*,*::before,*::after{box-sizing:border-box}
html{max-width:100%;overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;min-width:0;margin-left:0;margin-right:0;overflow-wrap:break-word}
img,video,canvas,iframe,svg{max-width:100%;height:auto}
img{object-fit:contain}
pre,code{overflow-wrap:anywhere;white-space:pre-wrap}
p,h1,h2,h3,h4,h5,h6,a,td,th{overflow-wrap:anywhere}
main,article,section,aside,header,footer,nav,.container,.wrapper,.content,.main,.layout,.as-wrap,.x-wrap,.ap-shell{min-width:0;max-width:100%}
.table-responsive,.table-wrap,.as-scroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
table{max-width:100%}
input,select,textarea,button{max-width:100%;font:inherit}
textarea{resize:vertical}
@media(max-width:767px){
  html,body{width:100%;overflow-x:clip}
  body{min-width:0}
  .container,.wrapper,.main,.content,.as-wrap,.x-wrap,.ap-shell{width:100%;min-width:0;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  .row,.columns,.grid,.flex,.layout,.as-layout,.x-layout,.x-grid2,.x-assets{min-width:0}
  .as-layout,.x-layout,.x-grid2,.x-assets{grid-template-columns:minmax(0,1fr)!important}
  .as-kpis,.x-list,.as-story-grid,.ai-story-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .as-hero,.x-hero{padding:18px!important}
  .as-box,.x-box,.ap-card{padding:15px!important}
  .as-box table,.x-box table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .as-box input,.as-box textarea,.as-box select,.x-box input,.x-box textarea,.x-box select{min-width:0;width:100%}
  .as-head,.ap-top,.ap-row,.x-actions{flex-wrap:wrap}
  .hero img,.banner img{height:auto;max-width:100%}
  .service-directory,.ai-articles,.local-seo,.customer-reviews{max-width:100%;min-width:0}
  [style*="width: 1200px"],[style*="width:1200px"]{max-width:100%!important}
}
@media(max-width:480px){
  .as-kpis,.x-list,.as-story-grid,.ai-story-grid{grid-template-columns:minmax(0,1fr)!important}
  h1{font-size:clamp(1.4rem,7vw,2.3rem)}
  .as-box th,.as-box td{padding:8px 6px}
}
/* Wide tables get their own horizontal scroll rather than widening the viewport. */
@supports (overflow:clip){body{overflow-x:clip}}
