.luna #booking{width:min(850px,calc(100% - 28px));padding:34px 38px;max-height:92dvh;border-radius:14px;box-shadow:0 24px 100px #160d2866}
.luna #booking h2{font-size:58px;margin:12px 0 16px}.luna #booking .eyebrow{margin-bottom:0}.luna #booking .demo-note{margin-bottom:20px}
.luna #booking select{padding:11px 14px;border-color:#492b3b33;border-radius:6px;margin-bottom:8px;background:#fff9}
.booking-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px}.booking-layout fieldset{min-width:0}.booking-layout legend{margin-bottom:12px}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.calendar-heading h3{font:500 17px 'Jost',sans-serif;margin:0}.calendar-heading button{width:34px;height:34px;padding:0;border:1px solid #492b3b22;background:none;border-radius:50%;font-size:19px}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays{font-size:10px;text-align:center;opacity:.65;margin-bottom:8px}.calendar-days button{aspect-ratio:1;border:0;background:transparent;border-radius:50%;font-size:13px;min-width:0;padding:0;position:relative}.calendar-days button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.calendar-days button:not(:disabled):hover{box-shadow:inset 0 0 0 1px #492b3b55}.calendar-days [aria-current=date]:after{content:'';position:absolute;width:3px;height:3px;background:currentColor;border-radius:50%;bottom:4px;left:calc(50% - 1.5px)}
.luna #booking button:disabled{cursor:default;color:#492b3b66}.calendar-days button:disabled{opacity:.5}.calendar-note,.time-note{font-size:10px;color:#786772;margin:14px 0 0}.selected-date{font-size:13px;line-height:1.4;margin:8px 0 14px;min-height:20px}
.luna #booking .time-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:272px;overflow-y:auto;padding:3px;scrollbar-width:thin;scrollbar-color:#c5b7c0 transparent}
.luna #booking .time-options button{padding:8px 3px;border:1px solid #492b3b33;border-radius:6px;font-size:13px;display:flex;flex-direction:column;align-items:center;gap:2px;line-height:1.4;min-width:0}
.time-options button small{font-size:9px;letter-spacing:.2px;opacity:.7}.luna #booking .time-options button:disabled{background:#492b3b06;border-style:dashed;color:#897b83}.time-options button:disabled>span{text-decoration:line-through;text-decoration-thickness:1px}
.luna #booking .booking-result{min-height:56px;border-radius:6px;margin:8px 0 10px;padding:12px 15px;font-size:12px}.luna #booking>.underlink{font-size:11px}.empty-times{grid-column:1/-1;font-size:12px;margin:8px 0;opacity:.75}
@media(max-width:620px){.luna #booking{padding:28px 20px}.luna #booking h2{font-size:48px}.booking-layout{grid-template-columns:1fr;gap:3px}.calendar-days{gap:5px;max-width:340px;margin:auto}.calendar-weekdays{max-width:340px;margin:0 auto 8px}.calendar-heading{max-width:340px;margin:0 auto 12px}.calendar-note{text-align:center}.luna #booking .time-options{grid-template-columns:repeat(4,minmax(0,1fr));max-height:210px}.booking-layout fieldset{margin:12px 0}.luna #booking .booking-result{margin-top:12px}}
