#calendar { font-size: 14px; }

/* Toolbar : boutons plus grands au doigt */
@media (max-width: 991px) {
    .fc .fc-toolbar.fc-header-toolbar {
        gap: .25rem;
    }
    .fc .fc-toolbar-title {
        font-size: 1rem;
        line-height: 1.2;
    }
    .fc .fc-button {
        padding: .35rem .5rem;
        border-radius: .75rem;
    }
}

/* Entêtes de jours compacts */
.fc .fc-col-header-cell-cushion {
    padding: .35rem .25rem;
}

/* Hauteur de ligne suffisante pour le touch */
.fc .fc-timegrid-slot {
    height: 2.25rem; /* ≈ 36px */
}

/* Événements compacts et lisibles */
.fc .fc-event {
    border-radius: .5rem;
    padding: .25rem .35rem;
}
.fc .fc-event .fc-mb-title {
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.fc .fc-event .fc-mb-time {
    font-size: .78rem;
    opacity: .85;
    margin-top: .1rem;
}

/* Empêcher que l’all-day mange tout l’écran en mobile */
@media (max-width: 991px) {
    .fc .fc-timegrid-axis-cushion { font-size: .75rem; }
    .fc .fc-timegrid-now-indicator-line { height: 2px; }
    .fc .fc-timegrid .fc-daygrid-body { max-height: 140px; overflow: auto; }
}

/* Taille confortable au doigt */
.fc .fc-button { padding: .38rem .6rem; border-radius: .75rem; }

/* Groupe “Jour / Semaine” façon segment */
.fc .fc-button-group .fc-button .fc-today-button .fc-button-primary { border-radius: 0.375rem !important; }
.fc .fc-button-group .fc-button:first-child { margin-right: .25rem; }

/* Titre compact en mobile */
@media (max-width: 991px) {
    .fc .fc-toolbar-title { font-size: 1rem; line-height: 1.2; }
}

/* Bouton today mis en avant */
.fc .fc-today-button { font-weight: 600; }

/* Empêcher la toolbar de passer sur 2 lignes */
.fc .fc-header-toolbar {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: nowrap;               /* <<< clé */
}

/* Les 3 zones (gauche / centre / droite) */
.fc .fc-toolbar-chunk {
    display: flex;
    align-items: center;
    gap: .5rem;
}
.fc .fc-toolbar-chunk:nth-child(2) {
    flex: 1 1 auto;                  /* le centre peut rétrécir */
    justify-content: center;
    min-width: 0;                    /* <<< autorise l'ellipse du titre */
}

/* Titre qui se compresse proprement */
.fc .fc-toolbar-title {
    font-size: 1rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Boutons compacts, arrondis */
.fc .fc-button {
    padding: .38rem .6rem;
    border-radius: .75rem;
    flex: 0 0 auto;                  /* ne s’étirent pas */
}

/* Groupe "Semaine / Jour" façon segment */
.fc .fc-button-group .fc-button { border-radius: 0.375rem !important; }
.fc .fc-button-group .fc-button:first-child { margin-right: .25rem; }

/* Ultra-compact en très petit écran (optionnel) */
@media (max-width: 380px) {
    .fc .fc-toolbar-title { display: none; }  /* si vraiment trop serré */
    .fc .fc-button { padding: .32rem .5rem; }
}