.schedule-page {
  --schedule-bg: #f5f2ea;
  --schedule-surface: #ffffff;
  --schedule-primary: #0b2545;
  --schedule-accent: #d62828;
  max-width: 1480px;
  margin: 0 auto;
  color: var(--schedule-primary);
}
.schedule-preview-banner { display: flex; align-items: center; gap: .65rem; margin-bottom: 1rem; padding: .85rem 1rem; border: 1px solid rgba(245,158,11,.35); border-radius: 18px; background: rgba(245,158,11,.14); color: #fde68a; font-weight: 800; }
.schedule-preview-banner a { margin-left: auto; color: #fff; text-decoration: underline; }
.schedule-hero { position: relative; display: grid; grid-template-columns: minmax(0,1.3fr) minmax(560px,1fr); gap: clamp(1rem,2.5vw,2.4rem); align-items: center; min-height: 210px; overflow: hidden; padding: clamp(1.25rem,3vw,2.5rem); border: 1px solid color-mix(in srgb, var(--schedule-primary) 12%, transparent); border-radius: 34px; background: var(--schedule-bg); color: var(--schedule-primary); box-shadow: 0 28px 80px rgba(2,8,23,.26); isolation: isolate; }
.schedule-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background-image: linear-gradient(color-mix(in srgb, var(--schedule-primary) 5%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--schedule-primary) 5%, transparent) 1px, transparent 1px); background-size: 46px 46px; }
.schedule-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--schedule-accent) 22%, transparent), transparent 36%), radial-gradient(circle at 8% 110%, color-mix(in srgb, #60a5fa 20%, transparent), transparent 32%); }
.schedule-theme-midnight { box-shadow: 0 28px 90px rgba(0,0,0,.48); }
.schedule-hero-main { position: relative; display: grid; grid-template-columns: auto minmax(0,1fr); gap: clamp(1rem,2vw,1.5rem); align-items: center; min-width: 0; }
.schedule-league-logo { width: clamp(96px,9vw,124px); height: clamp(96px,9vw,124px); object-fit: contain; filter: drop-shadow(0 8px 12px rgba(2,8,23,.18)); }
.schedule-hero-copy { min-width: 0; max-width: none; padding: 0; }
.schedule-hero-copy p { margin: 0 0 .42rem; color: var(--schedule-accent); font-size: .76rem; font-weight: 950; letter-spacing: .14em; text-transform: uppercase; }
.schedule-hero-copy h1 { margin: 0; color: var(--schedule-primary); font-size: clamp(2.2rem,4.6vw,4.8rem); line-height: .94; font-weight: 950; letter-spacing: -.065em; text-transform: uppercase; }
.schedule-hero-copy > span { display: block; margin-top: .55rem; color: var(--schedule-accent); font-size: .84rem; font-weight: 950; letter-spacing: .1em; }
.schedule-hero-utility { position: relative; display: grid; grid-template-columns: minmax(245px,1fr) auto; gap: .75rem; align-items: stretch; min-width: 0; }
.schedule-hero-utility.is-stats-only { grid-template-columns: auto; justify-content: end; }
.schedule-global-coverage { display: flex; align-items: center; justify-content: space-between; gap: .7rem; min-width: 0; min-height: 72px; padding: .55rem .75rem .55rem .9rem; border: 1px solid color-mix(in srgb, var(--schedule-primary) 14%, transparent); border-radius: 18px; background: color-mix(in srgb, var(--schedule-surface) 92%, transparent); box-shadow: 0 12px 28px rgba(2,8,23,.14); backdrop-filter: blur(10px); }
.schedule-global-coverage > span { color: color-mix(in srgb, var(--schedule-primary) 68%, transparent); font-size: .7rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.schedule-global-coverage img { width: 146px; max-width: 58%; max-height: 46px; object-fit: contain; }
.schedule-global-coverage strong { font-size: .9rem; font-weight: 950; }
.schedule-hero-stats { display: grid; grid-template-columns: repeat(3,minmax(78px,1fr)); overflow: hidden; border: 1px solid color-mix(in srgb, var(--schedule-primary) 12%, transparent); border-radius: 18px; background: color-mix(in srgb, var(--schedule-surface) 86%, transparent); backdrop-filter: blur(10px); }
.schedule-hero-stats div { display: grid; align-content: center; min-width: 78px; padding: .55rem .6rem; text-align: center; }
.schedule-hero-stats div + div { border-left: 1px solid color-mix(in srgb, var(--schedule-primary) 10%, transparent); }
.schedule-hero-stats strong, .schedule-hero-stats span { display: block; }
.schedule-hero-stats strong { font-size: 1.25rem; font-weight: 950; }
.schedule-hero-stats span { color: color-mix(in srgb, var(--schedule-primary) 62%, transparent); font-size: .63rem; font-weight: 850; text-transform: uppercase; }
.schedule-float { position: absolute; z-index: -1; border-radius: 999px; opacity: .28; }
.schedule-float-a { width: 150px; height: 150px; right: 14%; top: -84px; background: #60a5fa; }
.schedule-float-b { width: 82px; height: 82px; right: 38%; bottom: -46px; background: var(--schedule-accent); }
.schedule-play-arrow { position: absolute; right: 6%; top: 44%; color: color-mix(in srgb, var(--schedule-accent) 15%, transparent); font-size: 8rem; transform: rotate(-8deg); }
.schedule-switcher { position: relative; z-index: 40; display: grid; grid-template-columns: minmax(145px,.8fr) minmax(175px,1fr) minmax(170px,1fr) minmax(155px,.85fr) minmax(205px,1.15fr) auto auto; gap: .55rem; align-items: stretch; margin: .8rem 0 1rem; padding: .55rem; border: 1px solid rgba(255,255,255,.1); border-radius: 19px; background: rgba(15,23,42,.88); box-shadow: 0 14px 34px rgba(2,8,23,.18); }
.schedule-picker { position: relative; min-width: 0; }
.schedule-picker summary { min-height: 54px; display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .65rem .8rem; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: #111827; color: #fff; cursor: pointer; list-style: none; }
.schedule-picker summary::-webkit-details-marker { display: none; }
.schedule-picker summary > span, .schedule-picker summary b, .schedule-picker summary small { min-width: 0; display: block; }
.schedule-picker summary b { color: #94a3b8; font-size: .58rem; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.schedule-picker summary small { overflow: hidden; margin-top: .14rem; color: #fff; font-size: .78rem; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.schedule-picker summary > i { flex: 0 0 auto; color: #cbd5e1; font-size: .68rem; transition: transform .18s ease; }
.schedule-picker[open] summary { border-color: rgba(96,165,250,.46); box-shadow: 0 0 0 3px rgba(96,165,250,.1); }
.schedule-picker[open] summary > i { transform: rotate(180deg); }
.schedule-picker-menu { position: absolute; top: calc(100% + .45rem); left: 0; z-index: 80; width: max(100%,270px); max-height: min(55vh,390px); overflow: auto; padding: .45rem; border: 1px solid rgba(148,163,184,.22); border-radius: 16px; background: #fff; box-shadow: 0 24px 55px rgba(2,8,23,.28); }
.schedule-picker:last-child .schedule-picker-menu { right: 0; left: auto; }
.schedule-picker-menu a { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .6rem; align-items: center; min-height: 42px; padding: .6rem .7rem; border-radius: 11px; color: var(--schedule-primary); font-size: .72rem; font-weight: 850; text-decoration: none; }
.schedule-picker-menu a:hover { background: color-mix(in srgb,var(--schedule-accent) 8%,#fff); color: var(--schedule-primary); }
.schedule-picker-menu a.is-selected { background: color-mix(in srgb,var(--schedule-primary) 7%,#fff); }
.schedule-picker-menu a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-picker-menu a small { color: color-mix(in srgb,var(--schedule-primary) 52%,transparent); font-size: .6rem; }
.schedule-picker-menu a i { color: var(--schedule-accent); }
.schedule-switch-filter { display: grid; align-content: center; gap: .16rem; min-width: 0; min-height: 54px; padding: .55rem .75rem; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: #111827; color: #fff; }
.schedule-switch-filter > span { overflow: hidden; color: #94a3b8; font-size: .58rem; font-weight: 950; letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.schedule-switch-filter select { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: #111827; color: #fff; color-scheme: dark; font-size: .78rem; font-weight: 850; text-overflow: ellipsis; }
.schedule-switch-filter:focus-within { border-color: rgba(96,165,250,.46); box-shadow: 0 0 0 3px rgba(96,165,250,.1); }
.schedule-switcher .schedule-filter-count { align-self: stretch; min-width: 64px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: #111827; color: #94a3b8; }
.schedule-switcher .schedule-filter-count strong { margin: 0; color: #fff; font-size: 1rem; }
.schedule-switcher .schedule-filter-reset { align-self: stretch; min-height: 54px; padding: 0 .75rem; border-radius: 14px; box-shadow: none; }
.schedule-filterbar { display: grid; grid-template-columns: auto minmax(170px,.7fr) minmax(210px,1fr) auto auto; gap: .65rem; align-items: end; margin: -.25rem 0 1rem; padding: .7rem .8rem; border: 1px solid rgba(15,23,42,.1); border-radius: 18px; background: rgba(255,255,255,.92); box-shadow: 0 12px 30px rgba(2,8,23,.1); backdrop-filter: blur(12px); }
.schedule-filter-title { display: flex; align-items: center; gap: .5rem; align-self: center; padding: 0 .35rem; color: var(--schedule-primary); font-size: .74rem; font-weight: 950; white-space: nowrap; }
.schedule-filter-title i { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 11px; background: color-mix(in srgb, var(--schedule-accent) 11%, transparent); color: var(--schedule-accent); }
.schedule-filterbar label { display: grid; gap: .22rem; min-width: 0; }
.schedule-filterbar label > span { padding-left: .2rem; color: color-mix(in srgb, var(--schedule-primary) 55%, transparent); font-size: .57rem; font-weight: 950; letter-spacing: .07em; text-transform: uppercase; }
.schedule-filterbar select { width: 100%; min-width: 0; min-height: 42px; padding: 0 2rem 0 .7rem; border: 1px solid color-mix(in srgb, var(--schedule-primary) 13%, transparent); border-radius: 12px; background: #fff; color: var(--schedule-primary); font-size: .72rem; font-weight: 850; text-overflow: ellipsis; }
.schedule-filterbar select:focus { border-color: var(--schedule-accent); outline: 3px solid color-mix(in srgb, var(--schedule-accent) 14%, transparent); }
.schedule-filter-count { display: flex; align-items: baseline; justify-content: center; align-self: center; min-width: 78px; color: color-mix(in srgb, var(--schedule-primary) 62%, transparent); font-size: .66rem; font-weight: 850; white-space: nowrap; }
.schedule-filter-count strong { margin-right: .25rem; color: var(--schedule-primary); font-size: 1.05rem; font-weight: 950; }
.schedule-filter-reset { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; align-self: center; min-height: 40px; padding: 0 .72rem; border: 0; border-radius: 12px; background: var(--schedule-accent); color: #fff; font-size: .68rem; font-weight: 900; cursor: pointer; box-shadow: 0 8px 18px color-mix(in srgb, var(--schedule-accent) 23%, transparent); }
.schedule-filter-reset:hover { filter: brightness(1.05); transform: translateY(-1px); }
.schedule-filter-empty { display: flex; align-items: center; justify-content: center; gap: .8rem; min-height: 150px; margin-bottom: 1rem; padding: 1.25rem; border: 1px dashed color-mix(in srgb, var(--schedule-primary) 24%, transparent); border-radius: 22px; background: color-mix(in srgb, var(--schedule-surface) 86%, transparent); text-align: left; }
.schedule-filter-empty i { color: var(--schedule-accent); font-size: 1.4rem; }
.schedule-filter-empty strong, .schedule-filter-empty span { display: block; }
.schedule-filter-empty strong { font-size: .9rem; font-weight: 950; }
.schedule-filter-empty span { margin-top: .18rem; color: color-mix(in srgb, var(--schedule-primary) 56%, transparent); font-size: .7rem; }
.schedule-game[hidden], .schedule-filter-empty[hidden], .schedule-filter-reset[hidden] { display: none !important; }
.schedule-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.schedule-game { --game-border: color-mix(in srgb, var(--schedule-primary) 14%, transparent); --team-one: var(--schedule-primary); --team-two: var(--schedule-accent); position: relative; overflow: hidden; isolation: isolate; padding: 1rem; border: 2px solid var(--game-border); border-radius: 24px; background: var(--schedule-surface); color: var(--schedule-primary); box-shadow: 0 14px 34px rgba(2,8,23,.13); }
.schedule-game::before { content: ""; position: absolute; inset: 0 0 auto; z-index: -1; height: 8px; pointer-events: none; background: linear-gradient(90deg,var(--team-one) 0%,color-mix(in srgb,var(--team-one) 45%,var(--team-two)) 50%,var(--team-two) 100%); box-shadow: 0 7px 18px color-mix(in srgb,var(--team-one) 16%,transparent); }
.schedule-game::after { content: ""; position: absolute; inset: 0 0 auto; z-index: -2; height: 150px; pointer-events: none; background: linear-gradient(105deg,color-mix(in srgb,var(--team-one) 15%,transparent),transparent 46%,color-mix(in srgb,var(--team-two) 14%,transparent)); }
.schedule-highlight-kickoff, .schedule-highlight-mnf, .schedule-highlight-final, .schedule-highlight-superbowl { --game-border: #dc2626; box-shadow: 0 12px 34px rgba(220,38,38,.2), inset 0 0 0 1px rgba(220,38,38,.16); }
.schedule-highlight-tnf { --game-border: #172554; box-shadow: 0 12px 34px rgba(23,37,84,.24), inset 0 0 0 1px rgba(23,37,84,.18); }
.schedule-highlight-snf { --game-border: #38bdf8; box-shadow: 0 12px 34px rgba(56,189,248,.22), inset 0 0 0 1px rgba(56,189,248,.18); }
.schedule-highlight-international { --game-border: #eab308; box-shadow: 0 12px 34px rgba(234,179,8,.2), inset 0 0 0 1px rgba(234,179,8,.18); }
.schedule-highlight-holiday, .schedule-highlight-christmas { --game-border: #15803d; box-shadow: 0 12px 34px rgba(21,128,61,.2), inset 0 0 0 1px rgba(21,128,61,.16); }
.schedule-highlight-thanksgiving { --game-border: #92400e; box-shadow: 0 12px 34px rgba(146,64,14,.22), inset 0 0 0 1px rgba(146,64,14,.18); }
.schedule-highlight-newyear { --game-border: #d4a72c; box-shadow: 0 12px 34px rgba(212,167,44,.24), inset 0 0 0 1px rgba(212,167,44,.2); }
.schedule-highlight-playoffs, .schedule-highlight-custom { --game-border: var(--schedule-accent); }
.schedule-game-topline { position: relative; display: flex; align-items: center; gap: .55rem; min-height: 28px; }
.schedule-game-number { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--schedule-primary); color: var(--schedule-surface); font-size: .7rem; font-weight: 950; }
.schedule-round-label, .schedule-special-label { display: inline-flex; align-items: center; gap: .3rem; padding: .28rem .55rem; border-radius: 999px; font-size: .65rem; font-weight: 950; letter-spacing: .06em; white-space: nowrap; }
.schedule-round-label { background: color-mix(in srgb, var(--schedule-primary) 10%, transparent); color: var(--schedule-primary); }
.schedule-special-label { background: var(--tag-color, var(--game-border)); color: #fff; }
.schedule-tag-kickoff, .schedule-tag-mnf, .schedule-tag-final, .schedule-tag-superbowl { --tag-color: #dc2626; }
.schedule-tag-tnf { --tag-color: #172554; }
.schedule-tag-snf { --tag-color: #0284c7; }
.schedule-tag-international { --tag-color: #ca8a04; }
.schedule-tag-holiday, .schedule-tag-christmas { --tag-color: #15803d; }
.schedule-tag-thanksgiving { --tag-color: #92400e; }
.schedule-tag-newyear { --tag-color: #a16207; }
.schedule-tag-playoffs, .schedule-tag-custom { --tag-color: var(--schedule-accent); }
.schedule-game-date { margin-left: auto; color: color-mix(in srgb, var(--schedule-primary) 68%, transparent); font-size: .72rem; font-weight: 850; }
.schedule-game-date b { margin-left: .35rem; color: var(--schedule-accent); font-size: .92rem; }
.schedule-game-stadium { position: relative; display: flex; align-items: center; justify-content: flex-end; gap: .35rem; min-width: 0; margin-top: .28rem; color: color-mix(in srgb, var(--schedule-primary) 58%, transparent); font-size: .64rem; font-weight: 800; }
.schedule-game-stadium i { flex: 0 0 auto; color: var(--schedule-accent); }
.schedule-game-stadium span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.schedule-matchup { position: relative; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .6rem; align-items: center; padding: .85rem 0 .95rem; }
.schedule-team { display: grid; grid-template-columns: 76px minmax(0,1fr) auto; gap: .65rem; align-items: center; min-width: 0; min-height: 94px; padding: .55rem .65rem; border: 1px solid color-mix(in srgb,var(--team-one) 15%,transparent); border-radius: 18px; background: linear-gradient(110deg,color-mix(in srgb,var(--team-one) 9%,#fff),rgba(255,255,255,.76) 72%); box-shadow: inset 0 1px rgba(255,255,255,.72); }
.schedule-team.is-second { direction: rtl; border-color: color-mix(in srgb,var(--team-two) 15%,transparent); background: linear-gradient(250deg,color-mix(in srgb,var(--team-two) 9%,#fff),rgba(255,255,255,.76) 72%); text-align: right; }
.schedule-team.is-second > * { direction: ltr; }
.schedule-team-logo { width: 76px; height: 76px; display: grid; place-items: center; }
.schedule-team-logo img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 6px 8px rgba(2,8,23,.16)); }
.schedule-team-logo b { font-size: .8rem; }
.schedule-team > span:nth-child(2) { min-width: 0; }
.schedule-team strong, .schedule-team small { display: block; }
.schedule-team strong { font-size: 1.15rem; font-weight: 950; letter-spacing: -.025em; }
.schedule-team small { overflow: hidden; color: color-mix(in srgb, var(--schedule-primary) 56%, transparent); font-size: .7rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.schedule-team em { min-width: 2ch; color: var(--schedule-accent); font-size: 2rem; font-style: normal; font-weight: 950; line-height: .9; text-align: center; }
.schedule-vs { display: grid; min-width: 42px; height: 34px; place-items: center; padding: 0 .45rem; border: 1px solid color-mix(in srgb,var(--schedule-primary) 10%,transparent); border-radius: 999px; background: color-mix(in srgb,var(--schedule-primary) 6%,#fff); color: color-mix(in srgb, var(--schedule-primary) 58%, transparent); font-size: .65rem; font-weight: 950; box-shadow: 0 5px 14px rgba(2,8,23,.07); }
.schedule-watch-row { position: relative; display: flex; gap: .65rem; align-items: center; min-height: 50px; padding: .55rem .65rem; border-top: 1px solid color-mix(in srgb, var(--schedule-primary) 9%, transparent); }
.schedule-watch-stack { display: grid; overflow: hidden; border: 1px solid color-mix(in srgb,var(--schedule-primary) 8%,transparent); border-radius: 16px; background: color-mix(in srgb,var(--schedule-primary) 2%,#fff); }
.schedule-watch-stack .schedule-watch-row + .schedule-watch-row { margin-top: .15rem; }
.schedule-watch-row.is-coverage { min-height: 42px; }
.schedule-watch-row.is-coverage .schedule-provider { flex: 0 0 128px; width: 128px; min-width: 128px; max-width: 128px; height: 40px; padding: .35rem .6rem; background: color-mix(in srgb, var(--schedule-primary) 3%, #fff); }
.schedule-broadcast-note { display: block; margin-top: .25rem; color: color-mix(in srgb, var(--schedule-primary) 55%, transparent); font-size: .63rem; }
.schedule-watch-label { display: inline-flex; flex: 0 0 112px; align-items: center; gap: .35rem; color: color-mix(in srgb, var(--schedule-primary) 58%, transparent); font-size: .66rem; font-weight: 900; text-transform: uppercase; }
.schedule-provider-list { display: flex; flex: 1 1 260px; min-width: 0; flex-wrap: wrap; gap: .4rem; }
.schedule-provider { flex: 0 1 128px; width: 128px; min-width: 98px; max-width: 146px; height: 44px; display: grid; place-items: center; overflow: hidden; padding: .38rem .65rem; border: 1px solid color-mix(in srgb, var(--schedule-primary) 12%, transparent); border-radius: 11px; background: rgba(255,255,255,.98); }
.schedule-provider img { display: block; width: 100%; max-width: 100%; height: 100%; max-height: 100%; margin: auto; place-self: center; object-fit: contain; object-position: center; transform: none; transform-origin: center; }
.schedule-provider.provider-fox-one-prime-video img { width: 92%; height: 92%; transform: scale(.86); }
.schedule-provider.provider-espn-disney-plus-premium img { width: 100%; height: 100%; clip-path: inset(0 0 34% 0); transform: translate(-4px,-1px) scale(1.2); }
.schedule-provider.provider-nfl-redzone img { width: 94%; height: 92%; margin: auto; place-self: center; object-position: center; transform: none; }
@media (min-width: 601px) {
  .schedule-provider.provider-fox-one-prime-video img { transform: translateY(-7px) scale(.86); }
  .schedule-provider-list.provider-count-1 .schedule-provider.provider-fox-one-prime-video img { transform: translateY(-5px) scale(.86); }
}
@media (max-width: 600px) {
  .schedule-provider.provider-fox-one-prime-video { display: flex; align-items: center; justify-content: center; }
  /* Preserve FOX's visible size (92% × 92%) without the oversized implicit grid row. */
  .schedule-provider.provider-fox-one-prime-video img { flex: none; width: 84.64%; height: auto; max-height: none; margin: 0; }
}
.schedule-provider-list.provider-count-1 .schedule-provider, .schedule-provider-list.provider-count-2 .schedule-provider { flex: 0 0 128px; width: 128px; min-width: 128px; max-width: 128px; height: 44px; padding: .38rem .65rem; }
.schedule-watch-row.is-coverage .schedule-provider, .schedule-watch-row.is-coverage .schedule-provider-list.provider-count-1 .schedule-provider, .schedule-watch-row.is-coverage .schedule-provider-list.provider-count-2 .schedule-provider { flex-basis: 128px; width: 128px; min-width: 128px; max-width: 128px; height: 44px; }
.schedule-provider b, .schedule-pending { font-size: .65rem; font-weight: 900; }
.schedule-pending { color: color-mix(in srgb, var(--schedule-primary) 48%, transparent); }
.schedule-watch-row > small { margin-left: auto; max-width: 190px; color: color-mix(in srgb, var(--schedule-primary) 55%, transparent); font-size: .63rem; text-align: right; }
.schedule-game footer { position: relative; display: flex; justify-content: space-between; gap: .5rem; margin-top: .65rem; color: color-mix(in srgb, var(--schedule-primary) 47%, transparent); font-size: .6rem; font-weight: 750; }
.schedule-game footer a { color: var(--schedule-accent); font-weight: 900; }
.schedule-disclaimer { display: flex; gap: .75rem; align-items: center; margin-top: 1rem; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.1); border-radius: 20px; background: rgba(15,23,42,.76); color: #cbd5e1; }
.schedule-disclaimer i { color: #60a5fa; }
.schedule-disclaimer p { margin: 0; font-size: .78rem; }
.schedule-disclaimer strong { color: #fff; }
.schedule-social-panel { position: relative; display: grid; grid-template-columns: minmax(240px,.8fr) minmax(0,1.6fr); gap: 1rem; align-items: center; overflow: hidden; margin-top: 1rem; padding: 1.15rem; border: 1px solid rgba(255,255,255,.1); border-radius: 24px; background: radial-gradient(circle at 92% -35%,rgba(56,189,248,.18),transparent 45%),linear-gradient(135deg,rgba(15,23,42,.96),rgba(8,15,29,.96)); color: #fff; box-shadow: 0 18px 42px rgba(2,8,23,.2); }
.schedule-social-panel::after { content: "SF"; position: absolute; right: 1rem; bottom: -2.5rem; color: rgba(255,255,255,.025); font-size: 7rem; font-weight: 950; pointer-events: none; }
.schedule-social-copy, .schedule-social-links { position: relative; z-index: 1; }
.schedule-social-copy > span { display: inline-flex; align-items: center; gap: .4rem; color: #7dd3fc; font-size: .65rem; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.schedule-social-copy h2 { margin: .3rem 0 .25rem; color: #fff; font-size: 1.25rem; font-weight: 950; letter-spacing: -.025em; }
.schedule-social-copy p { max-width: 390px; margin: 0; color: #94a3b8; font-size: .75rem; line-height: 1.5; }
.schedule-social-links { display: grid; grid-template-columns: repeat(auto-fit,minmax(170px,1fr)); gap: .6rem; }
.schedule-social-links a { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: .6rem; align-items: center; min-height: 58px; padding: .55rem .7rem; border: 1px solid rgba(255,255,255,.17); border-radius: 16px; color: #fff; text-decoration: none; box-shadow: inset 0 1px rgba(255,255,255,.15); transition: transform .2s ease, filter .2s ease, box-shadow .2s ease; }
.schedule-social-links a:hover { color: #fff; filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 12px 24px rgba(2,8,23,.22),inset 0 1px rgba(255,255,255,.22); }
.schedule-social-links a > i:first-child { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(255,255,255,.2); border-radius: 12px; background: rgba(255,255,255,.12); font-size: 1.05rem; }
.schedule-social-links a > i:last-child { font-size: .62rem; opacity: .65; }
.schedule-social-links a span { min-width: 0; }
.schedule-social-links a small, .schedule-social-links a strong { display: block; overflow: hidden; color: #fff; text-overflow: ellipsis; white-space: nowrap; }
.schedule-social-links a small { font-size: .58rem; font-weight: 850; opacity: .78; text-transform: uppercase; }
.schedule-social-links a strong { margin-top: .08rem; font-size: .7rem; font-weight: 950; }
.schedule-social-links a.is-instagram { background: linear-gradient(135deg,#405de6,#c13584 50%,#f77737); }
.schedule-social-links a.is-facebook { background: linear-gradient(135deg,#0b4fb3,#1877f2); }
.schedule-social-links a.is-tiktok { background: linear-gradient(135deg,#111827,#131313 58%,#243044); }
.schedule-empty { padding: 4rem 1rem; border: 1px dashed rgba(255,255,255,.2); border-radius: 28px; text-align: center; color: #cbd5e1; }
.schedule-empty i { font-size: 3rem; color: #60a5fa; }
.schedule-empty h2 { margin-top: 1rem; color: #fff; font-weight: 950; }
@media (max-width: 1200px) { .schedule-hero { grid-template-columns: 1fr; min-height: 0; } .schedule-hero-utility { grid-template-columns: minmax(0,1fr) auto; } }
@media (max-width: 1100px) { .schedule-switcher { grid-template-columns: repeat(12,minmax(0,1fr)); } .schedule-picker { grid-column: span 4; } .schedule-switch-filter { grid-column: span 5; } .schedule-switcher .schedule-filter-count { grid-column: span 2; } .schedule-switcher.is-filtering .schedule-filter-count, .schedule-switcher .schedule-filter-reset { grid-column: span 1; } }
@media (max-width: 900px) { .schedule-grid { grid-template-columns: 1fr; } .schedule-global-coverage, .schedule-hero-stats { width: auto; margin-top: 0; } .schedule-filterbar { grid-template-columns: auto 1fr 1fr auto auto; } .schedule-filter-title span { display: none; } .schedule-social-panel { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .schedule-hero { min-height: 0; padding: 1rem; border-radius: 24px; } .schedule-brand-lockup { position: static; width: fit-content; margin-left: auto; } .schedule-league-logo { top: 18px; left: 18px; width: 52px; height: 52px; } .schedule-hero-copy { padding-top: 2rem; } .schedule-hero-copy h1 { font-size: 2.65rem; } .schedule-global-coverage { width: 100%; justify-content: space-between; } .schedule-global-coverage img { width: 132px; } .schedule-hero-stats { width: 100%; } .schedule-hero-stats div { min-width: 0; flex: 1; padding: .6rem .4rem; } .schedule-switcher { grid-template-columns: repeat(3,minmax(0,1fr)); gap: .35rem; margin: .6rem 0 .75rem; padding: .4rem; border-radius: 15px; } .schedule-picker summary { min-height: 42px; justify-content: center; gap: .35rem; padding: .45rem .5rem; border-radius: 11px; } .schedule-picker summary b { color: #fff; font-size: .62rem; letter-spacing: .04em; } .schedule-picker summary small { display: none; } .schedule-picker summary > i { font-size: .55rem; } .schedule-picker-menu { width: min(290px,calc(100vw - 1.6rem)); } .schedule-picker:nth-child(2) .schedule-picker-menu { left: 50%; transform: translateX(-50%); } .schedule-picker:last-child .schedule-picker-menu { right: 0; left: auto; transform: none; } .schedule-filterbar { grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto auto; gap: .45rem; padding: .6rem; } .schedule-filter-title { display: none; } .schedule-filterbar label > span { overflow: hidden; font-size: .5rem; text-overflow: ellipsis; white-space: nowrap; } .schedule-filterbar select { min-height: 40px; padding-left: .55rem; font-size: .64rem; } .schedule-filter-count { min-width: 32px; } .schedule-filter-count strong { margin: 0; font-size: .92rem; } .schedule-filter-count span { display: none; } .schedule-filter-reset { width: 38px; min-height: 38px; padding: 0; } .schedule-filter-reset span { display: none; } .schedule-game { padding: .8rem; border-radius: 19px; } .schedule-game-topline { flex-wrap: wrap; } .schedule-game-date { width: 100%; margin-left: 0; text-align: right; font-size: .63rem; } .schedule-matchup { gap: .3rem; } .schedule-team { grid-template-columns: 52px minmax(0,1fr); gap: .35rem; min-height: 74px; padding: .4rem; border-radius: 14px; } .schedule-team-logo { width: 52px; height: 52px; } .schedule-team strong { font-size: 1rem; } .schedule-team em { grid-column: 1 / -1; font-size: 1.45rem; text-align: center; } .schedule-team small { font-size: .58rem; } .schedule-vs { min-width: 34px; height: 30px; padding: 0 .3rem; font-size: .56rem; } .schedule-watch-row { align-items: flex-start; flex-wrap: wrap; padding: .5rem; } .schedule-watch-label { flex-basis: 100%; width: 100%; } .schedule-provider-list { width: 100%; } .schedule-provider { flex: 1 1 104px; width: auto; min-width: 94px; max-width: 132px; height: 40px; } .schedule-provider-list.provider-count-1 .schedule-provider { flex: 0 0 144px; width: 144px; min-width: 144px; max-width: 144px; height: 44px; } .schedule-provider-list.provider-count-2 .schedule-provider { flex: 0 1 132px; width: 132px; min-width: 116px; max-width: 140px; height: 42px; } .schedule-watch-row.is-coverage .schedule-provider, .schedule-watch-row.is-coverage .schedule-provider-list.provider-count-1 .schedule-provider, .schedule-watch-row.is-coverage .schedule-provider-list.provider-count-2 .schedule-provider { flex: 0 0 120px; width: 120px; min-width: 120px; max-width: 120px; height: 38px; } .schedule-watch-row > small { width: 100%; max-width: none; margin-left: 0; text-align: left; } .schedule-game footer { flex-direction: column; } .schedule-social-panel { padding: .9rem; border-radius: 20px; } .schedule-social-links { grid-template-columns: 1fr; } }
.schedule-game-detail-link { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .55rem; padding-top: .55rem; border-top: 1px solid color-mix(in srgb,var(--schedule-primary) 10%,#e2e8f0); color: var(--schedule-primary); font-size: .55rem; font-weight: 900; text-decoration: none; }
.schedule-game-detail-link:hover { color: var(--schedule-accent); }

.schedule-picks-bridge { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: .8rem; align-items: center; margin: 1rem 0; padding: .85rem 1rem; border: 1px solid rgba(214,40,40,.18); border-radius: 19px; background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,241,241,.96)); box-shadow: 0 12px 28px rgba(11,37,69,.08); }
.schedule-picks-bridge-icon { display: grid; width: 44px; height: 44px; place-items: center; border-radius: 13px; background: var(--schedule-primary,#d62828); color: #fff; }
.schedule-picks-bridge small { color: var(--schedule-accent,#d62828); font-size: .55rem; font-weight: 950; letter-spacing: .04em; text-transform: uppercase; }
.schedule-picks-bridge h2 { margin: .08rem 0; color: var(--schedule-primary,#0b2545); font-size: 1rem; font-weight: 950; }
.schedule-picks-bridge p { margin: 0; color: #64748b; font-size: .65rem; line-height: 1.45; }
.schedule-picks-bridge > a { display: inline-flex; align-items: center; gap: .45rem; min-height: 42px; padding: .65rem .85rem; border-radius: 12px; background: var(--schedule-accent,#d62828); color: #fff; font-size: .66rem; font-weight: 950; text-decoration: none; white-space: nowrap; box-shadow: 0 9px 20px color-mix(in srgb,var(--schedule-accent,#d62828) 22%,transparent); }
.schedule-picks-bridge > a:hover { color: #fff; transform: translateY(-1px); }
@media (max-width: 600px) {
  .schedule-hero { gap: .8rem; padding: 1rem; }
  .schedule-hero-main { grid-template-columns: 72px minmax(0,1fr); gap: .75rem; }
  .schedule-league-logo { width: 72px; height: 72px; }
  .schedule-hero-copy { padding: 0; }
  .schedule-hero-copy p { margin-bottom: .3rem; font-size: .58rem; }
  .schedule-hero-copy h1 { font-size: clamp(1.65rem,8vw,2.3rem); letter-spacing: -.05em; }
  .schedule-hero-copy > span { margin-top: .38rem; font-size: .62rem; letter-spacing: .065em; }
  .schedule-hero-utility { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: .45rem; }
  .schedule-global-coverage { width: auto; min-height: 66px; flex-direction: column; justify-content: center; gap: .15rem; padding: .4rem; text-align: center; }
  .schedule-global-coverage > span { font-size: .48rem; line-height: 1.15; }
  .schedule-global-coverage img { width: 102px; max-width: 100%; max-height: 36px; }
  .schedule-hero-stats { width: auto; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .schedule-hero-stats div { min-width: 0; padding: .4rem .12rem; }
  .schedule-hero-stats strong { font-size: 1rem; }
  .schedule-hero-stats span { font-size: .46rem; line-height: 1.15; }
  .schedule-switcher { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .schedule-picker { grid-column: span 2; }
  .schedule-switch-filter { grid-column: span 3; min-height: 44px; padding: .4rem .5rem; }
  .schedule-switch-filter > span { font-size: .5rem; }
  .schedule-switch-filter select { font-size: .64rem; }
  .schedule-switcher .schedule-filter-count { grid-column: span 6; min-height: 38px; flex-direction: row; gap: .25rem; }
  .schedule-switcher.is-filtering .schedule-filter-count { grid-column: span 5; }
  .schedule-switcher .schedule-filter-count span { display: inline; }
  .schedule-switcher .schedule-filter-reset { grid-column: span 1; width: auto; min-height: 38px; padding: 0; }
  .schedule-picks-bridge { grid-template-columns: 38px minmax(0,1fr); padding: .75rem; border-radius: 16px; }
  .schedule-picks-bridge-icon { width: 38px; height: 38px; border-radius: 11px; }
  .schedule-picks-bridge > a { grid-column: 1 / -1; justify-content: center; width: 100%; }
}
