/* ──────────────────────────────────────────────────────────────
   Booking Modal (600×500) – soft fade + slide
   ────────────────────────────────────────────────────────────── */
.bw-modal{
  position:fixed;inset:0;
  display:flex;justify-content:center;align-items:center;
  background:rgba(0,0,0,.55);
  z-index:9999;
  animation:fadeIn .35s ease;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

.bw-card{
  width:600px;height:500px;
  background:#fff;border-radius:14px;
  box-shadow:0 10px 40px rgba(0,0,0,.15);
  overflow:hidden;display:flex;flex-direction:column;
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

.bw-header{padding:12px 20px;font-weight:600;border-bottom:2px solid #eee}
.bw-body  {flex:1;padding:0 20px;overflow:auto}
.bw-footer{padding:12px 20px;border-top:2px solid #eee;text-align:right}

.bw-step      {display:none;animation:slide .45s ease}
.bw-step.active{display:block}
@keyframes slide{from{transform:translateX(30px);opacity:0}to{transform:translateX(0);opacity:1}}

select,input{
  width:100%;padding:8px 10px;margin-top:6px;
  border:1px solid #ccc;border-radius:6px;font-size:.95rem;
}

/* ───────── Manual calendar ───────── */
.bw-calendar-grid{
  display:grid;grid-template-columns:repeat(7,1fr);
  gap:5px;margin-top:10px;text-align:center;font-size:14px;
}
.bw-calendar-grid div{
  padding:8px;border:1px solid #ddd;border-radius:6px;cursor:pointer;
}
.bw-calendar-grid .disabled{background:#eee;color:#aaa;cursor:not-allowed}
.bw-calendar-grid .selected{background:#2b4bff;color:#fff}

.bw-times{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:16px
}
.bw-time-btn{
  flex:1 0 45%;padding:8px 6px;text-align:center;
  border:1px solid #d3d3d3;border-radius:6px;
  cursor:pointer;transition:.25s all;font-size:.9rem;
}
.bw-time-btn:hover{background:#edf1ff}
.bw-time-btn.active{background:#2b4bff;color:#fff}
.bw-time-btn.booked,.bw-time-btn.disabled{
  background:#f6e5e5!important;color:#bbb!important;pointer-events:none
}

.bw-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.bw-modal-inner {
  width: 600px;
  height: 500px;
  background: #fff;
  border-radius: 16px;
  padding: 24px;
  position: relative;
  box-shadow: 0 10px 30px rgba(0,0,0,0.2);
  overflow-y: auto;
  animation: fadeIn 0.3s ease-in-out;
}

.bw-close-btn {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 24px;
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  transition: color 0.2s ease-in-out;
}

.bw-close-btn:hover {
  color: #d00;
}

@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}

