.direct-booking__intro,.direct-booking__note { margin:0; font-size:.85rem; line-height:1.6; }
.direct-booking__note { color:var(--muted,#50575e); }
.direct-booking details { min-width:0; }
.direct-booking summary { cursor:pointer; font-weight:600; padding:8px 0; }
.direct-booking pre,[data-template-preview] { white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.6; background:#f2f4ed; padding:16px; border-radius:6px; }
.booking-packages { border:1px solid #d8ddd4; border-radius:6px; margin:0; padding:12px; display:flex; flex-wrap:wrap; gap:16px; }
.booking-packages legend { font-size:.85rem; padding:0 4px; }
.booking-form .booking-packages label { display:flex; align-items:center; gap:8px; }
.booking-form .booking-packages input { width:auto; min-height:auto; }
[data-whatsapp-book][aria-disabled="true"] { opacity:.55; cursor:not-allowed; }
.rate-calendar__controls { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:12px 0; }
.rate-calendar__controls button { border:1px solid #b8c6b8; border-radius:5px; background:#fff; color:#174f38; min-width:36px; min-height:36px; cursor:pointer; font-size:1.2rem; }
.rate-calendar__grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; text-align:center; font-size:11px; }
.rate-calendar__day { display:flex; flex-direction:column; justify-content:center; min-height:48px; min-width:0; padding:4px 1px; border:1px solid #e1e6dd; background:#fff; color:#263d2d; border-radius:4px; font:inherit; }
button.rate-calendar__day { cursor:pointer; }
.rate-calendar__day small { font-size:10px; overflow-wrap:anywhere; }
.rate-calendar__day.is-special { background:#e5efdd; border-color:#a0b98c; }
.rate-calendar__day:focus-visible,.rate-calendar__controls button:focus-visible { outline:2px solid #174f38; outline-offset:2px; }
.ab-booking-block { padding:14px; border:1px solid #ccd0d4; background:#fff; margin:0 0 12px; max-width:850px; }
.ab-booking-block label { display:block; font-weight:600; }
.ab-booking-block textarea { display:block; width:100%; margin:8px 0; }
.ab-booking-block button { margin-right:6px !important; }
.ab-price-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.ab-price-controls label { display:flex; flex-direction:column; gap:4px; }
[data-price-editor] [data-rate-calendar] { max-width:650px; }
[data-template-preview] { max-width:850px; }

.ab-booking-block label { cursor:grab; }
.ab-booking-block textarea { cursor:text; }

.rate-calendar__day.is-booked { background:#f5dddd; border-color:#b86969; color:#792b2b; }
