/* ==================================================
   JETBET — COMPACT SCHEDULE RAIL
================================================== */

.schedule-shell {
    padding: 8px 26px 9px;

    border-bottom: 1px solid var(--border-soft);

    background:
        linear-gradient(
            180deg,
            rgba(13, 17, 25, 0.96),
            rgba(8, 11, 17, 0.96)
        );
}


.schedule-toolbar {
    margin-bottom: 6px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 12px;
}


.schedule-dates {
    min-width: 0;

    display: flex;
    align-items: center;
    gap: 3px;

    overflow-x: auto;

    scrollbar-width: none;
}


.schedule-dates::-webkit-scrollbar {
    display: none;
}


.schedule-date {
    min-width: 56px;
    height: 34px;

    padding: 3px 8px;

    flex: 0 0 auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border: 1px solid transparent;
    border-radius: 8px;

    background: transparent;

    color: var(--muted);

    cursor: pointer;
}


.schedule-date span {
    font-size: 7px;
    font-weight: 900;

    letter-spacing: 0.08em;
}


.schedule-date strong {
    margin-top: 1px;

    color: var(--text-soft);

    font-size: 10px;
    font-weight: 850;
}


.schedule-date:hover {
    border-color: var(--border);

    background: var(--surface-2);
}


.schedule-date.active {
    border-color:
        color-mix(
            in srgb,
            var(--purple) 58%,
            var(--border)
        );

    background:
        rgba(128, 92, 255, 0.10);
}


.schedule-date.active span,
.schedule-date.active strong {
    color: white;
}


.schedule-status {
    flex: 0 0 auto;

    color: var(--muted-2);

    font-size: 8px;
    font-weight: 650;

    white-space: nowrap;
}


.schedule-games {
    display: flex;
    align-items: stretch;
    gap: 7px;

    overflow-x: auto;

    padding-bottom: 2px;

    scrollbar-width: thin;
    scrollbar-color: #283245 transparent;
}


.schedule-games::-webkit-scrollbar {
    height: 4px;
}


.schedule-games::-webkit-scrollbar-track {
    background: transparent;
}


.schedule-games::-webkit-scrollbar-thumb {
    border-radius: 999px;

    background: #283245;
}


.schedule-game {
    min-width: 180px;
    height: 66px;

    padding: 7px 9px;

    flex: 0 0 auto;

    display: flex;
    flex-direction: column;
    justify-content: center;

    border: 1px solid var(--border);
    border-radius: 9px;

    background:
        linear-gradient(
            135deg,
            rgba(18, 24, 35, 0.96),
            rgba(12, 16, 24, 0.98)
        );

    transition:
        border-color 120ms ease,
        transform 120ms ease;
}


.schedule-game:hover {
    border-color: #313b4d;

    transform: translateY(-1px);
}


.schedule-matchup {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 4px;
}


.schedule-team {
    min-width: 0;

    padding: 2px 4px;

    display: flex;
    align-items: center;
    gap: 5px;

    border: 0;
    border-radius: 6px;

    background: transparent;

    color: white;

    cursor: pointer;
}


.schedule-team:hover {
    background: var(--surface-3);
}


.schedule-team img {
    width: 22px;
    height: 22px;

    flex: 0 0 22px;

    object-fit: contain;
}


.schedule-team strong {
    min-width: 24px;

    color: white;

    font-size: 10px;
    font-weight: 900;

    letter-spacing: 0.01em;
}


.schedule-at {
    color: var(--muted-2);

    font-size: 8px;
    font-weight: 900;
}


.schedule-game-footer {
    margin-top: 3px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 6px;
}


.schedule-game-time {
    color: var(--text-soft);

    font-size: 8px;
    font-weight: 750;
}


.schedule-game-meta {
    color: var(--muted-2);

    font-size: 7px;
    font-weight: 750;
}


.schedule-empty {
    min-height: 54px;

    display: flex;
    align-items: center;

    color: var(--muted);

    font-size: 10px;
}


.schedule-error {
    color: var(--danger);
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 680px) {

    .schedule-shell {
        padding:
            7px
            14px
            8px;
    }


    .schedule-toolbar {
        margin-bottom: 5px;
    }


    .schedule-status {
        display: none;
    }


    .schedule-date {
        min-width: 51px;
        height: 32px;

        padding-left: 6px;
        padding-right: 6px;
    }


    .schedule-game {
        min-width: 164px;
        height: 62px;
    }


    .schedule-team img {
        width: 20px;
        height: 20px;

        flex-basis: 20px;
    }


    .schedule-team strong {
        font-size: 9px;
    }

}


/* ==================================================
   MOBILE COLLAPSIBLE SCHEDULE V4
================================================== */

.schedule-mobile-toggle {
    display: none;
}


@media (max-width: 680px) {

    .schedule-toolbar {
        gap: 6px;
    }

    .schedule-dates {
        flex: 1 1 auto;
    }

    .schedule-mobile-toggle {
        min-width: 82px;
        height: 32px;

        flex: 0 0 auto;

        display: inline-flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;

        padding: 0 10px;

        border: 1px solid var(--border);
        border-radius: 8px;

        background: var(--surface);
        color: var(--text-soft);

        font-family: inherit;
        font-size: 9px;
        font-weight: 900;

        cursor: pointer;
    }


    .schedule-shell.schedule-mobile-collapsed {
        padding:
            5px
            14px;
    }


    .schedule-shell.schedule-mobile-collapsed
    .schedule-dates,

    .schedule-shell.schedule-mobile-collapsed
    .schedule-games {
        display: none;
    }


    .schedule-shell.schedule-mobile-collapsed
    .schedule-toolbar {
        margin-bottom: 0;
        justify-content: flex-end;
    }


    .schedule-shell.schedule-mobile-collapsed
    .schedule-mobile-toggle {
        width: 100%;
    }
}


/* SCHEDULE CARD DESIGN — isolated from query controls */
.schedule-games { gap: 9px; padding-bottom: 8px; }
.schedule-game.schedule-game-v35 {
  box-sizing:border-box; position:relative; overflow:hidden; flex:0 0 178px;
  min-width:178px; height:97px; padding:15px 13px 9px;
  border:1px solid #253044; border-radius:13px;
  background:#10151f; display:flex; flex-direction:column; justify-content:center;
}
.schedule-game-v35::before {
  content:""; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(to right,var(--schedule-home) 0 50%,var(--schedule-away) 50% 100%);
}
.schedule-game-v35 .schedule-matchup {display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:3px;}
.schedule-game-v35 .schedule-score-row {display:flex;align-items:center;justify-content:space-between;min-height:23px;gap:8px;}
.schedule-game-v35 .schedule-team {flex:1 1 auto;display:flex;align-items:center;min-width:0;padding:1px 2px;gap:9px;}
.schedule-game-v35 .schedule-team img {width:19px;height:19px;flex:0 0 19px;}
.schedule-game-v35 .schedule-team strong {font-size:12px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.schedule-game-v35 .schedule-score {color:#f4f6fc;font-size:13px;line-height:1;font-weight:850;font-variant-numeric:tabular-nums;}
.schedule-game-v35 .schedule-loser .schedule-team strong,.schedule-game-v35 .schedule-loser .schedule-score {color:#78859e;}
.schedule-game-v35 .schedule-game-footer {justify-content:flex-start;margin-top:5px;min-height:12px;}
.schedule-game-v35 .schedule-game-time {color:#8193b0;font-size:9px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;}
.schedule-game-v35 .schedule-game-time.schedule-is-live {color:#ff526f;}
.schedule-game-v35 .schedule-game-meta {margin-left:auto;}
@media(max-width:680px){.schedule-game.schedule-game-v35{min-width:160px;flex-basis:160px;height:94px;padding:14px 11px 8px;}}


/* SCHEDULE COMPACT V2 — original JetBet rail dimensions and typography */
.schedule-games {gap:7px;padding-bottom:2px;}
.schedule-game.schedule-game-v35 {
  flex:0 0 180px;min-width:180px;height:70px;
  padding:8px 9px 5px;border-radius:9px;
  border-color:var(--border);background:linear-gradient(135deg,rgba(18,24,35,.96),rgba(12,16,24,.98));
  justify-content:center;
}
.schedule-game-v35::before {height:3px;}
.schedule-game-v35 .schedule-matchup {gap:0;}
.schedule-game-v35 .schedule-score-row {min-height:18px;gap:5px;}
.schedule-game-v35 .schedule-team {gap:5px;padding:0 2px;}
.schedule-game-v35 .schedule-team img {width:16px;height:16px;flex:0 0 16px;}
.schedule-game-v35 .schedule-team strong {font-size:10px;font-weight:900;letter-spacing:.01em;}
.schedule-game-v35 .schedule-score {font-size:10px;font-weight:900;}
.schedule-game-v35 .schedule-game-footer {margin-top:3px;min-height:9px;}
.schedule-game-v35 .schedule-game-time {font-size:8px;font-weight:750;letter-spacing:0;}
.schedule-game-v35 .schedule-game-meta {font-size:7px;}
@media(max-width:680px) {
  .schedule-game.schedule-game-v35 {flex-basis:164px;min-width:164px;height:68px;padding:8px 8px 5px;}
  .schedule-game-v35 .schedule-team img {width:15px;height:15px;flex-basis:15px;}
  .schedule-game-v35 .schedule-team strong {font-size:9px;}
}
