/* RiverX V158 — precision alignment and desktop scale correction.
   This file intentionally uses view IDs to retire high-specificity legacy
   lobby rules without changing any application behavior. */

body.rx-v157 {
  --rx157-content: 1520px;
}

body.rx-v157 main > #view-home,
body.rx-v157 main > #view-lobby {
  width: min(100%, 1520px) !important;
  max-width: 1520px !important;
}

body.rx-v157 #view-home .rx-dashboard-home,
body.rx-v157 #view-home .rx-clean-dashboard {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hero: full-width, predictable baseline, no inherited offsets. */
body.rx-v157 #view-home .rx-home-hero-v157 {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 210px !important;
  margin: 0 0 30px !important;
  padding: 38px 44px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 42px !important;
  text-align: left !important;
}

body.rx-v157 #view-home .rx-home-hero-copy-v157 {
  width: 100% !important;
  max-width: 820px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.rx-v157 #view-home .rx-home-hero-copy-v157 .rx-kicker-v157 {
  margin: 0 !important;
}

body.rx-v157 #view-home .rx-home-hero-copy-v157 h1 {
  margin: 10px 0 12px !important;
  font-size: clamp(42px, 4.1vw, 64px) !important;
  line-height: 0.98 !important;
  text-align: left !important;
}

body.rx-v157 #view-home .rx-home-hero-copy-v157 p {
  max-width: 720px !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
  text-align: left !important;
}

body.rx-v157 #view-home .rx-home-hero-stats-v157 {
  width: 286px !important;
  min-width: 286px !important;
  margin: 0 !important;
  padding: 10px !important;
  align-self: center !important;
}

body.rx-v157 #view-home .rx-home-hero-stats-v157 > div {
  min-width: 0 !important;
  min-height: 82px !important;
  padding: 15px !important;
}

body.rx-v157 #view-home .rx-home-hero-stats-v157 span {
  font-size: 9px !important;
  line-height: 1.2 !important;
}

body.rx-v157 #view-home .rx-home-hero-stats-v157 strong {
  font-size: 16px !important;
  line-height: 1.2 !important;
}

/* Poker rooms section: heading and action occupy distinct grid cells. */
body.rx-v157 #view-home .rx-poker-main-focus-row,
body.rx-v157 #view-home .rx-live-poker-row,
body.rx-v157 #view-home .rx-continue-shelf {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 26px !important;
  overflow: visible !important;
  background: rgba(13, 26, 41, 0.72) !important;
  border: 1px solid var(--rx157-border) !important;
  border-radius: var(--rx157-radius-lg) !important;
  box-shadow: var(--rx157-shadow-sm) !important;
}

body.rx-v157 #view-home .rx-poker-main-focus-row .rx-lobby-row-heading,
body.rx-v157 #view-home .rx-live-poker-row .rx-lobby-row-heading {
  position: static !important;
  width: 100% !important;
  min-height: 58px !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  justify-content: initial !important;
  gap: 24px !important;
  text-align: left !important;
}

body.rx-v157 #view-home .rx-lobby-heading-copy-v158 {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: start !important;
  justify-items: start !important;
  gap: 6px !important;
  text-align: left !important;
}

body.rx-v157 #view-home .rx-lobby-heading-copy-v158 .rx-section-kicker-v157 {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  position: static !important;
  transform: none !important;
}

body.rx-v157 #view-home .rx-poker-main-focus-row .rx-lobby-heading-copy-v158 h2,
body.rx-v157 #view-home .rx-live-poker-row .rx-lobby-heading-copy-v158 h2 {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  color: var(--rx157-text) !important;
  font-size: clamp(27px, 2.4vw, 36px) !important;
  font-weight: 830 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.035em !important;
  text-align: left !important;
  text-shadow: none !important;
  text-transform: none !important;
  transform: none !important;
}

body.rx-v157 #view-home .rx-poker-main-focus-row .rx-lobby-row-heading .rx-view-all,
body.rx-v157 #view-home .rx-live-poker-row .rx-lobby-row-heading .rx-view-all {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  min-width: 148px !important;
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 15px !important;
  align-self: end !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Exact ID selectors defeat the previous four-column and max-width rules. */
body.rx-v157 #view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
body.rx-v157 #view-home .rx-poker-main-focus-row #homeTableGrid.rx-compact-table-row,
body.rx-v157 #view-home #homeTableGrid.home-table-grid,
body.rx-v157 #view-home #homeTableGrid.rx-compact-table-row {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  grid-auto-rows: 1fr !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  gap: 20px !important;
  overflow: visible !important;
}

body.rx-v157 #view-home #homeTableGrid > *,
body.rx-v157 #view-home #homeTableGrid .rx-home-table-graphic-card,
body.rx-v157 #view-home .rx-poker-main-focus-row .rx-home-table-graphic-card {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-rows: auto 1fr !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  overflow: hidden !important;
  color: var(--rx157-text) !important;
  background: var(--rx157-surface) !important;
  border: 1px solid var(--rx157-border) !important;
  border-radius: var(--rx157-radius-md) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2) !important;
  text-align: left !important;
  transform: none !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-graphic-card:hover,
body.rx-v157 #view-home #homeTableGrid .rx-home-table-graphic-card:focus-visible {
  background: var(--rx157-surface-raised) !important;
  border-color: rgba(151, 133, 255, 0.48) !important;
  box-shadow: 0 17px 36px rgba(0, 0, 0, 0.25) !important;
  transform: translateY(-2px) !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-media-v157 {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 8.9 !important;
  display: block !important;
  overflow: hidden !important;
  background: #050b12 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rx157-border) !important;
  border-radius: 0 !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-media-v157 img,
body.rx-v157 #view-home .rx-poker-main-focus-row .rx-home-table-graphic-card img {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  display: block !important;
  overflow: hidden !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #050b12 !important;
  border: 0 !important;
  border-radius: 0 !important;
  filter: saturate(0.9) contrast(1.02) !important;
  transform: scale(1.01) !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-graphic-card:hover .rx-home-table-media-v157 img {
  filter: saturate(1) contrast(1.04) !important;
  transform: scale(1.03) !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-format-v157 {
  inset: 13px 13px auto auto !important;
  min-height: 27px !important;
  padding: 0 9px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

/* Keep the login gate visible without covering artwork or headings. */
body.rx-v157.rx-logged-out #view-home #homeTableGrid .rx-home-table-graphic-card::after {
  content: "Login required" !important;
  position: absolute !important;
  z-index: 7 !important;
  inset: 13px auto auto 13px !important;
  width: auto !important;
  min-width: 0 !important;
  height: 27px !important;
  min-height: 27px !important;
  padding: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #f5d58e !important;
  background: rgba(5, 12, 21, 0.86) !important;
  border: 1px solid rgba(216, 173, 89, 0.38) !important;
  border-radius: 999px !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3) !important;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: 9px !important;
  font-weight: 780 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  transform: none !important;
  pointer-events: none !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-content-v157 {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 174px !important;
  margin: 0 !important;
  padding: 20px !important;
  display: grid !important;
  grid-template-rows: auto auto 1fr !important;
  align-content: start !important;
  gap: 15px !important;
  color: var(--rx157-text) !important;
  background: transparent !important;
  text-align: left !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-title-v157 {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  color: var(--rx157-text) !important;
  font-size: 20px !important;
  font-weight: 820 !important;
  line-height: 1.2 !important;
  letter-spacing: -0.025em !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-stakes-v157 {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: 9px !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-stakes-v157 > span {
  min-width: 0 !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  color: inherit !important;
  background: #081522 !important;
  border: 1px solid var(--rx157-border) !important;
  border-radius: 9px !important;
  text-align: left !important;
  text-transform: none !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-stakes-v157 small {
  margin: 0 !important;
  color: var(--rx157-muted) !important;
  font-size: 9px !important;
  font-weight: 740 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-stakes-v157 strong {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: var(--rx157-text-soft) !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-footer-v157 {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 14px 0 0 !important;
  align-self: end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  border-top: 1px solid var(--rx157-border) !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-live-count {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: var(--rx157-success) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.rx-v157 #view-home #homeTableGrid .rx-home-table-cta-v157 {
  min-width: max-content !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #aea2ff !important;
  font-size: 11px !important;
  font-weight: 780 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

/* Restore readable scale when the browser is displayed on a large monitor. */
body.rx-v157 .app-sidebar button,
body.rx-v157 .app-sidebar.rx-clean-sidebar button {
  font-size: 14px !important;
}

body.rx-v157 .rx-topbar-login-btn.button-64,
body.rx-v157 .rx-topbar-register-btn.button-64 {
  min-height: 40px !important;
  height: 40px !important;
  max-height: 40px !important;
  font-size: 13px !important;
}

body.rx-v157 .rx-fixed-brand {
  width: 142px !important;
  min-width: 142px !important;
}

@media (max-width: 1280px) {
  body.rx-v157 #view-home .rx-home-hero-v157 {
    padding: 34px !important;
  }

  body.rx-v157 #view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
  body.rx-v157 #view-home .rx-poker-main-focus-row #homeTableGrid.rx-compact-table-row,
  body.rx-v157 #view-home #homeTableGrid.home-table-grid,
  body.rx-v157 #view-home #homeTableGrid.rx-compact-table-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1040px) {
  body.rx-v157 .app-sidebar button,
  body.rx-v157 .app-sidebar.rx-clean-sidebar button {
    color: transparent !important;
    font-size: 0 !important;
  }

  body.rx-v157 #view-home .rx-home-hero-v157 {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  body.rx-v157 #view-home .rx-home-hero-stats-v157 {
    width: min(100%, 380px) !important;
    min-width: 0 !important;
  }
}

@media (max-width: 820px) {
  body.rx-v157 .rx-fixed-brand {
    width: 108px !important;
    min-width: 108px !important;
  }

  body.rx-v157 .app-sidebar button,
  body.rx-v157 .app-sidebar.rx-clean-sidebar button,
  body.rx-v157.rx-sidebar-collapsed .app-sidebar button {
    color: var(--rx157-muted) !important;
    font-size: 10px !important;
  }

  body.rx-v157 #view-home .rx-home-hero-v157 {
    min-height: 0 !important;
    padding: 28px !important;
  }

  body.rx-v157 #view-home .rx-poker-main-focus-row,
  body.rx-v157 #view-home .rx-live-poker-row,
  body.rx-v157 #view-home .rx-continue-shelf {
    padding: 20px !important;
  }
}

@media (max-width: 700px) {
  body.rx-v157 #view-home .rx-poker-main-focus-row .rx-lobby-row-heading,
  body.rx-v157 #view-home .rx-live-poker-row .rx-lobby-row-heading {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 14px !important;
  }

  body.rx-v157 #view-home .rx-poker-main-focus-row .rx-lobby-row-heading .rx-view-all,
  body.rx-v157 #view-home .rx-live-poker-row .rx-lobby-row-heading .rx-view-all {
    width: 100% !important;
  }

  body.rx-v157 #view-home .rx-poker-main-focus-row #homeTableGrid.home-table-grid,
  body.rx-v157 #view-home .rx-poker-main-focus-row #homeTableGrid.rx-compact-table-row,
  body.rx-v157 #view-home #homeTableGrid.home-table-grid,
  body.rx-v157 #view-home #homeTableGrid.rx-compact-table-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  body.rx-v157 #view-home .rx-home-hero-v157 {
    padding: 23px 20px !important;
  }

  body.rx-v157 #view-home .rx-home-hero-copy-v157 h1 {
    font-size: 35px !important;
  }

  body.rx-v157 #view-home .rx-home-hero-copy-v157 p {
    font-size: 13px !important;
  }

  body.rx-v157 #view-home .rx-poker-main-focus-row,
  body.rx-v157 #view-home .rx-live-poker-row,
  body.rx-v157 #view-home .rx-continue-shelf {
    padding: 15px !important;
  }

  body.rx-v157 #view-home #homeTableGrid .rx-home-table-content-v157 {
    min-height: 166px !important;
    padding: 17px !important;
  }

  body.rx-v157 #view-home #homeTableGrid .rx-home-table-title-v157 {
    font-size: 18px !important;
  }
}
