/* ── Availability Bar – scoped under #availBar ── */
#availBar{--av-ink:#1a1303;--av-cream:#fffaf0;--av-paper:#fffdf7;--av-primary:#0066ff;--av-primary-fg:#ffffff;--av-primary-soft:#bfd9ff;--av-line:#efe6cf;--av-muted:#9a8f74;font-family:'Bricolage Grotesque',sans-serif;-webkit-font-smoothing:antialiased;margin:0;padding:0}
#availBar *,#availBar *::before,#availBar *::after{box-sizing:border-box}
#availBar .av-topbar{width:100%;border:none;background:var(--av-primary);text-align:center;padding:16px;font-weight:800;letter-spacing:.2em;font-size:14px;text-transform:uppercase;box-shadow:0 2px 0 rgba(0,0,0,.05);cursor:pointer;font-family:'Bricolage Grotesque',sans-serif;color:var(--av-primary-fg);display:flex;align-items:center;justify-content:center;gap:10px;border-radius:16px 16px 0 0}
#availBar .av-topbar .av-chev{display:inline-block;transition:transform .35s ease;font-size:13px}
#availBar.av-open .av-topbar .av-chev{transform:rotate(180deg)}
#availBar:hover .av-topbar .av-chev{transform:rotate(180deg)}
#availBar.av-no-peek:hover .av-topbar .av-chev{transform:rotate(0)}
#availBar.av-no-peek.av-open:hover .av-topbar .av-chev{transform:rotate(180deg)}

#availBar .av-collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.4,0,.2,1)}
#availBar .av-collapsible-inner{overflow:hidden;min-height:0}
#availBar:hover .av-collapsible{grid-template-rows:1fr}
#availBar.av-open .av-collapsible{grid-template-rows:1fr}
#availBar.av-no-peek:hover .av-collapsible{grid-template-rows:0fr}
#availBar.av-no-peek.av-open:hover .av-collapsible{grid-template-rows:1fr}

#availBar .av-layout{display:flex;align-items:flex-start;background:var(--av-primary-soft);border-radius:0 0 16px 16px;overflow:hidden;border:1px solid var(--av-line);border-top:none}
#availBar .av-sidebar{width:252px;flex:0 0 252px;padding:24px 18px;background:linear-gradient(180deg,var(--av-primary-soft),var(--av-primary-soft));border-right:1px solid var(--av-line);min-height:420px}
#availBar .av-side-label{font-size:10px;font-weight:800;letter-spacing:.2em;color:var(--av-muted);text-transform:uppercase;margin:22px 4px 12px}
#availBar .av-side-label:first-child{margin-top:0}
#availBar .av-card{background:var(--av-paper);border:1px solid var(--av-line);border-radius:16px;padding:14px 15px;margin-bottom:10px;box-shadow:0 10px 24px -20px rgba(80,60,0,.5)}
#availBar .av-card .av-row{display:flex;align-items:center;gap:11px}
#availBar .av-card .av-ico{font-size:22px;line-height:1}
#availBar .av-card .av-k{font-size:9.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--av-muted)}
#availBar .av-clock{font-family:'Space Mono',monospace;font-weight:700;font-size:21px;letter-spacing:.02em;margin-top:1px;color:var(--av-ink)}
#availBar .av-diff{text-align:center;font-size:13px;color:var(--av-ink);font-weight:500;background:#fff;border:1px solid var(--av-line);border-radius:12px;padding:9px;margin-bottom:10px}
#availBar .av-diff b{font-weight:800}
#availBar .av-wx .av-wt{font-size:14px;font-weight:800;line-height:1.1;color:var(--av-ink)}
#availBar .av-wx .av-wc{font-size:12px;color:var(--av-muted)}

/* time corrector */
#availBar .av-tz-adjust{margin:-2px 0 10px;background:#fff;border:1px solid var(--av-line);border-radius:12px;overflow:hidden;max-height:32px;transition:max-height .28s ease,box-shadow .2s}
#availBar .av-tz-adjust:hover{max-height:220px;box-shadow:0 10px 22px -14px rgba(80,60,0,.45)}
#availBar .av-tz-collapsed{padding:8px 12px;font-size:11.5px;color:var(--av-muted);font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}
#availBar .av-tz-collapsed .av-chev{margin-left:auto;transition:transform .25s}
#availBar .av-tz-adjust:hover .av-tz-collapsed .av-chev{transform:rotate(180deg)}
#availBar .av-tz-expanded{padding:2px 12px 13px}
#availBar .av-tz-hint{font-size:11px;color:var(--av-muted);margin-bottom:9px;line-height:1.45}
#availBar .av-time-set{display:flex;align-items:center;gap:7px}
#availBar .av-time-set input{width:48px;padding:8px 4px;border:1px solid var(--av-line);border-radius:8px;font-family:'Space Mono',monospace;font-size:15px;text-align:center;background:#fffdf7;color:var(--av-ink)}
#availBar .av-time-set .av-colon{font-weight:800;font-size:16px;color:var(--av-ink)}

#availBar .av-tz-reset{margin-top:9px;width:100%;background:var(--av-primary-soft);border:none;border-radius:9px;padding:7px;font-family:'Bricolage Grotesque',sans-serif;font-size:11.5px;font-weight:700;cursor:pointer;color:var(--av-ink)}
#availBar .av-tz-reset:hover{filter:brightness(.97)}

/* durations */
#availBar .av-durations{display:flex;flex-direction:column;gap:6px}
#availBar .av-chip{display:flex;align-items:center;gap:10px;border:1.5px solid transparent;background:transparent;padding:7px 9px;border-radius:11px;cursor:pointer;font-size:13.5px;font-weight:500;transition:.12s;width:100%;text-align:left;font-family:'Bricolage Grotesque',sans-serif;color:var(--av-ink)}
#availBar .av-chip:hover{background:#fff}
#availBar .av-chip .av-sw{width:15px;height:15px;border-radius:5px;flex:0 0 15px}
#availBar .av-chip.active{background:#fff;border-color:var(--av-ink);font-weight:700;box-shadow:0 4px 0 -2px rgba(0,0,0,.07)}

/* main */
#availBar .av-main{flex:1;padding:24px 26px;min-width:0;background:var(--av-primary-soft)}
#availBar .av-main-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;margin-bottom:22px}
#availBar .av-wk-title{font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1;color:var(--av-ink)}

#availBar .av-wk-switch{display:inline-flex;align-items:center;gap:5px;background:#fff;border:1.5px solid var(--av-line);border-radius:999px;padding:5px;box-shadow:0 5px 0 -2px rgba(0,0,0,.07)}
#availBar .av-wk-switch button{border:none;background:transparent;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;cursor:pointer;border-radius:999px;height:36px;color:var(--av-ink);transition:background .12s,transform .08s;display:flex;align-items:center;justify-content:center}
#availBar .av-wk-switch button:active{transform:translateY(1px)}
#availBar .av-wk-arrow{width:36px;font-size:17px}
#availBar .av-wk-arrow:hover{background:var(--av-primary-soft)}
#availBar .av-wk-range-btn{padding:0 16px;font-size:13px;white-space:nowrap;min-width:140px;gap:7px}
#availBar .av-wk-range-btn .av-dot{width:6px;height:6px;border-radius:50%;background:var(--av-primary);flex:0 0 6px;opacity:0}
#availBar .av-wk-range-btn.current{background:var(--av-primary);color:var(--av-primary-fg)}
#availBar .av-wk-range-btn.current .av-dot{opacity:1}
#availBar .av-wk-range-btn:not(.current):hover{background:var(--av-primary-soft)}

/* day tabs */
#availBar .av-days{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:6px}
#availBar .av-day{text-align:center;border:1px solid var(--av-line);border-radius:14px;padding:10px 6px;background:#fff;cursor:pointer;transition:transform .12s,border-color .12s,box-shadow .12s,background .12s;font-family:'Bricolage Grotesque',sans-serif}
#availBar .av-day:hover{transform:translateY(-3px);border-color:var(--av-ink);box-shadow:0 8px 16px -10px rgba(0,0,0,.3)}
#availBar .av-day .av-dow{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--av-muted);font-weight:800}
#availBar .av-day .av-num{font-size:19px;font-weight:800;margin-top:2px;color:var(--av-ink)}
#availBar .av-day .av-cnt{font-size:10.5px;color:var(--av-muted);margin-top:3px}
#availBar .av-day.active{background:var(--av-primary);border-color:var(--av-ink);color:var(--av-primary-fg)}
#availBar .av-day.active .av-dow,#availBar .av-day.active .av-cnt{color:var(--av-primary-fg);opacity:.7}
#availBar .av-day.active .av-num{color:var(--av-primary-fg)}
#availBar .av-day.today .av-num{position:relative}
#availBar .av-day.today .av-num::after{content:"";position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--av-primary)}
#availBar .av-day.empty{opacity:.45}
#availBar .av-day.empty:hover{opacity:.8}

/* slots */
#availBar .av-slots-head{display:flex;justify-content:space-between;align-items:baseline;margin:24px 2px 14px}
#availBar .av-slots-head .av-st{font-size:18px;font-weight:800;color:var(--av-ink)}
#availBar .av-slots-head .av-meta{font-size:13px;color:var(--av-muted)}
#availBar .av-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:10px}
#availBar .av-slot{border:1.5px solid var(--av-line);border-radius:13px;padding:12px 10px;text-align:center;cursor:pointer;background:#fff;position:relative;font-family:'Space Mono',monospace;font-weight:700;font-size:14px;transition:transform .1s,box-shadow .1s;color:var(--av-ink)}
#availBar .av-slot:hover{transform:translateY(-2px);box-shadow:0 8px 18px -10px rgba(0,0,0,.25)}
#availBar .av-slot .av-end{display:block;font-size:11px;color:var(--av-muted);font-weight:400;margin-top:3px}
#availBar .av-slot .av-price{display:block;font-size:12px;font-weight:700;color:var(--av-ink);margin-top:4px;font-family:'Bricolage Grotesque',sans-serif}
#availBar .av-slot::before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:4px;border-radius:4px;background:var(--av-accent)}
#availBar .av-slot.sel{background:var(--av-primary);color:var(--av-primary-fg);border-color:var(--av-primary)}
#availBar .av-slot.sel .av-end{color:var(--av-primary-fg);opacity:.7}
#availBar .av-slot.sel .av-price{color:var(--av-primary-fg)}
#availBar .av-slot.reserved{opacity:.4;pointer-events:none;background:#f0f0f0;border-color:#ccc}
#availBar .av-slot.reserved::after{content:"🔒";position:absolute;top:4px;right:6px;font-size:10px}
#availBar .av-slot.my-reserved{background:#e8f5e9;border-color:#66bb6a;opacity:.85}
#availBar .av-slot.my-reserved::after{content:"⏳";position:absolute;top:4px;right:6px;font-size:10px}
#availBar .av-cart-bar{display:none;position:sticky;bottom:0;background:var(--av-primary);color:var(--av-primary-fg);padding:12px 20px;border-radius:12px;margin:16px 0 4px;text-align:center;cursor:pointer;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;box-shadow:0 -4px 16px rgba(0,0,0,.15);transition:transform .15s}
#availBar .av-cart-bar:hover{transform:scale(1.02)}
#availBar .av-cart-bar.show{display:block}
#availBar .av-empty-state{color:var(--av-muted);font-size:14px;padding:28px 4px}
#availBar .av-empty-state .av-ask-t{margin:0 0 14px;color:var(--av-ink);font-size:15px;font-weight:600}
#availBar .av-ask{display:inline-block;background:var(--av-primary);color:var(--av-primary-fg);border:none;border-radius:12px;padding:12px 20px;font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:15px;cursor:pointer;transition:transform .15s}
#availBar .av-ask:hover{transform:scale(1.03)}

#availBar .av-tagline{margin-top:26px;text-align:center;font-size:18px;font-weight:600;color:var(--av-ink);letter-spacing:-.01em;padding:8px 4px 4px}
#availBar .av-tagline .av-heart{display:inline-block;animation:avBeat 1.8s ease-in-out infinite;color:#3b82f6}
@keyframes avBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.18)}30%{transform:scale(1)}45%{transform:scale(1.12)}}

@media(max-width:760px){
  #availBar .av-layout{flex-direction:column}
  #availBar .av-sidebar{width:100%;flex:none;min-height:0;border-right:none;border-bottom:1px solid var(--av-line);display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
  #availBar .av-sidebar .av-durations-wrap{grid-column:1/-1}
  #availBar .av-day .av-num{font-size:16px}
}
