.calendar-section {
  background: var(--bg-calendar);
  border-radius: 12px;
  padding: 1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

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

.calendar-error {
  color: var(--text-secondary);
  text-align: center;
  padding: 2rem 0;
}

/* FullCalendar overrides for a clean GitHub Pages look */
.fc {
  font-family: 'Source Sans 3', 'Helvetica Neue', Arial, sans-serif;
  color: var(--text-primary);
}

.fc .fc-toolbar-title {
  font-size: 1.2rem;
  font-weight: 600;
}

.fc .fc-button {
  background: var(--bg-day-weekend);
  border: 1px solid var(--border-light);
  color: var(--text-primary);
  text-transform: capitalize;
  box-shadow: none;
}

.fc .fc-button:hover,
.fc .fc-button:focus {
  background: var(--bg-day);
  border-color: var(--border-medium);
}

.fc .fc-button-primary:not(:disabled).fc-button-active,
.fc .fc-button-primary:not(:disabled):active {
  background: var(--event-meeting);
  border-color: var(--event-meeting);
  color: #fff;
}

.fc .fc-daygrid-day-number,
.fc .fc-timegrid-slot-label {
  color: var(--text-secondary);
}

.fc .fc-event {
  border: none;
  padding: 2px 4px;
  border-radius: 4px;
  font-size: 0.75rem;
}

.fc .event-meeting {
  background: var(--event-meeting);
  color: #fff;
}

.fc .event-paper {
  background: var(--event-paper);
  color: #fff;
}

.fc .event-review {
  background: var(--event-review);
  color: #fff;
}

.fc .event-routine {
  background: var(--event-routine);
  color: #fff;
}

@media (max-width: 900px) {
  .calendar-section {
    padding: 0.5rem;
  }

  .fc .fc-toolbar {
    flex-direction: column;
    gap: 0.5rem;
  }
}
