/* Shared content gutters and overflow prevention, without clipping controls. */
@media screen and (max-width:800px){
  *,*::before,*::after{box-sizing:border-box}
  body{margin:0}
  main,section,article,aside,form,fieldset,details,dialog{min-width:0}
  body>main{width:100%;max-width:100%;padding-left:max(20px,env(safe-area-inset-left))!important;padding-right:max(20px,env(safe-area-inset-right))!important}
  body.thanks-page>main.card{width:calc(100% - 40px);max-width:calc(100% - 40px);padding:22px 18px!important}
  main :is(.shell,.container){max-width:100%;padding-left:0!important;padding-right:0!important}
  main :is(h1,h2,h3,p,li,dd,label,a,strong,small,summary){overflow-wrap:anywhere}
  main :is(.grid,.row,.fields,.layout,.action-grid,.list-entry,.kit-row,.line,.item,.summary,.cart-line,.cart-item,.product-row,.product-actions,.order,.card,.form-card,.account-extra,.delivery-summary,.approval-share-panel)>*{min-width:0}
  main :is(.card,.form-card,.list-builder,.orders-controls,.order-canceled){max-width:100%;padding-left:16px!important;padding-right:16px!important}
  main :is(input,select,textarea){max-width:100%;min-width:0;font-size:16px}
  main input[type=file]{width:100%;overflow:hidden}
  main fieldset{max-width:100%;margin-left:0;margin-right:0}
  main :is(button,.button,.primary-button,.submit,.add-to-cart,.add-to-quote){max-width:100%;min-height:44px;white-space:normal;overflow-wrap:anywhere;line-height:1.4}
  main :is(.actions,.review-actions,.saved-list-actions,.tabs,.orders-tabs,.product-actions){display:flex;flex-wrap:wrap;gap:10px}
  main :is(.actions,.saved-list-actions,.orders-tabs)>*{margin-right:0}
  main :is(img,video,iframe,embed,object){max-width:100%}
  main img{height:auto}
  main table{max-width:100%}
  main :is(th,td){overflow-wrap:anywhere}
  main pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere}
  dialog{box-sizing:border-box;max-width:calc(100% - 40px)!important;padding:20px!important}
  .site-header .header-row{padding-left:max(20px,env(safe-area-inset-left))!important;padding-right:max(20px,env(safe-area-inset-right))!important}
  .site-header .identity{flex-shrink:1!important;min-width:0}
  .site-header .identity-name{min-width:0;overflow-wrap:anywhere;line-height:1.2}
  .site-header .mobile-menu-panel{padding-left:max(20px,env(safe-area-inset-left))!important;padding-right:max(20px,env(safe-area-inset-right))!important}
  .site-header .mobile-menu-panel a{min-width:0;overflow-wrap:anywhere}
  .site-footer .footer-details,.site-footer .footer-bottom{padding-left:max(20px,env(safe-area-inset-left))!important;padding-right:max(20px,env(safe-area-inset-right))!important}
  .site-footer .footer-details{grid-template-columns:1fr!important}
  body.checkout-site-body>:is(h1,p,#orders,#files,#message){max-width:100%;padding-left:20px!important;padding-right:20px!important;overflow-wrap:anywhere}
}
@media screen and (max-width:600px){
  main :is(.grid,.row,.fields,.layout,.action-grid,.guide-layout,.steps,.choose-grid,.category-items-grid,.desk-grid,.start-actions,.product-facts,.approval-meta){grid-template-columns:minmax(0,1fr)!important}
  main :is(.grid,.row,.fields,.layout)>:is(.wide,[style*="grid-column"]){grid-column:1/-1!important}
  main :is(.list-entry,.kit-row,.line,.item){grid-template-columns:minmax(0,1fr) 76px!important}
  main .line{grid-template-columns:minmax(0,1fr)!important}
  main .list-entry button{grid-column:1/-1;white-space:normal}
  main .cart-line,main .cart-item{grid-template-columns:minmax(0,1fr) auto!important}
  main .cart-line>div,main .cart-item>div{grid-column:1/-1}
  main .product-row{max-width:100%;grid-template-columns:minmax(0,1fr)!important;flex-wrap:wrap}
  main .product-actions{justify-content:flex-start!important;width:100%}
  main .product-actions>a,main .product-actions>button{min-height:44px}
  .site-header .identity-mark{width:34px;height:34px;font-size:25px}
  .site-header .identity-name{font-size:14px}
  .site-header .identity-name span{font-size:8px;letter-spacing:.07em}
  main .progress{flex-wrap:wrap}
  main .progress li{flex:1 1 75px}
  main .approval-total{display:block}
  main .approval-total span{display:block;margin:6px 0}
}
