.booking-calendar{grid-template-columns:minmax(245px,.95fr) minmax(225px,1.05fr);gap:20px;display:grid}.calendar-panel,.time-panel{min-width:0}.calendar-heading{justify-content:space-between;align-items:flex-start;gap:10px;min-height:45px;margin-bottom:14px;display:flex}.calendar-heading h3{color:var(--ink);margin:3px 0 0;font-size:14px;font-weight:700}.booking-calendar .calendar-heading h3{text-transform:none}.calendar-label{color:var(--muted);margin:0;font-size:10px}.calendar-navigation{gap:6px;display:flex}.calendar-navigation button{border:1px solid var(--line);width:31px;height:31px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:9px;place-items:center;font-size:21px;line-height:1;display:grid}.calendar-navigation button:hover:not(:disabled){color:var(--purple);border-color:#c8a9ef}.calendar-navigation button:disabled{color:#c9c3cf;cursor:default}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-weekday{color:#9991a0;place-items:center;min-height:25px;font-size:9px;font-weight:700;display:grid}.calendar-empty{min-height:34px}.calendar-day{color:#51495a;width:100%;min-height:34px;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;place-items:center;font-size:11px;transition:background .14s,color .14s,border-color .14s;display:grid}.calendar-day:hover:not(:disabled){color:var(--purple);background:#faf6ff;border-color:#d9c5f1}.calendar-day.is-selected{background:linear-gradient(120deg, var(--purple), var(--electric));color:#fff;border-color:#0000;font-weight:700;box-shadow:0 5px 12px #6f3fd033}.calendar-day:disabled{color:#d2cdd7;cursor:default}.calendar-day:focus-visible,.calendar-navigation button:focus-visible,.time-option:focus-visible{outline-offset:2px;outline:3px solid #a100ff47}.time-heading{margin-bottom:14px}.time-heading h3{text-overflow:ellipsis;white-space:nowrap;max-width:210px;font-size:12px;overflow:hidden}.time-options{grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;gap:7px;max-height:235px;padding:1px 3px 4px 1px;display:grid;overflow-y:auto}.time-option{border:1px solid var(--line);color:#51495a;min-height:35px;font:inherit;cursor:pointer;background:#fff;border-radius:9px;font-size:10px;transition:border-color .14s,background .14s,color .14s}.time-option:hover{color:var(--purple);border-color:#c8a9ef}.time-option.is-selected{border-color:var(--purple);color:var(--purple);background:#f4eaff;font-weight:700;box-shadow:0 0 0 2px #6f3fd014}.time-option:disabled,.time-option.is-unavailable{color:#aaa3b0;cursor:not-allowed;background:#f4f1f6;border-color:#eeeaf1;text-decoration:line-through}.time-empty{min-height:110px;color:var(--muted);border:1px dashed #e3d9ed;border-radius:12px;align-items:center;margin:0;padding:16px;font-size:11px;line-height:1.6;display:flex}.calendar-note{color:#8c8494;margin:12px 0 0;font-size:9px;line-height:1.55}.booking-submit:disabled{box-shadow:none;cursor:not-allowed;background:#c8bdd5;transform:none}@media (max-width:520px){.booking-calendar{grid-template-columns:1fr;gap:24px}.calendar-grid{gap:4px}.calendar-day,.calendar-empty{min-height:39px}.calendar-weekday{min-height:27px}.time-options{max-height:210px}}
