.booking-dates{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:4px;text-align:left}
.date-fallback{display:flex;gap:10px}.date-fallback label{display:flex;flex-direction:column;gap:4px}
.date-range-ready .date-fallback{display:none}.booking-dates .date-range-trigger[hidden]{display:none}
.booking-dates button.date-range-trigger{display:flex;align-items:center;gap:12px;min-height:64px;width:100%;padding:10px 14px;border:1px solid #d9d9e6;border-radius:12px;background:#fff;color:#211969;text-align:left;font:inherit;cursor:pointer;box-shadow:none;white-space:normal;flex:none}
.booking-dates button.date-range-trigger:hover{background:#f5f4fc;opacity:1}.booking-dates button.date-range-trigger:focus-visible{outline:3px solid #7160cf;outline-offset:3px}
.date-range-values{display:flex;flex-direction:column;gap:5px}.date-range-caption{font-size:.73rem;color:#6a677e}.date-range-values strong{font-size:.88rem;white-space:nowrap}.date-range-count{margin-left:auto;font-size:.72rem;color:#625785;white-space:nowrap}.date-range-minimum{color:#625785;font-size:.73rem;padding:0 14px}
.hotel-filter>.booking-dates{padding:0 8px;flex:1 0 auto}.search-widget>.booking-dates{flex:1.2}.search-filters .booking-dates{margin:15px 0}.search-filters .date-range-count{display:none}
.luxury-search .date-range-count,.room-booking-box .date-range-count{display:none}.search-filters .date-range-values strong,.room-booking-box .date-range-values strong{white-space:normal}
@media(max-width:480px){.booking-dates .date-range-count{display:none}.booking-dates button.date-range-trigger{gap:8px;padding:10px}}
.stay-calendar{box-sizing:border-box;width:min(740px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:24px;border:0;border-radius:22px;background:#fff;color:#211b3c;box-shadow:0 24px 90px #100b3d55;overflow:auto;font-family:inherit}
.stay-calendar::backdrop{background:#14102988;backdrop-filter:blur(3px)}.stay-calendar *{box-sizing:border-box}
.stay-calendar-header,.stay-calendar-toolbar,.stay-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.stay-calendar h2{margin:0;font-size:1.35rem}.stay-calendar h3{font-size:1rem;text-transform:capitalize;text-align:center;margin:8px 0 16px}
.stay-calendar button{font-family:inherit;cursor:pointer}.stay-calendar button:focus-visible{outline:3px solid #8674df;outline-offset:2px}
.stay-calendar-close{border:0;background:#f2f0f8;color:#322653;border-radius:50%;width:38px;height:38px;font-size:26px}
.stay-calendar-status{font-size:.95rem;margin:12px 0 18px;color:#625873}.stay-calendar-toolbar>span{font-size:.8rem;color:#625873}.stay-calendar-toolbar>button{border:1px solid #ded9ed;background:#fff;color:#322653;border-radius:50%;width:38px;height:38px;font-size:26px}.stay-calendar-toolbar>button:disabled{opacity:.3;cursor:default}
.stay-calendar-months{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:16px 0}.stay-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px 0}.stay-weekday{text-align:center;font-size:.68rem;color:#7e788d;padding-bottom:10px;text-transform:uppercase}
.stay-calendar .stay-day{min-width:0;min-height:40px;aspect-ratio:1;border:0;border-radius:9px;background:transparent;color:#312747;font-size:.88rem;padding:0}.stay-calendar .stay-day:hover:not(:disabled){background:#e8e2fa}.stay-calendar .stay-day:disabled{color:#c6c1ce;cursor:not-allowed}.stay-calendar .stay-day[aria-current=date]{text-decoration:underline;text-underline-offset:4px}
.stay-calendar .stay-day.in-range{background:#ebe6fa;border-radius:0;color:#5b4787}.stay-calendar .stay-day.is-start,.stay-calendar .stay-day.is-end{background:#392475;color:#fff;font-weight:700}.stay-calendar .stay-day.is-start{border-radius:9px 0 0 9px}.stay-calendar .stay-day.is-end{border-radius:0 9px 9px 0}.stay-calendar .stay-day.is-start.is-end{border-radius:9px}
.stay-calendar-footer{border-top:1px solid #ece8f2;padding-top:16px;font-size:.85rem;min-height:50px}.stay-calendar-footer button{border:0;background:transparent;color:#493783;text-decoration:underline;font-size:.82rem}.stay-calendar-footer button[hidden]{display:none}
.stay-calendar .stay-day:disabled{opacity:1}.stay-calendar .stay-day.is-end:hover:not(:disabled){background:#392475;color:#fff}.stay-calendar h3{text-transform:none}.stay-calendar h3::first-letter{text-transform:uppercase}
@media(max-width:650px){.stay-calendar{padding:18px;width:min(390px,calc(100vw - 20px));border-radius:18px}.stay-calendar-months{grid-template-columns:1fr;gap:0}.stay-calendar-month:nth-child(2){display:none}.stay-calendar h2{font-size:1.16rem}.stay-calendar-footer{flex-wrap:wrap}.hotel-filter>.booking-dates{width:100%;flex:auto}.date-range-count{font-size:.68rem}.date-range-values strong{font-size:.83rem}.stay-calendar .stay-day{min-height:40px}}
