html.booking-modal-open{overflow:hidden}
.booking-modal{position:fixed;inset:0;margin:auto;padding:0;width:min(1080px,calc(100% - 48px));height:min(800px,calc(100dvh - 40px));max-width:none;max-height:none;overflow:hidden;border:0;border-radius:16px;background:#f5f7fa;color:#101b2b;box-shadow:0 32px 100px #0008}
.booking-modal[open]{display:flex;flex-direction:column}
.booking-modal::backdrop{background:#030914cf;backdrop-filter:blur(8px)}
.booking-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:0 0 auto;padding:14px 24px;background:#fff;border-top:3px solid #cf8c43}
.booking-header h2{font-size:22px;line-height:1.1;letter-spacing:-.025em;margin:0}
.booking-close{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;min-width:44px;min-height:44px;padding:10px;background:#eef1f5;border:0;border-radius:99px;color:#101b2b;font-family:inherit;font-size:14px;line-height:1.3;font-weight:600;cursor:pointer}
.booking-close span{display:none}
.booking-close svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8}
.booking-close:hover{background:#e0e6ed}
.booking-scroll{flex:1 1 auto;min-height:0;overflow:auto;overflow-anchor:none;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.booking-modal .meetings-iframe-container{min-width:0;width:100%;min-height:590px}
.booking-modal .meetings-iframe-container iframe{display:block;width:100%!important;max-width:100%;border:0}
.booking-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 20px;padding:32px 20px;font-size:16px;line-height:1.5;text-align:center}
.booking-status[hidden],.booking-status [hidden]{display:none}
.booking-status button,.booking-status a{min-height:44px;display:inline-flex;align-items:center;border:0;border-radius:4px;padding:8px 12px;background:#e4e9f0;font:inherit;color:#101b2b;text-decoration:underline;cursor:pointer}
.booking-modal :is(button,a,[tabindex="0"]):focus-visible{outline:3px solid #a65016;outline-offset:3px}
.booking-scroll:focus-visible{outline-offset:-4px!important}
@media(max-width:620px){.booking-modal{width:calc(100% - 12px);height:calc(100dvh - 12px);border-radius:12px}.booking-header{padding:12px 16px}.booking-header h2{font-size:20px}.booking-scroll{scrollbar-gutter:auto}.booking-modal .meetings-iframe-container{min-height:640px}}
@media(max-width:335px){.booking-modal{width:100%;height:100dvh;border-radius:0}}
@media(prefers-reduced-motion:reduce){.booking-modal *{scroll-behavior:auto}}

@media(max-height:500px) and (orientation:landscape){
 .booking-modal{height:calc(100dvh - 12px);width:min(1080px,calc(100% - 24px));border-radius:10px}
 .booking-header{padding:7px 16px}
 .booking-header h2{font-size:20px}
}

