/* ========================================
   FullCalendar Overrides — light & dark
   ========================================= */

/* Palette commune */
body .fc {
  --zj-hover-radius: 6px;
  --zj-selected-radius: 8px;
}

/* Mode clair */
body .fc {
  --fc-page-bg-color: transparent;

  --fc-neutral-bg-color: rgb(248 250 252);
  --fc-neutral-text-color: rgb(51 65 85);
  --fc-border-color: rgb(226 232 240);

  --fc-button-bg-color: rgb(59 130 246);
  --fc-button-border-color: var(--fc-button-bg-color);
  --fc-button-text-color: #fff;
  --fc-button-hover-bg-color: rgb(37 99 235);

  --fc-event-text-color: rgb(15 23 42);
  --fc-today-bg-color: rgb(239 246 255);

  --fc-list-day-cushion-bg-color: rgb(241 245 249);
  --fc-list-day-cushion-text-color: rgb(15 23 42);
  --fc-list-event-hover-bg-color: rgb(241 245 200);

  --zj-hover-bg: var(--fc-list-event-hover-bg-color);
  --zj-selected-bg: rgba(59,130,246,.18);
  --zj-selected-text: rgb(15 23 42);

  --fc-highlight-color: rgba(59,130,246,.18);
}

/* Mode sombre */
.dark .fc {
  --fc-neutral-bg-color: rgb(15 23 42);
  --fc-neutral-text-color: rgb(203 213 225);
  --fc-border-color: rgb(51 65 85);

  --fc-button-bg-color: rgb(59 130 246);
  --fc-button-border-color: var(--fc-button-bg-color);
  --fc-button-text-color: #fff;
  --fc-button-hover-bg-color: rgb(96 165 250);

  --fc-event-text-color: rgb(241 245 249);
  --fc-today-bg-color: rgba(37,99,235,.28);

  --fc-list-day-cushion-bg-color: rgb(30 41 59);
  --fc-list-day-cushion-text-color: rgb(203 213 225);
  --fc-list-event-hover-bg-color: rgb(112, 119, 53);

  --zj-hover-bg: var(--fc-list-event-hover-bg-color);
  --zj-selected-bg: rgba(37,99,235,.38);
  --zj-selected-text: #F8FAFC;

  --fc-highlight-color: rgba(37,99,235,.38);
}

/* Bases */
body .fc .fc-list,
body .fc .fc-scrollgrid,
body .fc .fc-daygrid,
body .fc .fc-popover {
  background: transparent;
}

body .fc .fc-list-day-cushion {
  background: var(--fc-list-day-cushion-bg-color);
  color: var(--fc-list-day-cushion-text-color);
  font-weight: 600;
}

/* Couleurs par statut */
body .fc .ev-status-open      { --fc-event-bg-color: #10b981; --fc-event-border-color: #059669; }
body .fc .ev-status-on_demand { --fc-event-bg-color: #3b82f6; --fc-event-border-color: #2563eb; }
body .fc .ev-status-closed    { --fc-event-bg-color: #9ca3af; --fc-event-border-color: #6b7280; }
body .fc .ev-status-cancelled { --fc-event-bg-color: #ef4444; --fc-event-border-color: #dc2626; }

.dark .fc .ev-status-open      { --fc-event-bg-color: #34d399; }
.dark .fc .ev-status-on_demand { --fc-event-bg-color: #60a5fa; }
.dark .fc .ev-status-closed    { --fc-event-bg-color: #a8b1c0; }
.dark .fc .ev-status-cancelled { --fc-event-bg-color: #f87171; }

/* Vue Mois (dayGrid) */
/* Neutraliser l’ancre (reste transparente pour permettre hover sur le harness) */
#calendar .fc a.fc-daygrid-event {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--fc-event-text-color) !important;
  border-radius: var(--zj-hover-radius);
  position: relative;
  z-index: 1;
}

/* Hover sur le harness (contour de l’événement) */
#calendar .fc .fc-daygrid-event-harness:hover,
#calendar .fc .fc-daygrid-event-harness-abs:hover,
#calendar .fc .fc-daygrid-event-harness.zikjamers-hover,
#calendar .fc .fc-daygrid-event-harness-abs.zikjamers-hover {
  background-color: var(--zj-hover-bg) !important;
  border-radius: var(--zj-hover-radius);
  z-index: 2;
}

/* Texte clair en mode sombre au hover */
.dark #calendar .fc .fc-daygrid-event-harness:hover a.fc-daygrid-event,
.dark #calendar .fc .fc-daygrid-event-harness-abs:hover a.fc-daygrid-event,
.dark #calendar .fc .fc-daygrid-event-harness.zikjamers-hover a.fc-daygrid-event,
.dark #calendar .fc .fc-daygrid-event-harness-abs.zikjamers-hover a.fc-daygrid-event {
  color: var(--zj-selected-text) !important;
}

/* Sélection */
#calendar .fc a.fc-daygrid-event.zikjamers-is-selected,
#calendar .fc .fc-daygrid-event-harness.zikjamers-is-selected,
#calendar .fc .fc-daygrid-event-harness-abs.zikjamers-is-selected {
  background-color: var(--zj-selected-bg) !important;
  color: var(--zj-selected-text) !important;
  border-radius: var(--zj-selected-radius);
}

.dark #calendar .fc .fc-daygrid-event-harness.zikjamers-is-selected,
.dark #calendar .fc .fc-daygrid-event-harness-abs.zikjamers-is-selected {
  background-color: rgba(37,99,235,.46) !important;
  box-shadow: 0 0 0 2px rgba(147,197,253,.50);
}

.dark #calendar .fc .fc-daygrid-day.fc-day-today .fc-daygrid-event-harness.zikjamers-is-selected,
.dark #calendar .fc .fc-daygrid-day.fc-day-today .fc-daygrid-event-harness-abs.zikjamers-is-selected {
  background-color: rgba(37,99,235,.58) !important;
  box-shadow: 0 0 0 2px rgba(191,219,254,.85);
}

/* Today cell */
#calendar .fc .fc-daygrid-day.fc-day-today .fc-daygrid-day-frame {
  background-color: var(--fc-today-bg-color) !important;
}

/* Drag/select highlight */
#calendar .fc .fc-highlight {
  background-color: var(--fc-highlight-color) !important;
}

/* Vue Planning (list) */
#calendar .fc .fc-list-event:hover td,
#calendar .fc .fc-list-event.zikjamers-hover td {
  background-color: var(--fc-list-event-hover-bg-color) !important;
  color: var(--zj-selected-text) !important;
}

#calendar .fc .fc-list-event.zikjamers-is-selected td {
  background-color: var(--zj-selected-bg) !important;
  color: var(--zj-selected-text) !important;
}

/* Fallback pour hover global */
.fc-event:hover {
  background-color: var(--fc-list-event-hover-bg-color) !important;
  cursor: pointer;
}

/* Hover pour point events (dot) */
.fc-daygrid-event.fc-daygrid-dot-event:hover {
  background-color: var(--fc-list-event-hover-bg-color) !important;
  cursor: pointer;
}
