/* Base */
.rbc-event.booking-event {
  position: relative;
  border-radius: 6px;
  border: 1px solid rgba(0,0,0,.08) !important;
  color: #fff;              /* texte blanc par défaut */
  overflow: hidden;         /* pour la barre de statut à gauche */
}

/* ---- OPERATOR => background ---- */
/* Fallback si opérateur non mappé */
.rbc-event.booking-event { --op-bg: #3b82f6; }   /* bleu par défaut */
.rbc-event.booking-event.operator-unknown { --op-bg: #6b7280; }

/* Paddle */
.rbc-event.booking-event.operator-87 { --op-bg: #3b82f6; }  /* Paddle - piste 1 (bleu clair) */
.rbc-event.booking-event.operator-88 { --op-bg: #1e40af; }  /* Paddle - piste 2 (bleu foncé) */

/* Foot */
.rbc-event.booking-event.operator-89 { --op-bg: #10b981; }  /* Foot - vert (différent du vert statut) */


.rbc-event.booking-event { background: var(--op-bg) !important; }

/* ---- STATUS => indicateur visuel (barre gauche) ---- */
/* Couleurs status (ajuste si besoin) */
.rbc-event.booking-event { --status-color: rgba(255,255,255,.35); } /* fallback neutre */
.rbc-event.booking-event.status-ok                   { --status-color: #16a34a; }
.rbc-event.booking-event.status-pending_confirmation { --status-color: #f59e0b; }
.rbc-event.booking-event.status-refused              { --status-color: #ef4444; }
.rbc-event.booking-event.status-canceled             { --status-color: #6b7280; }
.rbc-event.booking-event.status-pending_cancelation  { --status-color: #fb923c; }

/* Barre fine à gauche pour le status */
.rbc-event.booking-event::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 4px;
  background: var(--status-color);
}

/* ---- GW => simple point si gw ≠ none ---- */
.rbc-event.booking-event:not(.gw-none)::after {
  content: '';
  position: absolute;
  top: 2px; right: 2px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: #fff;              /* petit point clair */
  box-shadow: 0 0 0 2px rgba(0,0,0,.35); /* liseré pour visibilité */
  opacity: 0.95;
}

/* Accessibilité: si fond opérateur très clair, force la couleur du texte */
.rbc-event.booking-event.operator-3,
.rbc-event.booking-event.operator-4 {
  color: #fff;
}

/* --- DAY/WEEK: simuler l'espace entre events --- */
.rbc-time-view .rbc-event.booking-event,
.rbc-agenda-view .rbc-event.booking-event {
  /* halo blanc = sensation d’espace sans bouger le layout */
  box-shadow:
    0 0 0 2px #ffffff,                  /* anneau blanc = "gap" */
    0 1px 2px rgba(0,0,0,0.12);         /* légère ombre pour le relief */
  background-clip: padding-box;         /* évite que le bg mange le halo */
  z-index: 1;                           /* passe devant, au cas où */
}

/* traits internes haut/bas pour mieux séparer les blocs qui se touchent */
.rbc-time-view .rbc-event.booking-event {
  /* ces deux lignes "coupent" visuellement au contact */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.85),
    inset 0 -1px 0 rgba(0,0,0,0.08),
    0 0 0 2px #ffffff,
    0 1px 2px rgba(0,0,0,0.12);
}

/* option: au survol/sélection, renforce le halo sans tout casser */
.rbc-event.booking-event:hover,
.rbc-event.booking-event.is-selected {
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.9),
    inset 0 -1px 0 rgba(0,0,0,0.10),
    0 0 0 2px #ffffff,
    0 2px 6px rgba(0,0,0,0.18);
}

/* --- MONTH: ici margin fonctionne, on met un vrai espacement --- */
.rbc-month-view .rbc-event.booking-event {
  margin: 2px 0;               /* espace vertical réel entre events */
  box-shadow: 0 1px 2px rgba(0,0,0,0.10);
}

/* (optionnel) évite que des styles globaux RBC remettent un fond par défaut */
.rbc-event.booking-event {
  background-color: var(--op-bg) !important; /* double filet de sécurité */
}

