/* Quick booking uses the existing form; anchors remain useful without JavaScript. */
.booking-modal{
  position:fixed;inset:0 0 auto;z-index:9900;
  display:grid;place-items:center;height:var(--booking-viewport-height,100dvh);
  padding:24px;visibility:hidden;opacity:0;pointer-events:none;
  overflow:auto;overscroll-behavior:contain;
  transition:opacity .18s ease,visibility 0s linear .18s
}
.booking-modal.open{visibility:visible;opacity:1;pointer-events:auto;transition:opacity .18s ease,visibility 0s}
.booking-modal__backdrop{position:absolute;inset:0;background:rgba(24,31,37,.66)}
.booking-modal__card{
  position:relative;width:100%;max-width:510px;max-height:calc(var(--booking-viewport-height,100dvh) - 48px);
  overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  padding:38px;background:var(--ed-paper,#f7f2ea);color:var(--ed-ink,#232e36);
  border:1px solid rgba(35,46,54,.15);border-radius:12px;box-shadow:0 24px 80px rgba(0,0,0,.22)
}
.booking-modal__close{
  position:absolute;right:10px;top:10px;display:grid;place-items:center;
  width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--ed-ink,#232e36);
  font:400 30px/1 Arial,sans-serif;cursor:pointer
}
.booking-modal__card h2{
  max-width:13ch;margin:0 30px 12px 0;font:600 clamp(22px,4.4vw,30px)/1.2 'Comfortaa',sans-serif;
  letter-spacing:-.035em
}
.booking-modal__intro{max-width:42ch;margin:0 0 25px;font:500 15px/1.5 'Nunito',sans-serif;color:#46515e}
.booking-modal .cform{
  max-width:none;padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible
}
.booking-modal .ed-wm{display:none}
.booking-modal .ed-blank{max-width:none}
.booking-modal .ed-blank__line{display:block;margin:0 0 20px;font:600 14px/1.4 'Nunito',sans-serif}
.booking-modal .ed-blank .lbl{min-width:0;margin-bottom:7px;color:#46515e;letter-spacing:0}
.booking-modal .ed-blank .fld{display:block;min-width:0}
.booking-modal .ed-blank input[type=text],.booking-modal .ed-blank input[type=tel]{
  min-height:49px;padding:11px 13px;border:1px solid #919ba4;border-radius:8px;background:#fff;
  font:500 16px/1.4 'Nunito',sans-serif;color:var(--ed-ink,#232e36)
}
.booking-modal .ed-blank input:focus{border-color:#465c79;box-shadow:none}
.booking-modal .ed-blank input[aria-invalid="true"]{border-color:#8b2f36;box-shadow:0 0 0 1px #8b2f36}
.booking-modal .ed-blank .ed-btn{
  justify-content:center;width:100%;min-height:52px;margin-top:2px;padding:14px 16px;
  border-radius:999px;font-size:14px;line-height:1.4
}
.booking-modal .ed-blank small{max-width:none;margin-top:14px;font-size:12px;line-height:1.5}
.booking-modal .form-field-error{margin:-10px 0 15px;font-size:13px}
.booking-modal .lead-trn:not([hidden]){
  align-items:center;gap:10px;margin:0 0 14px;padding:5px 6px 5px 12px;
  border:1px solid #bcc6d0;border-radius:8px;background:#e7edf2;color:#334b64
}
.booking-modal .lead-trn__txt{min-width:0;font:600 13px/1.4 'Nunito',sans-serif;color:#334b64}
.booking-modal .lead-trn__txt b{color:#334b64}
.booking-modal .lead-trn__x{flex:none;margin-left:auto;color:#334b64}
.booking-modal .done{padding:12px 0;text-align:left}
.booking-modal .done h3{font-size:22px;line-height:1.35}
.booking-modal .done p{font:500 15px/1.5 'Nunito',sans-serif;color:#46515e}
.booking-modal .form-err{margin-top:14px;color:#8b2f36;font:600 14px/1.4 'Nunito',sans-serif}
.booking-form-placeholder[hidden]{display:none}
@media(max-width:560px){
  .booking-modal{padding:12px}
  .booking-modal__card{max-height:calc(var(--booking-viewport-height,100dvh) - 24px);padding:31px 22px 25px}
  .booking-modal__intro{font-size:14px;margin-bottom:20px}
}
@media(max-height:500px){
  .booking-modal{place-items:start center}
  .booking-modal__card{padding-top:25px}
  .booking-modal__intro{margin-bottom:16px}
}
@media(prefers-reduced-motion:reduce){.booking-modal{transition:none}}
