/* Weekly availability in a compact fixed card, matching the draft notice. */
.has-availability{--availability-height:180px}
/* Allow the final page content to scroll clear of the floating card. */
.has-availability .site-footer{padding-bottom:calc(30px + var(--availability-height))}
.availability-bar{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:900;width:min(392px,calc(100% - 36px));max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 10px;background:#fff;color:var(--navy);border:1px solid #dbe0e8;box-shadow:0 5px 24px #11172b20}
.availability-bar[hidden],.availability-list[hidden]{display:none}
.availability-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;min-width:0}
.availability-heading{min-width:0;padding-right:30px}
.availability-title{display:flex;align-items:center;gap:9px;font-size:.78rem;line-height:1.4;letter-spacing:0}
.availability-title i{width:6px;height:6px;border-radius:50%;background:#7c8598;flex:0 0 6px}
[data-state="ready"] .availability-title i{background:var(--orange)}
.availability-close{position:absolute;right:3px;top:1px;display:grid;place-items:center;width:40px;height:40px;padding:0;background:transparent;border:0;color:#60697b;font:400 21px/1 Arial,sans-serif;cursor:pointer}
.availability-close:hover{color:var(--navy);background:var(--light)}
.availability-list{list-style:none;display:flex;flex-wrap:wrap;gap:7px 20px;padding:0;margin:0}
.availability-list li{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:.75rem;line-height:1.4;font-weight:700}
.availability-list strong{font-size:1.08rem;font-weight:700;font-variant-numeric:tabular-nums}
.availability-list span{overflow-wrap:anywhere}
.availability-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 14px;min-width:0}
.availability-call{display:inline-flex;align-items:center;gap:10px;min-height:36px;border-bottom:2px solid var(--orange);color:var(--navy);font-size:.73rem;font-weight:700;line-height:1.4}
.availability-call:hover{color:#b44b0e}.availability-call span{color:var(--orange);font-size:1rem}
.availability-footer small{max-width:160px;font-size:.6rem;line-height:1.5;color:#60697b}
.availability-preview{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;border-top:1px solid #e8ebf0;padding-top:8px;color:#60697b;font-size:.61rem;line-height:1.5}
.availability-preview a{text-decoration:underline;text-underline-offset:3px}
.availability-call:focus-visible,.availability-close:focus-visible,.availability-preview a:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
@media(max-width:600px){
  .availability-bar{left:max(10px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom));width:min(370px,calc(100% - 20px));padding:12px 14px 9px}
  .availability-inner{gap:8px}.availability-list{gap:5px 14px}.availability-list li{font-size:.72rem}.availability-footer small{max-width:140px}
}
