#dateList .date-button.is-non-working,
#dateList .date-button.is-fully-booked {
  cursor: not-allowed;
  color: #7b8494;
  border-color: #dce1e9;
  background: #f1f3f6;
}

/* Перекрывает старую декоративную подсветку выходных: отсутствие графика
   важнее календарного признака выходного дня. */
#dateList .date-button.is-non-working.booking-weekend:not([aria-pressed="true"]) {
  color: #7b8494;
  border-color: #dce1e9;
  background: #f1f3f6;
}

#dateList .date-button.is-fully-booked {
  background: #f7f2ed;
  border-color: #ead8c9;
  color: #9a7158;
}

/* Только доступная дата ведёт себя как кнопка выбора. */
#dateList .date-button:not(:disabled):not([aria-pressed="true"]) {
  cursor: pointer;
}

#dateList .date-button:not(:disabled):not([aria-pressed="true"]):hover,
#dateList .date-button:not(:disabled):not([aria-pressed="true"]):focus-visible {
  border-color: var(--primary);
}

#slotList .slot-button[aria-pressed="true"] {
  border-color: var(--primary);
  background: var(--primary);
  color: #fff;
}

.date-button.is-non-working::after,
.date-button.is-fully-booked::after {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  margin: 3px auto 0;
  border-radius: 50%;
  background: currentColor;
}

.calendar-availability {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.calendar-change-specialist {
  margin-top: 8px;
  min-height: 38px;
  padding: 7px 10px;
  border: 1px solid #cbd2ff;
  border-radius: 9px;
  background: #f4f5ff;
  color: #293bd8;
  font-size: 13px;
  font-weight: 800;
}

.calendar-change-specialist:hover,
.calendar-change-specialist:focus-visible {
  border-color: var(--primary);
  background: #eef0ff;
}

@media (max-width: 540px) {
  .calendar-availability { font-size: 12px; }
}
