/* File: /assets/css/mobile-safety.css
   Technical mobile hardening only. No shared visual theme. */
html{
  box-sizing:border-box;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-padding-top:76px;
}
*,*::before,*::after{box-sizing:inherit}
body{max-width:100%;min-width:0;overflow-x:hidden;overscroll-behavior-x:none}
main,section,article,header,footer,nav,aside,div{min-width:0}
img,video,canvas,svg{max-width:100%}
button,input,select,textarea{font:inherit}
button,[role="button"],input,select,textarea{touch-action:manipulation}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:767px){
  html{scroll-padding-top:70px}
  body{-webkit-overflow-scrolling:touch}
  input,select,textarea{font-size:16px!important}
  button,[role="button"],input[type="button"],input[type="submit"],input[type="search"],select{min-height:44px}
  .menu-trigger,.cart-trigger,.mobile-menu-button,.icon-button{min-width:44px;min-height:44px}
  :where(.cart-drawer,.gallery-cart,.rock-cart,.museum-cart,.neon-cart,.heritage-ledger,.classic-cart,.mobile-menu){max-width:100vw;max-height:100dvh}
}
@media(max-width:420px){button,[role="button"],select{min-height:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
/* Templates 07-10 */
@media(max-width:767px){
  :where(.pop-cart,.pop-quick,.pop-mobile-menu,.nordic-cart,.nordic-quick,.mag-cart,.mag-quick,.mag-menu,.social-sheet,.social-search){max-width:100vw;max-height:100dvh}
  :where(.pop-primary,.pop-secondary,.pop-product button,.nordic-button,.nordic-card button,.mag-product button,.mag-add,.social-post button,.social-sheet button){touch-action:manipulation}
}
