/* Compact research surfaces using BetProps' existing type and colour tokens. */
.nav-section { position: relative; }
.nav-section > summary { padding: 6px 10px; cursor: pointer; font-size: 14px; color: var(--ink); list-style: none; }
.nav-section > summary::-webkit-details-marker { display: none; }
.nav-section > summary::after { content: '▾'; margin-left: 6px; font-size: 10px; color: var(--blue-line); }
.nav-section[open] > summary { color: var(--blue-line); background: var(--ice); }
.nav-section__links { position: absolute; z-index: 1100; top: 100%; left: 0; min-width: 210px; padding: 6px; background: var(--sheet); border: 1px solid var(--frost); border-top: 2px solid var(--blue-line); box-shadow: 0 6px 16px #10203012; }
.navbar .nav-section__links a { display: block; font-size: 13px; padding: 8px 12px; }
.nav-section summary:focus-visible, .schedule-controls :is(button,input):focus-visible { outline: 2px solid var(--blue-line); outline-offset: 2px; }
.secondary-navbar .secondary-links a[aria-current] { border-bottom-color: #fff; color: #fff; background: #ffffff12; }
/* Keep absolutely positioned table labels inside their scrolling card. */
.home-page .board-card__body { position: relative; }
.page-wrap .odds-page-head { max-width: none; margin: 12px 20px 16px; text-align: left; }
.page-wrap .odds-page-head h1 { font-size: 25px; margin-bottom: 6px; }
.page-wrap .odds-page-head p { max-width: none; margin: 4px 0; font-size: 13px; }
#match-odds-board, #moneyline-history, #player-props, #model-methodology { scroll-margin-top: 20px; }
.odds-fixture-heading { font-size: 17px; margin: 12px 0 4px; }
.schedule-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 16px; padding: 10px 0; border-block: 1px solid var(--frost); font-size: 12px; }
.schedule-controls input { margin-left: 8px; max-width: 180px; padding: 7px 9px; font: inherit; border: 1px solid var(--frost); border-radius: 2px; }
.schedule-controls button { padding: 7px 12px; font: inherit; border: 1px solid var(--frost); background: var(--sheet); color: var(--ink); cursor: pointer; }
.schedule-controls button[aria-pressed=true] { background: var(--ice); color: var(--blue-line); border-bottom: 2px solid var(--blue-line); }
#schedule-search-status { margin-left: auto; color: var(--twill); }
.schedule-table-wrap { overflow-x: auto; border: 1px solid var(--frost); }
.schedule-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.schedule-table :is(th,td) { padding: 10px 12px; text-align: left; border-bottom: 1px solid var(--frost); }
.schedule-table th { font-size: 10px; text-transform: uppercase; letter-spacing: .06em; color: var(--twill); background: var(--ice); }
.schedule-table tbody tr:nth-child(even) { background: #f7f9fb; }
.schedule-table tbody tr:hover { background: var(--ice); }
.schedule-table .schedule-price { text-align: right; font-family: var(--font-data); }
.schedule-table .schedule-teams { font-weight: 600; white-space: nowrap; }
.schedule-teams a { display: inline-flex; align-items: center; gap: 7px; color: var(--board); }
.schedule-teams img { width: 22px; height: 22px; object-fit: contain; }
.schedule-table a { text-underline-offset: 3px; }
.schedule-actions a { color: var(--blue-line); white-space: nowrap; margin-right: 12px; font-size: 12px; }
[data-schedule] [hidden] { display: none !important; }
@media (max-width: 860px) {
  .nav-section__links { position: static; min-width: 0; box-shadow: none; border: 0; border-left: 2px solid var(--blue-line); margin: 4px 12px 8px; }
  .nav-section > summary { padding: 10px 12px; }
}
@media (max-width: 600px) {
  .page-wrap .odds-page-head { margin-inline: 12px; }
  .schedule-table { min-width: 600px; }
  #schedule-search-status { margin-left: 0; }
}
