/* ============================================
   FULLCALENDAR CUSTOMIZATION
   ============================================ */

/* --------------------------------------------
   STRUCTURE ET CONTENEUR
   -------------------------------------------- */

/* Garantir que la rangée et la colonne prennent l'espace nécessaire */
.row {
    margin: 0 !important;
}

.col-10 {
    /* Centrage du conteneur col-10 s'il ne prend pas 100% de la largeur du parent */
    padding: 0 15px;
    margin: 0 auto;
}

#calendar {
    /* Le calendrier prend toute la largeur de sa colonne parente */
    max-width: none;
    margin: 2%;
    padding: 20px;

    /* Style de carte par défaut (Mode Sombre) */
    background: var(--secondary-primary);
    border: 1px solid var(--border);
    border-radius: 15px;
    box-shadow: 0 8px 20px var(--black-shadow-medium);
}

/* --------------------------------------------
   HEADER (TOOLBAR)
   -------------------------------------------- */
.fc .fc-toolbar-title {
    font-family: 'Inter', sans-serif;
    color: var(--light); /* Couleur d'accentuation */
    font-weight: 700;
    font-size: 1.5rem;
    letter-spacing: -0.01em;
}

.fc .fc-button {
    /* Style des boutons non actifs */
    font-family: 'Inter', sans-serif;
    background: var(--bg-medium) !important;
    border: 1px solid var(--border) !important;
    color: var(--text-light) !important;
    border-radius: 10px !important;
    padding: 0.5rem 1rem !important;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: none !important;
}

.fc .fc-button:hover {
    background: var(--bg-light) !important;
    border-color: var(--accent) !important;
    color: var(--light) !important;
    transform: translateY(-2px);
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
    /* Bouton actif (vue courante) */
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-gradient-end) 100%) !important;
    border-color: var(--accent) !important;
    color: var(--white) !important;
    box-shadow: 0 4px 15px var(--accent-shadow) !important;
    transform: none;
}

.fc .fc-timegrid-axis-cushion{
    /* Taille de la police "Toute la journée" le côté */
    font-size: smaller;
}

/* --------------------------------------------
   CALENDAR GRID
   -------------------------------------------- */

/* Jours de la semaine (thead) */
.fc .fc-col-header-cell-cushion {
    font-family: 'Inter', sans-serif;
    color: var(--light);
    font-weight: 600;
    padding: 0.5em;
    text-transform: uppercase;
}

/* Contours de la grille */
.fc-theme-standard table,
.fc-theme-standard td,
.fc-theme-standard th {
    border-color: var(--border) !important;
}

/* --------------------------------------------
   DAY NUMBERS & BACKGROUNDS
   -------------------------------------------- */

/* Numéros de jour */
.fc .fc-daygrid-day-number {
    color: var(--text-light);
    font-weight: 500;
    padding: 8px;
    transition: all 0.2s ease;
}

/* Jour actuel (Today) */
.fc .fc-day-today {
    background-color: var(--bg-light) !important;
    border-radius: 5px;
}

/* Arrière-plan des jours du mois précédent/suivant */
.fc .fc-day-other .fc-daygrid-day-number {
    /* Rendre les jours hors-mois plus discrets */
    color: rgba(var(--text-light), 0.4);
}

/* --------------------------------------------
   EVENTS
   -------------------------------------------- */
.fc-event {
    /* Apparence générale des événements */
    background-color: var(--primary) !important;
    border: 1px solid var(--accent) !important;
    color: var(--white) !important;
    border-radius: 5px !important;
    padding: 2px 5px;
    font-family: 'Inter', sans-serif;
    font-size: 0.85rem;
    font-weight: 500;
    transition: all 0.2s ease;
}

.fc-event:hover {
    box-shadow: 0 2px 8px var(--accent-shadow-medium);
    transform: translateY(-1px);
}

.fc-daygrid-event-dot {
    /* Point de couleur pour les événements */
    border-color: var(--white) !important;
}


/* --------------------------------------------
   LIST VIEW
   -------------------------------------------- */
.fc-list-day-text, .fc-list-day-side-text {
    color: var(--light);
    font-weight: 600;
}

.fc-list-event {
    background: var(--bg-light);
    border-left: 5px solid var(--accent);
    margin: 5px 0;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.fc-list-event:hover {
    background: var(--bg-medium);
}

.fc-list-event-title a {
    color: var(--text-light);
}

.fc-list-event-time {
    color: var(--light);
}

/* ============================================
   FULLCALENDAR - LIGHT MODE OVERRIDES
   ============================================ */

[data-bs-theme="light"] #calendar {
    /* Ajustement du fond du conteneur en mode clair */
    background: var(--secondary-dark); /* Plus clair que le sombre */
    box-shadow: 0 8px 20px var(--black-shadow-light);
}

[data-bs-theme="light"] .fc .fc-button-primary:not(:disabled).fc-button-active,
[data-bs-theme="light"] .fc .fc-button-primary:not(:disabled):active {
    /* S'assurer que les boutons actifs restent contrastés en mode clair */
    color: var(--white) !important;
}

[data-bs-theme="light"] .fc .fc-button {
    /* Ajustement des couleurs des boutons pour le mode clair */
    background: var(--bg-light) !important;
    color: var(--text-light) !important;
}

[data-bs-theme="light"] .fc .fc-day-today {
    /* Jour actuel en mode clair */
    background-color: var(--bg-medium) !important;
}

[data-bs-theme="light"] .fc-event {
    /* Événements en mode clair */
    color: var(--white) !important;
}

[data-bs-theme="light"] .fc .fc-day-other .fc-daygrid-day-number {
    /* Jours hors-mois en mode clair */
    color: rgba(51, 51, 51, 0.4);
}
