/* Calendar follows the existing navy / blue consultation panel. */
.booking-picker{display:grid;gap:18px;margin-block:24px;text-align:start;min-width:0}
.booking-picker h3{font-family:inherit;font-weight:800;font-size:clamp(22px,5vw,30px);line-height:1.5;margin:0}
.booking-picker p{margin:0;line-height:1.8}.booking-price{font-weight:700;font-size:14px;color:#c1d9e8}
.booking-timezone{display:grid;gap:8px;font-size:13px;font-weight:700}
.booking-timezone select{width:100%;min-height:48px;padding:10px 14px;border:1px solid #355064;border-radius:10px;font:inherit;background:#0b1d2a;color:#e8f5ff;direction:ltr}
.booking-calendar{border:1px solid #355064;border-radius:16px;padding:18px;background:#0b1d2a;min-width:0}
.booking-month-nav{display:flex;direction:ltr;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.booking-month-nav strong{font-size:18px;font-family:inherit}
.booking-month-arrow{border:1px solid #355064;border-radius:10px;background:#112c3e;color:#d5efff;min-width:42px;min-height:42px;font-size:26px;cursor:pointer}
.booking-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center}
.booking-weekday{font-size:11px;color:#99b5c8;padding-bottom:6px}
.booking-day{position:relative;border:1px solid #397999;background:#0b3a55;color:#eaf8ff;border-radius:10px;min-height:44px;padding:4px;font:inherit;font-size:15px;cursor:pointer}
#contact-dialog .booking-day:disabled,.booking-day:disabled{border-color:transparent;background:transparent;color:#6e8594;opacity:1;cursor:default}
.booking-day:not(:disabled)::after{content:'';position:absolute;width:4px;height:4px;background:#36baff;border-radius:50%;bottom:5px;left:calc(50% - 2px)}
.booking-day[aria-pressed=true]{background:var(--blue,#00a6f5);border-color:var(--blue,#00a6f5);color:#00121d;font-weight:900}.booking-day[aria-pressed=true]::after{background:#00263c}
.booking-day:not(:disabled):hover{border-color:#b7e8ff}.booking-picker :focus-visible{outline:2px solid #b7e8ff;outline-offset:3px}
.booking-picker .booking-calendar-note{color:#99b5c8;font-size:11px;margin-top:14px}
.booking-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.booking-chosen-day{grid-column:1/-1;font-weight:700;font-size:14px}
#contact-dialog .booking-slot,.booking-slot{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:54px;margin:0;padding:12px;border:1px solid #355064;border-radius:10px;background:#0b1d2a;font-size:15px}
.booking-slot:has(input:checked){border-color:var(--blue,#00a6f5);background:#073a56}.booking-slot:has(input:focus-visible){outline:2px solid #b7e8ff;outline-offset:3px}
#contact-dialog .booking-slot input,.booking-slot input{appearance:auto;flex:0 0 auto;accent-color:var(--blue,#00a6f5);width:18px;height:18px;min-height:0;margin:0;padding:0}
.booking-status{min-height:28px;font-size:13px;color:#b9cbd7}
.booking-picker button:disabled{opacity:.55;cursor:default}.booking-picker .button{white-space:normal;min-height:54px;line-height:1.6;text-align:center;width:100%;font-size:15px}
.booking-challenge{overflow:hidden;max-width:100%}
@media(max-width:420px){.booking-slots{grid-template-columns:1fr}.booking-picker{gap:14px}.booking-calendar{padding:10px}.booking-days{gap:3px}.booking-day{min-height:42px;font-size:14px}.booking-weekday{font-size:10px}}
