
#bookingModal {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10000;
    font-family: Inter, sans-serif;
  }
  
  .booking-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .35);
  }
  
  .booking-modal__content {
    position: relative;
    background: #ffffff;
    color: #1f1f1f;
    width: 420px;
    max-width: 95vw;
    border-radius: 16px;
    padding: 24px 28px 32px;
    box-shadow: 0 16px 48px rgba(0,0,0,.15);
    overflow: hidden;
  }
  
  .booking-modal__header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 16px;
    position: relative;
  }
  
  .bc-title {
    min-width: 140px;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 600;
  }
  
  .bc-nav {
    width: 36px; height: 36px;
    display:flex; align-items:center; justify-content:center;
    background: #f3f4f6;
    color: #1f1f1f;
    border: 0;
    border-radius: 8px;
    font-size: 1.2rem;
    cursor: pointer;
  }
  .bc-nav[disabled] { opacity:.35; cursor: default; }
  
  .booking-modal__close {
    position: absolute;
    right: 0;
    background: none; border: 0;
    font-size: 1.6rem;
    color: #777;
    cursor: pointer;
  }
  
  .booking-modal__weekdays {
    display: grid;
    grid-template-columns: repeat(9,1fr);
    text-align: center;
    font-size: .8rem;
    color: #777;
    margin-bottom: 4px;
  }
  
  .booking-modal__days {
    display: grid;
    grid-template-columns: repeat(9,1fr);
    gap: 6px;
    margin-bottom: 20px;
  }
  
  .booking-modal__day {
    height: 42px;
    display:flex; align-items:center; justify-content:center;
    background: #f3f4f6;
    border-radius: 8px;
    cursor: pointer;
    font-size: .95rem;
    user-select: none;
  }
  .booking-modal__day.disabled { opacity:.35; cursor: default; }
  .booking-modal__day.today   { outline: 2px solid rgba(var(--bg1), 1); }
  
  .booking-modal__day.selected,
  .booking-modal__day:hover:not(.disabled):not(.selected) {
    background: rgba(var(--s2), 1);
    color:#fff;
  }
  
  .booking-modal__picked {
    text-align:center;
    font-size:.9rem;
    color:#1f1f1f;
    margin-bottom: 14px;
  }
  
  .booking-modal__slots {
    display:grid;
    grid-template-columns: repeat(3,1fr);
    gap:10px;
    margin-bottom: 22px;
    max-height: 180px;
    overflow-y: auto;
    padding-right: 4px;
    scroll-behavior: smooth;
  }
  .slot-btn {
    padding: 10px 0;
    background: #f3f4f6;
    color: #1f1f1f;
    border: 1px solid #d3d6db;
    border-radius: 8px;
    cursor:pointer;
    font-size:.9rem;
  }
  .slot-btn.selected,
  .slot-btn:hover {
    background: rgba(var(--s2), 1);
    border-color: rgba(var(--s2), 1);
    color:#fff;
  }
  
  .booking-modal__confirm {
    width: 100%;
    padding: 12px 0;
    background: rgba(var(--s2), 1);
    color:#fff;
    border:0;
    border-radius: 10px;
    font-size:1rem;
    cursor:pointer;
  }
  

.booking-modal__slots{
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--s2), 1) #f3f4f6;
  }


 .slot-btn--taken {
    background: #605d5d;
    color: #fff;
 }