/* Booking picker (visual calendar) */
[data-booking-picker] .bp-wrap{display:grid; gap:12px}
[data-booking-picker] .bp-card{border:1px solid var(--stroke); border-radius:16px; background:rgba(255,255,255,.88); overflow:hidden}
[data-booking-picker] .bp-head{padding:10px 12px; border-bottom:1px solid var(--stroke); background:rgba(248,250,252,.9); display:flex; align-items:center; justify-content:space-between; gap:10px}
[data-booking-picker] .bp-head strong{text-transform:capitalize}
[data-booking-picker] .bp-msg{font-size:12px; color:rgba(15,23,42,.7); font-weight:800}
[data-booking-picker] .bp-grid{display:grid; grid-template-columns:repeat(7, 1fr); gap:6px; padding:12px}
[data-booking-picker] .bp-dow{font-size:11px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; color:rgba(15,23,42,.65); text-align:center}
[data-booking-picker] .bp-cell{height:34px; border-radius:10px; display:grid; place-items:center; font-weight:900; font-size:12px; border:1px solid rgba(15,23,42,.08); user-select:none}
[data-booking-picker] .bp-empty{border:none; background:transparent}

[data-booking-picker] .bp-cell.is-free{background:rgba(34,197,94,.06); cursor:pointer}
[data-booking-picker] .bp-cell.is-booked,
[data-booking-picker] .bp-cell.is-pending,
[data-booking-picker] .bp-cell.is-blocked{background:rgba(148,163,184,.55); color:rgba(15,23,42,.72); cursor:not-allowed}

/* allow clicking a blocked day only as "end" marker */
[data-booking-picker] .bp-cell.can-end{cursor:pointer; opacity:.92}

/* selection */
[data-booking-picker] .bp-cell.is-start,
[data-booking-picker] .bp-cell.is-end{background:rgba(255,41,0,.18); border-color:rgba(255,41,0,.35); box-shadow:0 0 0 3px rgba(255,41,0,.10)}
[data-booking-picker] .bp-cell.is-inrange{background:rgba(255,41,0,.10); border-color:rgba(255,41,0,.20)}

@media (max-width: 640px){
  [data-booking-picker] .bp-grid{gap:5px; padding:10px}
  [data-booking-picker] .bp-cell{height:30px; border-radius:9px}
}
