/* Shared responsive safeguards. Page-specific styles remain authoritative above this layer. */
html,body{max-width:100%;overflow-x:clip}
main,main>*,.page-shell,.container,.section-pad{min-width:0}
img,svg,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}
table{max-width:100%}
pre,code{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}
h1,h2,h3,h4,h5,h6,p,a,span,li,dd,dt{overflow-wrap:anywhere}
input,select,textarea,button{max-width:100%}
.row>*{min-width:0}
.table-responsive,[class*=table-wrapper],[class*=table-scroll]{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.modal-dialog,[class*=modal-dialog],[class*=popup-dialog]{max-width:calc(100vw - 2rem)}

@media(max-width:900px){
  .container,.container-fluid{min-width:0}
  [class*=hero-grid],[class*=content-grid],[class*=detail-grid],[class*=main-grid],[class*=form-grid],[class*=layout-grid]{min-width:0}
  .footer-grid,.site-footer{min-width:0}
}

@media(max-width:720px){
  :root{--responsive-gutter:14px}
  body{min-width:320px}
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px}
  .container,.container-fluid{padding-right:var(--responsive-gutter);padding-left:var(--responsive-gutter)}
  .modal-dialog,[class*=modal-dialog],[class*=popup-dialog]{width:calc(100vw - 1.25rem);max-width:none;margin:.625rem auto}
  .modal-content,[class*=modal-content],[class*=popup-content]{max-height:calc(100dvh - 1.25rem);overflow-y:auto;overscroll-behavior:contain}
  .dropdown-menu{max-width:calc(100vw - 1.25rem)}
  .btn-group,.button-group,[class*=toolbar-actions],[class*=form-actions]{max-width:100%;flex-wrap:wrap}
  .btn-group>.btn,[class*=form-actions]>.btn{min-width:0}
  .breadcrumb,[class*=breadcrumb],[class*=crumb]{min-width:0;overflow:hidden}
  .breadcrumb li:last-child,[class*=breadcrumb] li:last-child,[class*=crumb] b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .swiper,.swiper-wrapper,.swiper-slide{min-width:0}
  .chat-widget,.ai-chat-card{max-width:calc(100vw - 1.25rem)}
}

@media(max-width:480px){
  :root{--responsive-gutter:10px}
  .card-body,.panel-body{min-width:0}
  .pagination{max-width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin}
  [class*=section-head],[class*=panel-head],[class*=card-head]{min-width:0;flex-wrap:wrap}
}

@supports not (overflow:clip){html,body{overflow-x:hidden}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
