.bookings {
    font-family: sans-serif;
    margin: 0 auto;
    max-width: 600px;
    padding: 10px;
}

.centered {
    text-align: center;
}

.blue-button-small {
  display: inline-block;
  padding: 5px 10px;
  margin: 5px 0px;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  border: 2px solid #5285ec;
  color: white;
  background-color: #5285ec;
  border-radius: 4px;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.blue-button-small:hover {
    text-decoration: none;
    color: white;
}

.red-button-small {
  display: inline-block;
  padding: 5px 10px;
  margin: 5px 0px;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  border: 2px solid #c80606;
  color: white;
  background-color: #c80606;
  border-radius: 4px;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.red-button-small:hover {
    text-decoration: none;
    color: white;
}

.green-button-small {
  display: inline-block;
  padding: 5px 10px;
  margin: 5px 0px;
  font-size: 14px;
  text-align: center;
  text-decoration: none;
  border: 2px solid #08ba35;
  color: white;
  background-color: #08ba35;
  border-radius: 4px;
  transition: background-color 0.3s, color 0.3s, border-color 0.3s;
}

.green-button-small:hover {
    text-decoration: none;
    color: white;
}

.calendar {
    display: flex;
    flex-direction: column;
}
.calendar-header {
    text-align: center;
    margin-bottom: 10px;
}
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}
.day-name, .day-cell, .available-cell, .blocked-cell {
    text-align: center;
    padding: 10px;
}
.day-name {
    font-weight: bold;
    background: #eee;
}
.day-cell {
    background: #f9f9f9;
    border: 1px solid #ccc;
    position: relative;
    cursor: pointer;
}

.available-cell {
    background: #5285ec;
    cursor: pointer;
    color: white;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.blocked-cell {
    background: #f9f9f9;
    position: absolute;
    inset: 0;
    z-index: 2;
}

.empty-cell {
    background: transparent;
    border: none;
}
.nav-links {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

@media (max-width: 500px) {
    .day-name, .day-cell, .available-cell, .blocked-cell {
        padding: 6px;
    }

    .calendar, .blue-button-small, .green-button-small {
        font-size: medium;
    }

    .bookings, #trainingConfirm, #instructor, #trainingTime {
        font-size: large;
    }
}