/* V134: accessible, clickable 1–4 booking-step navigation. */
.booking-progress > button.booking-progress-step{
  appearance:none; -webkit-appearance:none; box-sizing:border-box;
  flex:0 0 36px; width:36px; height:36px; min-height:36px;
  display:grid; place-items:center; padding:0; margin:0;
  font-family:inherit; font-weight:900; font-size:15px; line-height:1;
  color:#46566d; background:#edf3f8; border:2px solid #cbd7e4;
  border-radius:50%; box-shadow:none; cursor:pointer;
  transition:background .18s, border-color .18s, transform .18s, box-shadow .18s;
}
.booking-progress > button.booking-progress-step:hover{
  background:#fff1f0; color:#bf1020; border-color:#e30613; transform:translateY(-1px);
}
.booking-progress > button.booking-progress-step:focus-visible{
  outline:3px solid #169dc2; outline-offset:3px;
}
.booking-progress > button.booking-progress-step.active{
  background:#e30613; color:#fff; border-color:#e30613;
}
.booking-progress > button.booking-progress-step.current{
  box-shadow:0 8px 20px rgba(227,6,19,.28);
}
.booking-progress > button.booking-progress-step:active{transform:scale(.95)}
@media(max-width:450px){.booking-progress i{flex-basis:32px}}

/* V135: a separate, plainly stated booking request path without payment. */
.booking-no-deposit{margin-top:13px;text-align:center}
.booking-request-only{width:100%;display:flex;justify-content:center;padding:12px 18px;min-height:50px;background:#fff;border:2px solid #a7b5c9!important;color:#152237!important;font-weight:800;cursor:pointer}
.booking-request-only:hover{background:#f4f7fb!important;border-color:#e30613!important}
.booking-request-hint{font-size:13px;color:#58677b;line-height:1.4;margin:8px 0 0}
.booking-submit:disabled,.booking-request-only:disabled{opacity:.58;cursor:wait}
