/* All Leagues page — extends Results leagues table + hero/pagination */

.tb-page-leagues .tb-leagues-hero {
  padding: 56px 0 32px;
  text-align: center;
}

.tb-leagues-hero__inner {
  max-width: 760px;
  margin: 0 auto;
}

.tb-leagues-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
}

.tb-leagues-hero__title {
  font-size: clamp(56px, 7.4vw, 108px);
  margin: 0 0 20px;
  font-style: italic;
  letter-spacing: -0.005em;
  line-height: 0.92;
  text-transform: uppercase;
}

.tb-leagues-hero__title > span:first-child {
  color: var(--ink);
}

.tb-leagues-hero__title .t-text-gradient {
  background: linear-gradient(90deg, var(--human) 0%, #ff9d4d 35%, var(--ai-soft) 70%, var(--ai) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.tb-leagues-hero__desc {
  margin: 0 auto;
  max-width: 640px;
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink-muted);
}

.tb-leagues-hero__hl--human { color: var(--human); }
.tb-leagues-hero__hl--ai { color: var(--ai); }
.tb-leagues-hero__count { color: var(--ink); font-weight: 700; }

/* Ranked table: must beat page-results 4-col grid (loaded after / before). */
.tb-page-leagues .tb-results-leagues__table-head.tb-results-leagues__table-head--ranked,
.tb-page-leagues .tb-results-leagues__row.tb-results-leagues__row--ranked {
  display: grid;
  grid-template-columns: 52px minmax(180px, 1.5fr) minmax(90px, 0.9fr) minmax(220px, 2.2fr) minmax(110px, 0.9fr);
  grid-template-areas: "rank league picks stats leader";
  align-items: center;
  gap: 18px;
}

.tb-page-leagues .tb-results-leagues__rank { grid-area: rank; }
.tb-page-leagues .tb-results-leagues__league { grid-area: league; }
.tb-page-leagues .tb-results-leagues__picks { grid-area: picks; }
.tb-page-leagues .tb-results-leagues__stats { grid-area: stats; }
.tb-page-leagues .tb-results-leagues__leader {
  grid-area: leader;
  text-align: right;
  justify-self: end;
}

.tb-page-leagues .tb-results-leagues__table-head.tb-results-leagues__table-head--ranked > div:nth-child(1) { grid-area: rank; }
.tb-page-leagues .tb-results-leagues__table-head.tb-results-leagues__table-head--ranked > div:nth-child(2) { grid-area: league; }
.tb-page-leagues .tb-results-leagues__table-head.tb-results-leagues__table-head--ranked > div:nth-child(3) { grid-area: picks; }
.tb-page-leagues .tb-results-leagues__table-head.tb-results-leagues__table-head--ranked > div:nth-child(4) { grid-area: stats; }
.tb-page-leagues .tb-results-leagues__table-head.tb-results-leagues__table-head--ranked > div:nth-child(5) { grid-area: leader; }

.tb-results-leagues__rank {
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--ink-dim);
}

.tb-page-leagues .tb-results-leagues__head {
  margin-bottom: 28px;
}

.tb-page-leagues .tb-results-leagues__head--legend-only {
  justify-content: flex-end;
  margin-bottom: 16px;
}

.tb-results-leagues__empty {
  padding: 40px 22px;
  color: var(--ink-muted);
  font-family: var(--f-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
}

.tb-results-leagues__cta {
  display: flex;
  justify-content: center;
  margin-top: 28px;
}

.tb-results-leagues__cta-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.tb-page-leagues .tb-leagues-page-table {
  padding: 8px 0 0;
}

.tb-page-leagues .tb-leagues-page-table .panel-clip {
  margin-bottom: 0;
}

.tb-leagues-pagination {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  padding: 24px 0 72px;
  border-top: 1px solid var(--line);
  margin-top: 0;
}

.tb-leagues-pagination__meta {
  font-family: var(--f-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ink-muted);
}

.tb-leagues-pagination__nav {
  display: flex;
  align-items: center;
  gap: 6px;
}

.tb-leagues-pagination__btn,
.tb-leagues-pagination__page {
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  border-radius: 4px;
  background: transparent;
  color: var(--ink);
  border: 1px solid var(--line-strong);
  font-family: var(--f-display);
  font-size: 14px;
  font-style: italic;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.15s;
}

.tb-leagues-pagination__page.is-active {
  background: var(--human);
  color: #000;
  border-color: var(--human);
}

.tb-leagues-pagination__btn.is-disabled,
.tb-leagues-pagination__page.is-disabled {
  color: var(--ink-dim);
  pointer-events: none;
  opacity: 0.55;
}

.tb-dt-see-all-leagues {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 4px;
  padding: 8px 12px;
  border-radius: 4px;
  border: 1px solid var(--line-strong);
  color: var(--ink-muted);
  font-family: var(--f-mono);
  font-size: 10px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.15s, border-color 0.15s;
}

.tb-dt-see-all-leagues:hover {
  color: var(--ink);
  border-color: var(--human);
}

@media (max-width: 900px) {
  /* Override Results mobile collapse for ranked All Leagues table. */
  .tb-page-leagues .tb-results-leagues__table-head.tb-results-leagues__table-head--ranked {
    display: none;
  }

  .tb-page-leagues .tb-results-leagues__row.tb-results-leagues__row--ranked {
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "rank league leader"
      "rank picks  picks"
      "stats stats stats";
    gap: 12px 14px;
    text-align: left;
    justify-items: stretch;
  }

  .tb-page-leagues .tb-results-leagues__rank {
    align-self: start;
    padding-top: 10px;
  }

  .tb-page-leagues .tb-results-leagues__league {
    justify-content: flex-start;
  }

  .tb-page-leagues .tb-results-leagues__picks {
    justify-self: start;
    text-align: left;
  }

  .tb-page-leagues .tb-results-leagues__leader {
    justify-self: end;
    text-align: right;
  }

  .tb-page-leagues .tb-results-leagues__stats {
    width: 100%;
  }

  .tb-leagues-pagination {
    padding: 20px 0 56px;
  }
}

@media (max-width: 640px) {
  .tb-page-leagues .tb-results-leagues__row.tb-results-leagues__row--ranked {
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "rank league"
      "rank leader"
      "picks picks"
      "stats stats";
  }

  .tb-page-leagues .tb-results-leagues__leader {
    justify-self: start;
  }
}
