/* ============================================
   LEAN EDGE SPORTS — NBA SCHEDULE
   Schedule redesign — Aug 2026
   ============================================ */

.schedule-page {
  width: 100%;
  box-sizing: border-box;
  padding: 34px 28px 72px;
}

.schedule-hero {
  max-width: 1180px;
  margin: 0 auto 26px;
  text-align: center;
}

.schedule-eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--red);
  font: 800 11px/1 'Barlow', sans-serif;
  letter-spacing: .20em;
}

.schedule-hero h1 {
  margin: 0;
  color: #fff;
  font: 900 clamp(54px,5vw,74px)/.92 'Barlow Condensed', sans-serif;
  letter-spacing: -1px;
}

.schedule-hero p {
  margin: 15px 0 0;
  color: var(--text-muted);
  font-size: 15px;
}

.schedule-shell {
  max-width: 1440px;
  margin: 0 auto;
}

/* TOOLBAR */
.schedule-toolbar {
  position: relative;
  z-index: 50;
  display: grid;
  grid-template-columns: minmax(300px,1fr) auto minmax(300px,1fr);
  align-items: center;
  gap: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(93,139,199,.38);
  border-radius: 16px;
  background: rgba(5,18,39,.88);
  box-shadow: 0 14px 32px rgba(0,0,0,.12);
}

.schedule-date-controls,
.schedule-toolbar-right {
  display: flex;
  align-items: center;
  gap: 9px;
}

.schedule-toolbar-right {
  justify-content: flex-end;
}

.schedule-control-btn,
.schedule-results-link {
  min-height: 44px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 15px;
  border: 1px solid rgba(108,145,194,.36);
  border-radius: 10px;
  background: #111D34;
  color: #cbd5e3;
  font: 700 12px 'Barlow', sans-serif;
  text-decoration: none;
  cursor: pointer;
  transition: .16s ease;
}

.schedule-control-btn:hover,
.schedule-results-link:hover {
  color: #fff;
  border-color: rgba(93,157,238,.76);
  background: #152641;
  transform: translateY(-1px);
}

.schedule-icon-btn {
  width: 44px;
  padding: 0;
}

.schedule-next-games-btn {
  color: #54a4ff;
  border-color: rgba(45,139,242,.48);
}

.schedule-today-btn {
  border-color: rgba(238,52,64,.78);
  background: linear-gradient(180deg,#d9303c,#b9202c);
  color: #fff;
}

.schedule-week-display {
  min-width: 310px;
  display: grid;
  grid-template-columns: 25px auto;
  grid-template-areas:
    "icon range"
    "icon count";
  align-items: center;
  column-gap: 10px;
  justify-content: center;
  color: #fff;
}

.schedule-week-display > i {
  grid-area: icon;
  color: #65a8ff;
  font-size: 24px;
}

.schedule-week-display > strong {
  grid-area: range;
  font: 800 20px/1.1 'Barlow Condensed', sans-serif;
  letter-spacing: .02em;
}

.schedule-count {
  grid-area: count;
  margin-top: 3px;
  color: #7187a5;
  font: 700 9px/1 'Barlow', sans-serif;
  letter-spacing: .13em;
}

/* TEAM PICKER */
.schedule-team-picker {
  position: relative;
  z-index: 200;
  min-width: 220px;
}

.schedule-team-filter {
  width: 100%;
  min-height: 58px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) 18px;
  align-items: center;
  gap: 12px;
  padding: 9px 13px 9px 15px;
  border: 1px solid rgba(108,145,194,.42);
  border-radius: 11px;
  background: #111D34;
  color: #fff;
  text-align: left;
  font-family: 'Barlow', sans-serif;
  cursor: pointer;
}

.schedule-team-filter:hover,
.schedule-team-picker.open .schedule-team-filter {
  border-color: rgba(91,157,235,.78);
  background: #152641;
}

.schedule-team-filter-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.schedule-team-filter-copy small {
  margin: 0;
  color: #79a9e9;
  font: 800 9px/1 'Barlow', sans-serif;
  letter-spacing: .13em;
}

.schedule-team-filter-copy strong {
  max-width: 175px;
  overflow: hidden;
  color: #fff;
  font: 700 14px/1.1 'Barlow', sans-serif;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.schedule-team-filter > i {
  justify-self: end;
  color: #a9b6ca;
  font-size: 17px;
  transition: transform .18s ease;
  pointer-events: none;
}

.schedule-team-picker.open .schedule-team-filter > i {
  transform: rotate(180deg);
}

.schedule-team-menu {
  position: absolute;
  top: calc(100% + 7px);
  left: 0;
  right: 0;
  z-index: 5000;
  max-height: 360px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid rgba(91,157,235,.52);
  border-radius: 12px;
  background: #08172d;
  box-shadow: 0 20px 48px rgba(0,0,0,.48);
}

.schedule-team-menu[hidden] {
  display: none !important;
}

.schedule-team-option {
  width: 100%;
  min-height: 44px;
  display: grid;
  grid-template-columns: 30px minmax(0,1fr) 18px;
  align-items: center;
  gap: 9px;
  padding: 7px 9px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #d7e0ed;
  font: 600 12px 'Barlow', sans-serif;
  text-align: left;
  cursor: pointer;
}

.schedule-team-option:hover {
  background: #142a4a;
  color: #fff;
}

.schedule-team-option.active {
  background: #18365f;
  color: #fff;
}

.schedule-team-option > i {
  justify-self: end;
  color: #49d985;
}

.schedule-filter-mini-badge,
.schedule-filter-all-icon {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  border-radius: 50%;
  color: #fff;
  font: 800 8px 'Barlow Condensed', sans-serif;
}

.schedule-filter-mini-badge {
  border: 2px solid var(--badge-secondary);
  background:
    linear-gradient(155deg, transparent 44%, var(--badge-secondary) 45% 52%, transparent 53%),
    var(--badge-primary);
}

.schedule-filter-all-icon {
  background: #143663;
  color: #67aaf9;
  font-size: 15px;
}

/* LOADING / EMPTY */
.schedule-status,
.schedule-empty {
  min-height: 126px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 22px;
  padding: 28px;
  border: 1px solid rgba(108,145,194,.24);
  border-radius: 14px;
  background: #111D34;
  color: var(--text-muted);
  font-size: 13px;
}

.schedule-spinner {
  width: 17px;
  height: 17px;
  border: 2px solid rgba(255,255,255,.16);
  border-top-color: var(--red);
  border-radius: 50%;
  animation: scheduleSpin .7s linear infinite;
}

@keyframes scheduleSpin { to { transform: rotate(360deg); } }

.schedule-empty > i {
  color: #678fc3;
  font-size: 27px;
}

.schedule-empty strong {
  display: block;
  color: #fff;
  margin-bottom: 5px;
}

.schedule-empty span {
  color: var(--text-muted);
}

/* DAYS */
.schedule-list {
  display: grid;
  gap: 26px;
  margin-top: 26px;
}

.schedule-day {
  min-width: 0;
}

.schedule-day-heading {
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 0 5px 11px;
}

.schedule-day-heading-main {
  display: flex;
  align-items: center;
  gap: 11px;
}

.schedule-day-heading-main > i {
  color: #489dff;
  font-size: 27px;
}

.schedule-day-next .schedule-day-heading-main > i {
  color: #f03946;
}

.schedule-next-label {
  display: block;
  margin-bottom: 3px;
  color: #f03946;
  font: 800 9px/1 'Barlow', sans-serif;
  letter-spacing: .13em;
}

.schedule-day-heading h2 {
  margin: 0;
  color: #fff;
  font: 800 23px/1 'Barlow Condensed', sans-serif;
  letter-spacing: .02em;
}

.schedule-day-count {
  margin-right: auto;
  color: #559fee;
  font: 800 9px 'Barlow', sans-serif;
  letter-spacing: .12em;
}

/* GAME CARDS */
.schedule-games {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}

.schedule-games.one-game {
  grid-template-columns: minmax(0,480px);
}

.schedule-game {
  --away-accent: #315a93;
  --home-accent: #315a93;
  position: relative;
  min-height: 166px;
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0,1fr) 92px minmax(0,1fr);
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(98,141,199,.34);
  border-radius: 14px;
  background:
    radial-gradient(circle at 15% 50%, color-mix(in srgb,var(--away-accent) 12%, transparent), transparent 48%),
    radial-gradient(circle at 85% 50%, color-mix(in srgb,var(--home-accent) 12%, transparent), transparent 48%),
    #0a1830;
  color: inherit;
  text-decoration: none;
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
  transition: transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.schedule-game::before,
.schedule-game::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4px;
}

.schedule-game::before {
  left: 0;
  background: var(--away-accent);
}

.schedule-game::after {
  right: 0;
  background: var(--home-accent);
}

.schedule-game:hover {
  transform: translateY(-2px);
  border-color: rgba(104,158,228,.64);
  box-shadow: 0 18px 32px rgba(0,0,0,.18);
}

.schedule-team {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 22px 16px;
}

.schedule-team.away {
  flex-direction: row;
  text-align: left;
}

.schedule-team.home {
  flex-direction: row-reverse;
  text-align: right;
}

.schedule-team-copy {
  min-width: 0;
}

.schedule-team-copy small {
  display: block;
  margin-bottom: 3px;
  overflow: hidden;
  color: #8c9bb0;
  font: 600 9px/1.1 'Barlow', sans-serif;
  letter-spacing: .04em;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.schedule-team-copy b {
  display: block;
  overflow: hidden;
  color: #fff;
  font: 800 20px/1.02 'Barlow Condensed', sans-serif;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.schedule-team-copy span {
  display: block;
  margin-top: 6px;
  color: #5d9bea;
  font: 800 9px/1 'Barlow', sans-serif;
  letter-spacing: .12em;
}

.schedule-team-badge {
  position: relative;
  width: 64px;
  height: 64px;
  flex: 0 0 64px;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  overflow: hidden;
  border: 2px solid var(--badge-secondary);
  border-radius: 50%;
  background:
    linear-gradient(155deg,transparent 43%,var(--badge-secondary) 44% 51%,transparent 52%),
    radial-gradient(circle at 30% 28%,rgba(255,255,255,.18),transparent 22%),
    var(--badge-primary);
  color: #fff;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.07),
    inset 0 0 0 2px rgba(0,0,0,.15),
    0 8px 18px rgba(0,0,0,.16);
}

.schedule-team-badge::after {
  content: '';
  position: absolute;
  inset: 8px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
}

.schedule-team-badge b {
  position: relative;
  z-index: 2;
  font: 900 18px/1 'Barlow Condensed', sans-serif;
  letter-spacing: .02em;
  text-shadow: 0 1px 3px rgba(0,0,0,.35);
}

.schedule-tip {
  position: relative;
  min-width: 0;
  display: grid;
  place-items: center;
  align-content: center;
  padding: 16px 9px;
  text-align: center;
}

.schedule-tip::before,
.schedule-tip::after {
  content: '';
  position: absolute;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: rgba(142,168,204,.16);
}

.schedule-tip::before { left: 0; }
.schedule-tip::after { right: 0; }

.schedule-tip strong {
  display: block;
  color: #fff;
  font: 900 27px/1 'Barlow Condensed', sans-serif;
  white-space: nowrap;
}

.schedule-tip span {
  display: block;
  margin-top: 7px;
  color: #58a4ff;
  font: 800 8px/1 'Barlow', sans-serif;
  letter-spacing: .12em;
}

.schedule-tip span.schedule-live-label {
  color: #4add80;
}

.schedule-tip em {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  margin-top: 13px;
  border: 1px solid rgba(129,158,198,.28);
  border-radius: 50%;
  color: #8393a9;
  font: normal 600 13px 'Barlow',sans-serif;
}

.schedule-score {
  font-size: 27px !important;
}

/* FOOT NOTES */
.schedule-notes {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin-top: 26px;
  padding-top: 18px;
  border-top: 1px solid rgba(117,151,194,.16);
  color: #7f8ea4;
  font-size: 11px;
}

.schedule-notes > * {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 26px;
  color: inherit;
  text-decoration: none;
}

.schedule-notes > * + * {
  border-left: 1px solid rgba(117,151,194,.18);
}

.schedule-notes i {
  color: #7898bf;
  font-size: 16px;
}

.schedule-notes a:hover {
  color: #fff;
}

/* TABLET */
@media (max-width: 1180px) {
  .schedule-toolbar {
    grid-template-columns: 1fr auto;
  }

  .schedule-week-display {
    grid-column: 1 / -1;
    grid-row: 1;
    order: -1;
    margin-bottom: 2px;
  }

  .schedule-date-controls {
    grid-column: 1;
  }

  .schedule-toolbar-right {
    grid-column: 2;
  }

  .schedule-games {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
}

/* MOBILE */
@media (max-width: 768px) {
  .schedule-page {
    padding: 22px 16px 95px;
  }

  .schedule-hero {
    text-align: left;
    margin-bottom: 20px;
  }

  .schedule-hero h1 {
    font-size: 48px;
  }

  .schedule-hero p {
    font-size: 13px;
  }

  .schedule-toolbar {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 12px;
    gap: 11px;
  }

  .schedule-week-display {
    order: 1;
    min-width: 0;
    justify-content: flex-start;
    padding: 3px 5px 6px;
  }

  .schedule-week-display > strong {
    font-size: 18px;
  }

  .schedule-date-controls {
    order: 2;
    width: 100%;
    display: grid;
    grid-template-columns: 42px 1fr 62px 42px;
  }

  .schedule-control-btn {
    min-height: 42px;
    padding: 0 7px;
    font-size: 10px;
  }

  .schedule-toolbar-right {
    order: 3;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr auto;
  }

  .schedule-team-picker {
    min-width: 0;
  }

  .schedule-results-link {
    padding: 0 12px;
  }

  .schedule-list {
    gap: 22px;
    margin-top: 22px;
  }

  .schedule-day-heading {
    align-items: flex-end;
    padding: 0 3px 10px;
  }

  .schedule-day-heading-main > i {
    font-size: 23px;
  }

  .schedule-day-heading h2 {
    font-size: 19px;
  }

  .schedule-games,
  .schedule-games.one-game {
    grid-template-columns: 1fr;
  }

  .schedule-game {
    min-height: 142px;
    grid-template-columns: minmax(0,1fr) 74px minmax(0,1fr);
  }

  .schedule-team {
    flex-direction: column !important;
    justify-content: center;
    gap: 8px;
    padding: 15px 8px;
    text-align: center !important;
  }

  .schedule-team-badge {
    width: 52px;
    height: 52px;
    flex-basis: 52px;
  }

  .schedule-team-badge b {
    font-size: 15px;
  }

  .schedule-team-copy small {
    display: none;
  }

  .schedule-team-copy b {
    font-size: 16px;
  }

  .schedule-tip {
    padding: 12px 5px;
  }

  .schedule-tip strong {
    font-size: 21px;
  }

  .schedule-tip em {
    width: 22px;
    height: 22px;
    margin-top: 10px;
  }

  .schedule-notes {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 4px 0;
  }

  .schedule-notes > * {
    padding: 0;
  }

  .schedule-notes > * + * {
    border-left: 0;
  }
}


/* =========================================================
   AUG 13 — SCHEDULE SIZE HARMONISATION
   Keep the redesign, but bring its scale closer to the rest
   of the website on desktop.
   ========================================================= */
@media (min-width: 1025px) {
  .schedule-page {
    padding-top: 26px !important;
    padding-bottom: 58px !important;
  }

  .schedule-hero {
    margin-bottom: 20px !important;
  }

  .schedule-eyebrow {
    margin-bottom: 8px !important;
    font-size: 9px !important;
    letter-spacing: .17em !important;
  }

  .schedule-hero h1 {
    font-size: 58px !important;
  }

  .schedule-hero p {
    margin-top: 11px !important;
    font-size: 13px !important;
  }

  .schedule-toolbar {
    gap: 14px !important;
    padding: 11px 13px !important;
    border-radius: 14px !important;
  }

  .schedule-control-btn,
  .schedule-results-link {
    min-height: 39px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    font-size: 10px !important;
  }

  .schedule-icon-btn {
    width: 39px !important;
  }

  .schedule-week-display {
    min-width: 275px !important;
  }

  .schedule-week-display > i {
    font-size: 20px !important;
  }

  .schedule-week-display > strong {
    font-size: 17px !important;
  }

  .schedule-count {
    font-size: 8px !important;
  }

  .schedule-team-picker {
    min-width: 205px !important;
  }

  .schedule-team-filter {
    min-height: 50px !important;
    padding: 8px 12px !important;
  }

  .schedule-team-filter-copy small {
    font-size: 8px !important;
  }

  .schedule-team-filter-copy strong {
    font-size: 12px !important;
  }

  .schedule-team-filter > i {
    font-size: 15px !important;
  }

  .schedule-list {
    gap: 21px !important;
    margin-top: 21px !important;
  }

  .schedule-day-heading {
    min-height: 40px !important;
    padding-bottom: 9px !important;
  }

  .schedule-day-heading-main {
    gap: 9px !important;
  }

  .schedule-day-heading-main > i {
    font-size: 22px !important;
  }

  .schedule-next-label {
    font-size: 8px !important;
  }

  .schedule-day-heading h2 {
    font-size: 20px !important;
  }

  .schedule-day-count {
    font-size: 8px !important;
  }

  .schedule-games {
    gap: 12px !important;
  }

  .schedule-game {
    min-height: 146px !important;
    grid-template-columns: minmax(0,1fr) 80px minmax(0,1fr) !important;
    border-radius: 12px !important;
  }

  .schedule-team {
    gap: 10px !important;
    padding: 18px 13px !important;
  }

  .schedule-team-badge {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
  }

  .schedule-team-badge::after {
    inset: 7px !important;
  }

  .schedule-team-badge b {
    font-size: 15px !important;
  }

  .schedule-team-copy small {
    font-size: 8px !important;
  }

  .schedule-team-copy b {
    font-size: 17px !important;
  }

  .schedule-team-copy span {
    margin-top: 5px !important;
    font-size: 8px !important;
  }

  .schedule-tip {
    padding: 13px 7px !important;
  }

  .schedule-tip::before,
  .schedule-tip::after {
    top: 15px !important;
    bottom: 15px !important;
  }

  .schedule-tip strong {
    font-size: 23px !important;
  }

  .schedule-tip span {
    margin-top: 5px !important;
    font-size: 7px !important;
  }

  .schedule-tip em {
    width: 22px !important;
    height: 22px !important;
    margin-top: 10px !important;
    font-size: 11px !important;
  }

  .schedule-score {
    font-size: 23px !important;
  }

  .schedule-notes {
    margin-top: 21px !important;
    padding-top: 15px !important;
    font-size: 10px !important;
  }

  .schedule-notes > * {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .schedule-notes i {
    font-size: 14px !important;
  }
}


/* =========================================================
   AUG 13 — SCHEDULE CLICK TARGET SAFEGUARD
   The schedule already has working JS. These rules make sure no
   decorative/stacking layer can sit over its controls.
   ========================================================= */
.schedule-toolbar,
.schedule-date-controls,
.schedule-toolbar-right,
.schedule-team-picker {
  position: relative;
  pointer-events: auto !important;
}

.schedule-toolbar {
  z-index: 200 !important;
}

.schedule-control-btn,
.schedule-icon-btn,
.schedule-results-link,
.schedule-team-filter,
.schedule-team-menu,
.schedule-team-menu button,
.schedule-team-menu a {
  pointer-events: auto !important;
}

.schedule-team-picker {
  z-index: 500 !important;
}

.schedule-team-menu {
  z-index: 10000 !important;
}

.schedule-list {
  position: relative;
  z-index: 1;
}


/* =========================================================
   AUG 13 — CLICKABLE + COMPACT SCHEDULE CARDS
   More games visible without making each matchup feel cramped.
   ========================================================= */

/* Make the interactive nature obvious. */
.schedule-game {
  cursor: pointer !important;
}

.schedule-card-action {
  position: absolute;
  z-index: 5;
  right: 10px;
  bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #6da9f8;
  opacity: .58;
  pointer-events: none;
  transition: opacity .16s ease, transform .16s ease;
}

.schedule-card-action i {
  font-size: 11px;
}

.schedule-card-action b {
  font: 800 7px/1 'Barlow', sans-serif;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.schedule-game:hover .schedule-card-action,
.schedule-game:focus-visible .schedule-card-action {
  opacity: 1;
  transform: translateX(2px);
}

.schedule-game:focus-visible {
  outline: 2px solid #5c9ff2;
  outline-offset: 3px;
}

/* Wide desktop: four clean, deliberately narrower cards across. */
@media (min-width: 1280px) {
  .schedule-shell {
    max-width: 1480px !important;
  }

  .schedule-games,
  .schedule-games.one-game {
    grid-template-columns: repeat(auto-fit, minmax(290px, 350px)) !important;
    justify-content: center;
    gap: 12px !important;
  }

  .schedule-game {
    width: 100%;
    min-height: 126px !important;
    grid-template-columns: minmax(0,1fr) 66px minmax(0,1fr) !important;
    border-radius: 12px !important;
  }

  .schedule-team {
    gap: 7px !important;
    padding: 14px 9px 22px !important;
  }

  .schedule-team-badge {
    width: 44px !important;
    height: 44px !important;
    flex: 0 0 44px !important;
    border-width: 1.5px !important;
  }

  .schedule-team-badge::after {
    inset: 6px !important;
  }

  .schedule-team-badge b {
    font-size: 13px !important;
  }

  .schedule-team-copy small {
    margin-bottom: 2px !important;
    font-size: 7px !important;
  }

  .schedule-team-copy b {
    font-size: 15px !important;
  }

  .schedule-team-copy span {
    margin-top: 4px !important;
    font-size: 7px !important;
  }

  .schedule-tip {
    padding: 12px 5px 23px !important;
  }

  .schedule-tip::before,
  .schedule-tip::after {
    top: 13px !important;
    bottom: 20px !important;
  }

  .schedule-tip strong,
  .schedule-score {
    font-size: 20px !important;
  }

  .schedule-tip span {
    margin-top: 4px !important;
    font-size: 6px !important;
  }

  .schedule-tip em {
    width: 19px !important;
    height: 19px !important;
    margin-top: 7px !important;
    font-size: 9px !important;
  }
}

/* Very wide screens get a touch more breathing room while still
   retaining four-across density. */
@media (min-width: 1700px) {
  .schedule-shell {
    max-width: 1540px !important;
  }

  .schedule-games,
  .schedule-games.one-game {
    grid-template-columns: repeat(auto-fit, minmax(300px, 365px)) !important;
  }
}

/* Keep the small action hint from cluttering phone cards. */
@media (max-width: 768px) {
  .schedule-card-action b {
    display: none;
  }

  .schedule-card-action {
    right: 7px;
    bottom: 6px;
  }
}


/* =========================================================
   AUG 13 — LONG + SLIM SCHEDULE CARD CORRECTION
   Fixed three-column desktop rhythm. Partial rows stay left-aligned
   directly beneath their date heading instead of floating centrally.
   ========================================================= */

@media (min-width: 1280px) {
  .schedule-shell {
    max-width: 1480px !important;
  }

  .schedule-games,
  .schedule-games.one-game {
    width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .schedule-game {
    width: auto !important;
    max-width: none !important;
    min-height: 108px !important;
    grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr) !important;
    border-radius: 11px !important;
  }

  .schedule-team {
    min-width: 0 !important;
    gap: 9px !important;
    padding: 12px 12px 20px !important;
  }

  .schedule-team-badge {
    width: 46px !important;
    height: 46px !important;
    flex: 0 0 46px !important;
  }

  .schedule-team-badge::after {
    inset: 6px !important;
  }

  .schedule-team-badge b {
    font-size: 14px !important;
  }

  .schedule-team-copy {
    min-width: 0 !important;
  }

  .schedule-team-copy small {
    font-size: 7px !important;
  }

  .schedule-team-copy b {
    max-width: 100% !important;
    overflow: hidden !important;
    font-size: 16px !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
  }

  .schedule-team-copy span {
    margin-top: 3px !important;
    font-size: 7px !important;
  }

  .schedule-tip {
    padding: 10px 6px 19px !important;
  }

  .schedule-tip::before,
  .schedule-tip::after {
    top: 11px !important;
    bottom: 18px !important;
  }

  .schedule-tip strong,
  .schedule-score {
    font-size: 21px !important;
  }

  .schedule-tip span {
    margin-top: 3px !important;
    font-size: 6px !important;
  }

  .schedule-tip em {
    width: 18px !important;
    height: 18px !important;
    margin-top: 6px !important;
    font-size: 9px !important;
  }

  .schedule-card-action {
    right: 9px !important;
    bottom: 6px !important;
  }
}

/* Medium desktop keeps two columns and also stays left aligned. */
@media (min-width: 769px) and (max-width: 1279px) {
  .schedule-games,
  .schedule-games.one-game {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    justify-content: stretch !important;
  }
}

/* The card itself must always remain the click target. */
.schedule-game,
.schedule-game * {
  pointer-events: auto;
}

.schedule-game::before,
.schedule-game::after,
.schedule-card-action {
  pointer-events: none !important;
}


/* AUG 14 SAFE FIX — PHONE ONLY.
   Today is a navigation control, not a selected red filter. */
@media only screen and (max-width:768px) {
  .schedule-today-btn {
    border-color: rgba(45,139,242,.48) !important;
    background: rgba(10,35,68,.94) !important;
    color: #fff !important;
  }
}

/* =========================================================
   SEP 03 — SCHEDULE TYPOGRAPHY LIFT
   Slightly larger type across the Schedule page while keeping
   the approved card sizes, spacing and three-column desktop layout.
   ========================================================= */
@media (min-width: 1025px) {
  .schedule-eyebrow { font-size: 10px !important; }
  .schedule-hero h1 { font-size: 62px !important; }
  .schedule-hero p { font-size: 14px !important; }

  .schedule-control-btn,
  .schedule-results-link { font-size: 11px !important; }

  .schedule-week-display > strong { font-size: 19px !important; }
  .schedule-count { font-size: 9px !important; }

  .schedule-team-filter-copy small { font-size: 9px !important; }
  .schedule-team-filter-copy strong { font-size: 13px !important; }

  .schedule-next-label { font-size: 9px !important; }
  .schedule-day-heading h2 { font-size: 22px !important; }
  .schedule-day-count { font-size: 9px !important; }

  .schedule-team-badge b { font-size: 15px !important; }
  .schedule-team-copy small { font-size: 8px !important; }
  .schedule-team-copy b { font-size: 18px !important; }
  .schedule-team-copy span { font-size: 8px !important; }

  .schedule-tip strong,
  .schedule-score { font-size: 23px !important; }
  .schedule-tip span { font-size: 7px !important; }
  .schedule-tip em { font-size: 10px !important; }

  .schedule-card-action b { font-size: 8px !important; }
  .schedule-notes { font-size: 11px !important; }
}

@media (max-width: 768px) {
  .schedule-hero h1 { font-size: 50px; }
  .schedule-hero p { font-size: 14px; }
  .schedule-control-btn,
  .schedule-results-link { font-size: 11px; }
  .schedule-week-display > strong { font-size: 19px; }
  .schedule-count { font-size: 9px; }
  .schedule-team-filter-copy small { font-size: 10px; }
  .schedule-team-filter-copy strong { font-size: 15px; }
  .schedule-next-label { font-size: 10px; }
  .schedule-day-heading h2 { font-size: 21px; }
  .schedule-day-count { font-size: 10px; }
  .schedule-team-badge b { font-size: 16px; }
  .schedule-team-copy b { font-size: 17px; }
  .schedule-team-copy span { font-size: 9px; }
  .schedule-tip strong,
  .schedule-score { font-size: 22px !important; }
  .schedule-tip span { font-size: 8px; }
  .schedule-notes { font-size: 12px; }
}


/* =========================================================
   SEP 03 — UK + US TIME ZONES
   UK remains the primary tip-off time. ET and PT sit beneath it.
   ET/PT use named IANA time zones in JS, so daylight-saving changes
   are handled automatically rather than with fixed hour offsets.
   ========================================================= */
.schedule-tip .schedule-us-times {
  display: block;
  margin-top: 5px !important;
  color: #a9b8cd;
  font: 700 10px/1.15 'Barlow', sans-serif !important;
  letter-spacing: .02em !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.schedule-tip .schedule-us-times i {
  display: inline;
  width: auto;
  height: auto;
  margin: 0 2px;
  border: 0;
  border-radius: 0;
  color: #627895;
  font: inherit;
  font-style: normal;
}

@media (min-width: 769px) {
  .schedule-game {
    grid-template-columns: minmax(0,1fr) 98px minmax(0,1fr) !important;
  }
}

@media (max-width: 768px) {
  .schedule-game {
    grid-template-columns: minmax(0,1fr) 96px minmax(0,1fr) !important;
  }

  .schedule-tip .schedule-us-times {
    margin-top: 6px !important;
    font-size: 9px !important;
  }
}

/* =========================================================
   SEP 03 — STORYSTATS PHASE 3
   Game Preview before tip-off + Live Story during games.
   Postgame remains on Results as Game Recap.
   ========================================================= */
.schedule-game-shell {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
}

.schedule-game-shell > .schedule-game {
  width: 100%;
}

.schedule-story-toggle {
  width: calc(100% - 2px);
  min-height: 36px;
  margin: 6px 1px 0;
  padding: 0 11px;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto 14px;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(88,137,201,.30);
  border-radius: 9px;
  background: rgba(10,24,48,.86);
  color: #c4d1e3;
  cursor: pointer;
  transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.schedule-story-toggle > span {
  min-width: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #eef4fb;
  font: 800 11px/1 'Barlow', sans-serif;
  letter-spacing: .025em;
  text-align: left;
}

.schedule-story-toggle > span > i {
  color: #68a8f4;
  font-size: 14px;
}

.schedule-story-toggle > b {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #748aa7;
  font: 800 8px/1 'Barlow', sans-serif;
  letter-spacing: .11em;
}

.schedule-story-toggle:hover,
.schedule-story-toggle:focus-visible,
.schedule-story-toggle[aria-expanded="true"] {
  border-color: rgba(102,164,239,.68);
  background: #10223d;
  color: #fff;
  outline: none;
}

.schedule-story-toggle-live {
  border-color: rgba(74,221,128,.30);
}

.schedule-story-toggle-live > span > i,
.schedule-story-toggle-live > b {
  color: #63dc8f;
}

.schedule-live-dot {
  width: 6px;
  height: 6px;
  display: inline-block;
  border-radius: 50%;
  background: #4add80;
  box-shadow: 0 0 0 3px rgba(74,221,128,.10);
}

.schedule-story-chevron {
  justify-self: end;
  color: #7e91aa;
  font-size: 13px;
  transition: transform .16s ease;
}

.schedule-story-chevron.open {
  transform: rotate(180deg);
}

.schedule-story-panel {
  margin-top: 7px;
}

.schedule-story-panel[hidden] {
  display: none !important;
}

.schedule-story-card {
  position: relative;
  overflow: hidden;
  padding: 15px 16px 14px;
  border: 1px solid rgba(91,137,199,.33);
  border-radius: 12px;
  background: linear-gradient(145deg,rgba(16,32,59,.98),rgba(8,20,40,.98));
  box-shadow: 0 10px 24px rgba(0,0,0,.10);
}

.schedule-story-card::before {
  content: '';
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: #d43b45;
}

.schedule-story-card-live::before {
  background: #4add80;
}

.schedule-story-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.schedule-story-head > span {
  color: #68a8f4;
  font: 900 9px/1 'Barlow', sans-serif;
  letter-spacing: .14em;
}

.schedule-story-card-live .schedule-story-head > span {
  color: #63dc8f;
}

.schedule-story-head > b {
  color: #7789a1;
  font: 800 8px/1 'Barlow', sans-serif;
  letter-spacing: .09em;
}

.schedule-story-card h3 {
  margin: 0 0 8px;
  color: #fff;
  font: 800 17px/1.05 'Barlow Condensed', sans-serif;
}

.schedule-story-card > p,
.schedule-story-copy {
  margin: 0;
  color: #d5deea;
  font: 500 13px/1.5 'Barlow', sans-serif;
}

.schedule-story-player-link,
.schedule-story-team-link {
  color: #df414b;
  font-weight: 700;
  text-decoration: none;
  transition: color .14s ease, text-decoration-color .14s ease;
}

.schedule-story-player-link:hover,
.schedule-story-player-link:focus-visible,
.schedule-story-team-link:hover,
.schedule-story-team-link:focus-visible {
  color: #ff5b65;
  text-decoration: underline;
  text-decoration-color: rgba(255,91,101,.65);
  text-underline-offset: 3px;
  outline: none;
}

.schedule-story-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(102,140,190,.16);
}

.schedule-story-footer > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #7d8fa8;
  font: 500 9px/1.3 'Barlow', sans-serif;
}

.schedule-story-footer > span i {
  color: #68a8f4;
}

.schedule-story-refresh {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0 10px;
  border: 1px solid rgba(98,154,224,.38);
  border-radius: 8px;
  background: #112542;
  color: #dbe8f8;
  font: 700 10px/1 'Barlow',sans-serif;
  cursor: pointer;
}

.schedule-story-refresh:hover,
.schedule-story-refresh:focus-visible {
  border-color: #68a8f4;
  background: #173053;
  outline: none;
}

.schedule-story-waiting h3 {
  color: #e9eff7;
}

.schedule-story-loading-lines {
  display: grid;
  gap: 7px;
  margin-top: 10px;
}

.schedule-story-loading-lines i {
  height: 8px;
  display: block;
  border-radius: 999px;
  background: linear-gradient(90deg,#142a49,#203b60,#142a49);
  background-size: 200% 100%;
  animation: schedule-story-shimmer 1.2s linear infinite;
}

.schedule-story-loading-lines i:nth-child(2) { width: 88%; }
.schedule-story-loading-lines i:nth-child(3) { width: 64%; }

@keyframes schedule-story-shimmer {
  to { background-position: -200% 0; }
}

.schedule-live-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin: 0 0 8px;
}

.schedule-live-context {
  color: #edf4fc;
  font: 800 10px/1.2 'Barlow', sans-serif;
  letter-spacing: .035em;
}

.schedule-live-trigger {
  display: inline-flex;
  align-items: center;
  min-height: 19px;
  padding: 0 7px;
  border: 1px solid rgba(74,221,128,.30);
  border-radius: 999px;
  background: rgba(74,221,128,.09);
  color: #7be7a2;
  font: 900 7px/1 'Barlow', sans-serif;
  letter-spacing: .11em;
  white-space: nowrap;
}

.schedule-live-meta-compact {
  gap: 6px;
  margin: 0 0 5px;
}

.schedule-live-meta-compact .schedule-live-context {
  color: #aebed1;
  font-size: 8.5px;
}

.schedule-live-meta-compact .schedule-live-trigger {
  min-height: 17px;
  padding: 0 6px;
  font-size: 6.5px;
}

.schedule-live-history {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(102,140,190,.16);
}

.schedule-live-history summary {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #aebfd4;
  font: 700 10px/1.2 'Barlow', sans-serif;
  cursor: pointer;
  list-style: none;
}

.schedule-live-history summary::-webkit-details-marker { display: none; }
.schedule-live-history[open] summary i { transform: rotate(180deg); }
.schedule-live-history summary i { transition: transform .16s ease; }

.schedule-live-history-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.schedule-live-history-item {
  padding: 9px 10px;
  border: 1px solid rgba(87,127,180,.18);
  border-radius: 8px;
  background: rgba(6,18,37,.58);
}

.schedule-live-history-item.latest {
  border-color: rgba(74,221,128,.26);
}

.schedule-live-history-item > span {
  display: block;
  margin-bottom: 4px;
  color: #7589a4;
  font: 800 7px/1 'Barlow',sans-serif;
  letter-spacing: .12em;
}

.schedule-live-history-item.latest > span { color: #63dc8f; }

.schedule-live-history-item p {
  margin: 0;
  color: #c8d4e3;
  font: 500 11px/1.45 'Barlow', sans-serif;
}

@media (max-width: 768px) {
  .schedule-story-toggle {
    min-height: 40px;
    padding: 0 12px;
  }

  .schedule-story-toggle > span { font-size: 12px; }
  .schedule-story-toggle > b { font-size: 8px; }
  .schedule-story-card { padding: 14px 14px 13px; }
  .schedule-story-card h3 { font-size: 18px; }
  .schedule-story-card > p,
  .schedule-story-copy { font-size: 13px; line-height: 1.55; }
  .schedule-live-context { font-size: 9.5px; }
  .schedule-live-trigger { font-size: 6.5px; min-height: 18px; }
  .schedule-story-footer { align-items: flex-start; }
}
