/* Shared customer-theme reliability layer.
   Intentionally conservative: fixes broken assets/icons and responsive overflow without repainting theme identity. */
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:swap;src:url("/public/shared/webfonts/fa-solid-900.woff2") format("woff2");}
@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:swap;src:url("/public/shared/webfonts/fa-regular-400.woff2") format("woff2");}
@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:swap;src:url("/public/shared/webfonts/fa-brands-400.woff2") format("woff2");}
html{max-width:100%;overflow-x:hidden}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
img{height:auto}
iframe{max-width:100%}
pre,code{max-width:100%}
pre{overflow:auto;-webkit-overflow-scrolling:touch}
input,select,textarea,button{max-width:100%}
textarea{resize:vertical}
.table-responsive,.responsive-table,.table_responsive,.table-wr,.table-wrapper{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{max-width:100%}
.modal-dialog{max-width:min(94vw,900px);margin-left:auto;margin-right:auto}
.dropdown-menu,.select2-dropdown{max-width:calc(100vw - 24px)}
.row>*{min-width:0}
[class*="col-"]{min-width:0}
.ex-icon-fallback{display:inline-grid;place-items:center;vertical-align:-.125em;width:1em;height:1em;line-height:1;flex:0 0 auto}
.ex-icon-fallback svg{display:block;width:1em;height:1em;overflow:visible}
.ex-broken-media{display:block;min-width:42px;min-height:42px;object-fit:contain;background:rgba(127,127,127,.08);border-radius:10px}
.ex-theme-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:767px){
  body{min-width:320px}
  .container,.container-fluid{max-width:100%}
  .modal-dialog{width:calc(100% - 20px)!important;margin:10px auto!important}
  .card,.panel,.well{max-width:100%}
  .btn-group{max-width:100%;flex-wrap:wrap}
  .form-inline{flex-wrap:wrap}
  .input-group{max-width:100%}
  .pagination{max-width:100%;overflow-x:auto;justify-content:flex-start;-webkit-overflow-scrolling:touch}
  .dropdown-menu{max-width:calc(100vw - 20px)!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
