.booking-scheduler[hidden],.booking-form[hidden],.calendar-retry[hidden]{display:none}
.booking-layout.calendar-open{grid-template-columns:minmax(0,1fr);gap:24px}
.calendar-open .booking-intro h1{font-size:clamp(28px,3vw,40px)}
.calendar-open .booking-intro .intro-copy,.calendar-open .meeting-note,.calendar-open .booking-note{display:none}
.booking-scheduler{grid-column:1/-1;min-width:0;border:1px solid var(--border);border-radius:16px;background:var(--raised);box-shadow:0 8px 0 -5px var(--border),0 20px 30px -24px #102a4359;overflow:hidden}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 28px 16px;border-bottom:1px solid var(--border)}
.calendar-heading .eyebrow{font-size:10px;margin:0 0 10px}
.calendar-heading h2{font-size:23px;line-height:1.25;margin:0 0 12px;letter-spacing:-.5px}
.calendar-context{font-size:13px;margin:0;color:var(--muted)}
.calendar-context strong{font-weight:600;color:var(--ink)}
.calendar-change{flex-shrink:0;font:500 13px/1.4 'DM Sans',sans-serif;cursor:pointer;min-height:44px}
.calendar-status{min-height:40px;padding:12px 28px;margin:0;font-size:12px;color:var(--muted);background:var(--canvas)}
.calendar-embed{min-width:0;background:#fff}
.calendar-embed iframe{display:block;width:100%;height:720px;border:0;color-scheme:light}
.calendar-fallback{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:18px 28px;border-top:1px solid var(--border);font-size:12px;color:var(--muted)}
.calendar-fallback a,.calendar-retry{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--ink);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.calendar-retry{border:0;background:none;padding:0;font:600 12px/1.5 'DM Sans',sans-serif;cursor:pointer}
.calendar-fallback a:focus-visible,.calendar-retry:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-radius:3px}
@media(max-width:600px){.calendar-heading{align-items:flex-start;flex-direction:column;padding:20px 16px;gap:16px}.calendar-heading h2{font-size:22px}.calendar-status{padding:12px 16px}.calendar-fallback{padding:12px 16px;gap:0 16px}.calendar-fallback>span{width:100%}.calendar-embed iframe{height:760px}.calendar-open .booking-intro h1{font-size:30px}}

.booking-other{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:20px;padding-top:18px;border-top:1px solid var(--border);font-size:13px}.booking-other>span{width:100%;color:var(--muted);font-size:11px}.booking-other a{display:inline-flex;align-items:center;gap:12px;min-height:36px;text-decoration:underline;text-underline-offset:4px}

.meeting-calendar-icon{display:block;flex-shrink:0;width:64px;height:64px;object-fit:contain}
.booking-request-icon{display:block;flex-shrink:0;width:32px;height:32px;object-fit:contain}
.booking-privacy{margin:16px 0 0;font-size:12px;color:var(--muted)}
.booking-privacy a{text-decoration:underline;text-underline-offset:4px}
.calendar-status:empty{display:none}
.calendar-preferences-unavailable{padding:24px 28px;color:#1e3e5f;font-size:14px;line-height:1.6}
