.booking-dialog{
  width:min(940px,calc(100vw - 32px))!important;
  max-width:940px!important;
  max-height:calc(100dvh - 28px)!important;
  margin:auto!important;
  overflow:auto!important;
  border-radius:18px!important;
}
.booking-dialog .booking-head{padding:38px 42px 24px!important}
.booking-dialog .booking-head h2{font-size:clamp(34px,4.2vw,58px)!important;line-height:.94!important;max-width:760px}
.booking-dialog #booking-form{padding:0 42px 38px!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important}
.booking-dialog #booking-form>.wide,
.booking-dialog #booking-form>.fine-print,
.booking-dialog #booking-form>.form-error,
.booking-dialog #booking-form>.booking-total,
.booking-dialog #booking-form>.confirm-button{grid-column:1/-1!important;width:100%!important}
.booking-dialog .booking-participants{margin:2px 0;padding:16px;border:1px solid #d8d8d1;background:#fff;min-width:0}
.booking-dialog .booking-participants>legend{padding:0 8px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.booking-dialog .booking-participants>p{margin:0 0 14px;color:#616b76;font-size:12px;line-height:1.45}
.booking-dialog #booking-participant-rows{display:grid;gap:12px}
.booking-dialog .booking-participant{padding:14px;border:1px solid #e2e2dc;background:#f7f7f4;min-width:0}
.booking-dialog .booking-participant h3{margin:0 0 11px;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.booking-dialog .booking-participant>div{display:grid;grid-template-columns:minmax(160px,1.25fr) minmax(135px,.8fr) minmax(90px,.45fr) minmax(190px,1.35fr);gap:10px}
.booking-dialog .booking-participant label{padding:12px!important;border:1px solid #e0e0da;min-width:0}
.booking-dialog .booking-participant input,.booking-dialog .booking-participant select{min-width:0;width:100%}
.booking-dialog #booking-form .checkbox-label{grid-column:1/-1!important;width:100%!important;min-width:0!important;display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:12px!important}
.booking-dialog #booking-form .checkbox-label input{width:18px!important;height:18px!important;flex:0 0 18px!important;margin:1px 0 0!important}
.booking-dialog #booking-form .checkbox-label span{flex:1 1 auto!important;min-width:0!important;margin:0!important;line-height:1.45!important}
.booking-dialog #booking-availability.capacity-warning{padding:11px 13px;border:1px solid #f2b4a5;border-radius:6px;background:#fff0eb;color:#a42f19;font-weight:800;line-height:1.45}
@media(max-width:760px){
  .booking-dialog{width:calc(100% - 14px)!important;max-width:none!important;max-height:calc(100dvh - 14px)!important;border-radius:16px!important}
  .booking-dialog .booking-head{padding:34px 20px 20px!important}
  .booking-dialog #booking-form{padding:0 20px 28px!important;grid-template-columns:1fr!important}
  .booking-dialog #booking-form>label{grid-column:1/-1!important}
  .booking-dialog .booking-participant>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .booking-dialog .booking-participant label:last-child{grid-column:1/-1}
}
@media(max-width:430px){
  .booking-dialog .booking-participant>div{grid-template-columns:1fr}
  .booking-dialog .booking-participant label:last-child{grid-column:auto}
}
