/* Dedicated schedule page: the data and table renderer are shared with the homepage. */
body[data-page="schedule"] {
  background: #f5f9ff;
}

.schedule-page-section {
  min-height: calc(100vh - 78px);
  padding-top: 0;
  padding-bottom: 0;
  color: #15324b;
  background: linear-gradient(180deg, #f5f9ff 0%, #edf5ff 100%) !important;
}

.schedule-page-section::before {
  display: none;
}

/* The dedicated page uses the same strong editorial hero as Documents. */
.schedule-page-hero {
  position: relative;
  overflow: hidden;
  padding: 78px 0 72px;
  color: #fff;
  background: linear-gradient(135deg, #06142f 0%, #0a2d69 58%, #087fbe 100%);
}

.schedule-page-hero::after {
  content: '';
  position: absolute;
  width: 440px;
  height: 440px;
  right: -125px;
  top: -190px;
  border: 1px solid rgba(77, 157, 255, .28);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(77, 157, 255, .045), 0 0 0 110px rgba(77, 157, 255, .025);
}

.schedule-page-hero-inner {
  position: relative;
  z-index: 1;
}

.schedule-page-kicker {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #66b5ff;
  font: 700 11px 'DM Sans', sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.schedule-page-kicker::before {
  content: '';
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 15px currentColor;
}

.schedule-page-title {
  max-width: 760px;
  margin: 18px 0 0;
  color: #fff;
  font: 700 clamp(2.7rem, 6vw, 5.4rem)/.98 'Space Grotesk', sans-serif;
  letter-spacing: -.075em;
}

.schedule-page-subtitle {
  max-width: 680px;
  margin: 20px 0 0;
  color: #c1d6df;
  font-size: clamp(1rem, 1.7vw, 1.15rem);
  line-height: 1.7;
}

.schedule-page-body {
  padding: 76px 0 104px;
}

.schedule-page-section .schedule-intro {
  margin-bottom: 46px;
}

.schedule-page-section .section-kicker,
.schedule-page-section .campus-card-header .text-\\[\\#2477d4\\] {
  color: #2477d4 !important;
}

.schedule-page-section .section-title,
.schedule-page-section .diving-panel h3,
.schedule-page-section .campus-card-header h3,
.schedule-page-section .diving-standards strong {
  color: #102b40;
}

.schedule-page-section .section-copy,
.schedule-page-section .campus-card-header p,
.schedule-page-section .diving-panel p,
.schedule-page-section .diving-contact,
.schedule-page-section .campus-card-footer {
  color: #617991;
}

.schedule-page-section .campus-card {
  border-color: rgba(37, 91, 161, .16);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 22px 60px rgba(31, 73, 140, .12);
}

.schedule-page-section .campus-card-header {
  background: linear-gradient(135deg, #e8f2ff 0%, #ffffff 76%);
  border-bottom-color: rgba(37, 91, 161, .12);
}

.schedule-page-section .campus-pin {
  color: #2477d4;
  border-color: rgba(36, 119, 212, .18);
  background: rgba(70, 145, 255, .08);
}

.schedule-page-section .schedule-table {
  color: #183247;
}

.schedule-page-section .schedule-table th,
.schedule-page-section .schedule-table td {
  border-bottom-color: rgba(37, 91, 161, .12);
}

.schedule-page-section .schedule-table thead th {
  color: #2477d4;
  background: rgba(70, 145, 255, .1);
}

.schedule-page-section .schedule-table tbody th,
.schedule-page-section .schedule-table tbody td {
  color: #31536d;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.65;
}

.schedule-page-section .schedule-table tbody th .text-\\[\\#0f1b2e\\] {
  color: #102b40 !important;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .01em;
}

.schedule-page-section .schedule-table tbody td .text-\\[\\#315669\\] {
  color: #244d69 !important;
  font-weight: 600;
}

/* The page uses a light table surface, so keep every schedule value firmly
   in the dark-blue contrast range instead of inheriting the ocean-muted text. */
.schedule-page-section .schedule-table tbody td > div {
  color: #31536d !important;
}

.schedule-page-section .schedule-table tbody td > div > span {
  color: #31536d !important;
}

.schedule-page-section .schedule-table tbody td:nth-child(2) > div > span {
  color: #244d69 !important;
  font-weight: 500;
}

.schedule-page-section .schedule-table tbody td:nth-child(3) > div > span {
  color: #1f4968 !important;
  font-weight: 600;
}

/* High-contrast table reading layer. Keep every value dark and large enough
   to scan quickly, even when shared ocean-theme rules are loaded before this
   page stylesheet. */
.schedule-page-section .schedule-table tbody th,
.schedule-page-section .schedule-table tbody td,
.schedule-page-section .schedule-table tbody th span,
.schedule-page-section .schedule-table tbody td div,
.schedule-page-section .schedule-table tbody td span {
  color: #173b59 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  text-shadow: none !important;
}

.schedule-page-section .schedule-table tbody th,
.schedule-page-section .schedule-table tbody th span {
  color: #0d2c47 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.schedule-page-section .schedule-table tbody td:nth-child(2) div,
.schedule-page-section .schedule-table tbody td:nth-child(2) span {
  color: #244b68 !important;
}

.schedule-page-section .schedule-table tbody td:nth-child(3) div,
.schedule-page-section .schedule-table tbody td:nth-child(3) span {
  color: #123e61 !important;
  font-weight: 700 !important;
}

.schedule-page-section .schedule-table tbody td:nth-child(4) strong.schedule-price {
  color: #104f9e !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  background: #dbeaff !important;
  border: 1px solid #bdd8fa;
}

.schedule-page-section .schedule-table tbody tr {
  border-bottom: 1px solid #c9dced;
}

.schedule-page-section .schedule-table tbody tr:nth-child(even) {
  background: #edf5fe;
}

.schedule-page-section .schedule-table tbody tr:nth-child(odd) {
  background: #ffffff;
}

.schedule-page-section .schedule-table thead th {
  color: #0e5fac !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  background: #e4f0ff !important;
}

.schedule-page-section .schedule-table thead th {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.schedule-page-section .schedule-table tbody tr:nth-child(even) {
  background: rgba(239, 246, 255, .72);
}

.schedule-page-section .schedule-table tbody tr:hover {
  background: rgba(70, 145, 255, .1);
}

.schedule-page-section .schedule-price {
  color: #1d63bd;
  background: rgba(70, 145, 255, .14);
}

.schedule-page-section .campus-card-footer a,
.schedule-page-section .diving-contact a {
  color: #2477d4;
}

.schedule-page-section .diving-panel {
  border-top-color: rgba(37, 91, 161, .16);
}

.schedule-page-section .diving-standards {
  color: #15324b;
}

@media (max-width: 640px) {
  .schedule-page-hero {
    padding: 62px 0 58px;
  }

  .schedule-page-body {
    padding: 52px 0 78px;
  }
}
