/* Shared responsive safety layer for all WordPress-rendered static pages. */
html{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,canvas{max-width:100%;height:auto}
svg{max-width:100%}
iframe{max-width:100%;border:0}
main,section,article,aside,header,footer,nav,form,fieldset,div{min-width:0}
h1,h2,h3,h4,p,li,a,button,label,span{overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%;font-family:inherit}
textarea{resize:vertical}
table{max-width:100%}
.table-wrap,.table-scroll,.results-table,.directory-table{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
[style*="width:"][style*="px"]{max-width:100%}
.modal,.dialog,.country-config-panel{max-width:calc(100vw - 24px)}
.nav,.nav-links,.nav-actions,.actions,.hero-actions,.hero-btns,.tabs,.country-tabs,.plan-tabs{max-width:100%}

@media(max-width:900px){
  .hero-grid,.about-grid,.feature-row,.standards,.quote,.aftercare,.roles,.access-grid,.doctor-shell,.portal-shell,.dashboard-grid{grid-template-columns:minmax(0,1fr)!important}
  .feature-row{min-height:0!important}
  .feat-img{min-height:280px}
  .cards-grid,.grid3,.proof,.steps,.checklist,.service-grid,.pathway-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .container,.wrap{max-width:calc(100% - 28px)}
  nav{gap:10px}
  .nav-links{display:none}
  .hamburger{display:flex}
}

@media(max-width:640px){
  body{font-size:15px}
  .container,.wrap{width:calc(100% - 22px)!important;max-width:none!important}
  .section{padding-top:52px!important;padding-bottom:52px!important}
  .hero{min-height:0!important;height:auto!important;padding-top:48px!important;padding-bottom:48px!important}
  .hero-content,.feat-text,.intro,.form,.card,.panel,.plan-panel,.visitor-form,.mixed-signup{padding-left:18px!important;padding-right:18px!important}
  .cards-grid,.grid3,.proof,.steps,.check,.checklist,.service-grid,.pathway-service-grid,.quote-list,.roles,.aftercare,.journey,.architecture,.name-price-grid,.mixed-signup-grid,.visitor-form-grid{grid-template-columns:minmax(0,1fr)!important}
  .full,[class*="full"]{grid-column:auto}
  .actions,.hero-actions,.hero-btns,.nav-actions{flex-wrap:wrap}
  .actions>a,.actions>button,.hero-actions>a,.hero-actions>button,.hero-btns>a,.hero-btns>button{width:100%;justify-content:center;text-align:center}
  input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:44px;font-size:16px!important}
  button,.btn,.button,[role=button]{min-height:44px}
  .country-tabs,.plan-tabs,.tabs{display:flex!important;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin;flex-wrap:nowrap!important}
  .country-tabs>* , .plan-tabs>* , .tabs>*{flex:0 0 auto}
  table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:nowrap}
  .modal-overlay,.country-config-overlay{padding:10px!important}
  .modal,.dialog,.country-config-panel{width:100%!important;max-width:100%!important;max-height:90vh!important;border-radius:16px!important}
  .emergency-fab{right:12px!important;bottom:12px!important}
  .country-manage-btn{right:12px!important;bottom:78px!important;max-width:calc(100vw - 24px)}
  .language-dock{max-width:calc(100vw - 12px)!important;overflow-x:auto}
  h1{font-size:clamp(34px,11vw,48px)!important;line-height:1.04!important}
  h2{line-height:1.1}
}

@media(max-width:380px){
  .container,.wrap{width:calc(100% - 16px)!important}
  .hero-content,.feat-text,.intro,.form,.card,.panel,.plan-panel{padding-left:14px!important;padding-right:14px!important}
  .logo,.nav-brand-image{max-width:142px!important}
}

@media(hover:none) and (pointer:coarse){
  a,button,input,select,textarea,summary{touch-action:manipulation}
  a.btn,a.button,button,[role=button]{min-height:44px}
}
