/**
 * BLU777 light theme — color tokens + contrast + logo sizing ONLY.
 * White surfaces + bright light blue (#00AEEF). Dark text on light bg.
 */
:root,
:root[data-theme="blue"],
:root[data-theme="light"],
html,
html.blu777-light {
  color-scheme: light;
  --bg-body: #ffffff;
  --text-body: #1a2330;
  --bg-sidebar: #f3f6f8;
  --text-sidebar: #1a2330;
  --bg-table: #f7f9fa;
  --text-table: #1a2330;
  --bg-table-header: #e8eef2;
  --text-table-header: #1a2330;
  --bg-table-header-new: #00aeef;
  --text-table-header-new: #ffffff;
  --text-highlight: #1a2330;
  --text-fancy: #b8860b;
  --bg-menu1: #eef2f5;
  --text-menu1: #1a2330;
  --btn-primary: #00aeef;
  --text-btn-primary: #ffffff;
  --btn-secondary: #00aeef52;
  --text-btn-secondary: #ffffff;
  --btn-reset: #fc4242;
  --bg-tabs: #00aeef33;
  --text-green: #00aeef;
  --bg-success: #00aeef;
  --bg-success-hover: #0095d0;
  --bg-bet: #00aeef52;
  --football: #00aeef;
  --football_75: #00aeefbf;
  --football_50: #00aeef80;
}

html,
html.dark,
html.blu777-light {
  color-scheme: light !important;
  background-color: #ffffff !important;
}

body,
body.min-h-screen,
body.ocean-sot-root,
body.bg-\[\#070b12\],
body[class*="bg-["] {
  background-color: #ffffff !important;
  color: #1a2330 !important;
}

.ocean-sot-root,
.ocean-sot-sport-page,
.home-new,
.home-container,
.casino-table,
.detail-page-container,
.wrapper,
.center-main-content,
.admin-shell,
.min-h-screen {
  background-color: #ffffff !important;
  color: #1a2330 !important;
}

/* Upcoming fixture strip — light surfaces (avoid dark-on-dark DoD) */
.upcoming-fixure,
.upcoming-fixure .fixture-title,
.upcoming-fixure .fixture-box,
.upcoming-fixure .fixture-box a,
.fixture-title,
.fixture-box,
.fixture-box a {
  background-color: #f3f6f8 !important;
  color: #1a2330 !important;
}

.upcoming-fixure .fixture-title {
  border-bottom: 1px solid #d0d7de !important;
  font-weight: 800 !important;
}

/* Admin shell — mobile responsive */
.admin-shell,
.admin-shell-main,
.admin-panel {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.admin-panel .admin-table-scroll {
  -webkit-overflow-scrolling: touch;
  max-width: 100%;
}

.admin-panel .admin-tabs {
  scrollbar-width: thin;
}

.admin-shell-header img[alt="BLU777"] {
  max-height: 32px !important;
}

@media (max-width: 639.98px) {
  .admin-shell-main {
    padding-left: 8px !important;
    padding-right: 8px !important;
  }

  .admin-panel .grid.grid-cols-2 {
    gap: 0.5rem !important;
  }

  .admin-toast,
  .admin-panel [role="status"] {
    left: 8px !important;
    right: 8px !important;
    bottom: 12px !important;
    max-width: calc(100vw - 16px) !important;
  }
}

/* ——— Logo: match prior Ocean footprint (SoT max-height / max-width) ——— */
.logo-box {
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.logo {
  padding: 4px 8px !important;
}

.logo img,
.home-new-logo img,
.admin-shell-header img[alt="BLU777"],
img[alt="BLU777"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  max-height: 50px !important;
  max-width: 230px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  /* transparent PNG — no white home-page stamp */
  mix-blend-mode: normal !important;
}

/* Cyan / colored headers: keep logo floating, not in a white tile */
.header-top .logo-box,
.header-top .logo,
.header-top img[alt="BLU777"],
.casino-table .casino-table-logo,
.casino-table .casino-table-logo .logo,
.casino-table .casino-table-logo img {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.header-top img[alt="BLU777"],
.casino-table .casino-table-logo img {
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
}

@media (max-width: 767.98px) {
  .logo img,
  .home-new-logo img,
  img[alt="BLU777"] {
    max-height: 35px !important;
    max-width: 168px !important;
  }
}

/* ——— Brand cyan accents (not whole header) ——— */
.header-top,
.header-top.d-none-mobile,
.home-new .mobile-switch-theme,
.home-new .mobile-switch-theme .news-bar,
.bg-success,
.btn-success,
.btn-primary,
a.btn-primary,
.btn-demo,
.news-bar,
.news-title,
.nav-tabs .nav-link.active,
.badge-success,
.bg-primary {
  background-color: #00aeef !important;
  color: #ffffff !important;
  border-color: #0095d0 !important;
}

header.header {
  background-color: #ffffff !important;
  border-bottom: 1px solid #d0d7de !important;
  color: #1a2330 !important;
}

.header-top {
  background-color: #00aeef !important;
  color: #ffffff !important;
}

.header-top a {
  color: #ffffff !important;
}

.header-top a:hover,
.header-top a.bg-\[\#0da1b8\] {
  color: #ffffff !important;
}

/* ——— Light bg ⇒ dark text (hard rule) ——— */
.sidebar-left,
.b-sidebar,
.b-sidebar.bg-light,
.menu-box,
.menu-box .nav-link,
.menu-box li a,
.navbar-nav .nav-link,
.special-menu li a,
.search-box .form-control,
.header-right,
.header-right .bal-point,
.header-right .username,
.header-right .balance-value,
.username-info,
.setting-icon,
.fixture-title,
.fixture-box,
.fixture-box a,
.upcoming-fixure,
.table,
.bet-table,
.bl-box,
.new-event,
.card,
.modal-content,
.footer,
.footer-bottom,
.home-new,
.center-main-content {
  color: #1a2330 !important;
}

.menu-box li a,
.menu-box .nav-link,
.b-sidebar .menu-box .nav-link,
.navbar-nav .nav-link {
  color: #1a2330 !important;
}

.menu-box li a:hover,
.menu-box .nav-link:hover,
.b-sidebar .menu-box .nav-link:hover {
  color: #0077a8 !important;
  background-color: #e8f6fc !important;
}

/* Kill leftover light-grey / white text that was for dark chrome */
.menu-box li a,
.b-sidebar a,
.sidebar-left a,
.header .bal-point,
.header-right .bal-point,
.username-info .username,
.balance-value {
  color: #1a2330 !important;
}

/* Hamburger bars must read on white header */
.menu-button-bar {
  background-color: #1a2330 !important;
}

.menu-button-mobile {
  color: #1a2330 !important;
}

/* Sidebar / panels */
aside,
.sidebar,
.sidebar-left,
.left-sidebar,
.right-sidebar,
.menu-left,
.nav-left,
.b-sidebar,
.b-sidebar.bg-light {
  background-color: #f3f6f8 !important;
  color: #1a2330 !important;
}

.search-box .form-control {
  background-color: #ffffff !important;
  border-color: #d0d7de !important;
  color: #1a2330 !important;
}

.search-box .form-control::placeholder {
  color: #6b7280 !important;
}

/* Tables / cards */
.table,
.bet-table,
.bl-box,
.new-event,
.card,
.modal-content {
  background-color: #ffffff !important;
  color: #1a2330 !important;
}

/* Keep white text only on brand-cyan / solid accent buttons */
.btn-primary,
.btn-demo,
.btn-success,
.bg-success,
.bg-primary,
.header .btn-primary,
a.btn-primary,
button.bg-\[\#00aeef\],
.news-bar,
.news-title,
.mobile-switch-theme .news-bar,
.header-top,
.header-top a {
  color: #ffffff !important;
}

/* Scrollbars */
::-webkit-scrollbar-track {
  background: #eef2f5;
}
::-webkit-scrollbar-thumb {
  background: #b8c4ce;
}
::-webkit-scrollbar-thumb:hover {
  background: #00aeef;
}

/* Ball-running overlay: green → cyan */
.ball-runs::after,
.ballrunning::after,
.casino-table .ball-runs.odds-cell-ball-running::after {
  background: linear-gradient(
    110deg,
    rgba(0, 174, 239, 0.92) 0%,
    rgba(13, 161, 184, 0.95) 45%,
    rgba(0, 174, 239, 0.92) 90%
  ) !important;
  background-size: 200% 100% !important;
}

/* Small chrome faults: light surfaces that still force #eee/#ddd/#aaafb5 */
.header .bal-point,
.header-right .bal-point,
.text-center.bal-point {
  color: #1a2330 !important;
}

.setting-icon,
.setting-icon i,
.header .fas.fa-cog,
.header .fas.fa-wallet,
.header .fas.fa-user {
  color: #1a2330 !important;
}

/* Desktop header: keep logo in flex flow (SoT had it in sidebar; we show in header) */
@media (min-width: 768px) {
  header.header .logo-box {
    order: 0;
    margin-right: 8px;
  }

  header.header .logo img {
    max-height: 50px !important;
    max-width: 230px !important;
  }
}

/*
 * SoT detail Back/Lay chips use color:#eee on pastel fills (subtle / near-invisible).
 * Do NOT force dark ink here — that made "Back"/"Lay" scream vs ocean7777.
 * Fancy Yes/No titles still get dark ink via .detail-page-container .bl-title in style.css
 * only when theme needs it; keep place-bet sidebar readable separately.
 */
html[data-theme="blue"] .detail-page-container .back-title,
html[data-theme="blue"] .detail-page-container .lay-title,
html[data-theme="light"] .detail-page-container .back-title,
html[data-theme="light"] .detail-page-container .lay-title,
html.blu777-light .detail-page-container .back-title,
html.blu777-light .detail-page-container .lay-title,
.detail-page-container .bet-table .back-title,
.detail-page-container .bet-table .lay-title,
.detail-page-container .back.bl-title.back-title,
.detail-page-container .lay.bl-title.lay-title {
  color: #eee !important;
  font-weight: var(--font-medium, 500) !important;
}

/* Place-bet / casino sidebar titles stay high-contrast */
.casino-place-bet .back-title,
.casino-place-bet .lay-title,
.casino-table .back-title,
.casino-table .lay-title {
  color: #1a2330 !important;
  font-weight: 700 !important;
}

.bet-table-header,
.bet-table-header .nation-name,
.bet-table-header .nation-name span,
.bet-table .nation-name,
.bet-table .nation-name p,
.bet-table .nation-name span,
.detail-page-container .nation-name,
.detail-page-container .nation-name span,
.fancy-tripple .nation-name,
.fancy-tripple .nation-name span {
  color: #1a2330 !important;
}

.bet-table-header {
  background-color: #e8f6fc !important;
}

/* F / F1 / BM badges — light surfaces */
.ocean-sot-sport .game-icon .f-bm-icon,
.home-container .game-icon .f-bm-icon,
.game-icon .f-bm-icon {
  color: #9a7209 !important;
  background: #fff8e1 !important;
  border: 1px solid #d4a017 !important;
}

.ocean-sot-sport .game-icon.bm-icon .f-bm-icon,
.home-container .game-icon.bm-icon .f-bm-icon,
.game-icon.bm-icon .f-bm-icon {
  color: #0077a8 !important;
  background: #e8f6fc !important;
  border-color: #00aeef !important;
}

.ocean-sot-sport .game-icon.tv-icon .d-icon,
.home-container .game-icon.tv-icon .d-icon {
  color: #3c444b !important;
}

/* Footer secure strip text (globals had #eee leftover) */
.ocean-footer .secure-logo b,
.footer .secure-logo b,
.ocean-footer .secure-copy,
.ocean-footer .copyright {
  color: #1a2330 !important;
}

/* Sport list titles / casino section headings */
.home-new .sport-list-title,
.sport-list-title {
  color: #1a2330 !important;
  border-bottom-color: #1a2330 !important;
}

/* Odds cells keep black numbers on back/lay pastel fills */
.bl-box .odds,
.bl-box .d-block.odds {
  color: #000000 !important;
}

/* Resolve override wars: blu777 (last) wins over dark SoT leftovers */
.menu-box li a,
.b-sidebar .menu-box .nav-link {
  color: #1a2330 !important;
}

/* =====================================================================
 * Sports event scorecard — visible + light-theme readable (inventRates=false)
 * SoT pinned banner to 115px which clipped .scorecard-new; light theme also
 * inherited dark body ink onto dark scorecard chrome.
 * ===================================================================== */
.detail-page-container .banner.scorecard-banner,
.ocean-sot-sport-page .banner.scorecard-banner {
  height: auto !important;
  min-height: 148px !important;
  overflow: visible !important;
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  background: #e8f6fc !important;
  border-bottom: 1px solid #c5d5e0 !important;
  position: relative !important;
  z-index: 1 !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
}

.detail-page-container .banner.scorecard-banner img,
.ocean-sot-sport-page .banner.scorecard-banner img {
  height: auto !important;
  max-height: 28px !important;
}

.scorecard-banner .scorecard {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  color: #1a2330 !important;
  background: transparent !important;
}

.scorecard-banner .scorecard .text-success,
.scorecard-banner .scorecard .text-warning {
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.scorecard-banner .scorecard .time-detail,
.scorecard-banner .scorecard .time-detail p,
.scorecard-banner .scorecard .time-detail h5,
.scorecard-banner .scorecard .time-detail span {
  color: #1a2330 !important;
}

.scorecard-banner .ocean-live-tv-btn {
  color: #0077a8 !important;
  border-color: #00aeef !important;
  background: #ffffff !important;
}

.scorecard-banner .scorecard-new,
.scorecard-banner .ocean-live-scorecard {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  margin-top: 8px !important;
  padding: 6px 8px !important;
  background: #ffffff !important;
  color: #1a2330 !important;
  border: 1px solid #d0d7de !important;
  border-radius: 4px;
}

.scorecard-banner .scorecard-new .team-name-row {
  background: #f3f6f8 !important;
  color: #1a2330 !important;
}

.scorecard-banner .scorecard-new .team-name,
.scorecard-banner .ocean-live-scorecard .team-name {
  color: #0077a8 !important;
  font-weight: 800 !important;
}

.scorecard-banner .scorecard-new .team-img {
  background: #e8f6fc !important;
}

.scorecard-banner .scorecard-new .score-total,
.scorecard-banner .ocean-scoreline {
  color: #d4380d !important;
  font-weight: 800 !important;
  font-size: 15px !important;
}

.scorecard-banner .scorecard-new .score-overs,
.scorecard-banner .scorecard-new .score {
  color: #1a2330 !important;
}

/* Mirror Sportradar / premiumodds scoreboard (api_match_id → LMT) */
.scorecard-banner .ocean-scoreboard-embed {
  display: block !important;
  width: 100% !important;
  margin-top: 8px !important;
  border: 1px solid #d0d7de !important;
  border-radius: 4px;
  overflow: hidden;
  background: #0b1220 !important;
  min-height: 220px;
}

.scorecard-banner .ocean-scoreboard-iframe {
  display: block !important;
  width: 100% !important;
  height: 280px !important;
  border: 0 !important;
  background: #0b1220;
}

@media (min-width: 992px) {
  .scorecard-banner .ocean-scoreboard-iframe {
    height: 360px !important;
  }
}

/* Live TV stage — premiumodds / HLS iframe or video */
.ocean-live-tv-stage {
  display: block !important;
  width: 100% !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  overflow: hidden;
  background: #0b1220 !important;
  min-height: 220px;
  border: 1px solid #d0d7de !important;
}

.ocean-live-tv-frame,
.ocean-live-tv-video {
  display: block !important;
  width: 100% !important;
  /* Tall enough for premiumodds video + live match LMT under “starting soon” */
  height: 480px !important;
  border: 0 !important;
  background: #0b1220;
}

.ocean-live-tv-shell {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  color: #e8eef5 !important;
  padding: 16px !important;
  text-align: center;
}

@media (min-width: 992px) {
  .ocean-live-tv-frame,
  .ocean-live-tv-video {
    height: 560px !important;
  }
}

.scorecard-banner .team-flag-fallback {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  background: #00aeef !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

/* Keep header logo in header flow — do not float over scorecard */
.ocean-sot-sport-page header.header .logo-box,
.ocean-sot-sport-page .main-container .logo-box,
.ocean-sot-sport-page .logo-box {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  z-index: 2 !important;
}

/*
 * Sport pages have no .sidebar-left sibling, so SoT never applies
 * margin-top:34px / .center-main-content{margin-top:60px}. Fixed header then
 * covers the scorecard — clear once on the outer main only.
 *
 * BUG (was): padding-top:94px on .center-main AND .center-container AND
 * .center-home-content stacked to ~282px empty white above scorecard-banner.
 */
.ocean-sot-sport-page.main-container,
.ocean-sot-sport-page.wrapper {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.ocean-sot-sport-page > header.header {
  width: 100% !important;
  left: 0 !important;
  right: 0 !important;
  max-width: 100vw !important;
}

/* Nested shells: zero — do NOT restack header offset */
.ocean-sot-sport-page .center-main,
.ocean-sot-sport-page .center-container,
.ocean-sot-sport-page .center-home-content,
.ocean-sot-sport-page .detail-page-container {
  margin-top: 0 !important;
  padding-top: 0 !important;
  box-sizing: border-box !important;
}

/* Desktop: header-top(34) + header(60). Mobile: sticky header+news in-flow (no pad). */
@media (min-width: 1280px) {
  .ocean-sot-sport-page > .center-main {
    padding-top: 94px !important;
  }
}

@media (max-width: 1279.98px) {
  .ocean-sot-sport-page > .center-main {
    padding-top: 0 !important;
  }
}

/* =====================================================================
 * Casino table shell (/casino/{gmid}) — light theme + layout integrity
 * Scoped under .casino-table so sports/admin chrome stay untouched.
 * ===================================================================== */

/* Clear fixed SoT header so video is not painted underneath */
.casino-table.wrapper,
.casino-table {
  padding-top: 60px !important;
  box-sizing: border-box !important;
}

/* Header: cyan bar + white chrome (do NOT inherit dark-on-light rules) */
.casino-table > .header.header-top,
.casino-table .header-top {
  background-color: #00aeef !important;
  color: #ffffff !important;
  gap: 8px;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  height: 60px !important;
  z-index: 1100 !important;
}

.casino-table .header-top .header-left,
.casino-table .header-top .header-right {
  color: #ffffff !important;
  background: transparent !important;
}

.casino-table .header-top a,
.casino-table .header-top button,
.casino-table .header-top .casino-back-btn,
.casino-table .header-top .casino-menu,
.casino-table .header-top .fas,
.casino-table .header-top .fa,
.casino-table .header-top i {
  color: #ffffff !important;
}

.casino-table .casino-table-logo {
  display: flex !important;
  align-items: center !important;
  margin-right: 6px;
  flex-shrink: 0;
  background: transparent !important;
  box-shadow: none !important;
}

.casino-table .casino-table-logo .logo {
  padding: 0 !important;
  background: transparent !important;
}

.casino-table .casino-table-logo img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  width: auto !important;
  max-height: 40px !important;
  max-width: 150px !important;
  object-fit: contain !important;
  background: transparent !important;
  border: 0 !important;
}

@media (max-width: 575.98px) {
  .casino-table .casino-table-logo img {
    max-height: 32px !important;
    max-width: 120px !important;
  }
}

/* Balance chip: readable white on dark inset (SoT .balance was #111) */
.casino-table .header-top .balance,
.casino-table .header-top .casino-balance {
  background: rgba(0, 0, 0, 0.28) !important;
  color: #ffffff !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  height: auto !important;
  min-height: 40px !important;
  padding: 4px 8px 4px 0 !important;
  border-radius: 4px;
  margin-right: 6px;
}

.casino-table .header-top .balance .balance-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(0, 0, 0, 0.35) !important;
  color: #ffffff !important;
  padding: 0 10px !important;
  margin-right: 8px !important;
  height: 100%;
  min-height: 40px;
  border-radius: 4px 0 0 4px;
}

.casino-table .header-top .balance .balance-meta {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: center !important;
  line-height: 1.15;
  padding-right: 4px;
}

.casino-table .header-top .balance-value,
.casino-table .header-top .exposure,
.casino-table .header-top .balance .fas {
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

/* Markets board: light panels, dark ink, Back/Lay columns side-by-side */
.casino-table .casino-detail,
.casino-table .casino-box,
.casino-table .casino-box-header,
.casino-table .casino-box-row {
  background: #ffffff !important;
  color: #1a2330 !important;
}

.casino-table .casino-box-header .casino-nation-name,
.casino-table .casino-bl-box-title .casino-nation-name {
  background-color: transparent !important;
  color: #1a2330 !important;
  font-weight: 700 !important;
}

.casino-table .casino-box-header,
.casino-table .casino-box-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  gap: 0;
}

.casino-table .casino-nation-name {
  width: calc(100% - 152px) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  background-color: #eef2f5 !important;
  color: #1a2330 !important;
  padding: 6px 8px !important;
  border-radius: 2px;
}

.casino-table .casino-nation-name.no-border {
  background-color: transparent !important;
  color: #1a2330 !important;
}

.casino-table .casino-nation-name p,
.casino-table .casino-nation-name span,
.casino-table .casino-nation-name .casino-min-max,
.casino-table .casino-nation-name .max-bet {
  color: #1a2330 !important;
}

.casino-table .casino-bl-box {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  flex: 0 0 152px !important;
  width: 152px !important;
  max-width: 152px !important;
}

.casino-table .casino-bl-box-item {
  width: 72px !important;
  flex: 0 0 72px !important;
  max-width: 72px !important;
  margin-right: 4px !important;
  color: #1a2330 !important;
  background-color: #f3f6f8 !important;
}

.casino-table .casino-bl-box-item:last-child {
  margin-right: 0 !important;
}

.casino-table .casino-bl-box-item.back {
  background-color: #72bbef !important;
  border: 1px solid #5aa8e0 !important;
  color: #0b1a28 !important;
}

.casino-table .casino-bl-box-item.lay {
  background-color: #f994ba !important;
  border: 1px solid #e87aa3 !important;
  color: #2a0f1a !important;
}

.casino-table .casino-bl-box-item.suspended,
.casino-table .casino-bl-box-item.suspended.back,
.casino-table .casino-bl-box-item.suspended.lay {
  background-color: #5a6570 !important;
  border-color: #4a5460 !important;
  color: #ffffff !important;
}

.casino-table .casino-bl-box-item .casino-box-odd,
.casino-table .casino-bl-box-item > span {
  color: inherit !important;
}

.casino-table .casino-bl-box-title .casino-bl-box-item {
  background-color: transparent !important;
  border: 0 !important;
  color: #1a2330 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  height: 22px !important;
  cursor: default !important;
}

/* Place-bet sidebar: restore 2-col Back/Lay grid (stop BALAY overlap) */
.casino-table .right-sidebar.casino-right-sidebar {
  background-color: #f3f6f8 !important;
  color: #1a2330 !important;
}

.casino-table .casino-place-bet-title {
  background: #00aeef !important;
  color: #ffffff !important;
}

.casino-table .casino-place-bet .bet-table {
  background: #ffffff !important;
  color: #1a2330 !important;
  overflow: hidden;
}

.casino-table .casino-place-bet .bet-table-header,
.casino-table .casino-place-bet .bet-table-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative !important;
}

.casino-table .casino-place-bet .bet-table-header {
  background-color: #e8f6fc !important;
  color: #1a2330 !important;
  height: auto !important;
  min-height: 36px !important;
  padding: 6px 8px !important;
}

.casino-table .casino-place-bet .nation-name {
  width: calc(100% - 152px) !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  max-width: calc(100% - 152px) !important;
  float: none !important;
  color: #1a2330 !important;
  padding-right: 6px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.casino-table .casino-place-bet .nation-name p,
.casino-table .casino-place-bet .nation-name span,
.casino-table .casino-place-bet .nation-name .max-bet {
  color: #1a2330 !important;
  margin: 0 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.casino-table .casino-place-bet .bl-title,
.casino-table .casino-place-bet .back-title,
.casino-table .casino-place-bet .lay-title,
.casino-table .casino-place-bet .back.bl-title,
.casino-table .casino-place-bet .lay.bl-title {
  width: 72px !important;
  flex: 0 0 72px !important;
  max-width: 72px !important;
  min-width: 72px !important;
  float: none !important;
  margin-right: 4px !important;
  text-align: center !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  color: #1a2330 !important;
  font-weight: 700 !important;
  line-height: 22px !important;
  height: 22px !important;
}

.casino-table .casino-place-bet .bl-title:last-child,
.casino-table .casino-place-bet .lay-title {
  margin-right: 0 !important;
}

.casino-table .casino-place-bet .bl-box {
  width: 72px !important;
  flex: 0 0 72px !important;
  max-width: 72px !important;
  min-width: 72px !important;
  float: none !important;
  margin-right: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
}

.casino-table .casino-place-bet .bl-box:last-child {
  margin-right: 0 !important;
}

.casino-table .casino-place-bet .bl-box.back {
  background-color: #72bbef !important;
}

.casino-table .casino-place-bet .bl-box.lay {
  background-color: #f994ba !important;
}

.casino-table .casino-place-bet .bl-box .odds,
.casino-table .casino-place-bet .bl-box .d-block.odds {
  color: #0b1a28 !important;
}

.casino-table .casino-place-bet .bet-table-row[data-title="SUSPENDED"] .bl-box {
  opacity: 0.85;
}

@media (max-width: 991.98px) {
  .casino-table .right-sidebar.casino-right-sidebar {
    max-height: none !important;
  }
}

/* Video chrome: title sits on dark overlay — keep white ink */
.casino-table .casino-video-title,
.casino-table .casino-video-title .casino-name,
.casino-table .casino-video-title .casino-video-rid,
.casino-table .casino-video-right-icons,
.casino-table .casino-video-right-icons .casino-timer,
.casino-table .casino-video-right-icons .badge {
  color: #ffffff !important;
}

.casino-table .casino-video-title {
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65);
}

/*
 * SoT paints .suspended:after as charcoal #373636d6 over the FULL row,
 * which kills runner-name contrast on light theme. Soften for casino shell.
 */
.casino-table .suspended:after,
.casino-table .casino-box-row.suspended:after,
.casino-table .casino-bl-box-item.suspended:after {
  background-color: rgba(200, 210, 220, 0.55) !important;
}

.casino-table .suspended:before,
.casino-table .casino-box-row.suspended:before,
.casino-table .casino-bl-box-item.suspended:before {
  filter: none !important; /* dark lock on light wash */
  background-size: 16px 16px !important;
}

/* Suspended odds cells: light theme (not charcoal SoT leftovers) */
.casino-table .casino-bl-box-item.suspended,
.casino-table .casino-bl-box-item.suspended.back,
.casino-table .casino-bl-box-item.suspended.lay,
.casino-table .casino-box-row.suspended .casino-bl-box-item {
  background-color: #d8dee6 !important;
  border: 1px solid #c0c8d2 !important;
  color: #4a5560 !important;
}

.casino-table .casino-box-row.suspended .casino-nation-name,
.casino-table .casino-box-row.suspended .casino-nation-name p,
.casino-table .casino-box-row.suspended .casino-nation-name span {
  color: #1a2330 !important;
  position: relative;
  z-index: 120; /* above suspended wash so name stays readable */
}

.casino-table .casino-bl-box-item.suspended .fas,
.casino-table .casino-bl-box-item.suspended .fa,
.casino-table .casino-bl-box-item.suspended i {
  color: #4a5560 !important;
}

.casino-table .casino-center,
.casino-table .casino-container {
  background: #ffffff !important;
  color: #1a2330 !important;
}

.casino-table .casino-box-header .casino-nation-name,
.casino-table .casino-bl-box-title {
  color: #1a2330 !important;
  background: #ffffff !important;
}
