/* Online booking: buttons beside existing CTAs, and the booking pop-out. Loaded only when a booking link is set. */
.booking-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.cta-section .booking-actions{align-self:flex-start}
.contact-form-section__booking{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.contact-form-section .gform_confirmation_message{block-size:auto!important}
.gform_confirmation_message .booking-actions{margin-top:24px}
.gform_confirmation_message .booking-actions__prompt{margin:0}

.booking-modal{position:fixed;inset:0;margin:auto;width:min(960px,92vw);height:min(820px,88vh);max-width:none;max-height:none;padding:0;border:0;border-radius:16px;overflow:hidden;background:#fafffc}
.booking-modal::backdrop{background:rgba(2,3,1,.6)}
.booking-modal__frame,.booking-modal__frame iframe{display:block;width:100%;height:100%;border:0}
.booking-modal__frame{position:relative}
.booking-modal__frame iframe{position:relative;z-index:1}
.booking-modal__frame.is-loading::before{content:"Loading the booking calendar\2026";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#14332e;font-size:18px}
.booking-modal__close{position:absolute;top:10px;right:10px;z-index:1;width:40px;height:40px;border:0;border-radius:50%;background:#14332e;color:#fafffc;font-size:26px;line-height:40px;text-align:center;cursor:pointer}
.booking-modal__close:hover{background:#f25124}
.booking-modal__close:focus-visible{outline:2px solid #f25124;outline-offset:2px}
