/* StudioBook V3.45 · mobile reservation/payment dialogs never overflow the viewport. */
@media(max-width:800px){
 html,body,#app,.shell,.main,.sb-workspace{max-width:100%;min-width:0;overflow-x:clip}
 .sb-app-topbar .sb-admin-demo-shortcut{display:none!important}
 .modal{box-sizing:border-box!important;position:fixed!important;inset:0!important;max-width:100vw!important;width:100vw!important;display:flex!important;align-items:flex-start!important;justify-content:center!important;z-index:1000!important;padding:12px 12px calc(104px + env(safe-area-inset-bottom))!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important}
 .modal>.modal-card,.modal>.modal-card.wide,.modal>.payment-modal{box-sizing:border-box!important;flex:0 1 auto!important;display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;max-height:calc(100dvh - 130px - env(safe-area-inset-bottom))!important;overflow-x:hidden!important;overflow-y:auto!important;margin:0 auto!important;padding:17px 14px 22px!important;border-radius:19px!important;overflow-wrap:anywhere!important}
 .modal-card>*,.payment-modal>*,.payment-modal .row>*,.payment-modal .payment-section,.payment-form-grid>*{min-width:0;max-width:100%}
 .payment-modal>.row:first-child{display:flex;align-items:flex-start!important;flex-wrap:nowrap!important;gap:8px!important}
 .payment-modal>.row:first-child>div:first-child{flex:1 1 0;min-width:0}
 .payment-modal>.row:first-child>button{flex:0 0 40px;width:40px;min-width:40px!important;min-height:40px;padding:7px!important}
 .payment-modal h2{font-size:clamp(19px,5.5vw,26px)!important;line-height:1.25!important;margin:5px 0 9px!important;overflow-wrap:anywhere;word-break:normal}
 .payment-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:15px 0!important}
 .payment-summary-grid>div{min-width:0!important;max-width:100%!important;padding:11px!important}
 .payment-summary-grid small{font-size:10px!important;letter-spacing:0!important;line-height:1.3!important;overflow-wrap:anywhere}
 .payment-summary-grid strong{font-size:clamp(16px,4.6vw,20px)!important;line-height:1.25!important;overflow-wrap:anywhere}
 .payment-form-grid{grid-template-columns:minmax(0,1fr)!important}
 .payment-form-grid input,.payment-form-grid select,.payment-form-grid textarea,.modal-card input,.modal-card select,.modal-card textarea{box-sizing:border-box;min-width:0;max-width:100%;width:100%;font-size:16px!important}
 .payment-history-row{min-width:0;max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:360px){.payment-summary-grid{grid-template-columns:minmax(0,1fr)!important}}
