/* Final responsive guard for every public-facing page. */
.container,#smart-page-root{max-width:100%}
#smart-page-root :where(img,svg,video,canvas,iframe){max-width:100%;height:auto}
#smart-page-root :where(input,select,textarea,button){max-width:100%}
@media(max-width:900px){
  html,body{width:100%;overflow-x:clip;overscroll-behavior-x:none}
  body *{box-sizing:border-box}
  #smart-page-root :where(main,section,article,aside,header,footer,nav,form,fieldset,div){min-width:0}
  #smart-page-root :where(h1,h2,h3,h4,p,span,strong,small,a,button,label,td,th){overflow-wrap:anywhere}
  #smart-page-root :where(.hero,.booking-hero,.article-hero,.track-hero,.legal-hero,.reviews-hero,.tips-hero){max-width:100%}
  #smart-page-root :where(.hero-grid,.booking-layout,.booking-shell,.article-layout,.track-layout,.legal-layout,.reviews-layout,.tips-layout,.footer-main){grid-template-columns:minmax(0,1fr)!important}
}
@media(max-width:760px){
  #smart-page-root{padding-inline:max(10px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-right))!important}
  #smart-page-root :where(input:not([type=checkbox]):not([type=radio]),select,textarea){width:100%;min-height:46px;font-size:16px!important}
  #smart-page-root :where(button,.btn,a.btn,summary,input[type=submit]){min-height:44px;touch-action:manipulation}
  #smart-page-root :where(.form-grid,.booking-form-grid,.contact-grid,.reviews-grid,.tips-grid,.articles-grid,.footer-links-grid){grid-template-columns:minmax(0,1fr)!important}
  #smart-page-root :where(.booking-grid,.choice-grid,.service-grid,.payment-grid,.confirmation-ticket,.booking-helper-strip){grid-template-columns:minmax(0,1fr)!important}
  #smart-page-root .booking-steps{display:flex!important;width:100%;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity;padding:6px;scrollbar-width:none}
  #smart-page-root .booking-steps::-webkit-scrollbar{display:none}
  #smart-page-root .booking-steps>*{flex:0 0 auto;scroll-snap-align:start;white-space:nowrap}
  #smart-page-root :where(.slots-grid,.time-slots,.payment-method-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  #smart-page-root :where(.booking-card-header,.booking-success,.confirmation-actions){min-width:0;max-width:100%}
  #smart-page-root :where(.booking-card,.doctor-card,.article-card,.review-card,.tip-card){max-width:100%}
  #smart-page-root :where(.modal,.booking-confirmation-modal){align-items:end!important;padding:0!important}
  #smart-page-root :where(.modal-dialog,.booking-confirmation-dialog){width:100%!important;max-width:none!important;max-height:94dvh!important;margin:0!important;overflow:auto;border-radius:22px 22px 0 0!important;padding-bottom:max(14px,env(safe-area-inset-bottom))}
  .user-footer{margin-top:28px}.footer-main,.footer-bottom{padding-inline:14px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:9px}
}
@media(max-width:430px){
  #smart-page-root{padding-inline:8px!important}
  #smart-page-root :where(.hero,.booking-hero,.article-hero,.track-hero,.legal-hero,.reviews-hero,.tips-hero,.booking-card,.doctor-card,.article-card,.review-card,.tip-card){padding-inline:13px!important;border-radius:16px!important}
  #smart-page-root :where(h1,.hero h1,.booking-hero h1){font-size:clamp(1.35rem,8vw,1.8rem)!important}
  #smart-page-root :where(.actions,.hero-actions,.booking-actions,.form-actions){display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%;gap:8px}
  #smart-page-root :where(.actions,.hero-actions,.booking-actions,.form-actions)>*{width:100%;justify-content:center}
  #smart-page-root :where(.slots-grid,.time-slots,.payment-method-grid){grid-template-columns:minmax(0,1fr)!important}
  #smart-page-root .booking-doctor-card{grid-template-columns:44px minmax(0,1fr)!important;padding:12px!important}.booking-doctor-card>.booking-doctor-icon{width:44px!important;height:44px!important}
}
@media(max-width:360px){#smart-page-root{padding-inline:6px!important}}
