.calendar-wrapper {
  display: flex;
  flex-direction: column;
  gap: 2em;
  padding: 0 5%;
}

.calendar-time-row {
  display: flex;
  flex-direction: column;
  gap: 2em;
}

/* LET OP: deze media query is kapot (er mist een '{' na de selectors). Daardoor doet niet alleen
   deze regel niets, maar valt ook de regel van .calendar-toolbar hieronder weg. Zo staat het al
   live; het herstellen verandert de layout van de kalender, dus dat is een aparte, bewuste stap. */
@media (min-width: 1200px) {
  .calendar-time-row {
    flex-direction: row;
    align-items: flex-start;
  }

  #calendar-container,
  #timeslots-container,
    flex: 1;
  }
}

.calendar-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.75em;
}

.calendar select {
  padding: 4px;
}

.calendar {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 8px;
  font-family: sans-serif;
}

.calendar div {
  text-align: center;
  padding: 8px;
  border-radius: 4px;
  cursor: default;
}

.calendar .day-label {
  font-weight: bold;
  background: #f0f0f0;
}

.calendar .date {
  background: #e6f7e6;
  cursor: pointer;
  border: 1px solid #ccc;
  transition: background 0.2s;
}

.calendar .date:hover {
  background: #cceccc;
}

.calendar .disabled {
  color: #aaa;
  background: #eee;
  cursor: not-allowed;
}

.calendar .selected {
  background: #007cba;
  color: #fff;
  font-weight: bold;
}
