/* Responsive Design */
@media (max-width: 768px) {
  .filter-section,
  .filter-league_stat {
    flex-direction: column;
    align-items: flex-start;
  }

  /* Stack charts vertically on smaller screens */
  .chart-pair {
    flex-direction: column;
  }
}

/* Main container for side-by-side layout. No card of its own: each block
   inside is a board panel, so the container only lays them out. */
.content-container {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-top: 16px;
  margin-bottom: 16px;
  background-color: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
  flex-wrap: wrap; /* Allow wrapping if needed */
}

/* One block for Team, one for League, side by side */
.team-stats-block,
.league-stats-block {
  width: 100%; /* Default to full width */
  box-sizing: border-box;
  min-width: 300px; /* Prevent blocks from becoming too small */
  border: 1px solid var(--board-rule);
  background: var(--sheet);
}

/* Use media query for side-by-side layout on larger screens */
@media (min-width: 992px) { /* Adjust breakpoint as needed */
    .team-stats-block,
    .league-stats-block {
        width: calc(50% - 8px); /* Adjust width considering the gap */
    }
}


/* Headings for each block: the panel's caption bar. */
.team-stats-block h2,
.league-stats-block h2 {
  margin: 0;
  padding: 7px 12px;
  border-bottom: 1px solid var(--board-rule);
  background: var(--board-tint);
  color: var(--ink-strong);
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}

/* Container for each table — flush under its caption bar. */
.table-container {
  width: 100%;
  overflow-x: auto;
  margin: 0;
}
.content-container > .account-gate,
.content-container > .history-depth-note { flex: 1 1 100%; margin: 0; }

/* .table-splits styling — kept in table.css (single source of truth).
   This file only carries the page-level layout (containers, blocks). */

/* The odds screen's market chooser, twice: each control is a panel whose
   caption bar names it, with the tabs flush beneath. */
.team-stats-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin: 0;
}
.team-stats-controls__group {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
  border: 1px solid var(--board-rule);
  background: var(--sheet);
}
.team-stats-controls__label {
  padding: 5px 12px;
  border-bottom: 1px solid var(--board-rule);
  background: var(--board-tint);
  color: var(--ink-strong);
  font-family: var(--font-display);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.4;
  text-transform: uppercase;
}
.team-stats-controls .stats-mode-pill { border: 0; }
.team-stats-controls .stats-mode-pill__btn { min-height: 38px; }
.team-stats-controls__stats { flex-wrap: wrap; }
@media (max-width: 600px) {
  .team-stats-controls {
    align-items: stretch;
    gap: 12px;
  }
  .team-stats-controls__group { flex: 1 1 100%; }
  /* One row of equal tabs across the phone, rather than six and an orphan. */
  .team-stats-controls .stats-mode-pill {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
  }
  .team-stats-controls .stats-mode-pill__btn {
    min-height: 44px;
    padding-inline: 4px;
    font-size: 12.5px;
  }
}

/* === CHART STYLES === */

.charts-container {
  display: flex;
  flex-direction: column; /* Stack chart pairs vertically */
  gap: 0;
  margin-top: 16px;
  padding: 0;
}
.charts-container > .chart-pair { margin: 0; }
.charts-container > .chart-pair + .chart-pair { margin-top: 12px; }

.chart-pair {
  display: flex;
  gap: 20px; /* Space between scatter and histogram */
  width: 100%;
  /* padding: 0 20px; -- Removed padding here, added to charts-container */
  flex-wrap: wrap; /* Allow charts to wrap on smaller screens */
}

/* --- Styles to fix squeezed charts --- */
.chart-wrapper, /* Apply height to all chart wrappers */
.chart-pair .chart-wrapper { /* Ensure selector specificity */
  flex: 1 1 45%;    /* Allow grow/shrink, aim for half width */
  min-width: 280px; /* Slightly smaller min-width */
  position: relative; /* REQUIRED for Chart.js responsiveness */
  height: 300px;    /* <<<< SET CHART HEIGHT HERE (Adjust 300px as needed) */
  box-sizing: border-box; /* Include padding/border in element's total width/height */
}

/* Ensure canvas element behaves correctly within the wrapper */
canvas {
    max-width: 100%;
    max-height: 100%;
    display: block; /* Prevents extra space below canvas */
}
/* --- End styles to fix squeezed charts --- */


/* Optional: Add some padding/background to chart wrappers for visual separation */

.chart-wrapper {
    background-color: var(--sheet);
    border: 1px solid var(--board-rule);
    padding: 10px;
    border-radius: 0;
}
.charts-container {
  position: relative;
}

@media (max-width: 768px) {

  .team-stats-block,
  .league-stats-block {
    width: 100%;
    min-width: 0;
  }
}

/* The charts gate sits where the charts would, in line with the panels. */
.team-charts-gate { margin: 16px 0 0; }

/* The game-by-game charts: one panel, caption bar on top. */
.charts-container.team-charts {
  border: 1px solid var(--board-rule);
  background: var(--sheet);
}
.team-charts > .chart-pair { padding: 12px 12px 0; box-sizing: border-box; }
.team-charts > .chart-pair:last-child { padding-bottom: 12px; }
.team-charts > .chart-pair + .chart-pair { margin-top: 0; }
.team-charts__empty { display: none; margin: 0; padding: 12px; color: var(--twill); font-size: 13px; }
.team-charts.is-empty > .chart-pair { display: none; }
.team-charts.is-empty > .team-charts__empty { display: block; }

.team-stats-block,
.league-stats-block { align-self: flex-start; }
