/* ===== 主頁賽程欄：卡片式 UI（參考通用賽事卡排版，沿用本站既有色系）===== */
.match-cell { padding: 0; vertical-align: top; }
.match-card {
    display: block;
    width: 216px;
    margin: 6px;
    padding: 10px 12px;
    color: #e5e7eb;
    text-decoration: none;
    background: #1f2937;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
}
.match-card:hover,
.match-card:focus {
    color: #fff;
    text-decoration: none;
    border-color: rgba(246, 196, 79, .5);
}
.mc-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}
.mc-time {
    display: block;
    margin: -2px 0 8px;
    font-size: 12px;
    color: #9ca3af;
    white-space: nowrap;
}
.mc-day-label {
    color: #f6c44f;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.7;
    white-space: nowrap;
}
.mc-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 9px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.7;
    border-radius: 999px;
    white-space: nowrap;
}
.mc-badge-upcoming { color: #cbd5e1; background: #374151; }
.mc-badge-live { color: #fff; background: #dc2626; }
.mc-badge-final { color: #f6c44f; background: rgba(246, 196, 79, .16); }
.mc-team {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 5px 0;
}
.mc-team + .mc-team { border-top: 1px solid rgba(255, 255, 255, .06); }
.mc-side { display: flex; align-items: center; gap: 8px; min-width: 0; }
.mc-logo {
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    object-fit: contain;
    border-radius: 50%;
    background: #fff;
}
.mc-name {
    overflow: hidden;
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mc-score {
    flex: 0 0 auto;
    min-width: 24px;
    font-size: 18px;
    font-weight: 700;
    color: #e5e7eb;
    text-align: right;
}
.mc-score.mc-win { color: #f6c44f; }
.mc-foot {
    margin-top: 8px;
    padding-top: 6px;
    overflow: hidden;
    font-size: 11px;
    color: #9ca3af;
    text-overflow: ellipsis;
    white-space: nowrap;
    border-top: 1px solid rgba(255, 255, 255, .06);
}
.mc-empty {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 216px;
    margin: 6px;
    padding: 26px 12px;
    color: #9ca3af;
    text-align: center;
    background: #1f2937;
    border-radius: 10px;
}
.mc-empty-text { color: #cbd5e1; }

/* CARD-270: selected panel layout; scoped to public match cards. */
.schedule-card.schedule-card--panel {
    padding: 0;
    border-radius: 18px;
    box-shadow: 0 6px 18px rgba(31, 48, 73, .09);
}
.schedule-card--panel .schedule-card-main {
    position: relative;
    grid-template-columns: minmax(0, 1fr) 260px minmax(0, 1fr);
    gap: 0;
    align-items: stretch;
    min-height: 230px;
}
.schedule-card--panel .schedule-card-main::before,
.schedule-card--panel .schedule-card-main::after {
    position: absolute;
    top: 0;
    width: 26px;
    height: 26px;
    background: #ce0810;
    content: '';
}
.schedule-card--panel .schedule-card-main::before { left: 0; clip-path: polygon(0 0, 100% 0, 0 100%); }
.schedule-card--panel .schedule-card-main::after { right: 0; clip-path: polygon(0 0, 100% 0, 100% 100%); }
.schedule-card--panel .schedule-team {
    flex-direction: column;
    justify-content: center;
    gap: 9px;
    padding: 20px 10px;
    text-align: center;
}
.schedule-card--panel .schedule-logo-wrap,
.schedule-card--panel .schedule-team-logo,
.schedule-card--panel .schedule-logo-fallback { width: 104px; height: 104px; }
.schedule-card--panel .schedule-team-logo { width: auto; height: auto; max-width: 104px; max-height: 104px; padding: 0; border: 0; border-radius: 0; background: transparent; object-fit: contain; }
.schedule-card--panel .schedule-team-name { font-size: 18px; line-height: 1.2; }
.schedule-card--panel .schedule-jersey { font-size: 14px; }
.schedule-card--panel .schedule-scoreboard {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    margin: 0 -18px;
    padding: 20px 30px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(145deg, #e31720, #a60007);
    clip-path: polygon(12% 0, 88% 0, 100% 100%, 0 100%);
    color: #fff;
}
.schedule-card--panel .schedule-game { display: block; margin-bottom: 8px; font-size: 15px; font-weight: 800; }
.schedule-card--panel .schedule-time { margin-bottom: 18px; color: #fff; font-size: 44px; line-height: 1; }
.schedule-card--panel .schedule-score { display: flex; justify-content: center; gap: 9px; }
.schedule-card--panel .schedule-score-num { min-width: 0; color: #fff; font-size: 56px; }
.schedule-card--panel .has-long-score .schedule-score-num { font-size: 36px; }
.schedule-card--panel .schedule-score-num.is-muted { color: #bac3d1; }
.schedule-card--panel .schedule-status.is-final,
.schedule-card--panel .schedule-status.is-live,
.schedule-card--panel .schedule-status.is-upcoming { min-width: 0; padding: 0; background: transparent; color: #fff; font-size: 13px; line-height: 1.3; }
.schedule-card--panel .schedule-card-meta {
    justify-content: center;
    gap: 6px 12px;
    margin: 0;
    padding: 11px 14px;
    border-top: 1px solid #eef1f5;
    color: #59677c;
    font-size: 14px;
    text-align: center;
}
.schedule-card--panel .schedule-card-meta > span + span { padding-left: 12px; border-left: 1px solid #cbd5e1; }
@media (max-width: 719px) {
    .schedule-card--panel .schedule-card-main { grid-template-columns: minmax(0, 1fr) 148px minmax(0, 1fr); min-height: 186px; }
    .schedule-card--panel .schedule-team { gap: 8px; padding: 16px 6px; }
    .schedule-card--panel .schedule-logo-wrap,
    .schedule-card--panel .schedule-team-logo,
    .schedule-card--panel .schedule-logo-fallback { width: 78px; height: 78px; }
    .schedule-card--panel .schedule-team-logo { width: auto; height: auto; max-width: 78px; max-height: 78px; }
    .schedule-card--panel .schedule-team-name { font-size: 14px; }
    .schedule-card--panel .schedule-jersey { font-size: 11px; }
    .schedule-card--panel .schedule-scoreboard { margin-inline: -9px; padding: 16px 14px; }
    .schedule-card--panel .schedule-game { font-size: 11px; overflow-wrap: anywhere; }
    .schedule-card--panel .schedule-time { margin-bottom: 14px; font-size: 32px; }
    .schedule-card--panel .schedule-score { gap: 5px; }
    .schedule-card--panel .schedule-score-num { font-size: 36px; }
    .schedule-card--panel .has-long-score .schedule-score-num { font-size: 22px; }
    .schedule-card--panel .schedule-status.is-final,
    .schedule-card--panel .schedule-status.is-live,
    .schedule-card--panel .schedule-status.is-upcoming { font-size: 10px; }
    .schedule-card--panel .schedule-card-meta { font-size: 12px; }
}
@media (max-width: 360px) {
    .schedule-card--panel .schedule-logo-wrap,
    .schedule-card--panel .schedule-team-logo,
    .schedule-card--panel .schedule-logo-fallback { width: 68px; height: 68px; }
    .schedule-card--panel .schedule-team-logo { width: auto; height: auto; max-width: 68px; max-height: 68px; }
    .schedule-card--panel .schedule-team-name { font-size: 13px; }
}
.schedule-card-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}
.schedule-date {
    color: #17212d;
    font-weight: 800;
}
.schedule-dot {
    color: #cbd5e1;
}
.schedule-card-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
}
.schedule-team {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: #17212d;
}
.schedule-team:hover,
.schedule-team:focus {
    color: #163a63;
    text-decoration: none;
}
.schedule-team-away {
    flex-direction: row-reverse;
    text-align: right;
}
.schedule-logo-wrap {
    flex: 0 0 auto;
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.schedule-team-logo,
.schedule-logo-fallback {
    width: 54px;
    height: 54px;
    border-radius: 50%;
}
.schedule-team-logo {
    object-fit: contain;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    padding: 5px;
}
.schedule-logo-fallback {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #eef2f7;
    border: 1px solid #d8dee7;
    color: #334155;
    font-weight: 800;
    font-size: 18px;
}
.schedule-team-text {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 100%;
}
.schedule-team-name {
    font-size: 17px;
    font-weight: 800;
    line-height: 1.25;
    word-break: break-word;
}
.schedule-jersey {
    margin-top: 3px;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}
.schedule-scoreboard {
    min-width: 190px;
    text-align: center;
}
.schedule-time {
    display: block;
    margin-bottom: 5px;
    color: #17212d;
    font-size: 15px;
    font-weight: 900;
    letter-spacing: .02em;
}
.schedule-score {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-variant-numeric: tabular-nums;
}
.schedule-score-num {
    min-width: 44px;
    color: #17212d;
    font-size: 36px;
    font-weight: 900;
    line-height: 1;
}
.schedule-score-num.is-muted {
    color: #94a3b8;
}
.schedule-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 54px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    white-space: nowrap;
}
.schedule-status.is-upcoming {
    color: #163a63;
    background: #eef5fc;
}
.schedule-status.is-live {
    color: #dc2626;
    background: #fee2e2;
}
.schedule-status.is-final {
    color: #4b5563;
    background: #f1f2f4;
}
.schedule-empty {
    padding: 26px 10px;
    color: #6b7280;
    font-weight: 600;
    text-align: center;
    background: #fff;
    border: 1px solid #dde3ea;
    border-radius: 12px;
}

/* CARD-278: public schedule filters and date grouping stay inside the schedule page. */
body.bgca-public-schedule .schedule-status-tabs {
    display: flex;
    gap: 7px;
    margin: 0 0 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
body.bgca-public-schedule .schedule-status-tab,
body.bgca-public-schedule .schedule-month {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 7px 11px;
    border: 1px solid #d9dee5;
    border-radius: 999px;
    background: #fff;
    color: #3e4951;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
}
body.bgca-public-schedule .schedule-status-tab span {
    min-width: 18px;
    padding: 1px 5px;
    border-radius: 999px;
    background: #eef1f5;
    color: #59677c;
    font-size: 11px;
    text-align: center;
}
body.bgca-public-schedule .schedule-status-tab.is-active,
body.bgca-public-schedule .schedule-month.is-active {
    border-color: #ce0810;
    background: #ce0810;
    color: #fff;
}
body.bgca-public-schedule .schedule-status-tab.is-active span {
    background: rgba(255, 255, 255, .22);
    color: #fff;
}
body.bgca-public-schedule .schedule-months {
    display: flex;
    gap: 8px;
    margin: 0 0 16px;
    padding: 2px 0 7px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
body.bgca-public-schedule .schedule-day-group + .schedule-day-group { margin-top: 22px; }
body.bgca-public-schedule .schedule-day-group > .schedule-card + .schedule-card { margin-top: 10px; }
body.bgca-public-schedule .schedule-day-heading {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 9px;
    color: #17212d;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
}
body.bgca-public-schedule .schedule-day-heading small,
body.bgca-public-schedule .schedule-card-date-header small {
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
}
body.bgca-public-schedule .schedule-card-date-header {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    padding: 9px 14px;
    border-bottom: 1px solid #eef1f5;
    color: #17212d;
    font-size: 14px;
    font-weight: 800;
    text-align: center;
}

/* CARD-278 v3: one compact filter surface, preserving the existing BROS palette. */
body.bgca-public-schedule .schedule-box { background: #f3f5f8; }
body.bgca-public-schedule .schedule-filter--v3 {
    display: grid;
    grid-template-columns: minmax(190px, auto) minmax(145px, 210px) minmax(190px, 260px);
    justify-content: center;
    align-items: end;
    gap: 8px 12px;
    margin: 0;
    padding: 9px 10px 7px;
    border: 1px solid #d7dde5;
    border-radius: 0;
    background: #fff;
    box-shadow: 0 1px 3px rgba(22, 58, 99, .05);
}
body.bgca-public-schedule .schedule-control { min-width: 0; }
body.bgca-public-schedule .schedule-control label { display: block; margin: 0 0 3px; color: #52657a; font-size: 12px; font-weight: 700; line-height: 1.2; }
body.bgca-public-schedule .schedule-filter--v3 .form-control { width: 100%; min-width: 0; height: 44px; border-color: #c9d2dd; border-radius: 3px; box-shadow: none; font-size: 13px; }
body.bgca-public-schedule .schedule-season-nav { display: flex; align-items: center; justify-content: center; gap: 5px; min-height: 44px; color: #1f3854; }
body.bgca-public-schedule .schedule-season-nav strong { font-size: 14px; white-space: nowrap; }
body.bgca-public-schedule .schedule-season-arrow { display: grid; width: 44px; height: 44px; color: #1f3854; font-size: 25px; line-height: 1; place-items: center; text-decoration: none; }
body.bgca-public-schedule .schedule-season-arrow:hover,
body.bgca-public-schedule .schedule-season-arrow:focus { background: #e6edf5; color: #ce0810; text-decoration: none; }
body.bgca-public-schedule .schedule-season-arrow.is-disabled { color: #b8c1cb; }
body.bgca-public-schedule .schedule-stage-label { margin: 0 0 0 3px; color: #52657a; font-size: 12px; font-weight: 700; }
body.bgca-public-schedule .schedule-stage-select { width: auto !important; max-width: 132px; min-height: 44px; font-size: 12px; }
body.bgca-public-schedule .schedule-team-search-wrap { min-width: 0; }
body.bgca-public-schedule .schedule-team-search { min-width: 0 !important; }
body.bgca-public-schedule .schedule-minor-tabs { display: flex; grid-column: 2 / 4; gap: 4px; min-width: 0; margin: 0; padding: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.bgca-public-schedule .schedule-minor-tab { display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center; min-height: 36px; padding: 6px 11px; border: 1px solid #cbd3dd; border-radius: 2px; background: #fff; color: #34485e; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none; }
body.bgca-public-schedule .schedule-minor-tab.is-active { border-color: #ce0810; background: #ce0810; color: #fff; }
body.bgca-public-schedule .schedule-months { display: flex; gap: 0; margin: 7px 0 11px; padding: 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
body.bgca-public-schedule .schedule-month { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 36px; padding: 7px 11px 5px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #64748b; font-size: 12px; font-weight: 700; line-height: 1.2; text-decoration: none; }
body.bgca-public-schedule .schedule-month:hover,
body.bgca-public-schedule .schedule-month:focus { color: #ce0810; text-decoration: none; }
body.bgca-public-schedule .schedule-month.is-active { border-bottom-color: #ce0810; background: transparent; color: #ce0810; }
@media (max-width: 767px) {
    body.bgca-public-schedule .schedule-filter--v3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 7px 9px; padding: 8px; }
    body.bgca-public-schedule .schedule-season-nav { grid-column: 1 / -1; }
    body.bgca-public-schedule .schedule-team-control { grid-column: 1 / -1; }
    body.bgca-public-schedule .schedule-minor-tabs { grid-column: 1 / -1; }
    body.bgca-public-schedule .schedule-filter--v3 .form-control { font-size: 13px; }
}

@media (max-width: 719px) {
    body.bgca-public-schedule .site-top-banner {
        height: clamp(56px, 18vw, 72px);
        object-fit: contain;
        background: #e13936;
    }
    body.bgca-public-schedule .schedule-box { padding-top: 9px; padding-bottom: 10px; }
    body.bgca-public-schedule .schedule-filter { margin-bottom: 10px; padding: 9px; }
    body.bgca-public-schedule .schedule-status-tabs { margin-bottom: 8px; }
    body.bgca-public-schedule .schedule-months { margin-bottom: 12px; }
    body.bgca-public-schedule .schedule-status-tab,
    body.bgca-public-schedule .schedule-month { min-height: 44px; padding: 6px 10px; font-size: 12px; }
    body.bgca-public-schedule .schedule-card-list { gap: 9px; }
    body.bgca-public-schedule .schedule-day-group + .schedule-day-group { margin-top: 17px; }
    body.bgca-public-schedule .schedule-day-heading { margin-bottom: 7px; font-size: 16px; }
    body.bgca-public-schedule .schedule-card-date-header { padding: 7px 10px; font-size: 13px; }
    body.bgca-public-schedule .schedule-card--panel .schedule-card-main { min-height: 170px; }
    body.bgca-public-schedule .schedule-card--panel .schedule-team { padding: 12px 5px; }
    body.bgca-public-schedule .schedule-card--panel .schedule-logo-wrap,
    body.bgca-public-schedule .schedule-card--panel .schedule-team-logo,
    body.bgca-public-schedule .schedule-card--panel .schedule-logo-fallback { width: 70px; height: 70px; }
    body.bgca-public-schedule .schedule-card--panel .schedule-team-logo { width: auto; height: auto; max-width: 70px; max-height: 70px; }
    body.bgca-public-schedule .schedule-card--panel .schedule-scoreboard { padding: 13px 11px; }
    body.bgca-public-schedule .schedule-card--panel .schedule-time { margin-bottom: 10px; font-size: 29px; }
    body.bgca-public-schedule .schedule-card--panel .schedule-card-meta { padding: 8px 11px; }
}

/* CARD-278 v3: one compact search and division toolbar. */
body.bgca-public-schedule .schedule-filter--v3 {
    display: grid; grid-template-columns: minmax(150px, .7fr) minmax(180px, 1fr) minmax(170px, .9fr);
    align-items: end; gap: 8px 14px; margin-bottom: 0; padding: 0 0 10px;
    border: 0; border-radius: 0; background: transparent; box-shadow: none;
}
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav {
    grid-column: auto; display: flex; flex-wrap: wrap; justify-content: center;
    min-width: 0; min-height: 44px; gap: 4px; border: 0; background: transparent;
}
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav strong { font-size: 16px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-arrow { flex: 0 0 44px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-control { min-width: 0; }
body.bgca-public-schedule .schedule-filter--v3 label { display: block; margin: 0 0 3px; font-size: 12px; color: #52657a; font-weight: 600; }
body.bgca-public-schedule .schedule-filter--v3 .form-control { width: 100%; min-width: 0; height: 44px; border: 1px solid #c9d2dd; border-radius: 4px; background: #fff; box-shadow: none; font-size: 14px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-stage-label { margin: 0; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-stage-select { width: auto; max-width: 190px; font-size: 12px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-team-search-wrap { width: 100%; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-team-search { padding-right: 44px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-team-toggle { width: 44px; height: 44px; top: 0; right: 0; color: #52657a; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-team-dropdown { max-height: 240px; overflow-y: auto; z-index: 20; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-team-dropdown li { min-height: 44px; display: flex; align-items: center; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tabs { grid-column: 3; display: flex; gap: 2px; padding: 0; margin: 0; overflow-x: auto; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tab { flex: 1 0 auto; min-height: 44px; padding: 5px 9px; border: 0; border-radius: 3px; background: transparent; color: #52657a; font-size: 13px; font-weight: 600; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tab.is-active { background: #1f3854; color: #fff; }
body.bgca-public-schedule .schedule-months { gap: 0; margin: 0 0 12px; padding: 0; border-top: 1px solid #d7dde5; border-bottom: 1px solid #d7dde5; background: transparent; }
body.bgca-public-schedule .schedule-month { min-height: 44px; padding: 6px 13px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: #52657a; font-size: 13px; font-weight: 600; }
body.bgca-public-schedule .schedule-month:last-child { border-right: 0; }
body.bgca-public-schedule .schedule-month.is-active { border-color: #ce0810; background: transparent; color: #b50912; }
body.bgca-public-schedule .schedule-month:hover { background: #e9eef4; color: #1f3854; }
body.bgca-public-schedule .schedule-filter--v3 :focus-visible,
body.bgca-public-schedule .schedule-month:focus-visible { outline: 2px solid #1f3854; outline-offset: 2px; }
body.bgca-public-schedule .schedule-box { transition: opacity .16s ease; }
body.bgca-public-schedule .schedule-box.is-loading { opacity: .56; pointer-events: none; }
body.bgca-public-schedule .schedule-day-group { margin-top: 0; margin-bottom: 10px; }
@media (max-width: 767px) {
    body.bgca-public-schedule .schedule-filter--v3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px 10px; }
    body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav { grid-column: 1 / -1; }
    body.bgca-public-schedule .schedule-filter--v3 .schedule-team-control { grid-column: 1; grid-row: 2; }
    body.bgca-public-schedule .schedule-filter--v3 .schedule-division-control { grid-column: 2; grid-row: 2; }
    body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tabs { grid-column: 1 / -1; justify-content: flex-end; }
    body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tab { flex: 0 0 auto; min-width: 44px; }
    body.bgca-public-schedule .schedule-filter--v3 .schedule-stage-select { max-width: 175px; }
    body.bgca-public-schedule .schedule-month { min-height: 44px; padding: 6px 10px; font-size: 12px; }
}
@media (max-width: 359px) {
    body.bgca-public-schedule .schedule-filter--v3 .schedule-stage-label { display: none; }
    body.bgca-public-schedule .schedule-filter--v3 .schedule-stage-select { max-width: 160px; }
}
/* ===== 分組對賽表 (group_table)：可讀性 + 移除裝飾性底線（mobile + desktop 共用）===== */
.group_table,
.group_table th,
.group_table td,
.group_table p {
    color: #ffffff;
}
.group_table a,
.group_table a:link,
.group_table a:visited {
    color: #ffffff;
    text-decoration: none;
}
.group_table a:hover,
.group_table a:focus,
.group_table a:active {
    color: #f6c44f;
    text-decoration: none;
}
.group_table > thead > tr > th,
.group_table .group_title {
    background-color: #111827;
    color: #ffffff;
    border-color: rgba(255, 255, 255, .14);
}
.group_table .group_title h4 {
    color: #ffffff;
}
.group_table > tbody > tr > td,
.group_table > tbody > tr > th {
    background-color: #1f2937;
    color: #ffffff;
    border-color: rgba(255, 255, 255, .12);
}
.group_table > tbody > tr > td:first-child {
    background-color: #243244;
    color: #ffffff;
}
.group_table > tbody > tr:hover > td,
.group_table > tbody > tr:hover > th {
    background-color: #2b3a52;
}

/* ===== 主頁賽程欄：殺掉底線（覆蓋 bootstrap cosmo 的 table a:not(.btn) 規則）===== */
.home-score-strip a,
.home-score-strip a:link,
.home-score-strip a:visited,
.home-score-strip a:hover,
.home-score-strip a:focus,
.home-score-strip a:active,
.home-score-strip .match-card,
.home-score-strip .match-card:hover,
.home-score-strip .match-card:focus {
    text-decoration: none !important;
}

/* Same HKS proportions; BGCA brand colours and logo-free teams. */
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) > .container { width:100%; max-width:1170px; padding:0 15px; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .wrap { padding:0; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-masthead { width:100%!important; max-width:100%; border-radius:0; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-nav { margin-bottom:24px; border-radius:0; border-bottom:3px solid #f87917; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-nav > .container { width:100%; padding:0 15px; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .navbar-nav > li > a { padding:15px 12px; font-size:15px; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .navbar-nav > li:nth-child(2) > a { max-width:245px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.bgca-public-home .home-score-strip .uList { display:flex; width:100%; list-style:none; padding:0; margin:0; align-items:center; }
body.bgca-public-home .home-score-strip table.uList { display:table; width:auto; }
body.bgca-public-home .schedule-scroll-area { flex:1; min-width:0; width:auto; }
body.bgca-public-home .schedule-scroll-control { flex:0 0 32px; width:32px; }
body.bgca-public-home #scroller { min-width:0; margin-left:0; overflow-x:auto; max-width:100%; scroll-snap-type:x proximity; }
body.bgca-public-home .match-cell { scroll-snap-align:start; }
body.bgca-public-home .match-card { width:216px; padding:10px 12px; margin:6px; background:#1f2937; color:#e5e7eb; border-radius:10px; }
body.bgca-public-home .mc-name { white-space:normal; overflow-wrap:anywhere; font-size:14px; color:#f8fafc; }
body.bgca-public-home .mc-time { color:#b3bdcb; }
body.bgca-public-home .mc-score { font-size:22px; color:#e5e7eb; }
body.bgca-public-home .score_win { color:#ffb46b; }
body.bgca-public-home .mc-badge-final { color:#ffb46b; background:rgba(248,121,23,.16); }
body.bgca-public-home .group_table { min-width:560px; }
body.bgca-public-home .bgca-home-section { overflow-x:auto; max-width:100%; }
body.bgca-public-home .tab-selector-bar { display:flex; align-items:center; gap:12px; padding:12px 0; }
body.bgca-public-home .tab-selector-control { flex:1; }
body.bgca-public-home .tab-selector-label { white-space:nowrap; margin:0; }
body.bgca-public-schedule .schedule-filter--v3 { grid-template-columns: minmax(110px,.8fr) minmax(170px,1.4fr) minmax(110px,1fr) minmax(130px,1.3fr) minmax(100px,.8fr); }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav { grid-column:auto; }
body.bgca-public-schedule .schedule-season-nav strong { display:none; }
body.bgca-public-schedule .schedule-season-nav { align-self:end; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-stage-select { max-width:100%; width:100%; }
body.bgca-public-schedule .schedule-day-group > h2 { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
body.bgca-public-schedule .schedule-card--panel { display:block; margin:0; padding:0; overflow:hidden; border-radius:14px; }
body.bgca-public-schedule .schedule-card--panel .schedule-card-main { display:grid; grid-template-columns:minmax(0,1fr) minmax(170px,240px) minmax(0,1fr); min-height:180px; gap:0; }
body.bgca-public-schedule .schedule-card--panel .schedule-team { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:20px 16px; gap:8px; }
body.bgca-public-schedule .schedule-card--panel .schedule-team-name { font-size:20px; color:#152b3c; text-align:center; white-space:normal; overflow-wrap:anywhere; text-decoration:none; }
body.bgca-public-schedule .schedule-card--panel .schedule-scoreboard { background:linear-gradient(145deg,#087dbd,#075894); margin:0 -12px; padding:20px 25px; }
body.bgca-public-schedule .schedule-card--panel .schedule-card-main::before,body.bgca-public-schedule .schedule-card--panel .schedule-card-main::after { background:#f87917; }
body.bgca-public-schedule .schedule-card--panel .schedule-score { display:flex; flex-direction:row; align-items:center; gap:8px; }
body.bgca-public-schedule .schedule-card--panel .schedule-score-num { font-size:38px; color:#fff; line-height:1.2; }
body.bgca-public-schedule .schedule-card--panel .schedule-status { display:inline; padding:0; background:none; color:white; font-size:11px; white-space:nowrap; }
body.bgca-public-schedule .schedule-card--panel .schedule-time { font-size:38px; color:white; margin-bottom:14px; }
body.bgca-public-schedule .schedule-card--panel .schedule-game { color:white; }
body.bgca-public-schedule .schedule-card--panel .schedule-card-meta { display:flex; flex-wrap:wrap; justify-content:center; }
body.bgca-public-schedule .schedule-team-option { width:100%; text-align:left; padding:10px 12px; border:0; background:#fff; color:#17314a; }
body.bgca-public-schedule .schedule-team-option:focus,body.bgca-public-schedule .schedule-team-option:hover { background:#eaf3fc; outline:2px solid #087dbd; outline-offset:-2px; }
body.bgca-public-schedule .schedule-card:focus-visible { outline:3px solid #087dbd; outline-offset:3px; }
body.bgca-public-match .md-video .poster { width:100%; border:0; padding:0; }
@media(max-width:991px) {
 body.bgca-public-schedule .schedule-filter--v3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-team-control,body.bgca-public-schedule .schedule-filter--v3 .schedule-division-control { grid-column:auto; grid-row:auto; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav { grid-column:auto; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tabs { grid-column:1/-1; }
}
@media(min-width:768px) and (max-width:1050px) {
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .navbar-nav > li > a { padding:15px 9px; font-size:14px; }
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .navbar-nav > li:nth-child(2) > a { max-width:190px; }
}
@media(max-width:767px) {
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) > .container { padding:0 10px; }
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-nav { margin-bottom:14px; }
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .navbar-nav > li:nth-child(2) > a { max-width:none; white-space:normal; }
 body.bgca-public-home .home-score-strip .schedule-scroll-control { flex-basis:26px; width:26px; }
 body.bgca-public-home .group_table { font-size:12px; }
 body.bgca-public-schedule .schedule-card--panel .schedule-card-main { grid-template-columns:minmax(0,1fr) 132px minmax(0,1fr); min-height:154px; }
 body.bgca-public-schedule .schedule-card--panel .schedule-team { padding:12px 6px; }
 body.bgca-public-schedule .schedule-card--panel .schedule-team-name { font-size:14px; line-height:1.5; }
 body.bgca-public-schedule .schedule-card--panel .schedule-jersey { font-size:11px; }
 body.bgca-public-schedule .schedule-card--panel .schedule-scoreboard { margin:0 -6px; padding:14px 16px; }
 body.bgca-public-schedule .schedule-card--panel .schedule-score-num { font-size:28px; }
 body.bgca-public-schedule .schedule-card--panel .schedule-status { font-size:10px; }
 body.bgca-public-schedule .schedule-card--panel .schedule-time { font-size:28px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) > .container { max-width:1170px!important; margin-inline:auto!important; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-masthead { max-height:none; object-fit:contain; }
body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .marquee:empty { display:none; }
body.bgca-public-schedule .schedule-filter--v3 { display:grid; align-items:end; padding:12px 0; margin:0; }
body.bgca-public-schedule .schedule-season-nav { flex-wrap:nowrap; gap:4px; padding:0; border:0; background:transparent; min-height:44px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-arrow { flex:0 0 28px; width:28px; min-width:28px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-stage-select { flex:1; width:0; min-width:0; }
body.bgca-public-schedule .schedule-card-date-header { background:#fff; color:#1f2937; }
body.bgca-public-schedule .schedule-card-date-header small { color:#68798a; }
body.bgca-public-schedule .schedule-box { margin:0; padding:0 15px 20px; border:0; border-radius:0; box-shadow:none; }
body.bgca-public-schedule .schedule-episode-note[hidden] { display:none!important; }
@media(max-width:767px) {
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-nav .navbar-header { display:flex; align-items:center; justify-content:space-between; width:100%; }
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-nav .navbar-brand { color:#fff; margin:0; padding:15px 0; }
 body:is(.bgca-public-home,.bgca-public-match,.bgca-public-schedule) .bgca-public-nav .navbar-toggle { margin:8px 0 8px auto; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav { grid-column:1/-1; grid-row:1; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-team-control { grid-column:1; grid-row:2; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-division-control { grid-column:2; grid-row:2; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-league-control { grid-column:1; grid-row:3; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-type-control { grid-column:2; grid-row:3; }
}
body.bgca-public-home .slider[hidden] { display:none!important; }
body.bgca-public-home .home-score-strip { margin:16px 0; }
body.bgca-public-home .home-score-strip > .col-md-12 { padding:0; }
body.bgca-public-home .mc-time { font-size:12px; font-weight:500; }
body.bgca-public-schedule .schedule-card--panel .schedule-team-name,
body.bgca-public-schedule .schedule-card--panel .schedule-jersey { align-self:center; text-align:center; }
body.bgca-public-schedule > .container > .row { margin-inline:0; }
body.bgca-public-schedule .schedule-month.is-active { border-color:#0874bd; color:#075894; }

/* Homepage parity: HKS component spacing and breakpoints; BGCA brand artwork. */
body.bgca-public-home { font-family:Lato,"Helvetica Neue",Helvetica,Arial,sans-serif; font-size:15px; color:#333; background:#f4f6f8; }
body.bgca-public-home > .container { padding:0 15px; width:100%!important; max-width:1170px!important; }
body.bgca-public-home > .container > .wrap { padding:0 15px!important; background:#fff!important; overflow:visible!important; }
body.bgca-public-home .wrap > .bgca-public-masthead { width:100%!important; height:196px!important; max-height:none!important; border-radius:0; object-fit:contain; background:#0c537f; }
body.bgca-public-home .bgca-public-nav { border:0; border-radius:0; margin:0 0 20px; min-height:50px; }
body.bgca-public-home .bgca-public-nav > .container { max-width:100%!important; }
body.bgca-public-home .home-score-strip { margin:0 -15px 12px; }
body.bgca-public-home .home-score-strip > .col-md-12 { padding:0 15px; }
body.bgca-public-home .home-score-strip-inner { position:relative; z-index:2; }
body.bgca-public-home .home-score-strip .uList { display:flex; width:100%; align-items:center; }
body.bgca-public-home .home-score-strip .schedule-scroll-control { flex:0 0 35px; width:35px; justify-content:center; }
body.bgca-public-home .schedule-scroll-btn { width:28px; height:28px; padding:0; }
body.bgca-public-home #scroller { min-width:0; margin:0; padding:0 2px 4px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; }
body.bgca-public-home #scroller > table,body.bgca-public-home #scroller > table > tbody,body.bgca-public-home #scroller > table > tbody > tr { display:flex; width:max-content; border-spacing:0; }
body.bgca-public-home #scroller .match-cell { display:block; flex:0 0 228px; width:228px!important; padding:0; scroll-snap-align:start; }
body.bgca-public-home .match-card { width:216px; min-height:0; margin:6px; padding:10px 12px; border:1px solid rgba(255,255,255,.08); border-radius:10px; background:#1f2937; box-shadow:0 2px 8px rgba(0,0,0,.25); }
body.bgca-public-home .match-card:hover { transform:none; }
body.bgca-public-home .mc-top { margin-bottom:8px; gap:4px; }
body.bgca-public-home .mc-badge { padding:2px 9px; font-size:11px; font-weight:700; line-height:1.7; }
body.bgca-public-home .mc-day-label { font-size:12px; font-weight:700; line-height:1.7; white-space:nowrap; }
body.bgca-public-home .mc-time { display:block; margin:-2px 0 8px; color:#9ca3af; font-size:12px; white-space:nowrap; }
body.bgca-public-home .mc-team { gap:8px; padding:5px 0; min-height:36px; }
body.bgca-public-home .mc-name { font-size:14px; font-weight:400; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body.bgca-public-home .mc-score { min-width:24px; font-size:18px; font-weight:700; }
body.bgca-public-home .col-md-15 { width:100%; padding:0 15px; }
body.bgca-public-home .home-content-section { background:#fff; }
body.bgca-public-home .tab-select-section { display:block; margin:0 0 18px; }
body.bgca-public-home .nav-pills[hidden] { display:none!important; }
body.bgca-public-home .tab-selector-bar { display:block; margin:10px 0 14px; padding:0; border:0; border-radius:0; background:none; text-align:right; }
body.bgca-public-home .tab-selector-label { display:inline-block; margin:0 10px 0 0; font-size:12px; font-weight:700; color:#44525f; letter-spacing:1px; vertical-align:middle; }
body.bgca-public-home .tab-selector-control { display:inline-block; position:relative; width:320px; max-width:100%; vertical-align:middle; }
body.bgca-public-home .tab-selector-control::after { content:''; position:absolute; top:50%; right:14px; margin-top:-3px; border-left:6px solid transparent; border-right:6px solid transparent; border-top:7px solid #2d4358; pointer-events:none; }
body.bgca-public-home .js-tab-select { height:auto; padding:10px 42px 10px 14px; border:1px solid #8897a3; border-radius:4px; color:#22384a; font-size:15px; font-weight:700; background:linear-gradient(#f7f9fb,#d7e0e7); appearance:none; }
body.bgca-public-home .mobile-table-scroll { width:100%; max-width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
body.bgca-public-home .group_table { min-width:720px; margin:0; border:0!important; border-collapse:separate; border-spacing:0; }
body.bgca-public-home .group_table th,body.bgca-public-home .group_table td { border:0!important; box-shadow:inset -1px -1px 0 #303a49; }
body.bgca-public-home .group_table p { margin:0; }
body.bgca-public-home .panel { border:0; border-radius:0; margin-bottom:20px; box-shadow:none; }
body.bgca-public-home .panel-heading { background:#111827; color:#fff; filter:none; border:0; }
body.bgca-public-home .ranking { padding:15px; font-size:10px; background:#fff; }
body.bgca-public-home .ranking .row { display:block; margin-inline:-15px; }
body.bgca-public-home .ranking .table { width:100%; min-width:0; margin-bottom:20px; font-size:10px; }
body.bgca-public-home .standings-scroll { margin-bottom:14px; }
body.bgca-public-home .standings-heading { margin:0 0 10px; color:#22384a; font-size:18px; font-weight:700; }
body.bgca-public-home .standings-scroll[hidden] { display:none!important; }
body.bgca-public-home .stats { min-width:620px; margin:0; font-size:10px; }
body.bgca-public-home a:focus-visible,body.bgca-public-home button:focus-visible,body.bgca-public-home select:focus-visible,body.bgca-public-home [tabindex="0"]:focus-visible { outline:2px solid #0874bd; outline-offset:2px; }
@media(min-width:992px) { body.bgca-public-home .ranking .row > .col-md-4 { float:left; width:33.33333333%; padding:0 15px; } }
@media(max-width:991px) {
 body.bgca-public-home > .container { max-width:100%!important; }
 body.bgca-public-home .home-score-strip .schedule-scroll-control { display:none; }
 body.bgca-public-home .ranking .row > .col-md-4 { float:none; width:100%; }
}
@media(max-width:767px) {
 body.bgca-public-home > .container { padding:0; }
 body.bgca-public-home > .container > .wrap { padding:0 10px 18px!important; box-shadow:none; background:#f4f6f8!important; }
 body.bgca-public-home .wrap > .bgca-public-masthead { width:calc(100% + 20px)!important; max-width:none!important; height:clamp(76px,24vw,132px)!important; margin:0 -10px; }
 body.bgca-public-home .bgca-public-nav { position:sticky; top:0; z-index:50; min-height:52px; margin:0 -10px 10px; background:#111827; box-shadow:0 8px 24px rgba(0,0,0,.22); }
 body.bgca-public-home .bgca-public-nav > .container { display:block; padding:0; }
 body.bgca-public-home .bgca-public-nav .navbar-header { display:block; min-height:52px; margin:0!important; }
 body.bgca-public-home .bgca-public-nav .navbar-brand { float:left; height:52px; padding:16px 0 16px 16px; font-size:15px; line-height:20px; letter-spacing:0; }
 body.bgca-public-home .bgca-public-nav .navbar-toggle { float:right; width:44px; height:44px; margin:4px 8px 4px 0!important; padding:7px 0!important; border:0!important; border-radius:0; color:#fff; background:transparent!important; box-shadow:none; font-size:18px; }
 body.bgca-public-home #bgca-public-menu { width:100%; max-height:calc(100vh - 52px); margin:0; padding:0; overflow-y:auto; background:#111827; }
 body.bgca-public-home #bgca-public-menu .navbar-nav { width:100%; margin:0; }
 body.bgca-public-home #bgca-public-menu .navbar-nav > li > a { min-height:48px; padding:14px 18px; font-size:15px; line-height:20px; border-top:1px solid rgba(255,255,255,.08); }
 body.bgca-public-home .wrap > .row { margin-inline:-5px; }
 body.bgca-public-home .wrap > .row > [class*="col-"],body.bgca-public-home .col-md-15 { float:none; width:100%; padding:0 5px; }
 body.bgca-public-home .home-score-strip { margin-bottom:12px; }
 body.bgca-public-home .home-score-strip-inner { padding:10px 0 8px; background:#111827; }
 body.bgca-public-home #scroller .match-cell { flex-basis:248px; width:248px!important; }
 body.bgca-public-home .match-card { width:236px; }
 body.bgca-public-home .mc-team { min-height:40px; }
 body.bgca-public-home .mc-team + .mc-team { min-height:41px; }
 body.bgca-public-home .mc-name { font-size:15px; }
 body.bgca-public-home .mc-score { font-size:20px; }
 body.bgca-public-home .home-content-section { margin:0 -5px 12px; padding:10px 8px 2px; border-radius:8px; }
 body.bgca-public-home .tab-select-section { margin-bottom:12px; }
 body.bgca-public-home .tab-selector-bar { margin:0 0 10px; text-align:left; }
 body.bgca-public-home .tab-selector-label { display:block; margin:0 0 6px; color:#334155; letter-spacing:0; }
 body.bgca-public-home .tab-selector-control { display:block; width:100%; }
 body.bgca-public-home .js-tab-select { min-height:46px; border-radius:8px; background:#fff; box-shadow:none; }
 body.bgca-public-home .mobile-table-scroll { border-radius:8px; }
 body.bgca-public-home .group-matchup-scroll { margin-bottom:10px; background:#111827; }
 body.bgca-public-home .group_table { font-size:11px!important; }
 body.bgca-public-home .group_table .group_title h4 { margin:8px 0; font-size:16px; line-height:20px; }
 body.bgca-public-home .group_table > tbody > tr > td,body.bgca-public-home .group_table > tbody > tr > th { padding:7px 6px; white-space:nowrap; vertical-align:middle; }
 body.bgca-public-home .group_table tr > td:first-child { position:sticky; left:0; z-index:2; max-width:128px; color:#fff; background:#243244; box-shadow:inset -1px -1px 0 #303a49; }
 body.bgca-public-home .panel { margin:0 -5px 12px; border-radius:8px; overflow:hidden; }
 body.bgca-public-home .panel-heading { padding:12px 14px; font-size:16px; line-height:20px; }
 body.bgca-public-home .ranking { padding:10px; background:#f8fafc; font-size:12px; }
 body.bgca-public-home .ranking .row { margin-inline:0; }
 body.bgca-public-home .ranking .row > [class*="col-"] { padding:0; }
 body.bgca-public-home .ranking .table { margin-bottom:10px; table-layout:fixed; font-size:12px; border-radius:8px; overflow:hidden; }
 body.bgca-public-home .ranking .table th,body.bgca-public-home .ranking .table td { padding:7px 5px!important; line-height:17px; white-space:normal; word-break:break-word; vertical-align:middle; }
 body.bgca-public-home .ranking .table tr > :first-child:not([colspan]) { width:32px; }
 body.bgca-public-home .ranking .table tr > :nth-child(4),body.bgca-public-home .ranking .table tr > :nth-child(5) { width:48px; }
 body.bgca-public-home .standings-scroll { width:auto; max-width:none; margin:0 0 14px; background:#fff; }
 body.bgca-public-home .stats { font-size:12px; }
}

/* Schedule search follows HKS; fixtures use a compact score sheet without logos. */
body.bgca-public-schedule .schedule-filter--v3 { grid-template-columns:minmax(150px,.7fr) minmax(180px,1fr) minmax(170px,.9fr); align-items:end; gap:8px 14px; padding:0 0 10px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav { grid-column:auto; display:flex; align-items:center; justify-content:center; flex-wrap:nowrap; gap:4px; min-height:44px; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav strong { display:block; flex:0 1 auto; max-width:250px; margin:0; overflow:visible; white-space:normal; text-overflow:clip; color:#20354c; font-size:16px; font-weight:700; line-height:1.35; text-align:center; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-arrow { display:flex; align-items:center; justify-content:center; flex:0 0 36px; width:36px; min-width:36px; min-height:44px; border:0; border-radius:4px; background:transparent; color:#294562; font-size:23px; text-decoration:none; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-arrow:hover { background:#e4edf5; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-season-arrow.is-disabled { color:#8b9bab; }
body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tabs { grid-column:3; }
body.bgca-public-schedule .schedule-filter--v3 .form-control { height:44px; border-radius:4px; color:#20354c; font-size:14px; }
body.bgca-public-schedule .schedule-team-search::placeholder { color:#66768a; opacity:1; }
body.bgca-public-schedule .schedule-team-dropdown { border:1px solid #b9c8d8; border-radius:4px; box-shadow:0 8px 18px rgba(17,38,62,.13); background:#fff; }
body.bgca-public-schedule .schedule-team-dropdown[hidden] { display:none!important; }
body.bgca-public-schedule .schedule-team-option { min-height:44px; color:#20354c; font-size:14px; }
body.bgca-public-schedule .schedule-team-option:hover,body.bgca-public-schedule .schedule-team-option:focus { background:#e7f1f9; color:#075894; outline:0; }
body.bgca-public-schedule .schedule-team-empty { padding:14px; color:#52657a; }
body.bgca-public-schedule [data-bgca-schedule-root][aria-busy="true"] .schedule-card-list { opacity:.55; transition:opacity .15s ease; }
body.bgca-public-schedule .schedule-card-list { display:grid; gap:26px; }
body.bgca-public-schedule .schedule-day-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 16px; }
body.bgca-public-schedule .schedule-day-group > h2 { display:flex!important; position:static; width:auto; height:auto; padding:0; overflow:visible; clip:auto; align-items:baseline; gap:10px; grid-column:1/-1; margin:0; color:#20354c; font-size:17px; font-weight:750; line-height:1.4; }
body.bgca-public-schedule .schedule-day-group > h2 small { color:#52657a; font-size:13px; font-weight:500; }
body.bgca-public-schedule .schedule-card--scoreline { display:block; overflow:hidden; margin:0; border:1px solid #cdd8e4; border-radius:12px; background:#fff; color:#20354c; box-shadow:none; text-decoration:none; transform:none; transition:border-color .15s ease,background-color .15s ease; }
body.bgca-public-schedule .schedule-card--scoreline:hover { border-color:#6a97bb; background:#fcfdff; box-shadow:none; transform:none; }
body.bgca-public-schedule .schedule-card--scoreline:focus-visible { outline:2px solid #0874bd; outline-offset:3px; box-shadow:none; }
body.bgca-public-schedule .schedule-card--scoreline .schedule-card-date-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 18px; border:0; border-bottom:1px solid #e0e7ef; background:#f4f7fa; color:#52657a; font-size:12px; line-height:20px; }
body.bgca-public-schedule .fixture-phase { font-weight:600; }
body.bgca-public-schedule .fixture-status { display:inline-flex; align-items:center; gap:7px; color:#52657a; font-weight:650; }
body.bgca-public-schedule .fixture-status.is-live { color:#a54600; }
body.bgca-public-schedule .fixture-status.is-live::before { content:''; width:7px; height:7px; border-radius:50%; background:#d96500; }
body.bgca-public-schedule .fixture-status.is-upcoming { color:#075894; }
body.bgca-public-schedule .fixture-body { display:grid; grid-template-columns:minmax(0,1fr) 112px; align-items:center; gap:20px; padding:14px 18px; }
body.bgca-public-schedule .fixture-teams { display:grid; gap:11px; min-width:0; }
body.bgca-public-schedule .fixture-team { display:grid; grid-template-columns:minmax(0,1fr) 48px; align-items:center; gap:12px; min-height:44px; }
body.bgca-public-schedule .fixture-team-copy { display:grid; gap:3px; min-width:0; }
body.bgca-public-schedule .fixture-team-name { color:#20354c; font-size:16px; font-weight:750; line-height:1.35; text-decoration:none; overflow-wrap:anywhere; }
body.bgca-public-schedule .fixture-team-name:hover,body.bgca-public-schedule .fixture-team-name:focus { color:#075894; text-decoration:underline; text-underline-offset:3px; }
body.bgca-public-schedule .fixture-jersey { color:#52657a; font-size:11px; line-height:1.4; }
body.bgca-public-schedule .fixture-points { color:#52657a; font-size:30px; font-weight:750; line-height:1.1; text-align:right; font-variant-numeric:tabular-nums; }
body.bgca-public-schedule .fixture-points.is-winner { color:#075894; }
body.bgca-public-schedule .fixture-start { display:grid; align-content:center; justify-items:center; gap:4px; min-height:100px; padding-left:16px; border-left:1px solid #dce5ed; }
body.bgca-public-schedule .fixture-start > span { color:#52657a; font-size:11px; }
body.bgca-public-schedule .fixture-start time { color:#20354c; font-size:22px; font-weight:700; line-height:1.2; font-variant-numeric:tabular-nums; }
body.bgca-public-schedule .is-upcoming .fixture-start time { color:#075894; font-size:26px; }
body.bgca-public-schedule .fixture-detail { display:inline-flex; align-items:center; gap:9px; min-height:44px; color:#075894; font-size:12px; font-weight:650; text-decoration:none; }
body.bgca-public-schedule .fixture-detail:hover { text-decoration:underline; text-underline-offset:3px; }
body.bgca-public-schedule .fixture-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px 14px; min-height:36px; padding:8px 18px; border-top:1px solid #e0e7ef; color:#52657a; font-size:12px; line-height:1.4; }
body.bgca-public-schedule .fixture-meta .fa { margin-right:3px; color:#52657a; }
body.bgca-public-schedule .fixture-meta span { overflow-wrap:anywhere; }
body.bgca-public-schedule .fixture-team-name::selection,body.bgca-public-schedule .fixture-points::selection { color:#fff; background:#075894; }
@media(max-width:991px) {
 body.bgca-public-schedule .schedule-day-group { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:767px) {
 body.bgca-public-schedule .schedule-filter--v3 { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:6px 10px; padding:0 0 10px; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-season-nav { grid-column:1/-1; min-height:44px; margin:0 0 6px; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-team-control { grid-column:1; grid-row:2; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-division-control { grid-column:2; grid-row:2; }
 body.bgca-public-schedule .schedule-filter--v3 .schedule-minor-tabs { grid-column:1/-1; }
 body.bgca-public-schedule .schedule-card-list { gap:24px; }
 body.bgca-public-schedule .schedule-card--scoreline .schedule-card-date-header { padding:8px 14px; }
 body.bgca-public-schedule .fixture-body { grid-template-columns:minmax(0,1fr) 94px; gap:14px; padding:13px 14px; }
 body.bgca-public-schedule .fixture-team { grid-template-columns:minmax(0,1fr) 42px; gap:10px; }
 body.bgca-public-schedule .fixture-start { padding-left:12px; }
 body.bgca-public-schedule .fixture-meta { padding:8px 14px; }
}
@media(prefers-reduced-motion:reduce) {
 body.bgca-public-schedule .schedule-card--scoreline,body.bgca-public-schedule [data-bgca-schedule-root] .schedule-card-list { transition:none; }
}

body.bgca-public-schedule .schedule-day-group > .schedule-card--scoreline { margin:0!important; }
body.bgca-public-schedule .fixture-points.has-three-digits { font-size:24px; }
