.booking-calendar { width:min(100%,440px); margin:24px auto 0; text-align:left; color:var(--booking-text); }
.booking-calendar-visit { display:grid; gap:5px; padding:18px 0; border-top:1px solid var(--booking-separator); }
.booking-calendar-services { font-size:16px; line-height:1.45; overflow-wrap:anywhere; }
.booking-calendar-when { margin-top:6px; font-size:15px; font-weight:600; }
.booking-calendar-time,.booking-calendar-location { color:var(--booking-secondary); font-size:13px; line-height:1.5; }
.booking-calendar-location { margin-top:6px; max-width:35ch; }
.booking-calendar-picker { border:1px solid var(--booking-separator); border-radius:12px; background:var(--booking-surface); }
.booking-calendar-toggle { display:flex; align-items:center; gap:10px; min-height:48px; padding:12px 14px; list-style:none; cursor:pointer; color:var(--booking-text); font-size:14px; font-weight:600; }
.booking-calendar-toggle::-webkit-details-marker { display:none; }
.booking-calendar-toggle > svg { width:21px; height:21px; color:var(--booking-accent); flex-shrink:0; }
.booking-calendar-chevron { display:flex; margin-left:auto; }
.booking-calendar-chevron svg { width:16px; height:16px; }
.booking-calendar-picker[open] .booking-calendar-chevron { transform:rotate(180deg); }
.booking-calendar-options { display:grid; border-top:1px solid var(--booking-separator); padding:4px; }
.booking-calendar-choice { display:flex; align-items:center; min-height:44px; padding:10px 14px; border-radius:8px; color:var(--booking-text); font-size:14px; text-decoration:none; }
.booking-calendar-choice:hover { background:var(--booking-surface-soft); }
.booking-calendar :is(summary,a):focus-visible { outline:2px solid var(--booking-accent); outline-offset:2px; }
.booking-calendar-note { display:block; padding-top:12px; font-size:12px; line-height:1.5; color:var(--booking-secondary); }
.payment-return-state.has-client-calendar { min-height:0; padding:32px 24px; }
.payment-return-state.has-client-calendar .success-symbol { margin:0 0 16px; }
.payment-return-state.has-client-calendar .booking-context { margin:0 0 12px; }
.payment-return-state.has-client-calendar h1 { margin:0; font-size:32px; line-height:1.12; }
.payment-return-state.has-client-calendar > p:not(.booking-context) { margin:14px 0 0; }
.payment-return-state.has-client-calendar .primary-button { margin-top:24px; }
.confirm-state.has-client-calendar { min-height:0; padding:32px 24px; }
.confirm-state.has-client-calendar h1 { font-size:32px; line-height:1.12; }
@media(max-width:600px) { .booking-calendar { margin-top:20px; } }
@media(max-width:600px) {
  .payment-return-state.has-client-calendar,.confirm-state.has-client-calendar { padding:28px 24px; }
  .payment-return-state.has-client-calendar h1,.confirm-state.has-client-calendar h1 { font-size:28px; }
}
