/* ================================================
   PRIME LOUNGE — ALL UI FIXES (all breakpoints)
   v3 — fixes:
     • .jackpot-title selector (img IS the element, not a child)
     • 1500px tier added between 1200 and 1920
     • .status-bar prefix bumps specificity over status-bar.css
   ================================================ */

.status-bar { display: flex !important; flex-direction: row !important; align-items: center !important; justify-content: space-between !important; padding: 4px 12px !important; gap: 0 !important; height: 56px !important; }
@media (min-width: 1500px) { .status-bar { height: 56px !important; } }
@media (min-width: 1920px) { .status-bar { height: 60px !important; } }
@media (min-width: 2560px) { .status-bar { height: 72px !important; } body, .casino-root, .lobby-body { padding-bottom: 80px !important; } }
@media (max-width: 1023.98px) { .status-bar { padding: 5px 12px max(5px,env(safe-area-inset-bottom)) !important; height: auto !important; min-height: unset !important; gap: 0 !important; } }
.status-top-left { display: flex !important; flex-direction: column !important; align-items: flex-start !important; justify-content: center !important; flex-shrink: 0 !important; }
.status-left-top { display: flex !important; flex-direction: row !important; gap: 12px !important; margin-bottom: 3px !important; }
.status-left-bottom { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; }
@media (max-width: 1023.98px) { .status-top-left { flex-direction: row !important; flex: 1 1 0% !important; align-items: center !important; gap: 6px !important; } .status-left-top { margin-bottom: 0 !important; } }
.icon-controls { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 6px !important; margin-left: 14px !important; }
@media (max-width: 1023.98px) { .icon-controls { margin-left: 6px !important; gap: 4px !important; } }

/* === BALANCE / CASHBACK BOXES — muted earthy tones, no digital glow ===
   2026-05-09: less saturation, no box-shadow halos, no inset glow strips.
   Colors evoke aged copper / weathered brass instead of bright neon. */
/* === BALANCE / CASHBACK BOXES — premium arcade-cabinet feel ===
   2026-05-09 reference-match: deep navy inset boxes, GOLD label on top,
   WHITE value below. Bevel + subtle cyan rim glow = premium not generic. */
.status-bar .balance-box, .balance-box {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  /* layered: outer dark, inner subtle cyan highlight on top edge */
  background:
    linear-gradient(180deg, #08111E 0%, #050912 100%) !important;
  border: 1px solid #1F3A55 !important;
  box-shadow:
    0 1px 0 rgba(110, 200, 250, 0.08) inset,
    0 -1px 0 rgba(0, 0, 0, 0.6) inset,
    0 2px 6px rgba(0, 0, 0, 0.5) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
}
.status-bar .cashback-box, .cashback-box {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-radius: 6px !important;
  background:
    linear-gradient(180deg, #0E1018 0%, #07090E 100%) !important;
  border: 1px solid #3D3422 !important;
  box-shadow:
    0 1px 0 rgba(212, 181, 106, 0.10) inset,
    0 -1px 0 rgba(0, 0, 0, 0.6) inset,
    0 2px 6px rgba(0, 0, 0, 0.5) !important;
  color: #FFFFFF !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
}
.status-bar .cashback-box .bonus-val, .cashback-box .bonus-val {
  color: #FFFFFF !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  background: none !important;
  -webkit-text-fill-color: #FFFFFF !important;
}
@media (max-width: 375px) { .status-bar .balance-box, .balance-box { font-size: 11px !important; } .status-bar .cashback-box, .cashback-box { font-size: 11px !important; } }
@media (max-width: 1023.98px) { .status-bar .balance-box, .balance-box { font-size: 13px !important; } .status-bar .cashback-box, .cashback-box { font-size: 13px !important; } }
/* 1024-1499 tier (was 1200-, now extended to 1499.98) */
/* cashback box widened so the English label "CASHBACK BONUS" fits on one line */
@media (min-width: 1024px) and (max-width: 1499.98px) { .status-bar .balance-box, .balance-box { width: 110px !important; height: 30px !important; font-size: 1.05rem !important; } .status-bar .cashback-box, .cashback-box { width: 130px !important; height: 30px !important; font-size: 1.05rem !important; } }
@media (min-width: 1500px) and (max-width: 1919.98px) { .status-bar .balance-box, .balance-box { width: 130px !important; height: 32px !important; font-size: 1.15rem !important; } .status-bar .cashback-box, .cashback-box { width: 150px !important; height: 32px !important; font-size: 1.15rem !important; } }
@media (min-width: 1920px) { .status-bar .balance-box, .balance-box { width: 150px !important; height: 36px !important; font-size: 1.3rem !important; } .status-bar .cashback-box, .cashback-box { width: 170px !important; height: 36px !important; font-size: 1.3rem !important; } }
@media (min-width: 2560px) { .status-bar .balance-box, .balance-box { width: 190px !important; height: 46px !important; font-size: 1.7rem !important; } .status-bar .cashback-box, .cashback-box { width: 210px !important; height: 46px !important; font-size: 1.7rem !important; } }

/* === LABELS ABOVE BOXES (specificity bumped) === */
.status-bar .balance-title, .balance-title { font-size: clamp(9px, 0.7vw, 12px) !important; letter-spacing: 1px !important; color: #a0b4c8 !important; text-transform: uppercase !important; white-space: nowrap !important; }
.status-bar .bonus-label, .bonus-label { font-size: clamp(9px, 0.7vw, 12px) !important; letter-spacing: 1px !important; color: #c8a040 !important; text-transform: uppercase !important; white-space: nowrap !important; }
@media (min-width: 1500px) { .status-bar .balance-title, .balance-title, .status-bar .bonus-label, .bonus-label { font-size: 11px !important; } }
@media (min-width: 1920px) { .status-bar .balance-title, .balance-title, .status-bar .bonus-label, .bonus-label { font-size: 13px !important; } }
@media (min-width: 2560px) { .status-bar .balance-title, .balance-title, .status-bar .bonus-label, .bonus-label { font-size: 15px !important; } }

.status-top-right { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; flex-shrink: 0 !important; margin-left: auto !important; }
.status-right-bottom { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 8px !important; }
@media (max-width: 1200px) { .status-top-right { min-width: 180px !important; } }
@media (max-width: 1023.98px) { .status-top-right { flex-direction: row !important; padding: 0 !important; } }
/* Username — premium dark plaque, gold text (matches reference "PC01" style) */
.username-display { display: flex !important; align-items: center !important; justify-content: center !important; height: 28px !important; padding: 0 16px !important; border-radius: 6px !important; background: linear-gradient(180deg, #0E1A28 0%, #050912 100%) !important; border: 1px solid #1F3A55 !important; box-shadow: 0 1px 0 rgba(110, 200, 250, 0.08) inset, 0 -1px 0 rgba(0, 0, 0, 0.6) inset, 0 2px 6px rgba(0, 0, 0, 0.5) !important; color: #D4B568 !important; font-size: clamp(11px, 0.9vw, 14px) !important; font-weight: 700 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; max-width: 160px !important; margin-bottom: 0 !important; flex-shrink: 1 !important; text-shadow: 0 -1px 0 rgba(0,0,0,0.7) !important; }
.username-display .username-val { color: #D4B568 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
@media (max-width: 1023.98px) { .username-display { height: 28px !important; padding: 0 8px !important; font-size: 10px !important; max-width: 100px !important; margin-right: 4px !important; } }
@media (max-width: 375px) { .username-display { max-width: 65px !important; font-size: 9px !important; padding: 0 5px !important; } }
@media (min-width: 1500px) { .username-display { height: 32px !important; font-size: 1.0rem !important; max-width: 160px !important; padding: 0 12px !important; } }
@media (min-width: 1920px) { .username-display { height: 36px !important; font-size: 1.1rem !important; max-width: 180px !important; padding: 0 14px !important; } }
@media (min-width: 2560px) { .username-display { height: 44px !important; font-size: 1.3rem !important; max-width: 220px !important; padding: 0 16px !important; } }
/* Exit — dark premium button, deep red text (subtle danger, not glowing red) */
.exit-btn { border-radius: 6px !important; background: linear-gradient(180deg, #0E1A28 0%, #050912 100%) !important; border: 1px solid #4A2128 !important; box-shadow: 0 1px 0 rgba(255, 200, 200, 0.06) inset, 0 -1px 0 rgba(0, 0, 0, 0.6) inset, 0 2px 6px rgba(0, 0, 0, 0.5) !important; color: #C95A6A !important; font-weight: 700 !important; letter-spacing: 1.5px !important; cursor: pointer !important; text-shadow: 0 -1px 0 rgba(0,0,0,0.7) !important; }
.exit-btn:hover { border-color: #C03A4A !important; color: #E8788A !important; box-shadow: 0 1px 0 rgba(255, 200, 200, 0.1) inset, 0 -1px 0 rgba(0, 0, 0, 0.6) inset, 0 0 12px rgba(192, 58, 74, 0.3), 0 2px 6px rgba(0, 0, 0, 0.5) !important; }
@media (min-width: 1500px) { .exit-btn { min-width: 90px !important; height: 32px !important; font-size: 1.0rem !important; } }
@media (min-width: 1920px) { .exit-btn { min-width: 110px !important; height: 36px !important; font-size: 1.1rem !important; } }
@media (min-width: 2560px) { .exit-btn { min-width: 140px !important; height: 44px !important; font-size: 1.3rem !important; } }
.pager { margin-top: 0 !important; align-self: center !important; gap: 5px !important; }

/* Pager dots — restored to original red gradient (inactive) + cyan (active) per user 2026-05-09. */
.pager .dot {
  width: 32px !important;
  height: 32px !important;
  flex: 0 0 auto !important;
  border-radius: 999px !important;
  border: 1px solid #222 !important;
  color: #fff !important;
  background: linear-gradient(180deg, #cc0000 0%, #880000 100%) !important;
  cursor: pointer !important;
  font-size: 1rem !important;
  font-family: var(--font-heading), sans-serif !important;
  line-height: 1 !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.2) inset !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}
.pager .dot.active {
  width: 32px !important;
  height: 32px !important;
  background: linear-gradient(180deg, #67E8F9 0%, #0891B2 100%) !important;
  color: #fff !important;
  border: 2px solid #fff !important;
  transform: none !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4), 0 1px 0 rgba(255, 255, 255, 0.2) inset !important;
}

/* === JACKPOT STRIP — fixed selector (.jackpot-title IS the img) === */
.jackpot-strip, .jackpot-bar { display: flex !important; align-items: center !important; justify-content: center !important; gap: clamp(8px, 1.2vw, 24px) !important; padding: clamp(4px, 0.6vw, 12px) clamp(8px, 1vw, 20px) !important; width: 100% !important; box-sizing: border-box !important; }
.jackpot-strip .meter, .jackpot-bar .meter { font-size: clamp(14px, 1.6vw, 28px) !important; line-height: 1 !important; }
.jackpot-title, .jackpot-strip .jackpot-title, .game-top-bar__brand img { flex: 0 0 auto !important; display: block !important; height: clamp(28px, 3vw, 56px) !important; width: auto !important; background: transparent !important; }
@media (max-width: 1023.98px) { .jackpot-strip, .jackpot-bar { flex-wrap: wrap !important; gap: 6px !important; } .jackpot-title, .jackpot-strip .jackpot-title, .game-top-bar__brand img { height: 26px !important; } .jackpot-strip .meter, .jackpot-bar .meter { font-size: 14px !important; } }
@media (max-width: 375px) { .jackpot-title, .jackpot-strip .jackpot-title, .game-top-bar__brand img { height: 22px !important; } .jackpot-strip .meter, .jackpot-bar .meter { font-size: 12px !important; } }
@media (min-width: 1500px) { .jackpot-title, .jackpot-strip .jackpot-title, .game-top-bar__brand img { height: 48px !important; } .jackpot-strip .meter, .jackpot-bar .meter { font-size: 26px !important; } }
@media (min-width: 1920px) { .jackpot-title, .jackpot-strip .jackpot-title, .game-top-bar__brand img { height: 56px !important; } .jackpot-strip .meter, .jackpot-bar .meter { font-size: 30px !important; } }
@media (min-width: 2560px) { .jackpot-title, .jackpot-strip .jackpot-title, .game-top-bar__brand img { height: 72px !important; } .jackpot-strip .meter, .jackpot-bar .meter { font-size: 40px !important; } }
.find-input::placeholder, input.find-input::placeholder { font-size: clamp(11px, 0.9vw, 14px) !important; }
footer, .footer { font-size: clamp(10px, 0.8vw, 14px) !important; }

/* === LABELS INSIDE BOXES (added 2026-05-09) ===
   Desktop only: visually merge each label into the top of its box.
   Uses display:contents on the row wrappers + 2-row grid on the parent so
   each label sits directly above its corresponding value box, sharing the
   same gradient and merging into one continuous shape. */
@media (min-width: 1024px) {
  /* Stick the bar to the very bottom of the viewport with a continuous
     dark background that runs behind ALL children (BALANCE/CASHBACK boxes
     sit on top of this strip). */
  .status-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 50 !important;
    background: linear-gradient(180deg, #0A111E 0%, #050912 100%) !important;
    border-top: 1px solid #1F3A55 !important;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.6) !important;
  }

  /* Reserve space at the bottom of the page so the fixed bar doesn't cover
     the last row of game cards. Three selectors as a safety net since the
     lobby root class isn't 100% certain. */
  body,
  .casino-root,
  .lobby-body {
    padding-bottom: 64px !important;
  }

  .status-bar .status-top-left {
    display: grid !important;
    grid-template-columns: auto auto auto !important;
    grid-template-rows: auto auto !important;
    align-items: stretch !important;
    column-gap: 8px !important;
    row-gap: 0 !important;
  }
  .status-bar .status-left-top { display: contents !important; }
  .status-bar .status-left-bottom { display: contents !important; }

  /* Labels: GOLD on dark navy — premium plaque feel matching the reference.
     Engraved-look text-shadow gives it real depth, not flat AI gradient. */
  .status-bar .balance-title, .balance-title {
    grid-column: 1; grid-row: 1;
    padding: 5px 14px 1px !important;
    background: linear-gradient(180deg, #0E1A28 0%, #08111E 100%) !important;
    border: 1px solid #1F3A55 !important;
    border-bottom: 0 !important;
    border-radius: 6px 6px 0 0 !important;
    box-shadow: 0 1px 0 rgba(110, 200, 250, 0.08) inset !important;
    color: #D4B568 !important;
    font-weight: 700 !important;
    letter-spacing: 1.4px !important;
    text-shadow:
      0 -1px 0 rgba(0, 0, 0, 0.7),
      0 1px 0 rgba(212, 181, 106, 0.12) !important;
    text-transform: uppercase !important;
    text-align: center !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .status-bar .bonus-label, .bonus-label {
    grid-column: 2; grid-row: 1;
    padding: 5px 10px 1px !important;
    background: linear-gradient(180deg, #15161E 0%, #0E1018 100%) !important;
    border: 1px solid #3D3422 !important;
    border-bottom: 0 !important;
    border-radius: 6px 6px 0 0 !important;
    box-shadow: 0 1px 0 rgba(212, 181, 106, 0.10) inset !important;
    color: #D4B568 !important;
    font-weight: 700 !important;
    letter-spacing: 0.8px !important;          /* tighter so longer words like CASHBACK BONUS fit */
    white-space: nowrap !important;            /* never wrap onto two lines */
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-shadow:
      0 -1px 0 rgba(0, 0, 0, 0.7),
      0 1px 0 rgba(212, 181, 106, 0.12) !important;
    text-transform: uppercase !important;
    text-align: center !important;
    line-height: 1.2 !important;
    margin: 0 !important;
  }
  .status-bar .balance-box, .balance-box {
    grid-column: 1; grid-row: 2;
    border-radius: 0 0 6px 6px !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }
  .status-bar .cashback-box, .cashback-box {
    grid-column: 2; grid-row: 2;
    border-radius: 0 0 6px 6px !important;
    border-top: 0 !important;
    box-shadow: none !important;
  }
  .icon-controls {
    grid-column: 3 !important;
    grid-row: 1 / span 2 !important;
    align-self: center !important;
    margin-left: 14px !important;
  }
}
