.demo-meta{font-size:12px;line-height:1.7;color:#416779;margin:14px 0 0}.demo-meta span{padding:0 6px;color:#6c929f}
.booking-calendar{display:grid;grid-template-columns:1.15fr 1fr;gap:0;margin-top:30px;border:1px solid #ffffff7a;border-radius:22px;background:linear-gradient(125deg,#f2ffff52,#d1e4f036);box-shadow:inset 0 1px 0 #fff8;overflow:hidden}
.calendar-pane{padding:24px;border-right:1px solid #48758b26}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.calendar-header h3{font-size:19px;letter-spacing:-.5px;margin:0;color:#153e50}.month-buttons{display:flex;gap:7px}.month-buttons button{display:grid;place-items:center;padding:0;width:32px;height:32px;border:1px solid #54849830;border-radius:10px;background:#efffff66;color:#225c70;transition:background .16s,transform .16s}.month-buttons button:hover:not(:disabled){background:#f6ffffbc}.month-buttons button:active:not(:disabled){transform:scale(.92)}.month-buttons svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.month-buttons button:disabled{opacity:.3;cursor:default}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekdays{margin-bottom:10px;text-align:center;font-size:10px;font-weight:600;color:#527589}.calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:49px;padding:5px 0;border:1px solid transparent;border-radius:11px;background:#eafaff38;color:#1b4e60;transition:background .14s,transform .14s,border-color .14s;position:relative}.calendar-day strong{font-size:13px;font-weight:600}.calendar-day small{font-size:8px;line-height:1.2;color:#327482;min-height:10px}.calendar-day:hover:not(:disabled){background:#edffffa1;border-color:#5bb9c351;transform:translateY(-1px)}.calendar-day.today:after{content:"";position:absolute;top:4px;right:5px;width:3px;height:3px;border-radius:50%;background:#16859a}.calendar-day.selected{background:linear-gradient(135deg,#1b9eb2,#147b9b);border-color:#2ea3b7;color:#fff;box-shadow:0 4px 14px #237a9133,inset 0 1px 0 #a2ffff5c}.calendar-day.selected small{color:#d8fbff}.calendar-day.selected:hover:not(:disabled){background:#178da5}.calendar-day:disabled{background:transparent;color:#6d8c9b66;cursor:default}.calendar-day.fully-booked:not(.selected){background:#5c7c8b14;color:#577988}.calendar-day.fully-booked small{color:#6a8190}.calendar-legend{display:flex;gap:18px;margin-top:18px;font-size:9px;color:#4b7181}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:6px;height:6px;border-radius:50%;background:#168b9e}.calendar-legend i.full{background:#7c939d}
.time-pane{padding:27px 26px}.time-pane .eyebrow{font-size:9px;letter-spacing:1.7px}.time-pane h3{font-size:19px;letter-spacing:-.5px;margin:13px 0 8px;color:#173d50}.time-zone-note{font-size:11px;color:#4d7282;line-height:1.6;margin:0 0 21px}.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.time-slot{border:1px solid #4b93a23b;border-radius:13px;padding:14px 8px;background:#efffff55;color:#1d5668;display:flex;flex-direction:column;align-items:center;gap:6px;transition:transform .14s,background .14s,box-shadow .14s}.time-slot strong{font-size:13px;font-weight:600;white-space:nowrap}.time-slot span{font-size:10px;color:#4d8190}.time-slot:hover:not(:disabled){background:#f5ffffc2;transform:translateY(-2px);box-shadow:0 6px 16px #1f627517}.time-slot.chosen{background:#176f89;color:#fff;border-color:#176f89;box-shadow:inset 0 1px 0 #a0f7ff50}.time-slot.chosen span{color:#bceff3}.time-slot.chosen:hover:not(:disabled){background:#166b84}.time-slot:disabled{background:#6b829c0c;border-color:#6b829c20;color:#6d8795;cursor:not-allowed}.time-slot:disabled span{color:#738a96}.slot-summary,.local-time{font-size:11px;line-height:1.7;color:#386878;margin:20px 0 0}.local-time{font-size:10px;color:#557a8a;margin-top:8px}.local-time:empty{display:none}
.calendar-status{color:#265e74;font-size:12px;line-height:1.7;min-height:0;margin:12px 0 0}.calendar-status:empty{display:none}.calendar-retry{border:1px solid #39839666;border-radius:20px;padding:8px 16px;background:#f0ffff55;color:#225b70;margin-top:8px;font-size:12px}.booking-submit-row{display:flex;align-items:center;gap:20px}.booking-submit-row .notice{max-width:440px;line-height:1.6}.drawer button.pill:disabled{cursor:default;filter:grayscale(.45);opacity:.5;transform:none;box-shadow:none}.booking-confirmation{text-align:center;padding:45px 15px 25px}.confirmation-check{display:inline-grid;place-items:center;width:56px;height:56px;border:1px solid #ffffff80;border-radius:50%;background:#278c9e22;color:#127c87;font-size:25px}.booking-confirmation h3{font-size:27px;letter-spacing:-.7px;color:#123c50;margin:22px 0 15px}.booking-confirmation p{font-size:14px;line-height:1.8;color:#315e72}.booking-confirmation .notice{font-size:11px;line-height:1.8}.booking-confirmation .pill{margin:10px 0}.drawer [hidden]{display:none!important}a.pill{display:inline-block}.plan-detail #plan-start{align-self:start}
@media(max-width:900px){.calendar-pane{padding:18px}.time-pane{padding:22px 18px}.calendar-day{min-height:46px}}
@media(max-width:650px){.booking-calendar{grid-template-columns:1fr}.calendar-pane{border-right:0;border-bottom:1px solid #48758b26}.calendar-day{min-height:45px}.time-pane{padding:24px 20px}.booking-submit-row{align-items:stretch;flex-direction:column;gap:4px}.booking-submit-row .pill{align-self:start}.demo-meta{font-size:11px}.calendar-header{margin-bottom:18px}.drawer-content{padding-left:5vw;padding-right:5vw}.booking-confirmation h3{font-size:23px}}
