 /* Неактивные кнопки навигации */
.is-disabled {
  opacity: 0.4;
  cursor: default;
  pointer-events: none;
}

/* Мелкие служебные */
.qty { font-weight: 800; }
.viewall { margin-top: 8px; }
.viewall a { color: var(--link); text-decoration: underline; }

/* Карточка дня — теперь кликается вся ГРУППА */
.day-card_group { cursor: default; }
.day-card_group.has-slots { cursor: pointer; }
.day-card_group.no-slots,
.day-card_group.no-slots * {
  pointer-events: none !important;
  cursor: default !important;
}

/* Фоны по состояниям — если окрашиваешь фон всей группы */
.day-card_group.has-slots  { background-color: #FFE36A !important; }
.day-card_group.no-slots   { background-color: #EEEEEE !important; }
.day-card_group.load-error { background-color: #FDEAEA !important; }

/* Если окраску нужно вешать только на фоновый shape,
   дай ему класс .day-card-bg и используй так:
.day-card_group.has-slots  .day-card-bg { background:#FFE36A !important; }
.day-card_group.no-slots   .day-card-bg { background:#EEE !important; }
*/

/* Слоты времени (Zero‑block) */
.timeslot-1,
.timeslot-2 {
  border-radius: 8px;
  outline: 1px solid transparent;
  transition: outline-color .15s ease;
}

.timecard-time .tn-atom {
  font-weight: 600;
  letter-spacing: .2px;
}

.timeslot-1:focus,
.timeslot-2:focus,
.timecard-time:focus,
.timecard-shape:focus {
  outline: 2px solid #3B82F6;
  outline-offset: 2px;
  border-radius: 8px;
}

.timeslot-1.selected,
.timeslot-2.selected,
.timecard-time.selected {
  outline: 2px solid #3B82F6;
  outline-offset: 0;
  box-shadow: 0 0 0 2px rgba(59,130,246,.15) inset;
  border-radius: 8px;
}

.timecard-shape {
  background: #EDEDED !important;
  border-radius: 8px;
  transition: none !important;
  cursor: pointer;
}

.timecard-shape:hover { background: #EDEDED !important; }

.timecard-shape.is-available { background: #FFE36A !important; }
.timecard-shape.is-disabled {
  background: #EDEDED !important;
  cursor: default;
  pointer-events: none;
}

/* Запрет выделения текста у интерактивных элементов слота */
.timeslot-1,
.timeslot-2,
.timecard-time,
.timecard-shape {
  -webkit-user-select: none;
  user-select: none;
}

/* Forced colors / Accessibility */
@media (forced-colors: active) {
  .timeslot-1,
  .timeslot-2,
  .timecard-time {
    forced-color-adjust: auto;
    border: 1px solid ButtonText;
  }
  .timeslot-1.selected,
  .timeslot-2.selected,
  .timecard-time.selected {
    outline: 2px solid Highlight;
    background: Canvas !important;
  }
  .timecard-time .tn-atom { color: ButtonText; }
}

/* Микро-адаптив */
@media (max-width: 480px) {
  .timecard-time .tn-atom { font-size: 14px; line-height: 24px !important; }
  .slot-btn { padding: 8px 10px; font-size: 14px; }
}

/* Попап: сетка и кнопки слотов */
.slots-grid,
.slots-grid-1,
.slots-grid-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.slot-btn {
  padding: 8px 12px;
  border-radius: 10px;
  border: 1px solid #d9d9d9;
  background: #fff;
  font: 500 15px/1.2 Arial, sans-serif;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease;
}
.slot-btn:hover   { background:#f6f8ff; border-color:#bfcfff; }
.slot-btn.selected{ background:#e9f5ff; border-color:#76b8ff; }
