body {
    position: relative;
    background:
        
           linear-gradient(
        rgba(10,15,25,.70),
        rgba(10,15,25,.70)
      ),
        url("/assets/images/dog.png") ;

    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

.schedule-wrapper {
  padding: 8px;
}

.schedule-page {
  background: #212529;
  border-radius: 12px;
  color: #fff;
  min-height: 100vh;
  padding: 20px;
}

.schedule-header {
  padding-top: 6px;
  color: #ffffff;
}

.schedule-league {
  font-size: 2rem;
  font-weight: 800;
  color: #ffffff;
  margin-bottom: 0.35rem;
}

.schedule-series {
  font-size: 1.35rem;
  font-weight: 700;
  color: #9ecbff;
  margin-bottom: 0.25rem;
}

.schedule-season {
  font-size: 1rem;
  color: #d7e6f7;
}

.schedule-table {
  min-width: 1200px;
  color: #fff;
  margin-bottom: 0;
  --bs-table-bg: transparent;
  --bs-table-color: #ffffff;
  --bs-table-border-color: transparent;
  --bs-table-striped-bg: #343a40;
  --bs-table-striped-color: #ffffff;
  --bs-table-hover-bg: rgba(255, 255, 255, 0.08);
  --bs-table-hover-color: #ffffff;
}

.schedule-table thead th {
  background: #343a40 !important;
  color: #ffffff !important;
  border: none !important;
  padding: 12px 10px;
  font-size: 0.95rem;
  font-weight: 700;
  white-space: nowrap;
}

.schedule-table tbody tr:nth-child(odd) td {
  background: #1b1f22 !important;
}

.schedule-table tbody tr:nth-child(even) td {
  background: #343a40 !important;
}

.schedule-table tbody tr:hover td {
  background: #212529 !important;
}

.schedule-table td {
  color: #ffffff !important;
  border: none !important;
  padding: 12px 10px;
  font-size: 0.92rem;
  vertical-align: middle;
  white-space: nowrap;
}

.schedule-table td.event-name,
.schedule-table td.track,
.schedule-table td.car {
  white-space: normal;
  min-width: 180px;
}

.schedule-table a {
  color: #ffe45c !important;
  font-weight: 700;
  text-decoration: none;
}

.schedule-table a:hover {
  color: #ffffff !important;
  text-decoration: underline;
}

@media (max-width: 992px) {
  .schedule-page {
    padding: 14px;
  }

  .schedule-league {
    font-size: 1.5rem;
  }

  .schedule-series {
    font-size: 1.1rem;
  }

  .schedule-table td,
  .schedule-table thead th {
    font-size: 0.85rem;
    padding: 10px 8px;
  }
}

/* Mobile improvements */
@media (max-width: 768px) {
  .schedule-page {
    padding: 10px;
    border-radius: 0;
  }

  .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .schedule-table {
    min-width: 900px; /* smaller than desktop so less insane scrolling */
  }

  .schedule-table thead th,
  .schedule-table td {
    font-size: 0.75rem;
    padding: 6px 6px;
    white-space: normal;
    line-height: 1.2;
  }

  .schedule-table td.event-name,
  .schedule-table td.track,
  .schedule-table td.car {
    min-width: 120px;
    white-space: normal;
  }
}

@media (max-width: 768px) {
  .schedule-table th:nth-child(3),
  .schedule-table td:nth-child(3),
  .schedule-table th:nth-child(7),
  .schedule-table td:nth-child(7) {
    display: none;
  }
}


@media (max-width: 768px) {

  .schedule-table th:nth-child(1),
  .schedule-table td:nth-child(1) {
    width: 50px;
  }

  .schedule-table th:nth-child(2),
  .schedule-table td:nth-child(2) {
    width: 60px;
  }

  .schedule-table th:nth-child(3),
  .schedule-table td:nth-child(3) {
    width: 70px;
  }

  .schedule-table th:nth-child(4),
  .schedule-table td:nth-child(4) {
    width: 50px;
  }

  .schedule-table th:nth-child(5),
  .schedule-table td:nth-child(5) {
    width: 50px;
  }
  
}
