.availability-search{--availability-surface: var(--color-bg-light);--availability-surface-active: #ededed;--availability-surface-hover: #e3e3e3;--availability-border: rgba(28, 28, 28, .14);--availability-popover-border: rgba(28, 28, 28, .1);--availability-shadow: rgba(28, 28, 28, .1);--availability-shadow-strong: rgba(28, 28, 28, .2);--availability-message-success: #6af68194;--availability-message-error: #f66a6a94;--color-calendar-available: #ffffff;--color-calendar-booked: #ffbfbf;--color-calendar-selected: #d9d9d9;--color-calendar-selected-occupied: #e69292;--color-calendar-between: #d9d9d9;--color-calendar-between-occupied: #e69292;position:relative;z-index:20;max-width:40rem;margin:0 auto}.availability-search-bar{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center;gap:0;min-height:4.25rem;padding:.45rem;background:var(--availability-surface);border:1px solid var(--availability-border);border-radius:999px;box-shadow:0 .4rem 1.5rem var(--availability-shadow)}.availability-search-bar--active{background:var(--availability-surface-active)}.availability-segment{min-width:0;height:3.35rem;padding:.55rem 1.55rem;border:0;border-right:1px solid var(--availability-border);background:transparent;color:var(--color-text-dark);font:inherit;text-align:left}.availability-segment span{display:block;color:var(--color-text-dark);font-size:.78rem;font-weight:700;line-height:1.1}.availability-segment strong{display:block;overflow:hidden;margin-top:.15rem;color:var(--color-text-dark);font-size:.94rem;font-weight:700;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.availability-segment--button{cursor:pointer}.availability-segment--button:hover,.availability-segment--select:hover,.availability-segment--selected{background:var(--availability-surface);border-radius:999px;box-shadow:0 .25rem 1rem #1c1c1c1f}.availability-segment--select{position:relative;cursor:pointer;border-right:0}.availability-segment--dates:has(+.availability-segment--guests:hover),.availability-segment--dates:has(+.availability-segment--guests:focus-within){border-right-color:transparent}.availability-segment--select select{display:block;width:100%;margin-top:.15rem;border:0;background:transparent;color:var(--color-text-dark);font:inherit;font-size:.94rem;font-weight:700;line-height:1.2;cursor:pointer;appearance:none}.availability-segment--select select:focus{outline:none}.availability-reset-button{position:relative;display:inline-grid;place-items:center;width:3.25rem;height:3.25rem;border:0;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}.availability-reset-button{margin-left:.35rem;background:var(--color-bg-alt);color:var(--color-text-dark)}.availability-reset-button:hover{background:var(--availability-surface-hover)}.availability-reset-button:disabled{cursor:wait;opacity:.7}.availability-reset-icon{grid-area:1 / 1;transition:opacity .16s ease,transform .16s ease}.availability-reset-icon--spinner{opacity:0}.availability-reset-button--loading .availability-reset-icon--x{opacity:0;transform:scale(.82)}.availability-reset-button--loading .availability-reset-icon--spinner{opacity:1;animation:availability-spin .8s linear infinite}.availability-reset-button--loading:hover .availability-reset-icon--x{opacity:1;transform:scale(1)}.availability-reset-button--loading:hover .availability-reset-icon--spinner{opacity:0}@keyframes availability-spin{to{transform:rotate(360deg)}}.availability-popover{position:absolute;top:calc(100% + .5rem);z-index:3;background:var(--availability-surface);border:1px solid var(--availability-popover-border);border-radius:2rem;box-shadow:0 1rem 2.5rem var(--availability-shadow-strong)}.availability-popover--dates{left:0;right:0;padding:2.25rem 3rem 2rem}.range-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem}.range-month h3{margin:0 0 1.2rem;color:var(--color-text-dark);font-family:var(--font-body);font-size:1rem;font-weight:700;text-align:center;text-transform:capitalize}.range-weekdays,.range-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.range-weekdays{margin-bottom:.75rem;color:var(--color-text-muted);font-size:.78rem;font-weight:700;text-align:center}.range-day{display:grid;place-items:center;aspect-ratio:1;min-width:0;border:0;border-radius:.45rem;background:transparent;color:var(--color-text-dark);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;position:relative}.range-day:hover{z-index:1}.range-day:hover:not(:disabled):not(.range-day--empty){outline:1px solid var(--color-text-dark)}.range-day-label{grid-area:1 / 1}.range-day--loading .range-day-label{animation:range-day-loading-pulse 1s ease-in-out infinite alternate}@keyframes range-day-loading-pulse{0%{opacity:.5}to{opacity:.2}}.range-day:disabled{color:#1c1c1c47;cursor:default}.range-day--empty{pointer-events:none}.range-day--booked{background:var(--color-calendar-booked)}.range-day--arrival{background:linear-gradient(to right bottom,var(--color-calendar-available) 50%,var(--color-calendar-booked) 50%)}.range-day--departure{background:linear-gradient(to right bottom,var(--color-calendar-booked) 50%,var(--color-calendar-available) 50%)}.range-day--surface{border-radius:0}.range-day--surface-corner-top-left{border-top-left-radius:.45rem}.range-day--surface-corner-top-right{border-top-right-radius:.45rem}.range-day--surface-corner-bottom-left{border-bottom-left-radius:.45rem}.range-day--surface-corner-bottom-right{border-bottom-right-radius:.45rem}.range-day--selected{background:var(--color-calendar-selected);color:var(--color-text-dark)}.range-day--between{background:var(--color-calendar-between);color:var(--color-text-dark)}.range-day--selected-occupied{background:var(--color-calendar-selected-occupied);color:var(--color-text-dark)}.range-day--between-occupied{background:var(--color-calendar-between-occupied);color:var(--color-text-dark)}.range-day--start,.range-day--end{background:var(--color-calendar-selected);color:var(--color-text-dark)}.range-day--start.range-day--selected-occupied,.range-day--end.range-day--selected-occupied{background:var(--color-calendar-selected-occupied);color:var(--color-text-dark)}.range-day--arrival.range-day--selected{background:linear-gradient(to right bottom,var(--color-calendar-selected) 50%,var(--color-calendar-booked) 50%);color:var(--color-text-dark)}.range-day--departure.range-day--selected{background:linear-gradient(to right bottom,var(--color-calendar-booked) 50%,var(--color-calendar-selected) 50%);color:var(--color-text-dark)}.range-day--arrival.range-day--between{background:linear-gradient(to right bottom,var(--color-calendar-between) 50%,var(--color-calendar-booked) 50%);color:var(--color-text-dark)}.range-day--departure.range-day--between{background:linear-gradient(to right bottom,var(--color-calendar-booked) 50%,var(--color-calendar-between) 50%);color:var(--color-text-dark)}.range-day--arrival.range-day--between-occupied{background:linear-gradient(to right bottom,var(--color-calendar-between) 50%,var(--color-calendar-between-occupied) 50%)}.range-day--departure.range-day--between-occupied{background:linear-gradient(to right bottom,var(--color-calendar-between-occupied) 50%,var(--color-calendar-between) 50%)}.range-day--arrival.range-day--start,.range-day--arrival.range-day--end,.range-day--arrival.range-day--start.range-day--selected-occupied,.range-day--arrival.range-day--end.range-day--selected-occupied{background:linear-gradient(to right bottom,var(--color-calendar-selected) 50%,var(--color-calendar-booked) 50%);color:var(--color-text-dark)}.range-day--arrival.range-day--start.range-day--selected-occupied,.range-day--arrival.range-day--end.range-day--selected-occupied{background:linear-gradient(to right bottom,var(--color-calendar-selected) 50%,var(--color-calendar-selected-occupied) 50%)}.range-day--departure.range-day--start,.range-day--departure.range-day--end,.range-day--departure.range-day--start.range-day--selected-occupied,.range-day--departure.range-day--end.range-day--selected-occupied{background:linear-gradient(to right bottom,var(--color-calendar-booked) 50%,var(--color-calendar-selected) 50%);color:var(--color-text-dark)}.range-day--departure.range-day--start.range-day--selected-occupied,.range-day--departure.range-day--end.range-day--selected-occupied{background:linear-gradient(to right bottom,var(--color-calendar-selected-occupied) 50%,var(--color-calendar-selected) 50%)}.range-nav{position:absolute;top:1.75rem;display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;border:0;border-radius:999px;background:transparent;color:var(--color-text-muted);cursor:pointer}.range-nav:hover{background:var(--color-bg-alt);color:var(--color-text-dark)}.range-nav--prev{left:1.2rem}.range-nav--next{right:1.2rem}.availability-message{z-index:1;color:var(--color-text-light);font-size:1rem;line-height:1.4;min-height:1.4em;opacity:0;text-align:center;transform:translateY(-.45rem);transition:opacity .18s ease,transform .18s ease,background-color .18s ease;position:absolute;top:100%;left:0;right:0;background-color:var(--availability-message-success);padding:.5rem;border-radius:1rem;border-top-left-radius:0;border-top-right-radius:0;backdrop-filter:blur(20px);margin-left:2rem;margin-right:2rem}.availability-message--visible{opacity:1;transform:translateY(0)}.availability-message--error{background-color:var(--availability-message-error)}@media(max-width:767px){.availability-search-bar{grid-template-columns:1fr minmax(6.5rem,.7fr) auto}.availability-popover--dates{left:0;right:0;padding:1.5rem}.range-nav{top:1rem}.range-months{grid-template-columns:1fr;gap:1.5rem}.range-months .range-month:nth-child(2){display:none}}
