/* Registration tables (.table-1.sportsSchedule): [bgck_registration_table], [bgck_season_registration], and hand-built Avada tables.
   Base table look (header color, borders) stays in Avada > Options > Custom CSS. Rows with a real Program link are clickable (registration.js). */
.sportsSchedule tr.is-linked { cursor: pointer; }
.sportsSchedule tr.is-linked:hover td { background: rgba(0,61,165,.08); }
.sportsSchedule td a { font-weight: 600; text-decoration: none; }
.sportsSchedule tr.is-linked td a { color: #003da5; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px; transition: text-decoration-color .15s; }
.sportsSchedule tr.is-linked:hover td a, .sportsSchedule tr.is-linked td a:focus-visible { text-decoration-color: currentColor; }
/* Chevron sits by the program name, not the last column: the table scrolls sideways in its column, so the last column can be off-screen. */
.sportsSchedule tr.is-linked td:first-child a::after { content: "\00a0\203A"; display: inline-block; font-size: 1.25em; font-weight: 700; line-height: 1; transition: transform .15s; }
.sportsSchedule tr.is-linked:hover td:first-child a::after { transform: translateX(3px); }
/* Programs without a league page yet (href="#") read as plain text, not links. Pure CSS, so it holds even if the script doesn't load. */
.sportsSchedule td a[href="#"] { color: inherit; cursor: text; pointer-events: none; }
/* Status badge, added under the program name by the script from the registration and season dates. */
.sportsSchedule-badge { display: table; margin-top: 4px; padding: 2px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.sportsSchedule-badge.is-open { background: rgba(129,188,0,.2); color: #3d5a00; }
.sportsSchedule-badge.is-upcoming { background: rgba(0,61,165,.08); color: #003da5; }
.sportsSchedule-badge.is-season { background: #003da5; color: #ffffff; }
.sportsSchedule-badge.is-closed { background: #eceef0; color: #53565a; }
.sportsSchedule-intro { margin-bottom: 16px; }
/* [bgck_season_registration]: status badge on the left, Register Now on the right, above the one-row table. Stacks on phones. */
.sportsSchedule-season-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 0 0 16px; }
.sportsSchedule-badge-slot .sportsSchedule-badge { margin: 0; font-size: 14px; padding: 4px 12px; }
.sportsSchedule-register[hidden] { display: none; }
/* ---- League page ------------------------------------------------------------------------------------------- */

/* [bgck_season_tagline]: one line under the page title, on the dark header. Badges are solid so they read on the blue. */
.bgck-season-tagline { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0; color: #fff; font-size: 18px; font-weight: 600; line-height: 1.4; }
.bgck-season-tagline .sportsSchedule-badge { margin: 0; font-size: 13px; padding: 4px 12px; }
.bgck-season-tagline .sportsSchedule-badge.is-open { background: #e3f0c7; color: #3d5a00; }
.bgck-season-tagline .sportsSchedule-badge.is-upcoming,
.bgck-season-tagline .sportsSchedule-badge.is-season { background: #fff; color: #003da5; }

/* [bgck_season_intro]: "About the Program" text and date / fee tiles on the left, the Ages / When / Where card on the right. Stacks on phones. */
.bgck-season-intro { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 48px; align-items: start; }
.bgck-season-intro-text h2 { margin: 0 0 16px; }
.bgck-season-intro-text p { margin: 0 0 1em; max-width: 62ch; font-size: 17px; line-height: 1.65; }
.bgck-season-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 28px 0 0; }
.bgck-season-tiles > div { padding: 14px 16px; border: 1px solid #d4dbe3; border-radius: 6px; }
.bgck-season-tiles dt,
.bgck-season-facts dt { margin: 0 0 4px; color: var(--awb-color7, #004b87); font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.bgck-season-tiles dd { margin: 0; font-size: 17px; font-weight: 700; white-space: nowrap; }
.bgck-season-facts { padding: 24px; background: var(--awb-color2, #dde5ed); border-radius: 6px; }
.bgck-season-facts-status { margin: 0 0 18px; }
.bgck-season-facts-status:empty, .bgck-season-facts-status .sportsSchedule-badge-slot:empty { display: none; }
.bgck-season-facts dl { margin: 0; }
.bgck-season-facts dl > div + div { margin-top: 16px; }
.bgck-season-facts dd { margin: 0; font-weight: 700; }
.bgck-season-facts-register { margin-top: 22px; }
.bgck-season-facts-register .fusion-button { width: 100%; }
@media (max-width: 1100px) { .bgck-season-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 800px) {
	.bgck-season-intro { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.bgck-season-tiles > div { padding: 12px 14px; }
	.bgck-season-tiles dd { white-space: normal; }
}

/* "Teams & Schedule" section (Avada container with the class bgck-league-teams) around [bgck_league_sports season="..."].
   Restyles the division view to match the rest of the page without changing its markup: upcoming games first beside
   standings, then completed games and teams; the season title is hidden because the page header already names it. */
.bgck-league-teams .bgck-ls { margin: 0; }
.bgck-league-teams .bgck-ls-season-title { display: none; }
.bgck-league-teams .bgck-ls-division-nav { margin-bottom: 24px; }
.bgck-league-teams .bgck-ls-division-btn:not(.is-active) { background: #fff; }
.bgck-league-teams .bgck-ls-division-panel.is-active { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.bgck-league-teams .bgck-ls-division-panel > * { grid-column: 1 / -1; margin: 0; }
.bgck-league-teams .bgck-ls-division-panel > .bgck-ls-schedule-section { grid-column: 1; grid-row: 1; }
.bgck-league-teams .bgck-ls-division-panel > .bgck-ls-standings-section,
.bgck-league-teams .bgck-ls-division-panel:has(> .bgck-ls-schedule-section) > .bgck-ls-note:first-child { grid-column: 2; grid-row: 1; }
.bgck-league-teams .bgck-ls-schedule-section,
.bgck-league-teams .bgck-ls-standings-section { padding: 0; background: #fff; color: inherit; border: 1px solid #d4dbe3; border-radius: 6px; overflow: hidden; }
.bgck-league-teams .bgck-ls-section.bgck-ls-schedule-section h4,
.bgck-league-teams .bgck-ls-section.bgck-ls-standings-section h4 { margin: 0; padding: 12px 18px; background: #003da5; color: #fff; font-size: 16px; }
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-game-list { margin: 0; padding: 0 18px; }
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-game-row { border-bottom-color: #eef1f4; }
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-game-row:last-child { border-bottom: 0; }
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-team { color: inherit; }
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-date,
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-time,
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-vs,
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-location { color: #53565a; }
.bgck-league-teams .bgck-ls-schedule-section .bgck-ls-note,
.bgck-league-teams .bgck-ls-division-panel > .bgck-ls-note { margin: 0; padding: 14px 18px; color: #53565a; }
.bgck-league-teams .bgck-ls-division-panel > .bgck-ls-note { background: #fff; border: 1px solid #d4dbe3; border-radius: 6px; }
.bgck-league-teams .bgck-ls-standings { margin: 0; }
.bgck-league-teams .bgck-ls-standings th { background: #eef2f7; color: #004b87; }
.bgck-league-teams .bgck-ls-standings th:first-child,
.bgck-league-teams .bgck-ls-standings td:first-child { width: 48px; }
.bgck-league-teams .bgck-ls-standings th:nth-child(n+3),
.bgck-league-teams .bgck-ls-standings td:nth-child(n+3) { width: 56px; text-align: center; }
.bgck-league-teams .bgck-ls-standings tr:last-child td { border-bottom: 0; }
.bgck-league-teams .bgck-ls-completed { background: #fff; border-color: #d4dbe3; border-radius: 6px; padding: 14px 18px; }
.bgck-league-teams .bgck-ls-completed summary { color: #004b87; font-size: 16px; }
.bgck-league-teams .bgck-ls-section h4 { color: #004b87; }
.bgck-league-teams .bgck-ls-teams { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 16px; }
.bgck-league-teams .bgck-ls-team-info { margin: 0; padding: 16px 18px; background: #fff; border-color: #d4dbe3; border-radius: 6px; }
.bgck-league-teams .bgck-ls-check-back { background: #fff; border: 1px solid #d4dbe3; }
@media (max-width: 800px) {
	.bgck-league-teams .bgck-ls-division-panel.is-active { grid-template-columns: minmax(0, 1fr); }
	.bgck-league-teams .bgck-ls-division-panel > .bgck-ls-standings-section,
	.bgck-league-teams .bgck-ls-division-panel:has(> .bgck-ls-schedule-section) > .bgck-ls-note:first-child { grid-column: 1; grid-row: 2; }
}
/* "Check back" note in place of an empty division view (season-intro.php). */
.bgck-ls-check-back { padding: 20px 24px; background: var(--awb-color2, #dde5ed); border-radius: 6px; }
.bgck-ls-check-back p { margin: 0; font-weight: 700; }
/* [bgck_season_register_button]: centered on its own. */
.sportsSchedule-register-standalone { text-align: center; }
