.sports-gateways { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media(max-width:750px) { .sports-gateways { grid-template-columns:1fr; } }
.sports-landing .watch-strip {
  min-height: 0;
  margin-top: 22px;
  padding: 22px clamp(38px, 5vw, 64px);
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.sports-landing .watch-strip h2 {
  margin: 0;
  font-size: clamp(22px, 3vw, 32px);
  color: var(--ink);
  line-height: 1.15;
}
.sports-landing .watch-strip h2 span { color: #ff2a85; }
.sports-landing .watch-strip .primary-button {
  align-self: auto;
  flex-shrink: 0;
  margin: 0;
  text-align: center;
}
@media (max-width: 600px) {
  .sports-landing .watch-strip { padding: 18px 20px; gap: 12px; }
  .sports-landing .watch-strip h2 { font-size: clamp(18px, 4.2vw, 24px); }
  .sports-landing .watch-strip .primary-button { max-width: 145px; padding: 10px 12px; font-size: 11px; }
}
@media (max-width: 360px) {
  .sports-landing .watch-strip { padding: 16px; gap: 10px; }
  .sports-landing .watch-strip .primary-button { max-width: 116px; padding: 9px 10px; }
}

.mountaineer-gateway .eyebrow { color: #ffcc00; }
.athletics-hero { margin-bottom: 32px; }
.athletics-hero h1 { font-size: clamp(36px, 5.8vw, 64px); }
.athletics-hero h1 em { color: #ffcc00; }
.athletics-controls { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin:28px 0; }
.athletics-controls label { font-size:13px; font-weight:700; }
.athletics-controls select { font:inherit; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:10px 14px; opacity:1; }
.athletics-status { display:inline-block; color:var(--muted); font-size:13px; }
.athletics-events { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin-top:22px; }
.athletics-panel { min-height:230px; padding:28px; border:1px solid var(--line); border-radius:18px; background:var(--paper); }
.athletics-panel .eyebrow { color:#ffcc00; margin-bottom:14px; }
.athletics-panel h2 { font-size:30px; margin-bottom:18px; }
.athletics-panel p:not(.eyebrow) { color:var(--muted); }
.athletics-note { margin-top:24px; padding:20px 24px; border:1px solid var(--line); border-radius:12px; color:var(--muted); }
.athletics-links { display:flex; flex-wrap:wrap; gap:12px; }
.athletics-links a { color:var(--action); font-weight:700; }
@media(max-width:750px) { .athletics-events { grid-template-columns:1fr; } }
@media(max-width:600px) { .athletics-panel { padding:24px; min-height:200px; } }

/* Seasonal catalog: every team occupies one normal grid cell. */
#sports-team-games .watch-game-card[data-team-id="appalachian_fc"] { grid-column:auto; width:100%; justify-self:stretch; }

.athletics-hub .athletics-events { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.athletics-hub .athletics-panel { min-width:0; }
.athletics-hub .athletics-panel .bb-team-game { margin:16px 0 0; }
.athletics-hub .bb-team-game .eyebrow { margin:0 0 8px; font-size:10px; }
.athletics-hub .bb-team-name { font-size:24px; }
.athletics-sports-section { margin-top:44px; }
.athletics-sports-section h2 { font-size:32px; margin-bottom:12px; }
.athletics-sports-section > p:not(.eyebrow) { color:var(--muted); margin-bottom:22px; }
.athletics-sport-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.athletics-sport-card { min-width:0; display:flex; flex-direction:column; gap:12px; padding:24px; border:1px solid var(--line); border-top:3px solid #ffcc00; border-radius:16px; background:var(--paper); color:var(--ink); text-decoration:none; }
.athletics-sport-card h3 { font-size:24px; margin:0; color:var(--ink); }
.athletics-sport-card p { color:var(--muted); margin:0; font-size:13px; }
.athletics-sport-card .athletics-sport-action { margin-top:auto; color:var(--action); font-weight:700; }
.athletics-more { color:var(--muted); font-size:13px; margin-top:18px; }
@media(max-width:800px) { .athletics-sport-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .athletics-hub .athletics-events { grid-template-columns:1fr; } }
@media(max-width:540px) { .athletics-sport-grid { grid-template-columns:1fr; } .athletics-hub .athletics-panel { padding:18px; } .athletics-hub .bb-team-game-line { flex-wrap:wrap; } }

.athletics-hub .athletics-events { align-items:start; }
#athletics-upcoming-events { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#athletics-upcoming-events > .athletics-more { grid-column:1/-1; }
#athletics-upcoming-events .bb-team-game { min-width:0; padding:18px; margin:0; }
@media(max-width:600px) { #athletics-upcoming-events { grid-template-columns:1fr; } }

.athletics-sport-card .bb-team-game-line { margin:6px 0; gap:12px; align-items:center; }
.athletics-hub .bb-team-game-copy { min-width:0; }
.athletics-sport-card .bb-team-opponent { font-size:16px; overflow-wrap:anywhere; }
.athletics-sport-card .bb-team-calendar { flex-shrink:0; }
.athletics-sport-card .bb-team-calendar span { color:var(--orange); }
.athletics-sport-card .bb-team-calendar strong { color:var(--ink); }
.athletics-sport-card .bb-team-calendar small { color:var(--muted); }

/* School identity and shared pill filters. */
.pioneer-gateway .eyebrow, .pioneer-gateway h2 em { color:#2f80d0; }
.mountaineer-gateway h2 em { color:#ffcc00; }
.sports-gateway-card h2 em { font-style:italic; }
.athletics-sport-filters { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.athletics-sport-filters button { font:inherit; font-weight:700; color:var(--ink); background:var(--paper); border:1px solid var(--line); padding:10px 15px; border-radius:999px; cursor:pointer; }
.athletics-sport-filters button.active { color:#0a0b1a; background:#ffcc00; border-color:#ffcc00; }
.athletics-sport-filters button:focus-visible { outline:2px solid #ffcc00; outline-offset:3px; }
.athletics-sport-filters button:hover { border-color:#ffcc00; }

.athletics-panel-head { display:flex; align-items:baseline; flex-wrap:wrap; justify-content:space-between; gap:8px 14px; margin-bottom:18px; }
.athletics-panel-head h2 { margin-bottom:0; }
.athletics-event-count { color:var(--ink); font-size:12px; font-weight:800; }

.athletics-hub .bb-team-calendar > span { color:#ffcc00; }
.athletics-demo-notice { padding:18px 22px; margin-bottom:24px; border:1px solid #ffcc00; border-radius:12px; background:var(--paper); color:var(--ink); }
.athletics-demo-notice[hidden] { display:none; }
.athletics-demo-notice strong { color:#ffcc00; }
.athletics-demo-notice p { color:var(--muted); margin:10px 0; font-size:13px; }
.athletics-demo-notice a { color:var(--action); }

/* Date-first athletics preview layout. */
.athletics-hub .athletics-events { display:block; }
.athletics-hub .athletics-panel { margin-bottom:36px; }
#athletics-today-events { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
#athletics-today-events .bb-team-game { margin:0; min-width:0; }
#athletics-upcoming-events { display:grid; grid-template-columns:1fr; gap:12px; }
.athletics-date-nav { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:24px 0; }
.athletics-date-nav button { border:1px solid var(--line); background:var(--paper); color:var(--ink); padding:12px 18px; border-radius:999px; font:inherit; cursor:pointer; }
.athletics-date-nav button.active { background:#ffcc00; color:#090918; border-color:#ffcc00; }
.athletics-date-nav label { margin-left:auto; display:flex; align-items:center; gap:12px; }
.athletics-date-nav input { background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:10px; font:inherit; color-scheme:dark; }
.athletics-upcoming-row { display:grid; grid-template-columns:160px 1fr auto; gap:18px; align-items:center; text-align:left; width:100%; background:var(--paper); border:1px solid var(--line); border-radius:12px; color:var(--ink); padding:20px; font:inherit; cursor:pointer; }
.athletics-upcoming-row > span { color:var(--muted); }
.athletics-upcoming-row .athletics-row-count { color:#ffcc00; white-space:nowrap; }
.athletics-upcoming-row:hover,.athletics-upcoming-row:focus-visible { border-color:#ffcc00; }
@media(max-width:850px){#athletics-today-events{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:600px){#athletics-today-events{grid-template-columns:1fr;} .athletics-upcoming-row{grid-template-columns:1fr auto;gap:10px;} .athletics-upcoming-row > span:not(.athletics-row-count){grid-column:1/-1;grid-row:2;} .athletics-date-nav label{margin-left:0;width:100%;}}

.athletics-row-date { display:flex; align-items:center; gap:14px; }
.athletics-upcoming-row { grid-template-columns:210px 1fr auto; }
@media(max-width:600px){.athletics-upcoming-row {grid-template-columns:1fr auto;}}

.athletics-upcoming-row {padding:13px 20px;}
#athletics-upcoming-events {gap:8px;}

/* Align each watch action with the center of the school card above. */
@media(min-width:751px){
 .sports-landing .watch-strip {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;padding:22px 0;}
 .sports-landing .watch-strip h2,.sports-landing .watch-strip .primary-button {justify-self:center;}
}

/* Compact watch card centered below the two athletics gateways. */
.sports-landing .watch-strip { display:flex; flex-direction:column; justify-content:center; width:min(100%, 350px); margin:22px auto 0; padding:24px 22px; gap:18px; text-align:center; box-sizing:border-box; }
.sports-landing .watch-strip h2 {font-size:28px;}
.sports-landing .watch-strip .primary-button {align-self:center;max-width:none;}
@media(max-width:360px){.sports-landing .watch-strip {padding:20px 16px;}.sports-landing .watch-strip h2 {font-size:25px;}}

.whs-broadcast a.sports-return-link,.athletics-links a.sports-return-link {color:var(--ink);}
.sports-return-link span {color:#ff2a85;}

.whs-broadcast a.sports-return-link,.athletics-links a.sports-return-link {text-decoration:none;border-bottom:0;}
