.booking-date-button{display:block;width:100%;min-width:0;text-align:left;font:inherit;font-size:16px;padding:14px;border:1px solid #dce4ed;border-radius:12px;color:#263c50;background:#fff;cursor:pointer;min-height:52px}.booking-date-button:after{content:' ▦';float:right;color:#526b84}.booking-date-button:focus-visible{outline:2px solid #7d9fc6;outline-offset:2px}.booking-date-button[aria-invalid=true]{border-color:#a32d2d}.booking-calendar[hidden],.booking-date-error[hidden]{display:none}.booking-calendar{width:100%;max-width:400px;box-sizing:border-box;padding:12px;border:1px solid #dce4ed;border-radius:14px;background:#fff;box-shadow:0 8px 25px #19324915}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.calendar-heading button{border:0;background:#edf2f7;border-radius:8px;padding:6px 14px;font-size:24px;cursor:pointer}.calendar-heading strong{font-size:15px;text-transform:capitalize}.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-days button{min-width:0;min-height:40px;padding:5px 0;font:inherit;font-size:14px;border:0;border-radius:8px;background:#f1f5f8;color:#263c50;cursor:pointer}.calendar-days button:disabled,.calendar-heading button:disabled{color:#abb3bd;background:#f6f7f8;cursor:not-allowed;text-decoration:line-through;opacity:.7}.calendar-days button[aria-pressed=true]{background:#203e33;color:white}.calendar-days button.calendar-today{box-shadow:inset 0 0 0 1px #446f9e}.calendar-weekday{text-align:center;font-size:11px;color:#718096;padding:4px 0}.booking-date-error{font-size:13px;color:#a32d2d;margin:3px 0 8px}

.booking-error-summary[hidden]{display:none}.booking-error-summary{border:1px solid #c45d5d;border-left:4px solid #b33434;border-radius:12px;background:#fff3f3;color:#8c2424;padding:14px 16px;font-size:14px;line-height:1.5;margin-bottom:10px}.booking-error-summary ul{margin:8px 0 0;padding-left:20px}input[aria-invalid=true]{border-color:#b33434;background:#fffafa}

.booking-calendar button:focus-visible{outline:2px solid #446f9e;outline-offset:1px}

.calendar-hint{font-size:14px;line-height:1.4;margin:0 0 10px;color:#263c50;font-weight:600}
.calendar-days button.calendar-in-range{background:#dcebe4;color:#203e33}
.calendar-days button.calendar-range-start:disabled{background:#203e33;color:#fff;opacity:1;text-decoration:none;box-shadow:none}
.calendar-change-start{border:0;background:transparent;color:#263c50;font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;min-height:44px;padding:0 4px;margin-top:4px}
