/* Bet-control display and stream-unavailable message for the user portal. */

/* Streaming panel: with no stream configured the player renders nothing at all. */
app-video-simple:empty {
  display: block; position: relative; aspect-ratio: 16 / 9; min-height: 180px; width: 100%;
  background: radial-gradient(120% 120% at 50% 0%, #1b2438, #0a0e17); color: #cbd5e1; text-align: center;
}
app-video-simple:empty::before, app-video-simple:empty::after {
  position: absolute; left: 0; right: 0; top: 50%; transform: translateY(-50%); padding: 0 24px; font-size: 14px; line-height: 1.5;
}
app-video-simple:empty::before { content: "Connecting to stream\2026"; animation: p-fade-out .3s ease 2.4s forwards; }
app-video-simple:empty::after { content: "Live stream isn\2019t available for this event yet."; opacity: 0; animation: p-fade-in .4s ease 2.6s forwards; }
@keyframes p-fade-out { to { opacity: 0; visibility: hidden; } }
@keyframes p-fade-in { to { opacity: 1; } }
app-video-simple iframe { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; background: #000; }

/* ---------- Prohibited betting ----------
   Same look as the board's own "Suspended" cover. The overlay is a pseudo-element, so a tap on
   it lands on the container, never on the odds beneath. */
.p-prohibited { position: relative !important; }
.p-prohibited::after {
  content: "Bets prohibited"; position: absolute; inset: 0; z-index: 8; display: flex; align-items: center; justify-content: center;
  background: rgba(36, 58, 72, .9); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .3px; cursor: not-allowed;
  animation: p-fade-in-quick .2s ease both;
}
@keyframes p-fade-in-quick { from { opacity: 0; } to { opacity: 1; } }

/* Fancy / sportsbook panels: no per-row ids on the page, so the whole family is shut. */
.p-banner { background: rgba(36, 58, 72, .9); color: #fff; text-align: center; font-size: 13px; font-weight: 600; letter-spacing: .3px; padding: 11px 12px; }
.p-off-fancy .fancy-card, .p-off-fancy .fancybooktable { pointer-events: none; opacity: .35; filter: grayscale(.6); }
.p-off-sport .sportbook-back, .p-off-sport .sportbook-lay, .p-off-sport [class*="SportBook"] { pointer-events: none; opacity: .35; filter: grayscale(.6); }

/* Match lists: the odds cells become one slate bar carrying the message. */
tr.p-row-prohibited td.count { background: rgba(36, 58, 72, .9) !important; position: relative; }
tr.p-row-prohibited td.count > * { visibility: hidden; }
tr.p-row-prohibited td.count.custom-width-center::after {
  content: "Bets prohibited"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 2;
  color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .3px; white-space: nowrap;
}
@media (max-width: 991.98px) {
  /* Phone / tablet rows show no odds columns, so say it beside the name instead. */
  tr.p-row-prohibited td.td-event-name .match-name { opacity: .75; }
  tr.p-row-prohibited td.td-event-name::after {
    content: "Bets prohibited"; display: inline-block; margin: 4px 0 0 0; padding: 1px 8px; border-radius: 999px;
    background: rgba(36, 58, 72, .9); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .2px;
  }
}
