/* MedFlex booking: scoped additions, existing site design retained. */
.mcz-booking-panel { min-width: 0; }
.mcz-booking-panel h3 { margin: 0 0 12px; }
.mcz-booking-frame { display: block; box-sizing: border-box; width: 100%; height: 700px; border: 1px solid #dce3ec; border-radius: 16px; background: #eef2fc; }
.mcz-booking-fallback, .mcz-booking-help { font-size: 14px; line-height: 1.5; }
.mcz-booking-panel a { overflow-wrap: anywhere; }
.mcz-booking-a11y { padding: 8px 0; min-height: 44px; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.mcz-booking-a11y:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.medflex-round-widget__button { bottom: 118px !important; left: auto !important; right: 24px !important; width: 76px !important; height: 76px !important; font-size: 16px !important; }
body.mcz-inline-booking-visible .medflex-round-widget__button,
body.mcz-inline-booking-visible .mobile-cta,
body.mcz-inline-booking-visible .a11y-tab { visibility: hidden !important; pointer-events: none !important; }
@media(max-width: 767px) {
  .container:has(.mcz-booking-panel) { width: calc(100% - 20px); }
  .cta-panel:has(.mcz-booking-panel) { padding: 24px 0; }
  .cta-panel:has(.mcz-booking-panel) .cta-copy { padding: 0 18px; }
  .form-card:has(.mcz-booking-panel) { padding: 20px 0; }
  .mcz-booking-panel > h3, .mcz-booking-panel > p { margin-left: 14px; margin-right: 14px; }
  .mcz-booking-frame { height: 76vh; height: 76svh; min-height: 470px; }
  .medflex-round-widget__button { bottom: calc(168px + env(safe-area-inset-bottom, 0px)) !important; right: 16px !important; width: 64px !important; height: 64px !important; font-size: 14px !important; }
}
