body.booking-body .calendar-shell,body.booking-body.is-followup .calendar-shell{display:grid;grid-template-columns:260px minmax(0,1fr);max-width:1100px;gap:0;background:white;border:1px solid #e7deed;border-radius:22px;box-shadow:0 18px 60px rgba(66,31,84,.08);overflow:hidden;margin:40px auto 56px}
.calendar-info{padding:32px 26px;border-right:1px solid #eee5f2;min-width:0}
.calendar-info h1{font-size:28px;line-height:1.25;letter-spacing:-.035em;margin:18px 0;color:#302138}
.calendar-info>p:not(.eyebrow){font-size:14px;line-height:1.7;color:#786c81}
.calendar-meta{margin:26px 0;border-top:1px solid #eee5f2;padding-top:12px}
.calendar-meta p{font-size:12px;line-height:1.7;color:#786c81}
body.booking-body .calendar-card{border:0;border-radius:0;box-shadow:none;min-width:0}
body.booking-body .calendar-card #bookingForm,body.booking-body.is-followup .calendar-card #bookingForm{padding:0}
.calendar-columns{display:grid;grid-template-columns:minmax(0,1fr) 210px}
.month-panel{padding:28px;min-width:0}
.month-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:24px}
.month-heading h2{margin:0;font-size:18px;text-transform:capitalize}
.month-heading>div{display:flex;gap:6px}
.month-heading button{border:1px solid #e6ddea;border-radius:9px;width:32px;height:32px;background:white;color:#71308f;font-size:24px;padding:0;cursor:pointer}
.month-heading button:disabled{opacity:.3;cursor:default}
.weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;gap:6px}
.weekdays{font-size:11px;color:#918298;margin-bottom:12px}
.calendar-days button{aspect-ratio:1;border:0;border-radius:50%;background:#f4eef8;color:#71308f;font-size:13px;font-weight:700;cursor:pointer;padding:0;min-width:0}
.calendar-days button:hover,.calendar-days button.active{background:#71308f;color:white}
.calendar-days button:disabled{color:#b8b0bb;background:transparent;cursor:default}
.calendar-days button:focus-visible,.slot:focus-visible,.month-heading button:focus-visible{outline:3px solid #15c0fa;outline-offset:2px}
.month-panel .calendar-help{font-size:11px;line-height:1.6;margin-top:20px;color:#786c81}
.time-panel{padding:28px 20px;border-left:1px solid #eee5f2;min-width:0}
.time-panel h3{font-size:13px;line-height:1.5;text-transform:capitalize;margin:0}
.calendar-timezone{font-size:11px;color:#918298;margin:6px 0 18px}
body.booking-body .time-panel .slot-grid{display:grid;grid-template-columns:1fr;gap:8px;max-height:330px;overflow:auto;margin:0}
body.booking-body .time-panel .slot-grid>.muted{padding:12px;font-size:12px}
body.booking-body .time-panel .slot{min-height:42px;font-size:13px}
.selection-bar{border-top:1px solid #eee5f2;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fcf9fe}
.selection-bar[hidden]{display:none}
.selection-bar p{font-size:13px;color:#71308f;line-height:1.6;margin:0;text-transform:capitalize}
body.booking-body .calendar-card #contactFields{margin:0;padding:26px 28px}
body.booking-body .calendar-card #bookingResult{padding:28px}
@media(max-width:900px){body.booking-body .calendar-shell,body.booking-body.is-followup .calendar-shell{grid-template-columns:220px minmax(0,1fr);width:calc(100% - 40px);max-width:none}.calendar-info{padding:26px 20px}.calendar-info h1{font-size:25px}.calendar-columns{grid-template-columns:minmax(0,1fr) 180px}.month-panel{padding:24px 18px}.time-panel{padding:24px 16px}}
@media(max-width:760px){body.booking-body .calendar-shell,body.booking-body.is-followup .calendar-shell{display:block;max-width:600px;margin-top:32px}.calendar-info{border-right:0;border-bottom:1px solid #eee5f2}.calendar-info h1{font-size:27px;max-width:400px}.calendar-meta{margin:16px 0}.calendar-columns{grid-template-columns:minmax(0,1fr) 180px}}
@media(max-width:480px){body.booking-body .calendar-shell,body.booking-body.is-followup .calendar-shell{width:calc(100% - 28px)}.calendar-columns{display:block}.time-panel{border-left:0;border-top:1px solid #eee5f2;padding:22px 18px}.month-panel{padding:24px 18px}.calendar-days{gap:8px}body.booking-body .time-panel .slot-grid{grid-template-columns:1fr 1fr;max-height:240px}.selection-bar{flex-direction:column;align-items:stretch;padding:18px}.selection-bar button{justify-content:center}body.booking-body .calendar-card #contactFields{padding:24px 18px}.calendar-info h1{font-size:26px}}
body.booking-body .calendar-card{padding:0}
.calendar-days button{width:100%;max-width:46px;justify-self:center}
.calendar-info>p.approval-note{font-size:12px;color:#71308f}
@media(max-width:480px){.calendar-days{gap:4px}}
