/*
 * Functional fallback styles only.
 *
 * The visual RLB design belongs in the ORSV child theme. Keeping these rules
 * small means the plugin remains usable with another WordPress theme: controls
 * are reachable, focus is visible and wide result tables remain scrollable.
 */
.rlb,
.rlb-mini,
.rlb-portal,
.rlb-league-page,
.rlb-legal { box-sizing: border-box; max-width: 100%; }

.rlb__select,
.rlb__btn,
.rlb__tab,
.rlb__detailRow--action,
.rlb__back { font: inherit; }

.rlb__tablewrap,
.rlb__boutTableWrap,
.rlb-compact-table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  scrollbar-gutter: stable;
}

.rlb__table,
.rlb-compact-table table {
  min-width: 760px;
}

.rlb__detailRow--action:focus-visible,
.rlb__back:focus-visible,
.rlb__select:focus-visible,
.rlb__btn:focus-visible,
.rlb__tab:focus-visible {
  outline: 3px solid currentColor;
  outline-offset: 3px;
}

@media (max-width: 767px) {
  .rlb__field,
  .rlb__field--btn,
  .rlb__select,
  .rlb__btn { box-sizing: border-box; width: 100%; }

  .rlb__tablewrap,
  .rlb__boutTableWrap,
  .rlb-compact-table {
    overflow-x: scroll;
    touch-action: pan-x pan-y;
    width: 100%;
  }
}

/* Logo-first team labels. The child theme adds the visual treatment. */
.rlb-team-badge { align-items: center; display: inline-flex; gap: .45rem; line-height: 1.2; min-width: 0; vertical-align: middle; }
.rlb-team-logo { background: #fff; border: 1px solid rgba(17,18,22,.14); border-radius: 50%; flex: 0 0 auto; height: 1.8rem; object-fit: contain; padding: .12rem; width: 1.8rem; }
.rlb-team-name { min-width: 0; }
.rlb-team-separator { display: inline-block; margin: 0 .5rem; }

.rlb-portal,
.rlb-league-page,
.rlb-legal { display: grid; gap: 1.5rem; }
.rlb-portal__head h1,
.rlb-league-page__head h1,
.rlb-legal h1 { margin: 0; }
.rlb-portal__layout { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 2fr) minmax(280px, .9fr); }
.rlb-portal__sidebar,
.rlb-league-page__grid,
.rlb-legal__grid { display: grid; gap: 1rem; }
.rlb-portal__links,
.rlb-league-page__jump { display: flex; flex-wrap: wrap; gap: .75rem; }
.rlb-portal__links a,
.rlb-league-page__jump a { border: 1px solid currentColor; color: inherit; padding: .5rem .75rem; text-decoration: none; }
.rlb-league-page__facts { display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rlb-league-page__facts div { border: 1px solid currentColor; padding: .85rem; }
.rlb-league-page__facts strong,
.rlb-league-page__facts span { display: block; }
.rlb-league-page__section { display: grid; gap: 1rem; }
.rlb-legal { line-height: 1.55; }
.rlb-legal a { color: inherit; font-weight: 700; }

@media (max-width: 900px) {
  .rlb-portal__layout,
  .rlb-league-page__facts,
  .rlb-legal__grid { grid-template-columns: 1fr; }
}
