/* ===============================
   Spécifique Calendrier / FullCalendar
   =============================== */

.container-narrow{max-width:1200px}

/* Barre outils sticky */
.page-header{
  position:sticky; top:0; z-index:1045;
  background:linear-gradient(180deg, rgba(11,11,13,.95), rgba(11,11,13,.8));
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(6px);
}
.toolbar .btn-brand{background:var(--brand); color:#fff; border-color:var(--brand)}
.toolbar .btn-brand:hover{background:var(--brand-dark); border-color:var(--brand-dark)}

/* Légende + cartes */
.legend-dot{width:.75rem; height:.75rem; border-radius:50%; display:inline-block; margin-right:.35rem; vertical-align:middle}

/* FullCalendar thème sombre */
.fc{
  --fc-border-color:var(--border);
  --fc-page-bg-color:transparent;
  --fc-neutral-bg-color:rgba(255,255,255,.02);
  --fc-list-event-hover-bg-color:rgba(255,255,255,.06);
  --fc-today-bg-color:rgba(196,22,28,.12);
  --fc-button-bg-color:var(--brand);
  --fc-button-border-color:var(--brand);
  --fc-button-hover-bg-color:var(--brand-dark);
  --fc-button-hover-border-color:var(--brand-dark);
  --fc-button-text-color:#fff;
  --fc-event-bg-color:rgba(196,22,28,.2);
  --fc-event-border-color:rgba(196,22,28,.5);
  --fc-event-text-color:#fff;
}
.fc .fc-toolbar-title{font-weight:700; color:#fff !important; text-shadow:0 0 3px rgba(0,0,0,.4)}
.fc .fc-col-header-cell-cushion, .fc .fc-daygrid-day-number{color:#f2f2f2 !important}

/* Typage visuel d’événements */
.event-important{
  background:linear-gradient(180deg, rgba(196,22,28,.75), rgba(196,22,28,.45)) !important;
  border-color:rgba(196,22,28,.9) !important;
}
.event-commun{
  background:linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10)) !important;
  border-color:rgba(255,255,255,.25) !important;
  color:#fff !important;
}

/* Filtres (offcanvas) */
.filter-pill input:checked + label{background:rgba(196,22,28,.2); border-color:var(--brand); color:#fff}
.filter-pill label{border:1px solid var(--border); border-radius:999px; padding:.4rem .8rem; cursor:pointer; user-select:none}

/* Popover foncé */
.popover{
  --bs-popover-bg:#191923;
  --bs-popover-border-color:var(--border);
  --bs-popover-header-bg:#191923;
  --bs-popover-header-color:#fff;
  color:#e5e9f2;
}

/* Alertes (rappel Discord) contraste ++ */
.alert-secondary{
  background:rgba(255,255,255,.10) !important;
  color:#e6e8ed !important;
  border-color:rgba(255,255,255,.15) !important;
}
/* ---- FullCalendar : colonne de gauche + "All-day" plus lisibles ---- */

/* Fond léger et bordure pour la colonne d'axe (heures) */
.fc .fc-timegrid-axis,
.fc .fc-timegrid-slot-label {
  background: rgba(255,255,255,.04);
  border-right: 1px solid var(--border);
}

/* Libellés d'heures (08:00, 09:00, …) */
.fc .fc-timegrid-slot-label-cushion {
  color: #e6e8ee;            /* plus clair */
  font-weight: 500;
}

/* Libellé "All-day" */
.fc .fc-timegrid-axis-cushion {
  color: #ffffff;            /* blanc franc */
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* Ligne All-day un poil plus contrastée */
.fc .fc-timegrid-allday .fc-timegrid-axis,
.fc .fc-timegrid-allday .fc-daygrid-body {
  background: rgba(255,255,255,.06);
}
/* flash "aujourd'hui" */
.fc-today-flash{
  animation: fcFlash .9s ease;
}
@keyframes fcFlash{
  0%{ box-shadow: inset 0 0 0 2px rgba(255,255,255,.0), 0 0 0 0 rgba(196,22,28,.0); }
  30%{ box-shadow: inset 0 0 0 2px rgba(255,255,255,.35), 0 0 0 8px rgba(196,22,28,.25); }
  100%{ box-shadow: inset 0 0 0 2px rgba(255,255,255,.0), 0 0 0 0 rgba(196,22,28,.0); }
}
