.cfb-booking-box {
  max-width: 400px;
  border: 2px solid #ddd;
  padding: 20px;
  border-radius: 16px;
  background: #fff;
}

.cfb-row {
  margin-bottom: 15px;
}

.cfb-qty {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cfb-qty button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: #000;
  color: #fff;
  font-size: 18px;
  cursor: pointer;
}

.cfb-price {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 15px;
}

.cfb-book-btn {
  width: 100%;
  padding: 14px;
  background: #000;
  color: #fff;
  border-radius: 10px;
  border: none;
}

/* ✅ FULL CONTROL OVER CALENDAR COLORS */
.flatpickr-day.selected {
  background: red;
  border-color: red;
}
.cfb-booking-box { max-width:420px; border:1px solid #eee; padding:18px; border-radius:12px; background:#fff; }
.cfb-row { margin-bottom:12px; }
.cfb-qty { display:flex; align-items:center; gap:8px; }
.cfb-qty button { width:36px; height:36px; border-radius:50%; border:none; background:#111; color:#fff; cursor:pointer; }
.cfb-book-btn { width:100%; padding:12px; background:#111;color:#fff;border-radius:10px;border:none;cursor:pointer; }
.cfb-price { margin:10px 0; font-weight:700; }

/* Calendar day color classes added by onDayCreate */
.flatpickr-day.cfb-available { background:#dff7e0; border-color:#9fe3a3; }
.flatpickr-day.cfb-full { background:#ffd7d7; border-color:#ff8181; color:#333; opacity:0.9; }
.flatpickr-day.cfb-unknown { background:#f2f2f2; color:#999; }.cfb-booking-box {
  max-width: 480px;
  margin: auto;
  padding: 24px;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
  background: #fff;
}

.cfb-option-wrap label {
  border: 1px solid #ddd;
  padding: 10px 14px;
  border-radius: 8px;
  cursor: pointer;
}

.cfb-option-wrap input {
  margin-right: 8px;
}

.cfb-total {
  color: #198754;
}

.cfb-booking-box { max-width:520px; margin:10px auto; padding:18px; border:1px solid #eee; border-radius:10px; background:#fff; }
.cfb-row { margin-bottom:12px; }
.cfb-label { display:block; margin-bottom:8px; font-weight:600; }
.cfb-input { width:100%; padding:8px; }
.cfb-option-wrap { display:flex; flex-direction:column; gap:8px; }
.cfb-option-row { padding:10px; border:1px solid #e6e6e6; border-radius:8px; display:flex; justify-content:space-between; align-items:center; }
.cfb-option-label { display:flex; gap:12px; align-items:center; width:100%; cursor:pointer; }
.cfb-option-price { margin-left:auto; font-weight:700; color:#0d6efd; }
.cfb-qty-control { display:flex; align-items:center; gap:8px; }
.cfb-btn { padding:8px 12px; border:1px solid #ddd; background:#fff; cursor:pointer; border-radius:6px; }
.cfb-qty-input { width:80px; text-align:center; padding:8px; }
.cfb-total { font-size:18px; font-weight:700; color:#198754; }
.cfb-book-btn { width:100%; padding:12px; background:#0d6efd; color:#fff; border:none; border-radius:8px; cursor:pointer; font-size:16px; }
.cfb-book-btn[disabled] { opacity:0.6; cursor:not-allowed; }
.cf-event-wrapper { margin-top:8px; font-weight:700; color:#d63384; }
.cfb-booking-box { border:1px solid #eee; padding:12px; max-width:520px; background:#fff; }
.cfb-row { margin-bottom:10px; display:flex; align-items:center; gap:12px; }
.cfb-label { width:120px; font-weight:600; }
.cfb-input { flex:1; padding:8px; border:1px solid #ddd; border-radius:6px; }
.cfb-option-row { padding:8px 6px; border-bottom:1px dashed #eee; }
.cfb-btn { padding:8px 12px; border-radius:6px; background:#1e73be; color:#fff; border:none; cursor:pointer; }
.cfb-book-btn[disabled] { opacity:.5; cursor:not-allowed; }

.cfb-modal { position:fixed; inset:0; display:flex; align-items:center; justify-content:center; background:rgba(0,0,0,.4); z-index:9999; }
.cfb-modal-inner { background:#fff; width:90%; max-width:720px; padding:18px; border-radius:8px; position:relative; }
.cfb-modal-close { position:absolute; top:8px; right:8px; border:0; background:#eee; width:32px; height:32px; border-radius:50%; cursor:pointer; }
.cfb-note { font-size:13px; color:#666; }
.cfb-success { color:green; }
.cfb-error { color:#b00020; }
pre { background:#f9f9f9; padding:8px; border-radius:6px; max-height:260px; overflow:auto; }
