/* 115 Schiller shared date-range calendar, matching /book/ without touching it.
   Applies only to enhanced homepage, stays, and owner booking forms. */
.sch-range-origin{display:none!important}
.sch-range-widget{position:relative;min-width:0;--sch-range-ink:#1d4232;--sch-range-muted:#65796b;--sch-range-paper:#fff;--sch-range-wash:#f2f6ef;--sch-range-line:#d2dfd4;font-family:inherit}
.sch-range-widget *{box-sizing:border-box}
.sch-range-widget .sch-range-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--sch-range-paper);border:1px solid var(--sch-range-line);border-radius:12px;overflow:hidden}
.sch-range-widget .sch-range-open{display:flex!important;gap:10px;align-items:center;justify-content:flex-start;min-height:64px;min-width:0;width:100%;border:0!important;border-radius:0!important;background:var(--sch-range-paper)!important;color:var(--sch-range-ink)!important;text-align:left;padding:12px 14px;cursor:pointer;grid-column:auto!important;font:inherit;box-shadow:none!important}
.sch-range-widget .sch-range-open+ .sch-range-open{border-left:1px solid var(--sch-range-line)!important}
.sch-range-widget .sch-range-open:hover,.sch-range-widget .sch-range-open[aria-expanded=true]{background:var(--sch-range-wash)!important}
.sch-range-widget .sch-range-open svg{height:22px;width:22px;flex:0 0 22px;color:#4b735a}
.sch-range-widget .sch-range-open span{display:grid;gap:4px;min-width:0}
.sch-range-widget .sch-range-open small{font-size:10px;color:var(--sch-range-muted);font-weight:750;line-height:1.2;letter-spacing:.03em}
.sch-range-widget .sch-range-open strong{font-size:13px;font-weight:760;line-height:1.4;color:var(--sch-range-ink);overflow-wrap:anywhere}
.sch-range-widget .sch-range-feedback{font-size:11px;line-height:1.5;color:var(--sch-range-muted);margin:7px 2px 0}
.sch-range-widget .sch-range-feedback[hidden]{display:none!important}
.sch-range-popover[hidden]{display:none!important}
.sch-range-popover{position:fixed;z-index:4000;background:#fff;color:#213f31;box-shadow:0 22px 65px rgba(12,34,25,.25);border:1px solid #d1dfd3;border-radius:17px;padding:clamp(15px,2vw,24px);max-height:min(88dvh,760px);overflow:auto;overscroll-behavior:contain}
.sch-range-popover *{box-sizing:border-box}
.sch-range-popover .sch-range-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sch-range-popover .sch-range-head>div:first-child{display:grid;gap:5px}
.sch-range-popover .sch-range-head strong{font:400 24px/1.25 Georgia,serif;color:#1b3f30}
.sch-range-popover .sch-range-head small{color:#61776a;font-size:12px;line-height:1.4}
.sch-range-popover .sch-range-arrows{display:flex;gap:7px}
.sch-range-popover .sch-range-arrows button{width:40px;height:40px;border:1px solid #cfdfd3;border-radius:50%;background:#fff;color:#315a43;font-size:19px;cursor:pointer}
.sch-range-popover .sch-range-arrows button:disabled,.sch-range-popover .sch-range-day:disabled{opacity:.3;cursor:not-allowed}
.sch-range-popover .sch-range-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(13px,2vw,29px);margin:21px 0;min-width:0}
.sch-range-popover .sch-range-month h4{color:#223b30;font-size:14px;text-align:center;margin:0 0 14px;font-weight:710}
.sch-range-popover .sch-range-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.sch-range-popover .sch-range-weekday{text-align:center;font-size:10px;color:#687b6d;font-weight:730;padding:7px 0}
.sch-range-popover .sch-range-day{min-width:0;min-height:45px;border:1px solid transparent;border-radius:8px;background:#fff;color:#253d30;font-size:13px;cursor:pointer;padding:3px 2px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-family:inherit}
.sch-range-popover .sch-range-day:hover:not(:disabled){border-color:#597b64;background:#edf4eb}
.sch-range-popover .sch-range-day.is-between{background:#e8f0e9;border-radius:0}
.sch-range-popover .sch-range-day.is-start,.sch-range-popover .sch-range-day.is-end{background:#183e30;color:#fff;font-weight:800;border-radius:8px}
.sch-range-popover .sch-range-day-label{font-size:12px}
.sch-range-popover .sch-range-day-rate{font-size:9.5px;line-height:1.25;color:#467656;font-weight:700}
.sch-range-popover .sch-range-day-rate.is-peak{color:#ae7a3d}
.sch-range-popover .sch-range-day.is-start .sch-range-day-rate,.sch-range-popover .sch-range-day.is-end .sch-range-day-rate{color:#d6f0d6}
.sch-range-popover .sch-range-actions{border-top:1px solid #dde6dd;padding-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.sch-range-popover .sch-range-actions span{font-size:12px;color:#63786a;line-height:1.5;margin-right:auto}
.sch-range-popover .sch-range-actions button{font:700 12px/1.4 inherit;color:#28543e;background:#fff;border:1px solid #cedbd0;border-radius:24px;min-height:39px;padding:9px 13px;cursor:pointer}
.sch-range-popover .sch-range-actions button:last-child{background:#183e30;color:#fff}
.sch-range-popover button:focus-visible,.sch-range-widget .sch-range-open:focus-visible{outline:3px solid #b99a68!important;outline-offset:2px}
body.sch-range-is-open .sch-range-widget{isolation:auto}
.bookbar.sch-range-active{grid-template-columns:minmax(140px,1fr) minmax(300px,2fr) minmax(140px,170px);overflow:visible}
.bookbar.sch-range-active>.sch-range-widget{padding:0!important;border-right:1px solid var(--line)}
.bookbar.sch-range-active .sch-range-pair{height:100%;border:0;border-radius:0}
.bookbar.sch-range-active .sch-range-open{height:100%;min-height:89px;padding:15px 16px}
.bookbar.sch-range-active>.sch-range-origin{display:none!important}
/* Homepage booking CTA: match the rounded booking bar's outside corners. */
.bookbar.sch-range-active>button[type=submit]{grid-column:auto;min-width:0;border-radius:0 13px 13px 0!important}
#reserve .dates.sch-range-active{display:block!important;margin-bottom:24px}
#reserve .dates.sch-range-active>.sch-range-widget{width:100%;min-width:0}
#reserve .dates.sch-range-active .sch-range-open{min-height:60px}
.admin-layout form .sch-range-widget{grid-column:1/-1;min-width:0}
.admin-layout form .sch-range-widget .sch-range-open{min-height:51px}
.sch-range-modal-scrim{display:none;position:fixed;inset:0;background:rgba(9,30,19,.64);z-index:3999}
@media(max-width:920px){
  .bookbar.sch-range-active{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr)}
  .bookbar.sch-range-active>button[type=submit]{grid-column:1/-1;min-height:50px;border-radius:0 0 13px 13px!important}
  .bookbar.sch-range-active>.sch-range-widget{border-right:0}
  .bookbar.sch-range-active .sch-range-open{min-height:69px}
  .sch-range-popover .sch-range-months{gap:14px}
}
@media(max-width:720px){
  .sch-range-popover{inset:auto 10px 10px!important;width:auto!important;max-height:min(88dvh,740px);padding:15px;border-radius:17px}
  .sch-range-popover .sch-range-months{grid-template-columns:minmax(0,1fr);margin:16px 0}
  .sch-range-popover .sch-range-month:nth-child(2){display:none}
  .sch-range-modal-scrim[data-open=true]{display:block}
  .sch-range-popover .sch-range-day{min-height:44px}
  .bookbar.sch-range-active{grid-template-columns:minmax(0,1fr)}
  .bookbar.sch-range-active>.sch-range-widget{grid-column:1/-1;border-top:1px solid var(--line)}
  .bookbar.sch-range-active>button[type=submit]{border-radius:13px!important}
  .bookbar.sch-range-active .sch-range-open{min-height:64px}
  .bookbar.sch-range-active .sch-range-open strong{font-size:13px}
  .sch-range-widget .sch-range-open svg{width:20px;height:20px;flex-basis:20px}
}
@media(max-width:380px){
 .sch-range-popover{inset:auto 5px 5px!important;padding:12px}
 .sch-range-popover .sch-range-day{min-height:44px}
 .sch-range-popover .sch-range-head strong{font-size:21px}
 .sch-range-popover .sch-range-arrows button{height:35px;width:35px}
 .sch-range-widget .sch-range-open{padding:9px 8px;gap:6px}
}
@media(prefers-reduced-motion:reduce){.sch-range-popover *{scroll-behavior:auto!important}}

/* Public stay-calendar dark theme — homepage and apartment booking entries. */
/* The public site uses deep pine surfaces; the owner console keeps its light
   picker. Explicit markers are needed because popovers attach to document.body. */
.sch-range-widget[data-sch-calendar-theme="dark"]{
  --sch-range-ink:#edf5ee;
  --sch-range-muted:#bad0c0;
  --sch-range-paper:#203a33;
  --sch-range-wash:#2a4c3f;
  --sch-range-line:#537466;
  color-scheme:dark;
}
.sch-range-widget[data-sch-calendar-theme="dark"] .sch-range-open svg{color:#a7d5b5}
.sch-range-widget[data-sch-calendar-theme="dark"] .sch-range-pair{
  border-color:#567164;
  box-shadow:0 5px 18px rgba(5,24,17,.12);
}
.sch-range-widget[data-sch-calendar-theme="dark"] .sch-range-feedback{color:#c1d6c8}
.bookbar.sch-range-active>.sch-range-widget[data-sch-calendar-theme="dark"]{
  border-right-color:#557166;
}
.sch-range-popover[data-sch-calendar-theme="dark"]{
  color-scheme:dark;
  background:#1a332d;
  color:#edf5ef;
  border-color:#547362;
  box-shadow:0 25px 70px rgba(2,17,12,.60);
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-head strong,
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-month h4{
  color:#f3f4e9;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-head small,
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-weekday,
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-actions span{
  color:#c0d4c5;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-arrows button{
  background:#24463a;
  color:#e7f3e9;
  border-color:#5c806a;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-arrows button:not(:disabled):hover{
  background:#345945;
  border-color:#a3cfab;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day{
  background:transparent;
  color:#e1efe4;
  border-color:transparent;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day:disabled{
  color:#9aafa0;
  opacity:.4;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day:hover:not(:disabled){
  background:#345b48;
  color:#fff;
  border-color:#91b69b;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day.is-between{
  background:#325344;
  color:#edf8ee;
  border-radius:0;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day.is-start,
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day.is-end{
  background:#b5dfbb;
  color:#173a29;
  border-color:#b5dfbb;
  border-radius:8px;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day-rate{color:#a9dbb6}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day-rate.is-peak{color:#e8bc84}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day.is-start .sch-range-day-rate,
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-day.is-end .sch-range-day-rate{color:#20553a}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-actions{border-top-color:#527060}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-actions button{
  background:#244638;
  color:#eff7f0;
  border-color:#67836f;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-actions button:hover{
  background:#335b47;
  border-color:#a5cbb0;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-actions button:last-child{
  background:#c6dfb9;
  border-color:#c6dfb9;
  color:#173827;
}
.sch-range-popover[data-sch-calendar-theme="dark"] .sch-range-actions button:last-child:hover{
  background:#dbedca;
}

/* Complete-range controls, with an unclipped desktop picker and mobile bottom sheet. */
.sch-range-popover .sch-range-actions button:disabled{
 opacity:.42;cursor:not-allowed!important;box-shadow:none!important;
}
@media(min-width:721px){.sch-range-popover{overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:720px){
 .sch-range-popover .sch-range-actions{position:sticky;bottom:0;z-index:1;padding-bottom:8px}
}

/* v0.9.49 · Home booking bar: prevent selected-night status from colliding
   with the full-width action on narrow screens. The status owns its row. */
@media (max-width:720px){
  .bookbar.sch-range-active{
    height:auto!important;
    min-height:0!important;
    grid-auto-rows:max-content!important;
    align-items:stretch!important;
    overflow:visible!important;
  }
  .bookbar.sch-range-active>.sch-range-widget{
    display:flex!important;
    flex-direction:column!important;
    position:relative!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding-bottom:0!important;
  }
  .bookbar.sch-range-active .sch-range-pair{
    height:auto!important;
    min-height:0!important;
    flex:0 0 auto!important;
  }
  .bookbar.sch-range-active .sch-range-feedback:not([hidden]){
    display:flex!important;
    position:static!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-height:37px;
    margin:0!important;
    padding:9px 15px 10px!important;
    border-top:1px solid rgba(180,210,189,.22);
    background:rgba(13,49,36,.09);
    color:inherit;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:650;
    white-space:normal!important;
    overflow-wrap:anywhere;
  }
  .bookbar.sch-range-active>button[type=submit]{
    display:flex!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    grid-column:1/-1!important;
    min-height:54px!important;
    margin:0!important;
    z-index:0;
    flex-shrink:0;
  }
}
