/* booking.css – uniquement ce que DaisyUI/Tailwind ne couvre pas */

/* ===== PAGE HEADER ===== */
.rdv-page-header {
  background: linear-gradient(135deg, #0f172a 0%, #1e40af 100%);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

/* ===== CALENDRIER ===== */
.calendar-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(145px, 1fr));
  min-width: 730px;
}

.cal-day { border-right: 1px solid #e2e8f0; }
.cal-day:last-child { border-right: none; }

.cal-day-header {
  padding: .85rem .75rem .7rem;
  text-align: center;
  background: #1e293b;
  color: #fff;
  border-bottom: 1px solid #334155;
  user-select: none;
}
.cal-today .cal-day-header { background: #1a56db; }
.cal-past  .cal-day-header { background: #334155; }

.cal-day-name { display: block; font-size: .88rem; font-weight: 700; }
.cal-day-date { display: block; font-size: .78rem; color: #94a3b8; margin-top: .1rem; }
.cal-today .cal-day-date { color: #bfdbfe; }

.today-badge {
  display: inline-block;
  background: #f59e0b;
  color: #0f172a;
  font-size: .65rem;
  font-weight: 800;
  padding: .1rem .5rem;
  border-radius: 10px;
  margin-top: .3rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.cal-day-body { padding: .75rem .6rem; min-height: 280px; background: #fff; }
.cal-past .cal-day-body { background: #f8fafc; opacity: .55; pointer-events: none; }

.day-msg { text-align: center; color: #64748b; font-size: .82rem; padding: 1.25rem 0; font-style: italic; }
.day-complet { color: #ef4444; font-style: normal; font-weight: 600; }

/* ===== CRÉNEAUX ===== */
.slot-group { margin-bottom: .85rem; }
.slot-group-label {
  display: block;
  font-size: .67rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin-bottom: .35rem;
  padding-bottom: .25rem;
  border-bottom: 1px solid #f1f5f9;
}

.slot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .28rem; }

.slot-btn {
  padding: .32rem .2rem;
  border-radius: 6px;
  font-size: .78rem;
  font-weight: 600;
  cursor: pointer;
  border: 1.5px solid;
  transition: all .18s;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .18rem;
  white-space: nowrap;
  line-height: 1;
}

.slot-available { background: #eff6ff; color: #1a56db; border-color: #bfdbfe; }
.slot-available:hover { background: #1a56db; color: #fff; border-color: #1a56db; transform: scale(1.06); }
.slot-few { background: #fff7ed; color: #c2410c; border-color: #fed7aa; }
.slot-few:hover { background: #f97316; color: #fff; border-color: #f97316; transform: scale(1.06); }
.slot-full, .slot-past { background: #f8fafc; color: #cbd5e1; border-color: #e2e8f0; cursor: not-allowed; text-decoration: line-through; opacity: .7; }
.slot-selected { background: #1a56db !important; color: #fff !important; border-color: #1a56db !important; box-shadow: 0 2px 10px rgba(26,86,219,.45) !important; }

.slot-promo { background: #fefce8; color: #854d0e; border-color: #fde68a; flex-direction: column; gap: .1rem; padding: .35rem .2rem; }
.slot-promo:hover { background: #f59e0b; color: #fff; border-color: #f59e0b; transform: scale(1.06); }
.slot-promo:hover .slot-discount-badge { background: #fff; color: #b45309; }
.slot-promo:hover .slot-promo-price { color: #fef9c3; }

.slot-time { font-weight: 700; font-size: .78rem; line-height: 1; }
.slot-discount-badge {
  display: inline-block;
  background: #f59e0b;
  color: #fff;
  font-size: .6rem;
  font-weight: 900;
  padding: .05rem .28rem;
  border-radius: 10px;
  letter-spacing: .02em;
  line-height: 1.4;
}
.slot-promo-price { font-size: .65rem; font-weight: 600; opacity: .85; line-height: 1; }

.few-badge {
  background: #ef4444;
  color: #fff;
  border-radius: 50%;
  width: 14px; height: 14px; min-width: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: .6rem;
  font-weight: 900;
}

/* ===== LÉGENDE ===== */
.legend-dot { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid; flex-shrink: 0; }
.ld-available { background: #eff6ff; border-color: #bfdbfe; }
.ld-few       { background: #fff7ed; border-color: #fed7aa; }
.ld-full      { background: #f8fafc; border-color: #e2e8f0; }
