.calendar-booking-button{font:inherit;cursor:pointer}
.booking-panel .calendar-booking-button{display:inline-flex;margin-top:15px}
.booking-panel p{margin:8px 0 0;color:var(--muted,#6d6579);font-size:.78rem;line-height:1.55}
.calendar-modal[hidden]{display:none}
.calendar-modal{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:22px;background:rgba(10,12,38,.72);backdrop-filter:blur(5px)}
.calendar-dialog{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1100px,100%);height:min(820px,calc(100vh - 44px));overflow:hidden;border:1px solid rgba(255,255,255,.3);border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(8,10,35,.38)}
.calendar-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;border-bottom:1px solid #e6e1ef;background:#fff}
.calendar-dialog-head span{color:#b77912;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.calendar-dialog-head h2{margin:3px 0 0;color:#101438;font:700 1.25rem Lora,serif}
.calendar-close{display:grid;width:42px;height:42px;place-items:center;flex:0 0 42px;border:1px solid #ddd6eb;border-radius:50%;background:#fff;color:#101438;font:400 1.7rem/1 Arial,sans-serif;cursor:pointer}
.calendar-close:hover,.calendar-close:focus-visible{border-color:#4b2ebf;color:#4b2ebf;outline:3px solid rgba(75,46,191,.14)}
.calendar-dialog iframe{width:100%;height:100%;border:0;background:#fff}
.calendar-access-step{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 20px;border-bottom:1px solid #e6e1ef;background:#faf8fd}.calendar-access-step label{display:flex;align-items:center;gap:10px;margin:0;color:#30264b;font-size:.75rem;font-weight:850}.calendar-access-step select{min-width:290px;padding:9px 11px;border:1px solid #d8d0e6;border-radius:10px;background:#fff;font:inherit}.calendar-access-step p{margin:0;color:#6d6579;font-size:.72rem}.calendar-confirm{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 20px;border-top:1px solid #e6e1ef;background:#faf8fd}.calendar-confirm div{display:grid;gap:3px}.calendar-confirm strong{color:#17133e;font-size:.82rem}.calendar-confirm small{color:#6d6579;font-size:.7rem}.booking-confirm-form{align-self:start;display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:25px;overflow:auto}.booking-confirm-form[hidden]{display:none}.booking-confirm-form label{display:grid;gap:6px;margin:0;color:#30264b;font-size:.78rem;font-weight:850}.booking-confirm-form input,.booking-confirm-form textarea{padding:11px 12px;border:1px solid #d8d0e6;border-radius:10px;background:#fff;color:#17133e;font:inherit}.booking-confirm-form .booking-note,.booking-confirm-form>div,.booking-confirm-form>p{grid-column:1/-1}.booking-confirm-form>div{display:flex;gap:10px}.booking-confirm-form>p{margin:0}.booking-auth-dialog ol{margin:14px 0 0;padding-left:22px;color:#665e75;line-height:1.7}.booking-access-status{margin:12px 0 0!important;color:#a43b43!important;font-size:.75rem}
.calendar-open{overflow:hidden}
@media(max-width:620px){.calendar-booking-button{width:100%;justify-content:center}.calendar-modal{padding:0}.calendar-dialog{width:100%;height:100vh;border:0;border-radius:0}.calendar-dialog-head{padding:13px 15px}.calendar-dialog-head h2{font-size:1rem}.calendar-access-step,.calendar-confirm{align-items:stretch;flex-direction:column;padding:10px 15px}.calendar-access-step label{align-items:stretch;flex-direction:column}.calendar-access-step select{min-width:0;width:100%}.calendar-confirm .btn{width:100%}.booking-confirm-form{grid-template-columns:1fr;padding:20px 15px}.booking-confirm-form label{grid-column:1/-1}.booking-confirm-form>div{display:grid}}
