.stay-calendar{background:#fff;border:1px solid #e1dacb;border-radius:12px;padding:16px;max-width:100%;min-width:0}.stay-calendar-nav{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.stay-calendar-nav strong{font-weight:500;font-size:18px;text-transform:capitalize;color:#123d34}.booking-v13 .stay-calendar-nav button{min-height:34px;width:38px;padding:0;font-size:24px}.stay-calendar-weekdays,.stay-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.stay-calendar-weekdays{text-align:center;color:#748079;margin-bottom:5px;font-size:12px}.stay-calendar-weekdays b{font-weight:500}.stay-day{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;min-height:90px;min-width:0;text-align:left;background:#fbfaf7!important;border:1px solid #e8e3d8!important;border-radius:7px!important;padding:7px!important;color:#234236!important;overflow:hidden}.stay-day:not(:disabled):hover{border-color:#af8650!important;box-shadow:0 2px 10px #144c311a}.stay-day-number{font-size:15px;font-weight:600}.stay-day-price{font-size:10px;opacity:.55;overflow-wrap:anywhere}.stay-day.today{border-color:#ac873d!important;box-shadow:inset 0 0 0 1px #ac873d}.today-badge{font-size:9px;color:#926817}.stay-day.booked{background:#f0eeeb!important;border-color:#ddd7cd!important;opacity:1!important}.stay-day.booked .stay-day-price{opacity:.28}.stay-day-status{font-size:10px;color:#705e4a;font-weight:600}.stay-day-channel{font-size:10px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:5px;border-left:4px solid var(--channel);color:#3f4e4a}.stay-day.past{opacity:.38!important}.stay-day.checkin,.stay-day.checkout{background:#173f35!important;color:#fff!important}.stay-day.in-range{background:#e8efe9!important;border-color:#b4cbb9!important}.stay-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin:14px 0 10px;font-size:11px;color:#627368}.stay-calendar-legend span{display:flex;align-items:center;gap:5px}.stay-calendar-legend i{display:inline-block;width:12px;height:12px;border-radius:2px}.stay-calendar-legend .vacant{background:#f5f3ed;border:1px solid #cfcbbd}.stay-calendar-legend .occupied{background:#ded8ce}.stay-calendar-legend .selected{background:#173f35}.stay-calendar-grid .calendar-blank{min-width:0}@media(max-width:740px){.stay-calendar{padding:8px}.stay-calendar-grid,.stay-calendar-weekdays{gap:2px}.stay-day{min-height:73px;padding:3px!important;gap:1px}.stay-day-number{font-size:13px}.stay-day-price{font-size:8px}.stay-day-channel,.stay-day-status,.today-badge{font-size:8px}.stay-calendar-nav strong{font-size:16px}}@media(max-width:390px){.stay-day{min-height:66px}.stay-day-channel{font-size:7px}}

.calendar-standalone{width:min(1140px,100%);margin:auto}.calendar-standalone .stay-calendar{padding:20px}.calendar-standalone .stay-day{min-height:105px}.calendar-error{grid-column:1/-1;color:#a4372f;padding:20px}.booking-v13 .calendar-retry{grid-column:1/-1;justify-self:start;min-height:40px;padding:9px 16px}.manual-booking-button{margin-top:14px;background:transparent!important;color:#103731!important;border:1px solid #103731!important}.booking-modal-open{overflow:hidden}.booking-dialog{position:fixed;inset:0;margin:auto;width:min(1100px,calc(100% - 24px));max-width:1100px;max-height:min(92vh,1000px);overflow:auto;border:0;border-radius:16px;padding:0;background:#faf9f5;box-shadow:0 30px 90px #09231c66}.booking-dialog::backdrop{background:#061c1ab8;backdrop-filter:blur(4px)}.booking-dialog-head{position:sticky;top:0;z-index:9;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 30px;background:#faf9f5;border-bottom:1px solid #e4dfd3}.booking-dialog-head h3{font-size:26px;font-weight:400;margin:4px 0}.booking-dialog-head p{margin:0;color:#65776b}.booking-v13 .booking-dialog-head button{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;font-size:25px;flex:0 0 40px}.booking-v13 .booking-dialog .hotel-book-form{margin:0;padding:24px 30px;border:0;box-shadow:none;width:100%;max-width:none}.booking-v13 .booking-dialog fieldset{display:grid!important}.booking-v13 .booking-dialog .booking-intro{top:100px}.booking-v13 .booking-dialog #reviewBooking,.booking-v13 .booking-dialog #continueBooking,.booking-v13 .booking-dialog #continueDeposit,.booking-v13 .booking-dialog #continueToDeposit{display:none!important}.booking-v13 .booking-dialog .booking-nights-label{font-size:15px;font-weight:600}.booking-v13 .booking-dialog .booking-nights-label input{max-width:180px}.booking-v13 .booking-dialog #guestDetails{grid-row:auto}.booking-v13 .booking-dialog #depositStep,.booking-v13 .booking-dialog #guestDetailsFinal{grid-column:1}@media(max-width:850px){.booking-dialog{max-height:96vh}.booking-dialog-head{padding:15px}.booking-v13 .booking-dialog .hotel-book-form{grid-template-columns:1fr;padding:14px}.booking-v13 .booking-dialog .booking-intro{grid-column:1;grid-row:auto;position:static}.booking-v13 .booking-dialog #depositStep,.booking-v13 .booking-dialog #guestDetailsFinal{grid-column:1}.calendar-standalone .stay-day{min-height:74px}}
/* V20: a denser desktop calendar; phone tap targets stay comfortable. */
@media(min-width:851px){.calendar-standalone{width:min(960px,100%)}.calendar-standalone .stay-calendar{padding:15px}.calendar-standalone .stay-day{min-height:78px;padding:5px 7px!important;gap:2px}.calendar-standalone .stay-day-number{font-size:13px}.calendar-standalone .stay-day-price{font-size:9px}.calendar-standalone .stay-day-channel,.calendar-standalone .stay-day-status{font-size:9px}.calendar-standalone .stay-calendar-nav{margin-bottom:9px}}
/* V21: broader, shallower date cells on desktop. */
@media(min-width:851px){.calendar-standalone{width:min(1150px,100%)}.calendar-standalone .stay-day{min-height:64px;padding:4px 8px!important;gap:1px}.calendar-standalone .stay-calendar{padding:13px}}
