/* Release 335: the Games page made simpler (bettor review against FanDuel, Fanatics and StatMuse). The three settings a bettor
   changes sit on one line (book, state, odds) with "More" beside them; a game with no current spread or total shows the moneyline
   alone; the heading is smaller on phones so the first game comes sooner. */
.bt-page .bt-quick { display: flex; flex-wrap: wrap; align-items: end; gap: 10px 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #f0f0f2; }
.bt-page .bt-quick > .bt-field { flex: 0 1 13rem; display: grid; gap: 4px; min-width: 0; }
.bt-page .bt-quick > .bt-field > label, .bt-page .bt-quick > .bt-field > .bt-label { font-size: .75rem; font-weight: 500; color: #63636b; }
.bt-page .bt-quick select { min-height: 38px; }
.bt-page .bt-quick .dw-settings.bt-qmore { flex: 0 0 auto; margin: 0; padding: 0; border: 0; position: relative; }
.bt-page .bt-quick .dw-settings.bt-qmore > summary { min-height: 38px; padding: 7px 12px; border-color: #e4e4e7; background: #fff; }
.bt-page .bt-quick .dw-settings.bt-qmore:not(.has-book) > summary { border-color: #e4e4e7; background: #fff; }
.bt-page .bt-quick .dw-settings.bt-qmore > summary [data-bt-settings-sum] { color: #18181b; font-weight: 500; }
.bt-page .bt-quick .dw-settings.bt-qmore[open] { flex: 1 1 100%; }
.bt-page .bt-quick .dw-settings.bt-qmore[open] > summary { display: inline-flex; }
.bt-page .bt-quick .dw-settings.bt-qmore > :not(summary) { margin-top: 10px; }
.bt-page .bt-quick .dw-settings.bt-qmore p { font-size: .75rem; color: #63636b; margin: 8px 0 0; }
/* one badge per game: its trust note is a tooltip; the "?" says there is one */
.bt-page .gx-head .bt-badge .bt-ev-q { display: inline-grid; place-items: center; width: 14px; height: 14px; margin-left: 4px; border: 1px solid currentColor; border-radius: 50%; font-size: 9px; line-height: 1; opacity: .7; }
.bt-page .gx-head .bt-badge[title] { cursor: help; }
@media (max-width: 640px) {
  .bt-page .bt-quick { gap: 8px; }
  .bt-page .bt-quick > .bt-field { flex: 1 1 calc(50% - 8px); }
  .bt-page .bt-quick > .bt-field:nth-child(3) { flex: 1 1 auto; }
  .bt-page .bt-hero h1 { font-size: 1.625rem; line-height: 1.2; }
  .bt-page .bt-hero .bt-lead { display: none; }
  .bt-page .bt-comp-note { display: none; }
}
/* release 338: other leagues of the same sport, when a Scoutics league has no priced games */
.bt-page .bt-other-leagues { margin: 12px 0 0; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px 8px; font-size: .875rem; color: #52525b; }
.bt-page .bt-other-leagues small { font-size: .75rem; color: #63636b; margin-left: 4px; vertical-align: baseline; }

/* release 370 (design panel): phone Games shows a price on the first screen. No account banner; the sports are one scrolling row
   of 44px chips; Upcoming / Live / Results is a small segmented control beside the "Change" chip; League, Sort and Notable live in
   the "Change" sheet (bet_today.js moves them there on phones). Heights are reserved so nothing jumps while prices load. */
@media (max-width: 640px) {
  .bt .bt-hero { padding: 0 0 8px; }
  .bt .bt-hero h1 { font-size: 20px; line-height: 1.25; margin: 0; }
  .bt .dw-view-heading { margin: 0 0 8px; }
  .bt .bt-views { margin: 0; padding: 3px; }
  .bt .bt-views button { min-height: 40px; padding: 4px 6px; font-size: 13px; line-height: 1.2; flex-wrap: wrap; justify-content: center; gap: 2px 4px; }
  .bt .bt-views button .bt-pro-tag { font-size: 11px; }
  .bt .bt-pick.bt-filters { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 8px; padding: 0; margin: 0 0 10px; border: 0; background: none; box-shadow: none; }
  .bt .bt-filters > .bt-filter-row.is-scope { display: contents; }
  .bt .bt-filters .bt-fams { grid-column: 1 / -1; display: flex; flex-wrap: nowrap; gap: 6px; padding: 0; background: none; overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; min-height: 44px; }
  .bt .bt-filters .bt-fams button { flex: 0 0 auto; min-height: 44px; height: auto; padding: 0 14px; border: 1px solid #e4e4e7; border-radius: 999px; background: #fff; color: #3f3f46; font-size: 14px; }
  .bt .bt-filters .bt-fams button[aria-selected="true"] { background: #08111C; border-color: #08111C; color: #fff; box-shadow: none; }
  .bt .bt-filters .bt-tabs.is-date { grid-column: 1; display: inline-flex; flex-wrap: nowrap; gap: 0; padding: 0; align-self: center; min-height: 44px; box-sizing: border-box; white-space: nowrap; border-radius: 10px; }
  .bt .bt-filters .bt-tabs.is-date button { flex: 0 0 auto; height: 44px; padding: 0 9px; font-size: 13px; border-radius: 10px; }
  .bt .bt-filters .bt-tabs.is-date button[aria-pressed="true"] { box-shadow: inset 0 0 0 1px #e4e4e7; }
  .bt .bt-filters > .bt-quick { grid-column: 2; margin: 0; padding: 0; border: 0; min-width: 0; }
  .bt .bt-filters > .bt-quick.is-open { grid-column: 1 / -1; }
  .bt .bt-filters > .bt-quick[hidden] { display: none; }
  .bt .bt-quick-sum { gap: 6px; padding: 6px 10px; font-size: 13px; }
  .bt .bt-quick > .bt-filter-row, .bt .bt-quick > .bt-bar { flex: 1 1 100%; margin: 0; }
  .bt .bt-quick:not(.is-open) > .bt-filter-row, .bt .bt-quick:not(.is-open) > .bt-bar { display: none !important; }
  .bt .bt-quick > .bt-filter-row.is-comp[hidden] { display: none !important; }
  .bt .bt-quick > .bt-filter-row.is-comp .bt-field { display: grid; gap: 4px; flex: 1 1 100%; }
  .bt .bt-quick > .bt-filter-row.is-comp label { font-size: 12px; font-weight: 500; color: #63636b; }
  .bt .bt-quick > .bt-bar { display: flex; flex-wrap: wrap; gap: 8px 16px; padding-top: 4px; }
  .bt .bt-quick > .bt-bar .bt-mini { display: inline-flex; align-items: center; gap: 8px; flex: 1 1 12rem; }
  .bt .bt-quick > .bt-bar .bt-mini select { flex: 1 1 auto; }
  .bt .bt-quick > .bt-bar .bt-switch { min-height: 44px; }
  .bt .bt-alert { margin: 0; }
  .bt .bt-alert h2 { font-size: 15px; line-height: 1.35; margin: 0; }
  .bt .bt-alert p { font-size: 13px; line-height: 1.4; margin: 2px 0 0; }
  .bt .bt-fresh { margin: 2px 0 8px; min-height: 18px; }
  /* release 370: selects at 16px so iOS does not zoom in */
  .bt select, .bt input:not([type="checkbox"]):not([type="radio"]), .bt textarea { font-size: 16px !important; }
}
/* release 370 (design panel): reserve the list's height while prices load (the skeleton), so the footer does not jump (CLS) */
.bt [data-bt-list][aria-busy="true"] { min-height: 70vh; }
.bt .bt-alert h2:empty::before { content: "\00a0"; }
@media (max-width: 640px) { .bt .bt-quick .dw-settings.bt-qmore > summary { min-height: 44px; } }
