.schedule-table-container {
  width: 100%;
  overflow-x: auto;
  margin: 1.5rem 0;
}

.schedule-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Acumin Pro", "Franklin Gothic", Arial, sans-serif;
  font-size: 1em;
  line-height: 1.4;
}

.schedule-table th,
.schedule-table td {
  border: 1px solid #dddddd;
  padding: 10px;
  vertical-align: top;
}

.schedule-table thead th {
  background-color: #000000;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
  border-color: #000000;
}

.schedule-table .time {
  width: 130px;
  white-space: nowrap;
  font-weight: bold;
}

.schedule-table .event-title {
  font-weight: bold;
  margin: 0;
  padding: 0;
}

/* White time blocks */
.schedule-table tr.white td {
  background-color: #ffffff;
}

/* Gray time blocks */
.schedule-table tr.gray td {
  background-color: #f2f2f2;
}

/* Keep links readable if any are added */
.schedule-table a {
  color: #0066cc;
  text-decoration: underline;
}

.schedule-table a:hover,
.schedule-table a:focus {
  color: #003d7a;
}

/* Responsive table */
@media (max-width: 768px) {
  .schedule-table {
    min-width: 900px;
  }

  .schedule-table th,
  .schedule-table td {
    padding: 8px;
  }

  .schedule-table .time {
    width: 120px;
  }
}