
/* ===== Calendar + shared components ===== */

.tm-grid{ border-collapse: collapse; border-spacing:0; width:100%; }
.tm-grid td, .tm-grid th{ border:0; }

.tm-locked-text{ color: rgba(168, 84, 96, 1); margin: 6px 0 12px; }

.tm-slot{
  position: relative;
  height: 40px;
  text-align: center;
  vertical-align: middle;
  transition: background .15s ease;
}

.tm-slot.free{ background: rgba(243, 244, 244, 1); }

.tm-slot.free:not(.locked-striped):hover{
  background: rgba(229, 232, 233, 1);
  cursor: pointer;
}

.tm-slot.used.user-normal { background: rgba(114, 121, 125, 1); color:#fff; }
.tm-slot.used.user-wait   { background: rgba(143, 129, 118, 1); color:#fff; }
.tm-slot.used.user-other  { background: rgba(152, 158, 162, 1); color:#fff; }

.tm-slot.locked-striped{
  background-image: repeating-linear-gradient(
    45deg,
    rgba(169,173,176, .14) 0 8px,
    rgba(217,220,222, .06) 8px 16px
  );
  background-color: rgba(243, 244, 244, 1);
  cursor: not-allowed;
}
.tm-slot.free.locked-striped:hover{
  filter: none;
  cursor: not-allowed;
}

/* buttons (Beispiel für globale Nutzung der Vars) */
.btn-termin-1{ background: rgba(100, 106, 109, 1); color:#fff; border:0; padding:.5rem .75rem; }
.btn-termin-2{ background: rgba(78, 84, 87, 1); color:#fff; border:0; padding:.5rem .75rem; }
