/* HOLiUS Portal Responsive Guard v1
   Cross-domain safety layer only. Page/component CSS remains authoritative. */
:root{
  --portal-content-max:1180px;
  --portal-reading-max:860px;
}
html,body,main{min-width:0;max-width:100%}
main,.container,.card,form,fieldset,.toolbar,.section-head{min-width:0}
img,video,canvas{max-width:100%;height:auto}
iframe{max-width:100%}
input,select,textarea,button{max-width:100%}
pre,code{overflow-wrap:anywhere}
.page-hero p,.card p,.meta,.list-item,.admin-row{overflow-wrap:anywhere;word-break:break-word}

@media (max-width:760px){
  :root{--portal-page-x:16px}
  html{overflow-x:hidden}
  body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  main{padding-bottom:env(safe-area-inset-bottom)}
  .container{width:100%!important;max-width:var(--portal-content-max);padding-left:var(--portal-page-x)!important;padding-right:var(--portal-page-x)!important}
  button,[role="button"],a.btn{min-height:44px!important}
  .toolbar,.section-head,.pagination,.footer-links{flex-wrap:wrap}
  .pagination{gap:6px}
  .pagination a,.pagination button,details>summary{min-height:44px}
  .pagination a,.pagination button{min-width:44px;display:inline-flex;align-items:center;justify-content:center}
  details>summary{display:flex;align-items:center;cursor:pointer}
  input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),select{min-height:48px}
  textarea{min-height:96px}
  .table-wrap,.maintenance-table-wrap,.admin-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .site-footer{padding-bottom:max(20px,env(safe-area-inset-bottom))}
  .site-footer .footer-grid{gap:16px}
  .footer-links{gap:8px 14px}
}

@media (max-width:380px){
  :root{--portal-page-x:14px}
}

@media (min-width:761px) and (max-width:1023px){
  .container{width:100%!important;max-width:var(--portal-content-max);padding-left:20px!important;padding-right:20px!important}
}

@media (min-width:1024px){
  .container{width:min(calc(100% - 40px),var(--portal-content-max))!important;max-width:var(--portal-content-max);padding-left:0!important;padding-right:0!important}
  .page-hero p{max-width:72ch}
  .form-card{max-width:720px}
  .market-chat-shell{max-width:860px}
  .maintenance-container{max-width:960px}
}

@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
}
