.availability-legend{display:flex;flex-wrap:wrap;gap:16px 24px;padding:16px 0 24px;color:var(--muted);font-size:14px}.availability-legend span{display:flex;align-items:center;gap:8px}.status-dot{width:13px;height:13px;border-radius:50%;display:inline-block}.status-dot.free{border:1px solid #7fb286;}.status-dot.change{border:1px solid #7fa9c5;}.status-dot.booked{border:1px solid #be837c;}.status-dot.unknown{background:#edf1f3;border:1px solid #c5d0d5}.calendar-note{display:flex;gap:12px 28px;align-items:center;justify-content:space-between;border-radius:14px;padding:14px 18px;margin-bottom:24px;color:var(--muted);}.calendar-note strong{color:var(--navy)}.calendar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.month-card{border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(20,50,70,.055);}.month-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}.month-head h3{font:700 22px "Cormorant Garamond",Georgia,"Times New Roman",serif;color:var(--navy);margin:0}.month-head small{color:var(--muted)}.weekdays,
.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.weekdays span{text-align:center;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;padding-bottom:3px}.day{aspect-ratio:1;min-height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;border:1px solid transparent}.day.empty{visibility:hidden}.day.past{color:#aab4b9;background:#f7f8f9}.day.unknown{background:#f1f4f5;color:#5f707a}.day.change{font-weight:700;}.day.today{outline:2px solid var(--navy);outline-offset:1px}@media(max-width:980px){.calendar-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.calendar-grid{grid-template-columns:1fr}.calendar-note{align-items:flex-start;flex-direction:column}.day{min-height:40px}}.status-dot.request{border:1px solid #f2a04a;}.status-dot.free{background:#dff1cc;border-color:#7eba4f;}.day.free{background:#edf8df;color:#345d24;border-color:#9bd268;}.status-dot.change{background:#dff3f5;border-color:#42c1c5;}.day.change{background:#e3f6f6;color:#276b72;border-color:#4fc4c8;}.status-dot.booked{background:#fff;border-color:#f0a66b;}.day.booked{background:#fffaf5;color:#8b684b;border-color:#f0a66b;}.status-dot.request{background:#ffd7ad;border-color:#ef9c48;}.day.request{background:#ffe4c7;color:#89511d;border-color:#ef9c48;}.month-card{background:#fffdf9;}.month-head{border-bottom:1px solid var(--sand);padding-bottom:10px;}.calendar-note{background:linear-gradient(135deg,var(--sand-soft),var(--sea-soft));}.period-picker{margin:0 0 28px;padding:26px;display:grid;grid-template-columns:1.3fr 1fr;gap:20px 28px;align-items:start;background:linear-gradient(135deg,var(--sand-soft,#f4ead7),var(--sea-soft,#edf6f7));border:1px solid var(--line)}.period-picker h2{font-family:var(--font-display);color:var(--navy);margin:4px 0 8px}.period-picker p{margin:0;color:var(--muted)}.period-selection{display:grid;grid-template-columns:1fr 1fr;gap:10px}.period-selection>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.period-selection span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:4px}.period-selection strong{display:block;color:var(--navy);font-size:14px}.period-reset{grid-column:1/-1;border:0;background:transparent;color:var(--navy);text-decoration:underline;cursor:pointer;justify-self:start;padding:2px}.period-feedback{grid-column:1/-1;min-height:22px;color:var(--muted);font-size:14px}.period-feedback.error{color:#9a4b42;font-weight:700}.period-feedback.success{color:var(--grass-dark,#365a3a);font-weight:700}.period-submit{grid-column:1/-1;justify-self:start}.period-submit.disabled{opacity:.45;pointer-events:none}.day.selectable{font:inherit;cursor:pointer;border:0}.day.selectable:hover{transform:translateY(-1px);outline:2px solid rgba(13,59,90,.18);outline-offset:1px}.day.selected-start,
.day.selected-end{box-shadow:0 0 0 3px var(--navy)!important;position:relative;z-index:2}.day.selected-range{background:#dbe9dd!important;color:var(--navy)!important}@media(max-width:800px){.period-picker{grid-template-columns:1fr}}@media(max-width:560px){.period-selection{grid-template-columns:1fr}.period-picker{padding:20px}}#calendar-updated{display:block;margin-top:3px;color:var(--muted);font-size:12px}.calendar-load-error{grid-column:1/-1;padding:24px;border:1px solid #e2c0ba;background:#faece9;color:#88443b;border-radius:16px;font-weight:700}.period-picker h2{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.012em;
}.month-head h3{
  font-family:var(--font-display);
  font-weight:600;
  letter-spacing:-.006em;
}.page-hero + section.availability-section{
  padding-top:52px;
}.availability-hero + section.availability-section{
  padding-top:48px;
}@media(max-width:700px){.page-hero + section.availability-section{
    padding-top:38px;
  }.availability-hero + section.availability-section{
    padding-top:38px;
  }}

#calendar-grid .day:not(.empty),
#calendar-grid .calendar-day:not(.empty){
  border:1px solid rgba(43,73,78,.20) !important;
  border-radius:10px !important;
  box-shadow:0 1px 2px rgba(20,50,60,.035);
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease, background-color .16s ease;
}

#calendar-grid .day.free,
#calendar-grid .calendar-day.free,
#calendar-grid [data-status="free"]{
  background:#eef7e9 !important;
  color:#284f32 !important;
  border-color:rgba(92,132,78,.48) !important;
  font-weight:650;
}
#calendar-grid .day.free:hover,
#calendar-grid .calendar-day.free:hover,
#calendar-grid [data-status="free"]:hover{
  border-color:rgba(72,112,61,.78) !important;
  box-shadow:0 4px 12px rgba(58,101,61,.11);
  transform:translateY(-1px);
}

#calendar-grid .day.change,
#calendar-grid .calendar-day.change,
#calendar-grid [data-status="change"]{
  background:#eaf4f7 !important;
  color:#285c72 !important;
  border-color:rgba(77,145,167,.62) !important;
  font-weight:700;
}

#calendar-grid .day.booked,
#calendar-grid .calendar-day.booked,
#calendar-grid [data-status="booked"]{
  background:#fbf1ed !important;
  border-color:rgba(184,137,119,.28) !important;
  color:transparent !important;
  text-shadow:none !important;
  cursor:default !important;
  box-shadow:none !important;
}
#calendar-grid .day.booked .day-number,
#calendar-grid .calendar-day.booked .day-number,
#calendar-grid [data-status="booked"] .day-number{
  color:transparent !important;
  opacity:0 !important;
}

#calendar-grid .day.request,
#calendar-grid .calendar-day.request,
#calendar-grid [data-status="request"]{
  background:#f9e2b8 !important;
  color:#80501f !important;
  border-color:rgba(224,151,74,.58) !important;
}

#calendar-grid .day.selected,
#calendar-grid .calendar-day.selected,
#calendar-grid .day.is-selected,
#calendar-grid .calendar-day.is-selected,
#calendar-grid [aria-selected="true"]{
  box-shadow:0 0 0 2px rgba(23,63,87,.72),0 5px 14px rgba(23,63,87,.13) !important;
}

@media(max-width:650px){
  #calendar-grid .day:not(.empty),
#calendar-grid .calendar-day:not(.empty){
    border-radius:9px !important;
  }
}

#calendar-grid .day.change{
  --change-from:#fbf1ed;
  --change-to:#eef7e9;
  background:linear-gradient(135deg,
    var(--change-from) 0 calc(50% - .65px),
    rgba(72,96,88,.24) calc(50% - .65px) calc(50% + .65px),
    var(--change-to) calc(50% + .65px) 100%) !important;
}
#calendar-grid .day.change.change-from-free{--change-from:#eef7e9}
#calendar-grid .day.change.change-from-booked{--change-from:#fbf1ed}
#calendar-grid .day.change.change-from-request{--change-from:#f9e2b8}
#calendar-grid .day.change.change-to-free{--change-to:#eef7e9}
#calendar-grid .day.change.change-to-booked{--change-to:#fbf1ed}
#calendar-grid .day.change.change-to-request{--change-to:#f9e2b8}

#calendar-grid .day.today.change{
  background:
    radial-gradient(circle at 50% calc(100% - 5px),#29473d 0 2.5px,transparent 3px),
    linear-gradient(135deg,
      var(--change-from) 0 calc(50% - .65px),
      rgba(72,96,88,.24) calc(50% - .65px) calc(50% + .65px),
      var(--change-to) calc(50% + .65px) 100%) !important;
}

@media(max-width:700px){
  body:has(#period-quickbar:not([hidden])){
    padding-bottom:76px;
  }
  .period-quickbar{
    background:#eef4f3 !important;
  }
  .period-quickbar-inner{
    border-radius:12px;
    padding:4px 4px 4px var(--tb-space-xs);
  }
}

@supports not selector(body:has(*)){
  body{padding-bottom:0;}
}

#calendar-grid .day.selected-range{
  position:relative;

}
#calendar-grid .day.selected-start,
#calendar-grid .day.selected-end{
  position:relative;
  outline:2px solid rgba(34,72,60,.88);
  outline-offset:-2px;

  z-index:2;
}

#calendar-grid .day.change.selected-start,
#calendar-grid .day.change.selected-end{
  outline:2px solid rgba(34,72,60,.88);
  outline-offset:-2px;

}

#period-feedback{min-height:1.5em;}
#period-summary{min-height:1.5em;}
#range-check{min-height:1.5em;}

.month-jump,
.month-nav,
.calendar-jump{
  min-height:44px;
}
.calendar-month,
.month-block,
[id^="month-"]{
  scroll-margin-top:110px;
}

#period-picker .period-picker-copy h2{
  min-height:1.25em;
}

@media (max-width:700px){
  #period-picker #selection-help{min-height:4.5em;}
  #period-picker .period-selection strong{min-height:3.8em;}
  #period-picker #period-feedback{min-height:4.5em !important;}
  #period-picker #range-check{min-height:4.5em !important;}
}

#period-picker #selection-title{
  display:block !important;

  overflow:hidden;
}
#period-picker #selection-help{
  display:block !important;

  overflow:hidden;
}
#period-picker .period-selection strong{
  display:block !important;

  overflow:hidden;
}
#period-picker #period-feedback,
#period-picker #period-summary,
#period-picker #range-check{
  display:block !important;
  box-sizing:border-box;
  visibility:visible !important;
  overflow:hidden;
}

#period-picker #period-feedback:empty,
#period-picker #period-summary:empty,
#period-picker #range-check:empty{
  display:block !important;
}

#period-picker,
#month-jump,
#calendar-grid,
.calendar-note{
  overflow-anchor:none;
}

@media (max-width:700px){
  #period-picker #selection-title{
    height:2.9em;
    min-height:2.9em !important;
  }
  #period-picker #selection-help{
    height:4.7em;
    min-height:4.7em !important;
  }
  #period-picker .period-selection strong{
    height:4em;
    min-height:4em !important;
  }
  #period-picker #period-feedback{
    height:4.8em;
    min-height:4.8em !important;
  }
  #period-picker #period-summary{
    height:3.3em;
    min-height:3.3em !important;
  }
  #period-picker #range-check{
    height:4.8em;
    min-height:4.8em !important;
  }
}

.period-quickbar{position:fixed;left:0;right:0;bottom:0;z-index:1000;padding:10px 16px calc(10px + env(safe-area-inset-bottom));}
.period-quickbar[hidden]{display:none!important}
.period-quickbar-inner{width:min(1100px,100%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;}
.period-quickbar-text{min-width:0;display:flex;flex-direction:column;gap:2px}.period-quickbar-text strong{font:600 .93rem/1.3 Inter,Arial,sans-serif}.period-quickbar-text span{font-size:.84rem;line-height:1.35}
.period-quickbar-actions{display:flex;gap:8px;flex:0 0 auto}.period-quickbar-actions button,
.period-quickbar-actions a{min-height:42px;border-radius:999px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;font:600 .86rem/1 Inter,Arial,sans-serif;text-decoration:none;white-space:nowrap;cursor:pointer}
#period-quickbar-reset{border:1px solid rgba(50,80,63,.28);color:inherit;}#period-quickbar-submit{border:1px solid #315844;background:#315844;color:#fff;}
@media(max-width:700px){.period-quickbar{padding:8px 9px calc(8px + env(safe-area-inset-bottom))}.period-quickbar-inner{gap:7px}.period-quickbar-text strong{font-size:.79rem}.period-quickbar-text span{font-size:.72rem}.period-quickbar-actions{gap:5px}.period-quickbar-actions button,
.period-quickbar-actions a{min-height:39px;padding:0 9px;font-size:.75rem}}

#period-picker{
  padding-top:18px !important;
  padding-bottom:14px !important;
  margin-bottom:14px !important;
}
#period-picker .period-picker-copy{
  margin-bottom:var(--tb-space-xs) !important;
}
#period-picker .period-picker-copy h2{
  margin-top:0 !important;
  margin-bottom:4px !important;
}
#period-picker #selection-title{
  margin-bottom:2px !important;
}
#period-picker #selection-help{
  margin-bottom:5px !important;
}

#period-picker .period-selection{

  align-items:end !important;

  margin-top:6px !important;
  margin-bottom:4px !important;
}
#period-picker .period-selection > *{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

#period-picker #period-feedback,
#period-picker #period-summary,
#period-picker #range-check{
  margin-top:2px !important;
  margin-bottom:2px !important;
}

.year-switcher,
#year-switcher{
  margin-top:var(--tb-space-xs) !important;
  margin-bottom:7px !important;
}
#month-jump{
  margin-top:4px !important;
  margin-bottom:10px !important;
  gap:5px !important;
}
#month-jump button{
  padding-top:7px !important;
  padding-bottom:7px !important;
}

@media (max-width:700px){
  #period-picker{
    padding-top:13px !important;
    padding-bottom:10px !important;
    margin-bottom:10px !important;
  }
  #period-picker .period-selection{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:7px !important;
  }
  #period-picker .period-selection > :last-child{
    grid-column:1 / -1;
    justify-self:start;
  }
  #month-jump{
    gap:4px !important;
    margin-bottom:7px !important;
  }
}

@media (max-width:430px){
  #period-picker .period-selection{
    grid-template-columns:1fr !important;
  }
  #period-picker .period-selection > :last-child{
    grid-column:auto;
  }
}

.availability-hero{
  padding:28px 0 var(--tb-space-lg) !important;
}
.availability-hero h1{
  font-size:clamp(38px,5vw,54px) !important;
}
.availability-hero p{
  margin:7px 0 0 !important;
  max-width:820px;
  color:#5f6f73;
  font-size:15.5px !important;
  line-height:1.45;
}

.availability-section{
  padding:var(--tb-space-lg) 0 56px !important;
}

.availability-legend-v128{
  padding:var(--tb-space-xs) 0 var(--tb-space-sm) !important;
  margin:0 !important;
  gap:7px var(--tb-space-sm) !important;
}
.availability-legend-clear .status-dot{
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
}
.availability-legend-clear small{
  display:none !important;
}

#period-picker{
  background:#e7efee !important;
  grid-template-columns:minmax(230px,.8fr) minmax(300px,1.2fr) !important;
  gap:var(--tb-space-xs) 18px !important;
  padding:14px var(--tb-space-md) !important;
  margin:0 0 var(--tb-space-sm) !important;
  align-items:start !important;
}
#period-picker .period-picker-copy{
  margin:0 !important;
}
#period-picker .period-picker-copy .eyebrow{
  display:none;
}
#period-picker .period-picker-copy h2{
  margin:0 0 2px !important;
  font-size:24px !important;
}
#period-picker #selection-title{
  height:1.45em !important;
  min-height:1.45em !important;
}
#period-picker #selection-help{
  height:3.1em !important;
  min-height:3.1em !important;
  margin:0 !important;
  font-size:13px;
  line-height:1.45;
}
#period-picker .period-selection{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:var(--tb-space-xs) !important;
  margin:0 !important;
}
#period-picker .period-selection>div{
  padding:var(--tb-space-xs) 11px !important;
}
#period-picker .period-selection span{
  margin-bottom:1px !important;
}
#period-picker .period-selection strong{
  height:2.7em !important;
  min-height:2.7em !important;
  font-size:13px !important;
}
#period-picker #period-feedback,
#period-picker #period-summary,
#period-picker #range-check{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.35 !important;
}

#period-picker #period-feedback{height:3.2em !important;min-height:3.2em !important;}
#period-picker #period-summary{height:2em !important;min-height:2em !important;}
#period-picker #range-check{height:3.2em !important;min-height:3.2em !important;}

#period-picker .period-actions{
  margin-top:0 !important;
  gap:var(--tb-space-xs) !important;
}
#period-picker .period-actions .btn{
  padding:9px 14px !important;
  font-size:13px !important;
}

.calendar-note-compact{
  min-height:0 !important;
  padding:5px 2px 7px !important;
  margin:0 0 7px !important;
  border-radius:0 !important;
  background:transparent !important;
}
.calendar-note-compact strong{
  font-family:var(--font-display);
  font-size:22px;
}
.calendar-note-compact small{
  font-size:11px;
}

#calendar-grid{
  margin-top:0 !important;
}

@media(max-width:800px){
  .availability-hero{padding:22px 0 18px !important;}
  .availability-section{padding-top:16px !important;}
  #period-picker{
    grid-template-columns:1fr !important;
    padding:var(--tb-space-sm) !important;
  }

}
@media(max-width:650px){

  .year-switch{
    width:auto !important;
    flex:0 0 auto;
  }
  .year-btn{
    padding:var(--tb-space-xs) var(--tb-space-sm) !important;
  }
  .availability-legend-clear{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:5px !important;
  }
  .availability-legend-clear > span{
    gap:5px !important;
    font-size:11px;
  }
  .availability-legend-clear strong{
    font-size:11px;
  }
}
@media(max-width:430px){

  .availability-legend-clear{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

.period-quickbar{
  background:#eef4f3 !important;
  border-top:1px solid rgba(40,70,55,.16) !important;
  box-shadow:0 -8px 28px rgba(24,45,34,.09) !important;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.period-quickbar-inner{
  background:#e7efee;
  border:1px solid rgba(31,88,96,.16);
  border-radius:15px;
  padding:5px 7px 5px var(--tb-space-sm);
}
#period-quickbar-reset{
  background:rgba(255,255,255,.72) !important;
}
#period-quickbar-submit{
  box-shadow:0 2px 8px rgba(36,73,55,.12);
}

body:has(#period-quickbar:not([hidden])){
  padding-bottom:82px;
}

#calendar-grid .day.change.change-booked-free,
#calendar-grid.choosing-departure .day.change.change-booked-free,
#calendar-grid .day.change.change-booked-free.selected-end{
  background:linear-gradient(135deg,
    #fbf1ed 0%, #fbf1ed 49.45%,
    rgba(82,105,97,.26) 49.7%, rgba(82,105,97,.26) 50.3%,
    #eef7e9 50.55%, #eef7e9 100%) !important;
}

#calendar-grid .day.change.change-free-booked,
#calendar-grid.choosing-departure .day.change.change-free-booked,
#calendar-grid .day.change.change-free-booked.selected-end{
  background:linear-gradient(135deg,
    #eef7e9 0%, #eef7e9 49.45%,
    rgba(82,105,97,.26) 49.7%, rgba(82,105,97,.26) 50.3%,
    #fbf1ed 50.55%, #fbf1ed 100%) !important;
}

#calendar-grid .day.change.change-neutral{
  background:linear-gradient(135deg,
    #fbf1ed 0%, #fbf1ed 49.45%,
    rgba(82,105,97,.26) 49.7%, rgba(82,105,97,.26) 50.3%,
    #eef7e9 50.55%, #eef7e9 100%) !important;
}

#calendar-grid .day.today.change.change-booked-free,
#calendar-grid.choosing-departure .day.today.change.change-booked-free,
#calendar-grid .day.today.change.change-booked-free.selected-end{
  background:
    radial-gradient(circle at 50% calc(100% - 5px),#29473d 0 2.5px,transparent 3px),
    linear-gradient(135deg,#fbf1ed 0%,#fbf1ed 49.45%,rgba(82,105,97,.26) 49.7%,rgba(82,105,97,.26) 50.3%,#eef7e9 50.55%,#eef7e9 100%) !important;
}

#calendar-grid .day.today.change.change-free-booked,
#calendar-grid.choosing-departure .day.today.change.change-free-booked,
#calendar-grid .day.today.change.change-free-booked.selected-end{
  background:
    radial-gradient(circle at 50% calc(100% - 5px),#29473d 0 2.5px,transparent 3px),
    linear-gradient(135deg,#eef7e9 0%,#eef7e9 49.45%,rgba(82,105,97,.26) 49.7%,rgba(82,105,97,.26) 50.3%,#fbf1ed 50.55%,#fbf1ed 100%) !important;
}

#calendar-grid .day.selected-range:not(.selected-start):not(.selected-end){
  color:#315b56;
}

#calendar-grid .day.selected-range{
  box-shadow:
    inset 0 0 0 999px rgba(57,156,169,.18),
    inset 0 0 0 1px rgba(34,132,146,.42) !important;
  border-color:rgba(34,132,146,.50) !important;
  color:#245b62 !important;
}

#calendar-grid .day.selected-start,
#calendar-grid .day.selected-end{
  box-shadow:
    inset 0 0 0 999px rgba(57,156,169,.25),
    inset 0 0 0 2px rgba(24,118,132,.78),
    0 1px 5px rgba(24,118,132,.12) !important;
  border-color:rgba(24,118,132,.82) !important;
  color:#174f57 !important;
  font-weight:700;
}

#calendar-grid .day.change.selected-range{
  box-shadow:
    inset 0 0 0 999px rgba(57,156,169,.13),
    inset 0 0 0 1px rgba(34,132,146,.48) !important;
}
#calendar-grid .day.change.selected-start,
#calendar-grid .day.change.selected-end{
  box-shadow:
    inset 0 0 0 999px rgba(57,156,169,.17),
    inset 0 0 0 2px rgba(24,118,132,.80),
    0 1px 5px rgba(24,118,132,.12) !important;
}

#calendar-grid .day.selected-start:focus-visible,
#calendar-grid .day.selected-end:focus-visible,
#calendar-grid .day.selected-range:focus-visible{
  outline:2px solid rgba(17,91,104,.88);
  outline-offset:2px;
}

.availability-hero-combined{padding:28px 0 30px!important}
.availability-hero-combined .container{display:flex;align-items:center;justify-content:space-between;gap:28px}
.availability-hero-copy{min-width:0}
.availability-hero-combined h1{margin:0}
.availability-hero-combined p{margin-top:7px!important;max-width:820px}
.availability-hero-years{flex:0 0 auto;margin:0!important}
.availability-section{padding-top:16px!important;}
#period-picker,
#calendar-grid,
.calendar-note{overflow-anchor:none;}
@media(max-width:700px){
 .availability-hero-combined{padding:22px 0 24px!important}
 .availability-hero-combined .container{display:block}
 .availability-hero-combined p{font-size:14px!important;line-height:1.45}
 .availability-hero-years{margin-top:10px!important}
 .availability-section{padding-top:12px!important}
}

#period-picker.period-picker-compact{

  margin-bottom:var(--tb-space-sm)!important;
}
.period-picker-compact .period-picker-copy{grid-area:copy;min-width:0}
.period-picker-compact .period-picker-copy .eyebrow{display:none!important}
.period-picker-compact #selection-title{
  height:1.45em!important;min-height:1.45em!important;
  margin:0!important;font-size:clamp(18px,2vw,22px)!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.period-picker-compact #selection-help{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.period-picker-compact .period-selection{
  grid-area:dates!important;
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:var(--tb-space-xs)!important;
  margin:0!important;
}
.period-picker-compact .period-selection>div:not(.period-arrow){
  padding:7px 10px!important;min-width:0;
}
.period-picker-compact .period-selection span{font-size:11px!important}
.period-picker-compact .period-selection strong{
  height:2.7em!important;min-height:2.7em!important;
  display:flex!important;align-items:center!important;
  font-size:13px!important;line-height:1.25!important;
}
.period-picker-compact .period-arrow{
  padding:0!important;
  font-size:18px;color:rgba(45,101,96,.62);
}
.period-picker-compact .period-actions{
  grid-area:actions!important;margin:0!important;align-self:center!important;
}
.period-picker-compact .period-reset{white-space:nowrap}
.period-picker-compact .period-status-reserve{
  grid-area:status;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:10px;
  min-height:3.2em;
  overflow-anchor:none;
}
.period-picker-compact #period-feedback,
.period-picker-compact #period-summary,
.period-picker-compact #range-check{
  display:block!important;
  height:3.2em!important;min-height:3.2em!important;
  margin:0!important;font-size:12px!important;line-height:1.35!important;
  overflow:hidden;
}
@media(max-width:900px){
 #period-picker.period-picker-compact{
   grid-template-columns:1fr auto!important;
   grid-template-areas:"copy actions" "dates dates" "status status"!important;
 }
}
@media(max-width:650px){
 #period-picker.period-picker-compact{
   grid-template-columns:1fr!important;
   grid-template-areas:"copy" "dates" "actions" "status"!important;
   gap:7px!important;padding:10px!important;
 }
 .period-picker-compact .period-status-reserve{
   grid-template-columns:1fr;
   gap:0;
   min-height:7.2em;
 }
 .period-picker-compact #period-feedback,
.period-picker-compact #period-summary,
.period-picker-compact #range-check{
   height:2.4em!important;min-height:2.4em!important;
 }
 .period-picker-compact .period-actions{justify-self:start}
}

#period-picker.period-picker-compact{
  display:grid!important;
  grid-template-columns:auto minmax(310px,1fr) auto!important;
  grid-template-areas:
    "copy dates actions"
    "status status status"!important;
  align-items:center!important;
  gap:5px 14px!important;
  padding:var(--tb-space-xs) var(--tb-space-sm)!important;
  min-height:0!important;
}
#period-picker.period-picker-compact .period-picker-copy{grid-area:copy!important}
#period-picker.period-picker-compact #selection-title{
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  font-size:18px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}

#period-picker.period-picker-compact #selection-help{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
}
#period-picker.period-picker-compact .period-selection{
  grid-area:dates!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
}
#period-picker.period-picker-compact .period-selection>div:not(.period-arrow){
  flex:1 1 0;
  display:flex!important;
  align-items:baseline!important;
  gap:6px!important;
  padding:5px var(--tb-space-xs)!important;
}
#period-picker.period-picker-compact .period-selection span{
  flex:0 0 auto;font-size:11px!important;
}
#period-picker.period-picker-compact .period-selection strong{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  font-size:13px!important;
  line-height:1.2!important;
  white-space:nowrap!important;
}
#period-picker.period-picker-compact .period-arrow{
  padding:0!important;font-size:16px!important;
}
#period-picker.period-picker-compact .period-actions{
  grid-area:actions!important;margin:0!important;
}
#period-picker.period-picker-compact .period-reset{
  padding:7px 10px!important;
}

#period-picker.period-picker-compact .period-status-reserve{
  grid-area:status!important;
  position:relative!important;
  display:block!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  background:#e7efee;
  border-radius:6px;
  overflow:hidden!important;
  overflow-anchor:none!important;
}
#period-picker.period-picker-compact #period-feedback,
#period-picker.period-picker-compact #period-summary,
#period-picker.period-picker-compact #range-check{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  height:20px!important;
  min-height:20px!important;
  margin:0!important;
  font-size:11px!important;
  line-height:20px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

#period-picker.period-picker-compact #period-feedback{z-index:1}
#period-picker.period-picker-compact #period-summary:not(:empty){z-index:2;background:#e7efee}
#period-picker.period-picker-compact #range-check:not(:empty){z-index:3;background:#e7efee}

@media(max-width:800px){
 #period-picker.period-picker-compact{
   grid-template-columns:1fr auto!important;
   grid-template-areas:"copy actions" "dates dates" "status status"!important;
 }
}
@media(max-width:560px){
 #period-picker.period-picker-compact{
   grid-template-columns:1fr!important;
   grid-template-areas:"copy" "dates" "actions" "status"!important;
 }
 #period-picker.period-picker-compact .period-selection{
   width:100%!important;
 }
 #period-picker.period-picker-compact #selection-title{white-space:normal!important}
}

#period-quickbar .period-quickbar-inner{
  min-height:0!important;
  padding:5px 7px 5px 11px!important;
}
#period-quickbar .period-quickbar-text{
  display:flex!important;
  align-items:center!important;
  margin:0!important;
}
#period-quickbar #period-quickbar-dates{
  display:block!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:600!important;
  white-space:nowrap!important;
}
#period-quickbar .period-quickbar-actions{
  gap:6px!important;
}
#period-quickbar #period-quickbar-reset,
#period-quickbar #period-quickbar-submit{
  padding-top:7px!important;
  padding-bottom:7px!important;
  white-space:nowrap!important;
}
@media(max-width:560px){
 #period-quickbar .period-quickbar-inner{
   padding:4px 5px 4px var(--tb-space-xs)!important;
   gap:6px!important;
 }
 #period-quickbar #period-quickbar-dates{
   font-size:12px!important;
 }
 #period-quickbar #period-quickbar-reset,
#period-quickbar #period-quickbar-submit{
   padding:6px var(--tb-space-xs)!important;
   font-size:12px!important;
 }
}

.calendar-grid,
.calendar-grid button,
.calendar-grid .day{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
}
.calendar-grid .month-title,
.calendar-grid h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600;
  letter-spacing:.01em;
}
.calendar-grid .weekday,
.calendar-grid .weekdays{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-weight:500;
  letter-spacing:.035em;
}
.calendar-grid .day{
  font-weight:600;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}

#calendar-grid{margin-top:14px;}
.calendar-note-compact{margin-bottom:8px;}

.availability-extra.card{
 margin-top:18px!important;padding:14px 16px!important;
 display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
 align-items:center!important;gap:14px!important
}
.availability-extra.card .eyebrow{margin-bottom:2px!important;font-size:10px!important;line-height:1.2!important}
.availability-extra.card h2{margin:0 0 3px!important;font-size:20px!important;line-height:1.1!important}
.availability-extra.card p{margin:0!important;max-width:820px!important;font-size:13px!important;line-height:1.45!important}
.availability-extra.card>.btn{margin:0!important;white-space:nowrap!important;align-self:center!important}

@media(max-width:700px){
 #calendar-grid{margin-top:10px}
 .availability-extra.card{
  margin-top:14px!important;padding:12px 13px!important;
  grid-template-columns:1fr!important;gap:9px!important
 }
 .availability-extra.card h2{font-size:18px!important}
 .availability-extra.card p{font-size:12.5px!important;line-height:1.42!important}
 .availability-extra.card>.btn{
  justify-self:start!important;width:auto!important;min-height:34px!important;
  padding:7px 11px!important;font-size:12px!important
 }
 .calendar-grid .month-title,
.calendar-grid h3{line-height:1.05!important}
 .calendar-grid .weekday,
.calendar-grid .weekdays{letter-spacing:.015em!important}
 #period-quickbar .period-quickbar-inner{gap:5px!important}
 #period-quickbar #period-quickbar-dates{overflow:hidden!important;text-overflow:ellipsis!important}
}
@media(max-width:430px){
 #period-quickbar .period-quickbar-inner{
  display:grid!important;grid-template-columns:auto 1fr!important;
  grid-template-areas:"dates dates" "change submit"!important;
  row-gap:3px!important;padding:4px 6px!important
 }
 #period-quickbar .period-quickbar-text{grid-area:dates!important;min-width:0!important}
 #period-quickbar .period-quickbar-actions{display:contents!important}
 #period-quickbar #period-quickbar-reset{grid-area:change!important;justify-self:start!important}
 #period-quickbar #period-quickbar-submit{grid-area:submit!important;justify-self:end!important}
 #period-quickbar #period-quickbar-dates{
  width:100%!important;text-align:center!important;font-size:11.5px!important
 }
}

@media(max-width:700px){
  #calendar-grid{
    gap:var(--tb-space-sm)!important;
  }
  #calendar-grid .month-card{
    padding:13px!important;
  }
  #calendar-grid .month-head{
    margin-bottom:9px!important;
    padding-bottom:7px!important;
  }
  #calendar-grid .weekdays,
#calendar-grid .days-grid{
    column-gap:5px!important;
    row-gap:4px!important;
  }
  #calendar-grid .weekdays span{
    padding-bottom:1px!important;
  }
  .availability-extra.card{
    margin-top:var(--tb-space-sm)!important;
  }
}

@media(max-width:700px){

  #period-picker.period-picker-compact .period-selection{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    gap:5px!important;
    align-items:center!important;
  }
  #period-picker.period-picker-compact .period-selection>div:not(.period-arrow){
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:2px!important;
    padding:6px var(--tb-space-xs)!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  #period-picker.period-picker-compact .period-selection span{
    font-size:10px!important;
    line-height:1.15!important;
  }
  #period-picker.period-picker-compact .period-selection strong{
    width:100%!important;
    font-size:clamp(11px,3.2vw,12.5px)!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  #period-picker.period-picker-compact .period-status-reserve{
    height:34px!important;
    min-height:34px!important;
  }
  #period-picker.period-picker-compact #period-feedback,
#period-picker.period-picker-compact #period-summary,
#period-picker.period-picker-compact #range-check{
    height:34px!important;
    min-height:34px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    display:flex!important;
    align-items:center!important;
  }

  #period-quickbar .period-quickbar-inner{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-areas:"dates" "actions"!important;
    row-gap:5px!important;
    padding:6px var(--tb-space-xs)!important;
  }
  #period-quickbar .period-quickbar-text{
    grid-area:dates!important;
    min-width:0!important;
    display:block!important;
  }
  #period-quickbar #period-quickbar-dates{
    width:100%!important;
    font-size:12px!important;
    line-height:1.3!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-align:left!important;
  }
  #period-quickbar .period-quickbar-actions{
    grid-area:actions!important;
    display:flex!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:6px!important;
  }
  #period-quickbar #period-quickbar-reset,
#period-quickbar #period-quickbar-submit{
    grid-area:auto!important;
    min-height:38px!important;
    padding:6px 9px!important;
    font-size:12px!important;
  }
  body:has(#period-quickbar:not([hidden])){
    padding-bottom:112px!important;
  }
}

@media(max-width:700px){
  #period-quickbar .period-quickbar-text{
    width:100%!important;
  }
  #period-quickbar #period-quickbar-dates{
    display:flex!important;
    align-items:center!important;
    min-height:28px!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.35!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  #period-quickbar .period-quickbar-actions{
    width:100%!important;
    justify-content:space-between!important;
  }
  #period-quickbar #period-quickbar-reset{
    flex:0 0 auto!important;
  }
  #period-quickbar #period-quickbar-submit{
    flex:0 1 auto!important;
    margin-left:auto!important;
  }
}

#calendar-grid .day.today{
  position:relative;
  outline:none !important;
  box-shadow:none;
}
#calendar-grid .day.today::after{
  content:"";
  position:absolute;
  left:50%;

  border-radius:50%;
  background:#29473d;
  transform:translateX(-50%);
  pointer-events:none;
}
#calendar-grid .day.today.selected,
#calendar-grid .day.today.is-selected,
#calendar-grid .day.today.selected-range,
#calendar-grid .day.today.selected-start,
#calendar-grid .day.today.selected-end{
  outline:none !important;
}

.calendar-note-compact{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:baseline;
  column-gap:var(--tb-space-sm);
}
.calendar-note-compact .calendar-today{
  justify-self:start;
  font-size:12px;
  line-height:1.35;
  color:#607178;
  font-weight:600;
}
.calendar-note-compact .calendar-today[hidden]{display:none;}
#calendar-grid .day.today::after{
  width:5px;
  height:5px;
  bottom:4px;
}
@media(max-width:800px){
  .calendar-note-compact{
    grid-template-columns:1fr auto;
    row-gap:2px;
  }
  .calendar-note-compact .calendar-today{
    grid-column:1 / -1;
    grid-row:2;
    font-size:11px;
  }
}

.availability-legend-clear .status-dot.change{

  border-color:rgba(82,105,97,.34) !important;
}

.availability-legend-clear .status-dot.free{
  background:#eef7e9 !important;
}
.availability-legend-clear .status-dot.booked{
  background:#fbf1ed !important;
}
.availability-legend-clear .status-dot.request{
  background:#f9e2b8 !important;
}
.availability-legend-clear .status-dot.change{
  background:linear-gradient(135deg,
    #fbf1ed 0 calc(50% - .65px),
    rgba(72,96,88,.24) calc(50% - .65px) calc(50% + .65px),
    #eef7e9 calc(50% + .65px) 100%) !important;
}

#calendar-grid .day.change:not(.selected):not(.is-selected):not(.selected-start):not(.selected-end):not(.selected-range),
#calendar-grid .calendar-day.change:not(.selected):not(.is-selected):not(.selected-start):not(.selected-end):not(.selected-range),
#calendar-grid [data-status="change"]:not([aria-selected="true"]):not(.selected-start):not(.selected-end):not(.selected-range){
  border-color:rgba(82,105,97,.34) !important;
}

@media(max-width:800px){
  .availability-section{
    padding-top:0 !important;
  }
  .availability-legend-v128{
    padding-top:2px !important;
  }

  .calendar-note-compact{
    display:grid !important;
    grid-template-columns:1fr !important;
    row-gap:3px !important;
    align-items:start !important;
  }
  .calendar-note-compact > strong,
.calendar-note-compact .calendar-today,
.calendar-note-compact > small{
    grid-column:1 !important;
    justify-self:start !important;
  }
  .calendar-note-compact > strong{
    grid-row:1 !important;
    white-space:nowrap;
  }
  .calendar-note-compact .calendar-today{
    grid-row:2 !important;
  }
  .calendar-note-compact > small{
    grid-row:3 !important;
    text-align:left !important;
  }
}

.availability-subtitle-mobile{
  display:none;
}
@media(max-width:800px){
  .availability-subtitle-desktop{
    display:none;
  }
  .availability-subtitle-mobile{
    display:inline;
  }
}

@media(max-width:800px){
  .availability-section{
    padding-bottom:var(--tb-space-xl) !important;
  }
}

@media(max-width:700px){
  .availability-extra.card{
    height:auto !important;
    min-height:0 !important;
    padding:var(--tb-space-sm) 13px !important;
  }
  .availability-section{
    padding-bottom:20px !important;
  }
}

@media(max-width:700px){
  .availability-extra.card > .btn{
    display:none !important;
  }
}
