.booking-block{margin-top:34px;padding-top:30px;border-top:1px solid var(--line)}
.booking-heading{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}
.booking-heading p{margin:8px 0 0;max-width:520px;color:var(--muted);font-size:12px;line-height:1.65}
.booking-step{font-family:'Cormorant Garamond',serif;font-size:26px;color:#a49d93}
.booking-rate{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}
.booking-rate span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted)}
.booking-rate strong{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:500}
.booking-choices{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#fff;margin-bottom:22px}
.booking-choice{padding:16px 18px;min-height:72px;display:flex;flex-direction:column;gap:7px}
.booking-choice+ .booking-choice{border-left:1px solid var(--line)}
.booking-choice>span{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.booking-choice strong{font-size:12px;font-weight:500}
.booking-choice select{width:100%;border:0;background:transparent;padding:0;outline:none;font-size:12px;color:var(--ink)}
.calendar-toolbar{margin:6px 0 10px}
.calendar-toolbar button{width:38px;height:38px;border:1px solid var(--line);background:#fff;transition:.2s}
.calendar-toolbar button:hover:not(:disabled){background:#111;color:#fff;border-color:#111}
.calendar-toolbar button:disabled{opacity:.28;cursor:not-allowed}
.calendar-weekdays span{font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.cal-day{position:relative;border-color:#ded8cf;transition:background .15s,border-color .15s,color .15s,transform .15s}
.cal-day.free{background:#fff}
.cal-day.free:hover{border-color:#111;transform:translateY(-1px)}
.cal-day.blocked{background:#e8e3dc;color:#aaa39a;text-decoration:none;cursor:not-allowed}
.cal-day.blocked:after{content:'';position:absolute;left:22%;right:22%;top:50%;height:1px;background:#b8b0a6;transform:rotate(-28deg)}
.cal-day.past{background:#f5f2ed;color:#cbc5bc;border-color:#ebe6df;cursor:not-allowed}
.cal-day.selected,.cal-day.selected.free{background:#111;color:#fff;border-color:#111}
.cal-day.today:not(.selected):before{content:'';position:absolute;width:4px;height:4px;border-radius:50%;background:#111;bottom:5px;left:50%;transform:translateX(-50%)}
.calendar-legend{display:flex;gap:16px;flex-wrap:wrap;padding:14px 0 20px;border-bottom:1px solid var(--line)}
.calendar-legend span{display:inline-flex;align-items:center;gap:7px;font-size:9px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}
.legend-dot{width:10px;height:10px;border:1px solid var(--line);display:inline-block;background:#fff}
.legend-dot--booked{background:#e8e3dc}
.legend-dot--selected{background:#111;border-color:#111}
.legend-dot--past{background:#f5f2ed;border-color:#ebe6df}
.date-summary{display:block;margin-top:18px;padding:16px 18px;background:#efebe5;border:0;font-size:12px}
.date-summary__dates{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.date-summary__dates b{font-weight:400;color:#9c958b}
.date-summary__dates em{margin-left:auto;font-style:normal;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.rental-price-calc{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-top:14px;padding-top:14px;border-top:1px solid rgba(17,17,15,.12)}
.rental-price-calc span{font-size:10px;letter-spacing:.06em;color:var(--muted)}
.rental-price-calc strong{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1;font-weight:500}
.reservation-form{padding-top:2px}
.reservation-form input,.reservation-form textarea,.reservation-form select{border-radius:0}
.reservation-form .btn-dark:disabled{opacity:.55;cursor:wait}
.form-message{min-height:18px;line-height:1.55}
.form-message.success{padding:14px 16px;background:#edf3ed;color:#315c3e}
.form-message.success strong{display:block;font-weight:500}
.form-message.error{padding:12px 14px;background:#f7eeee;color:#8f3434}
.form-message.muted{color:var(--muted)}
.booking-code,.booking-price-confirm{display:block;margin-top:6px;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.booking-price-confirm{font-weight:600}
.booking-block.is-loading #bookingCalendar{opacity:.55;pointer-events:none}
.size-list{display:flex;gap:8px;flex-wrap:wrap}
.size-list span{min-width:42px;padding:8px 10px;text-align:center;border:1px solid var(--line);background:#fff;font-size:10px}
.purchase-note{margin-top:28px;padding:18px 0;color:var(--muted);line-height:1.7;border-top:1px solid var(--line)}
@media(max-width:600px){.booking-choices{grid-template-columns:1fr}.booking-choice+ .booking-choice{border-left:0;border-top:1px solid var(--line)}.calendar-grid{gap:3px}.cal-day{font-size:10px}.calendar-legend{gap:10px}.booking-heading{gap:12px}.booking-rate strong{font-size:24px}.date-summary__dates em{width:100%;margin-left:0}.rental-price-calc strong{font-size:26px}}
