.calendar-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}

.calendar-table th,
.calendar-table td {
  border: 1px solid #ccc;
  text-align: center;
  padding: 0.5rem;
  min-width: 80px;
  background-color: #ffffff;
}

/* Külső szegélyek eltávolítása */
.calendar-table tr:first-child th {
  border-top: none;
}
.calendar-table tr:last-child td {
  border-bottom: none;
}
.calendar-table th:first-child,
.calendar-table td:first-child {
  border-left: none;
}
.calendar-table th:last-child,
.calendar-table td:last-child {
  border-right: none;
}

/* Szabad időpont */
.calendar-table td.available {
  cursor: pointer;
}

.calendar-table td.available:hover {
  background-color: #f8f8f8;
}

/* Foglalt időpont */
.calendar-table td.booked {
  background-color: #fddddd;
  cursor: not-allowed;
}

.calendar-table td.no{
  background-color: #ccd9ff;
  cursor: not-allowed;
}

/* Kiválasztott időpont */
.calendar-table td.selected {
  background-color: #fff3cd !important;
  outline: 2px solid #ffc107;
}

/* ——— görgetés a #calendar-ra ——— */
#calendar {
  overflow-x: auto;                 /* ha szélesebb, itt gördül */
  -webkit-overflow-scrolling: touch;/* iOS smooth scroll */
}

/* ——— tábla szélesebb lehet a képernyőnél, de a #calendar kezeli ——— */
.calendar-table {
  width: 100%;
  min-width: 720px;                 /* min. szélesség a 7 oszlop miatt */
  border-collapse: collapse;
  margin-bottom: 1rem;
}

/* sticky fejlécek és első oszlop */
.calendar-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
}
.calendar-table th:first-child,
.calendar-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
}

/* mobil finomhangolás */
@media (max-width: 480px) {
  .calendar-table th,
  .calendar-table td {
    padding: 0.35rem;
    min-width: 64px;
    font-size: 0.9rem;
  }
}
