.calendar-open{display:block;width:100%;min-height:48px;padding:16px;margin-bottom:12px;border:1px solid #008bff;border-radius:10px;background:#fff;color:#08213f;font:800 17px/1.2 Inter,Arial,sans-serif;cursor:pointer}
#booking-calendar{color-scheme:light;width:min(94vw,440px);max-height:90dvh;overflow:auto;padding:22px;border:0;border-radius:18px;background:#fff;color:#071d39;box-shadow:0 20px 80px #0008}
#booking-calendar::backdrop{background:#001326bb}
.calendar-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}
#booking-calendar h2{font:900 20px/1.2 Inter,Arial,sans-serif;margin:0}
#booking-calendar p{font:400 14px/1.4 Arial,sans-serif;color:#35516b}
#booking-calendar button{cursor:pointer;font-family:Inter,Arial,sans-serif}
#calendar-close{border:0;background:#edf5fb;border-radius:50%;width:40px;height:40px;flex-shrink:0;font-size:28px;color:#071d39}
.calendar-month-nav{display:flex;justify-content:space-between;align-items:center;margin:20px 0 12px}
.calendar-month-nav button{width:44px;height:44px;border:1px solid #bdcfdb;border-radius:9px;background:white;color:#071d39;font-size:28px}
.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.calendar-weekdays{font:700 12px/1.2 Arial,sans-serif;text-align:center;margin-bottom:8px}
.calendar-days button{min-height:44px;padding:0;border:1px solid #dce4ec;border-radius:8px;background:#edf7ff;color:#071d39;font-size:15px;font-weight:700}
.calendar-days button:disabled{background:#f1f3f5;color:#a1a8af;border-color:transparent;cursor:default;opacity:1}
.calendar-days button:not(:disabled):hover,.calendar-days button[aria-pressed="true"]{background:#008bff;color:white}
#booking-calendar button:focus-visible{outline:3px solid #008bff;outline-offset:2px}
#booking-calendar .calendar-help{margin-bottom:0}
