.property-reserve-date>button{font:inherit;text-align:right;min-width:0;min-height:66px;padding:10px;border:0;background:#fff;cursor:pointer;color:#173f38}.property-reserve-date>button+button{border-inline-start:1px solid #e4e0d7}.property-reserve-date>button:hover{background:#f6f1eb}.property-reserve-date>button:focus-visible,.property-guest-stepper button:focus-visible{outline:3px solid #b5684c;outline-offset:-3px}.property-guest-stepper{direction:ltr!important;position:static!important}.property-guest-stepper output{display:inline-block;min-width:32px;text-align:center;font-weight:800;color:#173f38}.property-guest-stepper input[type=hidden]{display:none!important}.property-reserve-form [data-reserve-message]{font-size:12px;color:#8b3f32;line-height:1.9}.property-reservation-dialog{width:min(96vw,580px);max-height:90dvh;overflow:auto;border:1px solid #d8e4df;border-radius:20px;padding:16px;color:#173f38;background:#fff}.property-reservation-dialog::backdrop{background:rgba(16,40,32,.5)}.property-reservation-dialog .availability-card{width:100%;max-width:100%;margin:0;padding:12px;box-sizing:border-box}.property-reservation-dialog [data-reserve-close],.property-reservation-dialog [data-reserve-clear]{font:inherit;min-height:44px;border:1px solid #d8e4df;border-radius:10px;background:#f6f4ef;color:#173f38;padding:8px 14px;cursor:pointer}.property-reservation-dialog [data-reserve-dialog-help]{font-size:13px;min-height:24px}.availability-day.is-selected{background:#d7ede2!important}.property-mobile-booking-cta[aria-disabled=true]{opacity:.65}@media(max-width:600px){.property-reservation-dialog{padding:10px}.property-reservation-dialog .availability-card{padding:5px}.property-mobile-booking-cta{font-size:12px!important;white-space:normal;text-align:center}}
@media(max-width:960px){.property-detail-page .property-reserve-rail{display:block;position:static;grid-column:1;grid-row:1;margin-bottom:16px}.property-detail-page .property-main-column{grid-column:1;grid-row:2}.property-reserve-card{padding:14px}.property-reserve-price>strong{font-size:22px}}

/* Deynu 17.0.2.2 — nightly booking boundary semantics */
.availability-day.is-checkout-only,.availability-day.is-checkin-only{overflow:hidden;color:#173f38}
.availability-day.is-checkout-only.is-boundary-booked{background:linear-gradient(135deg,#edf8f1 0 48.5%,#f9d7df 51.5% 100%)!important}
.availability-day.is-checkout-only.is-boundary-holding{background:linear-gradient(135deg,#edf8f1 0 48.5%,#fff0f4 51.5% 100%)!important}
.availability-day.is-checkout-only.is-boundary-blocked{background:linear-gradient(135deg,#edf8f1 0 48.5%,#ecefed 51.5% 100%)!important}
.availability-day.is-checkin-only.is-boundary-booked{background:linear-gradient(135deg,#f9d7df 0 48.5%,#edf8f1 51.5% 100%)!important}
.availability-day.is-checkin-only.is-boundary-holding{background:linear-gradient(135deg,#fff0f4 0 48.5%,#edf8f1 51.5% 100%)!important}
.availability-day.is-checkin-only.is-boundary-blocked{background:linear-gradient(135deg,#ecefed 0 48.5%,#edf8f1 51.5% 100%)!important}
.availability-day.is-checkout-only:not(.is-boundary-booked):not(.is-boundary-holding):not(.is-boundary-blocked){background:linear-gradient(135deg,#edf8f1 0 48.5%,#ecefed 51.5% 100%)!important}
.availability-day.is-checkin-only:not(.is-boundary-booked):not(.is-boundary-holding):not(.is-boundary-blocked){background:linear-gradient(135deg,#ecefed 0 48.5%,#edf8f1 51.5% 100%)!important}
.availability-day.is-checkout-only.is-selectable{box-shadow:inset 0 0 0 1px rgba(22,112,82,.18)}
.availability-legend i.is-boundary{background:linear-gradient(135deg,#edf8f1 0 48.5%,#f9d7df 51.5% 100%);border-color:#cbd8d1}


/* Deynu 17.0.2.24 — public calendar contrast + boundary orientation */
.property-detail-page .availability-day.is-available{
  background:#dcfce7!important;
  border-color:#70c98b!important;
  color:#14532d!important;
}
.property-detail-page .availability-day.is-holding{
  background:#fff1f2!important;
  border-color:#f9a8b8!important;
  color:#9f1239!important;
}
.property-detail-page .availability-day.is-booked{
  background:#fecaca!important;
  border-color:#f87171!important;
  color:#7f1d1d!important;
}
.property-detail-page .availability-day.is-blocked{
  background:repeating-linear-gradient(-45deg,#e2e8f0,#e2e8f0 5px,#cbd5e1 5px,#cbd5e1 9px)!important;
  border-color:#94a3b8!important;
  color:#334155!important;
}

/* Existing booking/block starts on this date: upper-left closed, lower-right free. */
.property-detail-page .availability-day.is-checkout-only.is-boundary-booked{
  background:linear-gradient(135deg,#fecaca 0 48.5%,#dcfce7 51.5% 100%)!important;
}
.property-detail-page .availability-day.is-checkout-only.is-boundary-holding{
  background:linear-gradient(135deg,#fff1f2 0 48.5%,#dcfce7 51.5% 100%)!important;
}
.property-detail-page .availability-day.is-checkout-only.is-boundary-blocked{
  background:linear-gradient(135deg,#d7e0ea 0 48.5%,#dcfce7 51.5% 100%)!important;
}
.property-detail-page .availability-day.is-checkout-only:not(.is-boundary-booked):not(.is-boundary-holding):not(.is-boundary-blocked){
  background:linear-gradient(135deg,#d7e0ea 0 48.5%,#dcfce7 51.5% 100%)!important;
}

/* Existing booking/block ends before this night's stay: upper-left free, lower-right closed. */
.property-detail-page .availability-day.is-checkin-only.is-boundary-booked{
  background:linear-gradient(135deg,#dcfce7 0 48.5%,#fecaca 51.5% 100%)!important;
}
.property-detail-page .availability-day.is-checkin-only.is-boundary-holding{
  background:linear-gradient(135deg,#dcfce7 0 48.5%,#fff1f2 51.5% 100%)!important;
}
.property-detail-page .availability-day.is-checkin-only.is-boundary-blocked{
  background:linear-gradient(135deg,#dcfce7 0 48.5%,#d7e0ea 51.5% 100%)!important;
}
.property-detail-page .availability-day.is-checkin-only:not(.is-boundary-booked):not(.is-boundary-holding):not(.is-boundary-blocked){
  background:linear-gradient(135deg,#dcfce7 0 48.5%,#d7e0ea 51.5% 100%)!important;
}

.property-detail-page .availability-legend i.is-available{background:#dcfce7;border-color:#70c98b}
.property-detail-page .availability-legend i.is-holding{background:#fff1f2;border-color:#f9a8b8}
.property-detail-page .availability-legend i.is-booked{background:#fecaca;border-color:#f87171}
.property-detail-page .availability-legend i.is-blocked{
  background:repeating-linear-gradient(-45deg,#e2e8f0,#e2e8f0 3px,#cbd5e1 3px,#cbd5e1 6px);
  border-color:#94a3b8;
}
.property-detail-page .availability-legend i.is-boundary{
  background:linear-gradient(135deg,#d7e0ea 0 48.5%,#dcfce7 51.5% 100%)!important;
  border-color:#94a3b8!important;
}
