html.site-search-open { overflow:hidden; }
.site-search-overlay { position:fixed; inset:0; z-index:14000; display:grid; place-items:center; padding:20px; background:rgb(0 15 12 / 48%); }
html body .site-calendar { position:relative !important; inset:auto !important; transform:none !important; visibility:visible !important; width:min(660px,100%); height:auto !important; max-height:calc(100dvh - 40px); padding:20px; display:flex; flex-direction:column; overflow:visible; color:var(--booking-text); background:var(--booking-surface); color-scheme:light; font:400 15px/1.4 "PT Sans",sans-serif; }
html[data-theme="night"] body .site-calendar { color-scheme:dark; }
.site-calendar button,.site-calendar select { font:inherit; }
.site-calendar button { cursor:pointer; }
.site-calendar button:disabled { cursor:default; opacity:.5; }
.site-calendar__header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.site-calendar__header h2 { margin:0; font:600 20px/1.3 Manrope,sans-serif; }
.site-calendar__header button { display:grid; place-items:center; width:40px; height:40px; border:0; border-radius:50%; background:transparent; color:var(--booking-text); font-size:28px; }
.site-calendar__body { min-height:0; }
.site-calendar__navigation { display:flex; justify-content:space-between; height:0; position:relative; z-index:1; }
.site-calendar__navigation button { width:36px; height:36px; border:0; border-radius:8px; color:var(--booking-text); background:transparent; font-size:27px; }
.site-calendar__months { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.site-calendar__month h3 { margin:0 36px 14px; text-align:center; min-height:36px; display:grid; place-items:center; font-size:17px; font-weight:600; }
.site-calendar__week,.site-calendar__days { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:3px; }
.site-calendar__week { text-align:center; color:var(--booking-muted); font-size:13px; margin-bottom:6px; }
html body .site-calendar .vanilla-calendar-day__btn { position:static !important; inset:auto !important; display:grid !important; place-items:center; width:100%; height:36px; min-height:0; padding:0; border:0; border-radius:8px; font:400 15px/1 "PT Sans",sans-serif !important; }
html body .site-calendar .site-calendar__range { background:var(--booking-action-soft) !important; }
.site-calendar__notice { margin:14px 0 0; min-height:22px; color:var(--booking-text); }
.site-calendar__footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-top:14px; margin-top:14px; border-top:1px solid var(--booking-muted); }
.site-calendar__switch { border:0; padding:10px 0; background:transparent; color:var(--booking-action); text-align:left; }
html body .site-calendar .button-primary { display:block; min-width:130px; height:44px; min-height:44px; padding:0 22px; border:0; border-radius:12px; background:var(--booking-action); color:var(--booking-action-text); font-weight:600; }
.site-guests { background:var(--booking-surface); color:var(--booking-text); padding:10px 0; }
.site-guests__adults { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.site-guests__adults > div { display:flex; align-items:center; gap:16px; }
.site-guests__adults button { width:40px; height:40px; border:1px solid var(--booking-muted); border-radius:50%; background:var(--booking-field); color:var(--booking-text); font-size:22px; }
.site-guests__child { display:flex; align-items:center; gap:12px; margin-top:12px; }
.site-guests__child span { margin-right:auto; }
.site-guests__child select { width:75px; height:44px; border:1px solid var(--booking-muted); border-radius:8px; background:var(--booking-field); color:var(--booking-text); }
.site-guests__child button { width:40px; height:40px; border:0; background:transparent; color:var(--booking-text); font-size:25px; }
.site-guests__add,.site-guests__done { min-height:44px; padding:8px 14px; margin-top:14px; border:1px solid var(--booking-muted); border-radius:10px; background:var(--booking-field); color:var(--booking-text); }
.site-guests__done { float:right; }
.site-calendar button:focus-visible,.site-calendar select:focus-visible { outline:3px solid var(--booking-action); outline-offset:2px; }
#hr-search-provider { position:fixed; left:-10000px; top:0; width:1024px; visibility:hidden; pointer-events:none; }
@media (max-width:820px) {
  .site-search-overlay { padding:0; }
  html body .site-calendar { width:100%; height:100dvh !important; max-height:100dvh; padding:20px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)); border-radius:0 !important; border:0 !important; }
  .site-calendar__body { overflow-y:auto; overflow-x:hidden; flex:1; }
  .site-calendar__months { grid-template-columns:1fr; }
  .site-calendar__month + .site-calendar__month { display:none; }
  html body .site-calendar .vanilla-calendar-day__btn { height:44px; font-size:17px !important; }
  .site-calendar__footer { flex-direction:column; align-items:stretch; gap:6px; }
  html body .site-calendar .button-primary { width:100%; height:48px; }
}
@media (min-width:821px) and (max-height:600px) {
  html body .site-calendar { padding:12px 18px; }
  .site-calendar__header { margin-bottom:4px; }
  html body .site-calendar .vanilla-calendar-day__btn { height:30px; }
  .site-calendar__footer { margin-top:8px; padding-top:8px; }
}
