/* CDX Live Shows — floor talk */
.visually-hidden {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
.cdx-floor-chat {
  display: flex; flex-direction: column;
  min-height: 16rem; max-height: min(70vh, 34rem);
  border: 1px solid var(--border, rgba(148,163,184,.22));
  border-radius: .85rem;
  background: rgba(7,11,20,.55);
  overflow: hidden;
}
.cdx-floor-chat--wait { min-height: 22rem; max-height: min(78vh, 38rem); }
.cdx-floor-chat--host { max-height: 26rem; }
.cdx-floor-chat--sides { max-height: 28rem; }
.cdx-fc-head {
  display: flex; justify-content: space-between; align-items: flex-start; gap: .6rem;
  padding: .7rem .8rem .55rem;
  border-bottom: 1px solid rgba(148,163,184,.12);
}
.cdx-fc-title { margin: 0; font-size: .92rem; font-weight: 800; color: #fff; }
.cdx-fc-sub { margin: .15rem 0 0; font-size: .75rem; color: var(--muted, #94a3b8); line-height: 1.35; }
.cdx-fc-count {
  flex-shrink: 0; font-size: .72rem; font-weight: 800; letter-spacing: .03em;
  padding: .2rem .45rem; border-radius: .35rem;
  border: 1px solid rgba(245,197,24,.35); color: var(--gold, #f5c518);
  font-variant-numeric: tabular-nums;
}
.cdx-fc-pin {
  margin: .45rem .65rem 0; padding: .45rem .55rem; border-radius: .45rem;
  border: 1px solid rgba(245,197,24,.35); background: rgba(245,197,24,.08);
  font-size: .82rem; line-height: 1.4;
}
.cdx-fc-pin-kicker {
  display: block; font-size: .65rem; font-weight: 800; letter-spacing: .06em;
  text-transform: uppercase; color: var(--gold, #f5c518); margin-bottom: .15rem;
}
.cdx-fc-log {
  list-style: none; margin: 0; padding: .45rem .7rem .55rem;
  overflow: auto; flex: 1; min-height: 8rem;
}
.cdx-fc-empty { color: var(--muted, #94a3b8); font-size: .82rem; padding: .6rem .1rem; line-height: 1.45; }
.cdx-fc-msg { padding: .4rem 0; border-bottom: 1px solid rgba(148,163,184,.08); }
.cdx-fc-msg:last-child { border-bottom: 0; }
.cdx-fc-msg.role-host .cdx-fc-name { color: var(--gold, #f5c518); }
.cdx-fc-msg.role-bidder .cdx-fc-role { color: #86efac; }
.cdx-fc-meta {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .45rem;
  font-size: .72rem; color: var(--muted, #94a3b8);
}
.cdx-fc-name { font-weight: 800; color: #e2e8f0; font-size: .78rem; }
.cdx-fc-role {
  font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
}
.cdx-fc-lot { font-style: italic; max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cdx-fc-time { margin-left: auto; font-variant-numeric: tabular-nums; }
.cdx-fc-body { margin: .18rem 0 0; font-size: .88rem; line-height: 1.4; color: #e8eef9; word-wrap: break-word; }
.cdx-fc-tools { display: flex; flex-wrap: wrap; gap: .2rem; }
.cdx-fc-tool {
  font: inherit; font-size: .65rem; font-weight: 700; cursor: pointer;
  border: 1px solid rgba(148,163,184,.25); background: transparent; color: #cbd5e1;
  border-radius: .3rem; padding: .08rem .35rem;
}
.cdx-fc-tool:hover { border-color: var(--gold, #f5c518); color: var(--gold, #f5c518); }
.cdx-fc-form {
  display: flex; gap: .4rem; padding: .55rem .65rem .45rem;
  border-top: 1px solid rgba(148,163,184,.12);
}
.cdx-fc-input {
  flex: 1; min-width: 0; font: inherit; font-size: .88rem;
  padding: .45rem .6rem; border-radius: .45rem;
  border: 1px solid var(--border, rgba(148,163,184,.25));
  background: rgba(15,23,42,.7); color: #fff;
}
.cdx-fc-input:focus { outline: 2px solid rgba(245,197,24,.45); outline-offset: 1px; }
.cdx-fc-send { font-size: .82rem; padding: .45rem .75rem; }
.cdx-fc-hint, .cdx-fc-tvhint { margin: 0 .75rem .55rem; font-size: .72rem; line-height: 1.35; }
.cdx-fc-login {
  display: flex; flex-wrap: wrap; align-items: center; gap: .45rem;
  padding: .55rem .7rem .7rem; border-top: 1px solid rgba(148,163,184,.12);
  font-size: .8rem;
}
.cdx-floor-chat.is-tv { /* TV is still a talk room — do not hide the log or composer */ }

/* Waiting room: stage card is the wide pane; talk is the smaller column */
.wait-split {
  display: grid; width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 20rem);
  gap: 1rem; align-items: start; margin: 0 0 2rem;
}
.wait-split .wait-room { max-width: none; }
.wait-split .cdx-floor-chat--wait {
  max-height: min(32rem, 70vh); min-height: 16rem;
}
@media (max-width: 820px) {
  .wait-split { grid-template-columns: 1fr; }
  .cdx-floor-chat { max-height: 18rem; }
}

/* Theater: stage takes the width; chat is the smaller rail */
.theater.has-floor-talk {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(16rem, 19rem);
  align-items: start;
}
.theater-rail {
  display: flex; flex-direction: column; gap: .75rem;
  min-width: 0;
}
.theater.has-floor-talk .cdx-floor-chat--rail {
  flex: none;
  max-height: min(28rem, 62vh);
  min-height: 14rem;
}
.theater-rail .theater-queue { max-height: 14rem; overflow: auto; }
@media (max-width: 960px) {
  .theater.has-floor-talk { grid-template-columns: 1fr; }
  .theater.has-floor-talk .cdx-floor-chat--rail { max-height: 16rem; }
}

/* Mobile tab strip */
.cdx-fc-mobibar {
  display: none; gap: .35rem; margin: 0 0 .65rem;
}
@media (max-width: 960px) {
  .theater.has-floor-talk .cdx-fc-mobibar { display: flex; }
  .theater.has-floor-talk.is-tab-stage .theater-rail { display: none; }
  .theater.has-floor-talk.is-tab-talk .theater-stage { display: none; }
}

/* Dual-sides launcher */
.sides-page .sides-hero { margin-bottom: 1rem; }
.sides-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: start;
}
@media (max-width: 900px) { .sides-grid { grid-template-columns: 1fr; } }
.sides-frame-wrap {
  border: 1px solid var(--border); border-radius: .75rem; overflow: hidden; background: #05080f;
}
.sides-frame-wrap iframe { width: 100%; height: 70vh; min-height: 28rem; border: 0; background: #05080f; }
.sides-frame-wrap.is-phone { max-width: 26rem; margin: 0 auto; }
.sides-frame-wrap.is-phone iframe { height: 78vh; min-height: 36rem; }
.sides-toolbar { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .85rem; }
