#agenda {
    padding: 2rem 0;
}
.agenda-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
    align-items: center;
}
.filter-btn {
    padding: 0.5rem 1.25rem;
    border: 2px solid #013c91;
    background: transparent;
    color: #013c91;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05rem;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: inherit;
    font-size: 0.875rem;
}
.filter-btn[data-filter="all"] {
    border-color: #013c91;
    color: #013c91;
}
.filter-btn[data-filter="all"].active,
.filter-btn[data-filter="all"]:hover {
    background-color: #013c91;
    color: #fff;
}
.filter-btn:not([data-filter="all"]) {
    border-color: var(--cat-color);
    color: var(--cat-color);
}
.filter-btn:not([data-filter="all"]).active,
.filter-btn:not([data-filter="all"]):hover {
    background-color: var(--cat-color);
    color: #fff;
}
.agenda-legende {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    margin-top: 0.875rem;
}
.legende-item {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04rem;
    color: #122332;
}
.legende-dot {
    width: 0.7rem;
    height: 0.7rem;
    border-radius: 50%;
    flex-shrink: 0;
}
#fullcalendar {
    background: #fff;
    padding: 1.5rem;
    box-shadow: 0 2px 20px rgba(1, 60, 145, 0.08);
}
.fc .fc-toolbar-title {
    font-size: 1.25rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #122332;
}
.fc .fc-button-primary {
    background-color: #013c91;
    border-color: #013c91;
}
.fc .fc-button-primary:hover {
    background-color: #e82f2d;
    border-color: #e82f2d;
}
.fc .fc-button-primary:not(:disabled).fc-button-active {
    background-color: #e82f2d;
    border-color: #e82f2d;
}
.fc .fc-button-primary:focus {
    box-shadow: none;
}
.fc-event {
    cursor: pointer;
}
.fc .fc-daygrid-event {
    border-radius: 0;
    white-space: normal;
    padding: 0;
}
.fc .fc-daygrid-event-dot {
    display: none;
}
.fc-event-inner {
    display: flex;
    flex-direction: column;
    padding: 3px 5px;
    gap: 1px;
    color: #fff;
    height: 100%;
}
.fc-event-cat {
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06rem;
    opacity: 0.85;
    line-height: 1.2;
}
.fc-event-name {
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
}
.event-agenda_club .fc-event-inner {
    background-color: #17a2b8;
}
.event-vie_club .fc-event-inner {
    background-color: #e82f2d;
}
.event-ecole_judo .fc-event-inner {
    background-color: #f5a623;
}
.event-benjamins .fc-event-inner {
    background-color: #1acd81;
}
.event-minimes .fc-event-inner {
    background-color: #013c91;
}
.event-cadets .fc-event-inner {
    background-color: #6f42c1;
}
.event-juniors .fc-event-inner {
    background-color: #e91e8c;
}
.event-seniors_veterans .fc-event-inner {
    background-color: #122332;
}
.fc .fc-daygrid-event {
    background: transparent !important;
    border: none !important;
}
.fc .fc-list-event:hover td {
    background-color: rgba(1, 60, 145, 0.05);
}
.fc .fc-col-header-cell-cushion {
    color: #122332;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.05rem;
}
.fc .fc-daygrid-day-number {
    color: #122332;
}
.fc-day-today .fc-daygrid-day-number {
    color: #e82f2d;
    font-weight: 700;
}
.fc .fc-list-day-text,
.fc .fc-list-day-side-text {
    color: #000;
    text-decoration: none;
}
@media (max-width: 768px) {
    .filter-btn {
        font-size: 0.8rem;
        padding: 0.4rem 0.875rem;
    }
    .agenda-filters {
        justify-content: center;
    }
    .agenda-legende {
        justify-content: center;
    }
    #fullcalendar {
        padding: 0.75rem;
    }
    .fc .fc-toolbar {
        flex-direction: column;
        gap: 0.5rem;
    }
    .fc .fc-toolbar-chunk {
        display: flex;
        justify-content: center;
    }
}
