#calendar {
  max-width: 1200px;
  margin: 0 auto;
}

.fc .fc-toolbar-chunk {
  display: flex;
  align-items: center;
  gap: .25rem;
}

.fc .fc-toolbar-title {
  margin: 0;
}

/* Month view: weekday labels (header is rendered as links) */
.fc .fc-dayGridMonth-view .fc-col-header-cell-cushion,
.fc .fc-dayGridMonth-view .fc-col-header-cell-cushion:hover {
  text-decoration: none;
}

/* Month view: weekday header uses FullCalendar default button colors */
.fc .fc-dayGridMonth-view .fc-col-header-cell {
  background-color: var(--fc-button-bg-color);
}

.fc .fc-dayGridMonth-view .fc-col-header-cell-cushion {
  color: var(--fc-button-text-color);
}

/* Week view: header date area matches month weekday header */
.fc .fc-timeGridWeek-view .fc-col-header-cell {
  background-color: var(--fc-button-bg-color);
}

.fc .fc-timeGridWeek-view .fc-col-header-cell-cushion,
.fc .fc-timeGridWeek-view .fc-col-header-cell-cushion:hover {
  color: var(--fc-button-text-color);
  text-decoration: none;
}

/* Day view: header date area matches month weekday header */
.fc .fc-timeGridDay-view .fc-col-header-cell {
  background-color: var(--fc-button-bg-color);
}

.fc .fc-timeGridDay-view .fc-col-header-cell-cushion,
.fc .fc-timeGridDay-view .fc-col-header-cell-cushion:hover {
  color: var(--fc-button-text-color);
  text-decoration: none;
}

/* Weekend/Holiday background */
.fc .fc-bg-holiday {
  background-color: rgba(255, 0, 0, 0.06);
}

@media (max-width: 576px) {
  .fc .fc-toolbar {
    flex-wrap: wrap;
    gap: .5rem;
  }

  .fc .fc-toolbar-title {
    font-size: 1.1rem;
  }
}


