/* IFTCC live conference shell, toolbar popover and favourite-session notices. */
:root {
  --cp-live-orange: #ff5a2f;
  --cp-live-blue: #5499d5;
  --cp-live-bg: #f4f5f5;
  --cp-live-card: #ffffff;
  --cp-live-text: #1c272d;
  --cp-live-muted: #66727a;
  --cp-live-line: rgba(55,72,85,.14);
  --cp-live-shadow: 0 18px 46px rgba(24,42,56,.15), 0 4px 12px rgba(24,42,56,.06);
}


/* The Live page participates in the same Light / Reading / Dark palette as the rest of the conference UI. */
.cp-live-page {
  --cp-live-bg: var(--cp-page);
  --cp-live-card: var(--cp-surface);
  --cp-live-text: var(--cp-text);
  --cp-live-muted: var(--cp-muted);
  --cp-live-line: var(--cp-line);
  background: var(--cp-page);
  color: var(--cp-text);
}
.cp-live-page .cp-detail__appearance { margin-bottom: 12px; }
.cp-live-page[data-theme="dark"] .cp-live-player__stage { background: #11191e; }

/* Header LIVE NOW enhancement. Layout remains owned by the external Divi header. */
.iftcc-live { position: relative; z-index: 40; }
.iftcc-live .cp-live-popover {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(390px, calc(100vw - 24px));
  padding: 10px;
  border: 1px solid var(--cp-live-line);
  border-radius: 16px;
  background: rgba(255,255,255,.985);
  -webkit-backdrop-filter: blur(20px) saturate(145%);
  backdrop-filter: blur(20px) saturate(145%);
  box-shadow: var(--cp-live-shadow);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-5px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
  text-align: left;
  color: var(--cp-live-text);
}
.iftcc-live.cp-live-open .cp-live-popover,
.iftcc-live:focus-within .cp-live-popover {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}
.cp-live-popover__head,
.cp-live-popover__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 8px;
}
.cp-live-popover__head strong { font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.cp-live-popover__head span { font-size: 11px; color: var(--cp-live-muted); }
.cp-live-popover__list { display: grid; gap: 6px; }
.cp-live-popover__item {
  display: grid;
  gap: 3px;
  padding: 10px 11px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--cp-live-text) !important;
  background: rgba(84,153,213,.055);
  text-decoration: none !important;
}
.cp-live-popover__item:hover,
.cp-live-popover__item:focus-visible {
  border-color: rgba(84,153,213,.34);
  background: rgba(84,153,213,.11);
}
.cp-live-popover__room { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #347bb5; }
.cp-live-popover__title { font-size: 13px; font-weight: 750; line-height: 1.3; }
.cp-live-popover__meta { font-size: 11px; color: var(--cp-live-muted); line-height: 1.3; }
.cp-live-popover__fav { color: #d94320; font-weight: 750; }
.cp-live-popover__empty { padding: 13px 10px; color: var(--cp-live-muted); font-size: 13px; line-height: 1.45; }
.cp-live-popover__foot { border-top: 1px solid var(--cp-live-line); margin-top: 8px; padding-top: 10px; }
.cp-live-popover__foot a { font-size: 12px; font-weight: 750; color: #347bb5 !important; text-decoration: none !important; transition: color .16s ease, background .16s ease; border-radius: 8px; padding: 5px 6px; }
.cp-live-popover__foot a:first-child:hover,
.cp-live-popover__foot a:first-child:focus-visible { color: var(--cp-live-orange) !important; background: rgba(255,90,47,.08); }

/* Live hub / room page. */
.cp-live-page { width: min(1180px, calc(100% - 32px)); margin: 0 auto; padding: 24px 0 54px; }
.cp-live-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 0 22px;
  border-top: 4px solid var(--cp-live-orange);
}
.cp-live-hero h1 { margin: 3px 0 8px; }
.cp-live-hero p { margin: 0; color: var(--cp-live-muted); }
.cp-live-secondary,
.cp-live-button,
.cp-live-enter-room {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 40px;
  border-radius: 999px;
  font-weight: 750;
  text-decoration: none !important;
}
.cp-live-secondary { color: #347bb5 !important; }
.cp-live-button,
.cp-live-enter-room {
  padding: 10px 16px;
  background: var(--cp-live-orange);
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(255,90,47,.2);
}
.cp-live-enter-room { margin-top: 8px; align-self: flex-start; font-size: 13px; }
.cp-live-section { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--cp-live-line); }
.cp-live-section__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.cp-live-section__heading h2 { margin: 0; }
.cp-live-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(255,90,47,.11);
  color: #c53f1f;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
}
.cp-live-pill i { width: 8px; height: 8px; border-radius: 50%; background: var(--cp-live-orange); box-shadow: 0 0 0 5px rgba(255,90,47,.11); }
.cp-live-room-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 14px; }
.cp-live-room-card {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-height: 180px;
  padding: 17px;
  border: 1px solid var(--cp-live-line);
  border-top: 4px solid var(--cp-live-orange);
  border-radius: 15px;
  background: var(--cp-live-card);
  box-shadow: 0 8px 24px rgba(24,42,56,.07);
  color: var(--cp-live-text) !important;
  text-decoration: none !important;
}
.cp-live-room-card:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(24,42,56,.11); }
.cp-live-room-card--next { border-top-color: var(--cp-live-blue); }
.cp-live-room-card__room { color: #347bb5; font-size: 11px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.cp-live-room-card__schedule { color: var(--cp-live-muted); font-size: 12px; font-weight: 700; line-height: 1.35; }
.cp-live-room-card strong { font-size: 18px; line-height: 1.25; }
.cp-live-room-card span:not(.cp-live-room-card__room) { color: var(--cp-live-muted); font-size: 13px; }
.cp-live-room-card em { margin-top: auto; color: #347bb5; font-size: 12px; font-style: normal; font-weight: 750; }
.cp-live-empty,
.cp-live-waiting,
.cp-live-gate,
.cp-live-qa-placeholder {
  padding: 22px;
  border: 1px solid var(--cp-live-line);
  border-radius: 16px;
  background: var(--cp-live-card);
}
.cp-live-empty p,
.cp-live-waiting p,
.cp-live-gate p,
.cp-live-qa-placeholder p { color: var(--cp-live-muted); }
.cp-live-player { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(260px, .7fr); gap: 20px; align-items: start; }
.cp-live-player__stage {
  min-height: 430px;
  border-radius: 18px;
  overflow: hidden;
  background: #11191e;
  box-shadow: 0 14px 38px rgba(20,30,36,.18);
}
.cp-live-player__stage iframe,
.cp-live-player__stage video { width: 100%; min-height: 430px; height: 100%; border: 0; display: block; }
.cp-live-player__placeholder { min-height: 430px; padding: 32px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; color: #f5f6f7; text-align: center; }
.cp-live-player__placeholder p { max-width: 560px; margin: 0; color: #cfd6da; }
.cp-live-player__info { padding: 18px; border: 1px solid var(--cp-live-line); border-radius: 16px; background: var(--cp-live-card); }
.cp-live-player__info h2 { margin: 8px 0 10px; }
.cp-live-player__info p { color: var(--cp-live-muted); }
.cp-live-qa-placeholder { margin-top: 22px; display: grid; grid-template-columns: minmax(220px,.55fr) 1fr; gap: 20px; align-items: center; }
.cp-live-gate { width: min(720px, 100%); margin: 28px auto; }

/* Favourite-session in-site reminder. */
.cp-live-toast-stack {
  position: fixed;
  top: 86px;
  right: 18px;
  z-index: 100500;
  display: grid;
  gap: 10px;
  width: min(380px, calc(100vw - 28px));
  pointer-events: none;
}
.cp-live-toast {
  pointer-events: auto;
  padding: 14px;
  border: 1px solid var(--cp-live-line);
  border-left: 4px solid var(--cp-live-orange);
  border-radius: 14px;
  background: rgba(255,255,255,.985);
  box-shadow: var(--cp-live-shadow);
  color: var(--cp-live-text);
}
.cp-live-toast__top { display: flex; justify-content: space-between; gap: 12px; }
.cp-live-toast__top strong { font-size: 13px; }
.cp-live-toast__close { border: 0; background: transparent; cursor: pointer; font-size: 20px; line-height: 1; color: var(--cp-live-muted); }
.cp-live-toast p { margin: 7px 0 10px; color: var(--cp-live-muted); font-size: 13px; line-height: 1.4; }
.cp-live-toast a { font-size: 12px; font-weight: 800; color: #347bb5 !important; text-decoration: none !important; }

@media (max-width: 1120px) {
  .iftcc-live .cp-live-popover { right: -46px; }
  .cp-live-player { grid-template-columns: 1fr; }
  .cp-live-player__stage, .cp-live-player__placeholder, .cp-live-player__stage iframe, .cp-live-player__stage video { min-height: min(56vw, 430px); }
}
@media (max-width: 600px) {
  .iftcc-live .cp-live-popover { position: fixed; top: 70px; left: 11px; right: 11px; width: auto; }
  .cp-live-page { width: min(100% - 20px, 1180px); padding-top: 16px; }
  .cp-live-hero { align-items: flex-start; flex-direction: column; gap: 10px; }
  .cp-live-room-card { min-height: 0; }
  .cp-live-player__stage, .cp-live-player__placeholder, .cp-live-player__stage iframe, .cp-live-player__stage video { min-height: 220px; }
  .cp-live-qa-placeholder { grid-template-columns: 1fr; gap: 4px; }
  .cp-live-toast-stack { top: 74px; right: 10px; width: calc(100vw - 20px); }
}
@media (prefers-reduced-motion: reduce) {
  .iftcc-live .cp-live-popover,
  .cp-live-room-card { transition: none !important; }
}

/* v1.4.36 — annual artwork, red live-state language, room identity and stream security. */
.cp-live-hero--art {
  position: relative;
  min-height: 230px;
  overflow: hidden;
  align-items: flex-end;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid var(--cp-live-line);
  border-top: 4px solid var(--cp-live-orange);
  border-radius: 22px;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--cp-live-card) 96%, transparent) 0%, color-mix(in srgb, var(--cp-live-card) 92%, transparent) 46%, color-mix(in srgb, var(--cp-live-card) 62%, transparent) 100%),
    var(--cp-live-year-art, none) center / cover no-repeat,
    var(--cp-live-card);
  box-shadow: var(--cp-live-shadow);
}
.cp-live-page[data-theme="dark"] .cp-live-hero--art {
  background:
    linear-gradient(90deg, rgba(22,31,36,.98) 0%, rgba(22,31,36,.92) 47%, rgba(22,31,36,.56) 100%),
    var(--cp-live-year-art, none) center / cover no-repeat,
    var(--cp-live-card);
}
.cp-live-hero--room { border-top-color: var(--cp-live-room, var(--cp-live-blue)); }
.cp-live-hero__copy { position: relative; z-index: 1; max-width: 760px; }
.cp-live-hero--art h1 { font-size: clamp(38px, 5vw, 66px); line-height: .98; letter-spacing: -.04em; }
.cp-live-hero__meta { display: inline-flex; margin-top: 11px; padding: 6px 9px; border: 1px solid var(--cp-live-line); border-radius: 999px; background: color-mix(in srgb, var(--cp-live-card) 84%, transparent); color: var(--cp-live-muted); font-size: 12px; font-weight: 760; }
.cp-live-secondary--hero { position: relative; z-index: 1; align-self: flex-end; padding: 9px 12px; background: color-mix(in srgb, var(--cp-live-card) 86%, transparent); border: 1px solid var(--cp-live-line); }
.cp-live-hero__room-icon { width: .86em; height: .86em; margin-right: .22em; object-fit: contain; vertical-align: -.02em; }

.cp-live-security {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: 14px;
  align-items: start;
  margin: 18px 0 8px;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--cp-live-orange) 34%, var(--cp-live-line));
  border-left: 5px solid var(--cp-live-orange);
  border-radius: 16px;
  background: color-mix(in srgb, var(--cp-live-orange) 7%, var(--cp-live-card));
}
.cp-live-security--strong { border-color: color-mix(in srgb, #cf3424 55%, var(--cp-live-line)); border-left-color: #cf3424; background: color-mix(in srgb, #cf3424 8%, var(--cp-live-card)); }
.cp-live-security__icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: color-mix(in srgb, var(--cp-live-orange) 13%, var(--cp-live-card)); font-size: 18px; }
.cp-live-security strong { display: block; color: var(--cp-live-text); font-size: 14px; line-height: 1.35; }
.cp-live-security p { margin: 5px 0 0; color: var(--cp-live-muted); font-size: 12px; line-height: 1.55; }

.cp-live-section--active { border-top: 3px solid #e34232; }
.cp-live-pill { background: color-mix(in srgb, #e34232 12%, transparent); color: #d83728; }
.cp-live-pill i { background: #e34232; box-shadow: 0 0 0 5px color-mix(in srgb, #e34232 13%, transparent); animation: cp-live-pulse 1.35s ease-in-out infinite; }
.cp-live-pill--small { padding: 5px 8px; font-size: 9px; }
.cp-live-pill--small i { width: 7px; height: 7px; box-shadow: 0 0 0 4px color-mix(in srgb, #e34232 12%, transparent); }
@keyframes cp-live-pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.48; transform:scale(.82); } }

.cp-live-room-card--live {
  border-top-color: #e34232;
  box-shadow: inset 4px 0 0 var(--cp-live-room, var(--cp-live-blue)), 0 8px 24px rgba(24,42,56,.07);
}
.cp-live-room-card__top { display:flex; justify-content:space-between; align-items:center; gap:10px; }
.cp-live-room-card__room { display:inline-flex; align-items:center; gap:7px; color:var(--cp-live-room, #347bb5); }
.cp-live-room-card__room img { width:20px; height:20px; object-fit:contain; }
.cp-live-room-card__speaker,
.cp-live-player__speaker { display:flex; align-items:center; gap:7px; color:var(--cp-live-muted); font-size:12px; }
.cp-live-speaker-icon { position:relative; display:inline-block; width:14px; height:14px; flex:0 0 14px; }
.cp-live-speaker-icon::before { content:""; position:absolute; left:4px; top:0; width:6px; height:6px; border-radius:50%; background:currentColor; opacity:.9; }
.cp-live-speaker-icon::after { content:""; position:absolute; left:2px; bottom:0; width:10px; height:6px; border-radius:7px 7px 3px 3px; background:currentColor; opacity:.9; }
.cp-live-room-card--live em { color:#d83728; }

.cp-live-next-list { display:flex; flex-direction:column; border:1px solid var(--cp-live-line); border-radius:16px; overflow:hidden; background:color-mix(in srgb, var(--cp-live-blue) 4%, var(--cp-live-card)); }
.cp-live-next-row { display:grid; grid-template-columns:82px minmax(120px,.55fr) minmax(0,1.8fr) auto; gap:14px; align-items:center; min-height:74px; padding:12px 16px; border-top:1px solid var(--cp-live-line); color:var(--cp-live-text)!important; text-decoration:none!important; box-shadow:inset 4px 0 0 var(--cp-live-room, var(--cp-live-blue)); }
.cp-live-next-row:first-child { border-top:0; }
.cp-live-next-row:hover,.cp-live-next-row:focus-visible { background:color-mix(in srgb, var(--cp-live-blue) 9%, var(--cp-live-card)); }
.cp-live-next-row__time { font-weight:850; font-size:12px; white-space:nowrap; }
.cp-live-next-row__room { display:flex; align-items:center; gap:7px; color:var(--cp-live-room, var(--cp-live-blue)); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.cp-live-next-row__room img { width:22px; height:22px; object-fit:contain; }
.cp-live-next-row__copy { min-width:0; }
.cp-live-next-row__copy strong,.cp-live-next-row__copy small { display:block; }
.cp-live-next-row__copy strong { font-size:14px; line-height:1.35; }
.cp-live-next-row__copy small { display:flex; align-items:center; gap:6px; margin-top:4px; color:var(--cp-live-muted); font-size:11px; }
.cp-live-next-row__action { color:#347bb5; font-size:12px; font-weight:850; white-space:nowrap; }

.cp-live-player__stage { position:relative; border-top:4px solid var(--cp-live-room, var(--cp-live-orange)); }
.cp-live-player__watermark { position:absolute; z-index:4; top:12px; right:12px; max-width:62%; padding:5px 8px; border-radius:6px; background:rgba(0,0,0,.46); color:rgba(255,255,255,.72); font-size:10px; font-weight:700; letter-spacing:.02em; pointer-events:none; user-select:none; }
.cp-live-player__room { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.cp-live-waiting { border-top:4px solid var(--cp-live-room, var(--cp-live-blue)); }

@media (max-width: 760px) {
  .cp-live-hero--art { min-height:0; padding:22px 16px; background-position:center; }
  .cp-live-security { grid-template-columns:1fr; padding:14px; }
  .cp-live-next-row { grid-template-columns:64px minmax(0,1fr) auto; gap:8px 10px; }
  .cp-live-next-row__room { grid-column:2 / 4; grid-row:1; }
  .cp-live-next-row__time { grid-column:1; grid-row:1 / 3; align-self:start; padding-top:4px; }
  .cp-live-next-row__copy { grid-column:2 / 4; }
  .cp-live-next-row__action { grid-column:2 / 4; }
  .cp-live-player__watermark { max-width:78%; font-size:9px; }
}
@media (prefers-reduced-motion: reduce) { .cp-live-pill i { animation:none!important; } }

/* v1.4.36.1 — portrait-led live rows and dark-first atmosphere. */
.cp-live-page[data-theme="dark"] {
  background:
    radial-gradient(ellipse at 8% 12%, rgba(255,90,47,.085) 0%, transparent 38%),
    radial-gradient(ellipse at 94% 76%, rgba(255,90,47,.055) 0%, transparent 34%),
    var(--cp-page);
}
.cp-live-speaker-avatars { display:inline-flex; align-items:center; flex:0 0 auto; }
.cp-live-speaker-avatars img { display:block; width:27px; height:27px; margin-left:-6px; border:2px solid var(--cp-live-card); border-radius:50%; object-fit:cover; background:var(--cp-live-card); }
.cp-live-speaker-avatars img:first-child { margin-left:0; }
.cp-live-next-row__copy small .cp-live-speaker-avatars img { width:25px; height:25px; }
.cp-live-player__speaker .cp-live-speaker-avatars img { width:34px; height:34px; }
.cp-live-popover__speaker { display:flex!important; align-items:center; gap:7px; }
.cp-live-popover__speaker .cp-live-speaker-avatars img { width:22px; height:22px; }
body.cp-programme-page-dark .iftcc-live .cp-live-popover {
  background:rgba(35,46,52,.985);
  color:#f1f4f5;
  --cp-live-text:#f1f4f5;
  --cp-live-muted:#b8c2c8;
  --cp-live-line:rgba(211,224,232,.14);
}
body.cp-programme-page-dark .iftcc-live .cp-live-popover__item { background:rgba(84,153,213,.08); }
body.cp-programme-page-dark .iftcc-live .cp-live-popover__item:hover,
body.cp-programme-page-dark .iftcc-live .cp-live-popover__item:focus-visible { background:rgba(84,153,213,.15); }
@media(max-width:760px){
 .cp-live-speaker-avatars img { width:24px; height:24px; }
 .cp-live-player__speaker .cp-live-speaker-avatars img { width:30px; height:30px; }
}

/* v1.4.39.0 — provider-independent live player (YouTube now, PeerTube later). */
.cp-live-embed { width:100%; height:100%; min-height:430px; background:#000; }
.cp-live-embed iframe { width:100%; height:100%; min-height:430px; border:0; display:block; background:#000; }
@media (max-width:1120px) {
  .cp-live-embed, .cp-live-embed iframe { min-height:min(56vw,430px); }
}
@media (max-width:600px) {
  .cp-live-embed, .cp-live-embed iframe { min-height:220px; }
}

/* v1.4.39.0 — provider-independent live player (YouTube now, PeerTube later). */
.cp-live-embed { width:100%; height:100%; min-height:430px; background:#000; }
.cp-live-embed iframe { width:100%; height:100%; min-height:430px; border:0; display:block; background:#000; }
@media (max-width:1120px) {
  .cp-live-embed, .cp-live-embed iframe { min-height:min(56vw,430px); }
}
@media (max-width:600px) {
  .cp-live-embed, .cp-live-embed iframe { min-height:220px; }
}


/* 1.4.39.2 — room player information bar. Keep the video dominant and avoid
 * the narrow stacked side-card appearance on desktop. */
.cp-live-player { display:block; }
.cp-live-player__info {
  margin-top:12px;
  padding:15px 17px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border-left:4px solid var(--cp-live-room, var(--cp-live-orange));
}
.cp-live-player__info-main { min-width:0; }
.cp-live-player__info-main h2 { margin:6px 0 7px; font-size:clamp(20px,2vw,29px); line-height:1.16; }
.cp-live-player__info-actions { flex:0 0 auto; display:flex; align-items:center; }
.cp-live-player__info-actions .cp-live-secondary { white-space:nowrap; }
.cp-live-player__room { gap:8px 10px; }
.cp-live-player__room .cp-live-room-card__schedule { margin:0; }
@media (max-width:760px) {
  .cp-live-player__info { align-items:flex-start; flex-direction:column; }
  .cp-live-player__info-actions { width:100%; }
  .cp-live-player__info-actions .cp-live-secondary { white-space:normal; }
}

/* 1.4.39.8 — live title/player hierarchy + smooth partial refreshes. */
.cp-live-room-card--live .cp-live-room-card__title {
  display:block;
  width:100%;
  max-width:none;
  margin:4px 0 2px;
  font-size:clamp(20px,2vw,30px);
  line-height:1.14;
  overflow-wrap:normal;
  word-break:normal;
}
.cp-live-player--stacked .cp-live-player__info--top {
  margin:0 0 12px;
  padding:17px 19px;
  align-items:flex-start;
}
.cp-live-player--stacked .cp-live-player__info-main { width:100%; }
.cp-live-player--stacked .cp-live-player__info-main h2 {
  margin:0 0 10px;
  max-width:none;
  font-size:clamp(24px,2.4vw,36px);
  line-height:1.12;
}
.cp-live-player--stacked .cp-live-player__room { margin-bottom:8px; }
.cp-live-player--stacked .cp-live-player__speaker { margin:8px 0 0; }
.cp-live-player--stacked .cp-live-player__stage {
  width:100%;
  min-height:clamp(360px,52vw,680px);
}
.cp-live-player--stacked .cp-live-player__stage iframe,
.cp-live-player--stacked .cp-live-player__stage video,
.cp-live-player--stacked .cp-live-embed,
.cp-live-player--stacked .cp-live-embed iframe {
  min-height:clamp(360px,52vw,680px);
}
.cp-live-fragment-refreshing { opacity:.58; transition:opacity .16s ease; pointer-events:none; }
.cp-live-fragment-enter { animation:cpLiveFragmentIn .22s ease both; }
@keyframes cpLiveFragmentIn { from { opacity:.62; transform:translateY(2px); } to { opacity:1; transform:none; } }
@media(max-width:760px){
  .cp-live-player--stacked .cp-live-player__info--top { flex-direction:column; gap:10px; }
  .cp-live-player--stacked .cp-live-player__info-main h2 { font-size:clamp(22px,7vw,30px); }
  .cp-live-player--stacked .cp-live-player__stage,
  .cp-live-player--stacked .cp-live-player__stage iframe,
  .cp-live-player--stacked .cp-live-player__stage video,
  .cp-live-player--stacked .cp-live-embed,
  .cp-live-player--stacked .cp-live-embed iframe { min-height:220px; }
}
@media(prefers-reduced-motion:reduce){
  .cp-live-fragment-refreshing { transition:none; }
  .cp-live-fragment-enter { animation:none; }
}


/* 1.4.39.9 — room-coloured player shell: title, video, metadata. */
.cp-live-player--stacked {
 overflow: hidden;
 border: 2px solid var(--cp-live-room, var(--cp-live-orange));
 border-top-width: 5px;
 border-radius: 18px;
 background: var(--cp-live-card);
 box-shadow: 0 18px 44px rgba(0,0,0,.12);
}
.cp-live-player--stacked .cp-live-player__titlebar {
 padding: 17px 19px 15px;
 background: color-mix(in srgb, var(--cp-live-room) 8%, var(--cp-live-card));
 border-bottom: 1px solid var(--cp-live-line);
}
.cp-live-player__title-status { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.cp-live-player--stacked .cp-live-player__titlebar h2 {
 margin: 12px 0 0;
 max-width: 1100px;
 color: var(--cp-live-text) !important;
 font-size: clamp(26px, 3vw, 42px);
 line-height: 1.1;
 overflow-wrap: anywhere;
}
.cp-live-player--stacked .cp-live-player__stage {
 margin: 0;
 border: 0;
 border-radius: 0;
 min-height: clamp(360px, 52vw, 680px);
 background: #000;
}
.cp-live-player--stacked .cp-live-player__info--below {
 margin: 0;
 padding: 15px 19px 17px;
 border-left: 0;
 border-top: 1px solid var(--cp-live-line);
 background: color-mix(in srgb, var(--cp-live-room) 5%, var(--cp-live-card));
}
.cp-live-player--stacked .cp-live-player__info--below .cp-live-player__room { margin: 0 0 7px; }
@media(max-width:760px){
 .cp-live-player--stacked .cp-live-player__titlebar { padding: 15px; }
 .cp-live-player--stacked .cp-live-player__titlebar h2 { font-size: clamp(22px,7vw,30px); }
 .cp-live-player--stacked .cp-live-player__info--below { padding: 14px 15px 16px; }
}

/* ========================================================================== */
/* 1.4.39.10 — viewer-card polish, compact autoplay, scrollable next, mobile   */
/* ========================================================================== */
.cp-live-hero__actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.cp-live-room-grid--players { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.cp-live-room-card--viewer {
  --cp-live-room:var(--cp-live-blue);
  min-height:0;
  padding:16px;
  border:2px solid color-mix(in srgb,var(--cp-live-room) 72%,var(--cp-live-line));
  border-top-width:5px;
  transition:transform .18s ease,background-color .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cp-live-room-card--viewer:hover,
.cp-live-room-card--viewer:focus-within {
  transform:translateY(-2px);
  background:color-mix(in srgb,var(--cp-live-room) 8%,var(--cp-live-card));
  box-shadow:0 16px 34px rgba(10,22,30,.16);
}
.cp-live-room-card--viewer .cp-live-room-card__title {
  display:block;
  margin:7px 0 5px;
  font-size:clamp(18px,1.7vw,25px);
  line-height:1.16;
  color:var(--cp-live-text);
  overflow-wrap:anywhere;
}
.cp-live-room-card__player {
  height:clamp(185px,18vw,255px);
  margin:6px 0 10px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--cp-live-room) 55%,var(--cp-live-line));
  border-radius:12px;
  background:#0d1519;
  display:grid;
  place-items:center;
  color:var(--cp-live-muted);
  font-size:12px;
  text-align:center;
}
.cp-live-room-card__player .cp-live-embed,
.cp-live-room-card__player .cp-live-embed iframe {
  width:100%;
  height:100%;
  min-height:0!important;
  display:block;
  border:0;
}
.cp-live-room-card__meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; min-width:0; }
.cp-live-room-card__speaker { display:inline-flex; align-items:center; gap:7px; color:var(--cp-live-muted); font-size:12px; }
.cp-live-room-card__room { display:flex; align-items:center; gap:7px; color:var(--cp-live-room)!important; }
.cp-live-room-card__room img { width:22px; height:22px; object-fit:contain; }
.cp-live-room-card--viewer .cp-live-enter-room { margin-top:11px; align-self:flex-start; }

.cp-live-next-list {
  max-height:360px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}
.cp-live-next-row {
  position:relative;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 38px!important;
  gap:8px;
  padding:0!important;
  min-height:74px;
  transition:background-color .16s ease;
}
.cp-live-next-row__link {
  display:grid;
  grid-template-columns:82px minmax(120px,.55fr) minmax(0,1.8fr) auto;
  gap:14px;
  align-items:center;
  min-width:0;
  padding:12px 8px 12px 16px;
  color:var(--cp-live-text)!important;
  text-decoration:none!important;
}
.cp-live-next-row:hover,.cp-live-next-row:focus-within { background:color-mix(in srgb,var(--cp-live-room) 8%,var(--cp-live-card)); }
.cp-live-next-row__heart {
  position:static!important;
  align-self:center;
  width:31px!important;
  height:31px!important;
  min-width:31px!important;
  padding:0!important;
  margin-right:5px;
  border:1px solid var(--cp-live-line)!important;
  border-radius:9px!important;
  background:transparent!important;
  color:var(--cp-live-muted)!important;
}
.cp-live-next-row__heart [data-cp-heart-icon] { font-size:19px!important; }
.cp-live-next-row__heart:hover,.cp-live-next-row__heart:focus-visible,.cp-live-next-row__heart[aria-pressed="true"] { color:var(--cp-live-orange)!important; border-color:var(--cp-live-orange)!important; background:rgba(255,90,47,.08)!important; }

/* Full room: larger than Lobby, but no longer a huge wall of video. */
.cp-live-player--stacked { max-width:1040px; margin:0 auto; }
.cp-live-player--stacked .cp-live-player__titlebar { padding:15px 18px 13px; }
.cp-live-player--stacked .cp-live-player__titlebar h2 { font-size:clamp(24px,2.35vw,34px); line-height:1.12; }
.cp-live-player--stacked .cp-live-player__stage {
  width:100%;
  aspect-ratio:16/9;
  min-height:0!important;
  max-height:585px;
}
.cp-live-player--stacked .cp-live-player__stage iframe,
.cp-live-player--stacked .cp-live-player__stage video,
.cp-live-player--stacked .cp-live-embed,
.cp-live-player--stacked .cp-live-embed iframe {
  width:100%;
  height:100%;
  min-height:0!important;
}
.cp-live-player--stacked .cp-live-player__info--below { padding:13px 17px 15px; }
.cp-live-player__meta-row { display:flex; flex-wrap:wrap; align-items:center; gap:9px 16px; }
.cp-live-player__speaker { display:inline-flex; align-items:center; gap:8px; margin:0!important; color:var(--cp-live-muted); }
.cp-live-player__topics { display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.cp-live-player__topics span { display:inline-flex; align-items:center; min-height:26px; padding:5px 9px; border:1px solid color-mix(in srgb,var(--cp-live-room) 36%,var(--cp-live-line)); border-radius:999px; background:color-mix(in srgb,var(--cp-live-room) 7%,var(--cp-live-card)); color:var(--cp-live-text); font-size:11px; font-weight:750; }
.cp-live-player__watermark { font-size:9px; opacity:.72; }

/* Compact players are used on Lobby / Live hub. They autoplay muted and are
 * intentionally non-interactive there; the room button opens the full player. */
.cp-live-embed--compact,.cp-live-embed--compact iframe { min-height:0!important; height:100%!important; }
.cp-live-embed--compact iframe { pointer-events:none; }

@media(max-width:980px){
  .cp-live-page { width:min(100% - 24px,1180px); }
  .cp-live-room-grid--players { grid-template-columns:1fr 1fr; gap:12px; }
  .cp-live-room-card__player { height:clamp(165px,26vw,220px); }
  .cp-live-next-row__link { grid-template-columns:68px minmax(0,1fr) auto; gap:8px 10px; }
  .cp-live-next-row__time { grid-column:1; grid-row:1 / 3; align-self:start; padding-top:4px; }
  .cp-live-next-row__room { grid-column:2 / 4; }
  .cp-live-next-row__copy { grid-column:2 / 4; }
  .cp-live-next-row__action { grid-column:2 / 4; }
}
@media(max-width:760px){
  .cp-live-hero__actions { width:100%; }
  .cp-live-hero__actions .cp-live-secondary { flex:1 1 auto; justify-content:center; min-height:42px; border:1px solid var(--cp-live-line); border-radius:10px; }
  .cp-live-room-grid--players { grid-template-columns:1fr; }
  .cp-live-room-card--viewer { padding:13px; border-radius:14px; }
  .cp-live-room-card__player { height:clamp(165px,48vw,230px); }
  .cp-live-next-list { max-height:315px; }
  .cp-live-player--stacked { border-radius:14px; }
  .cp-live-player--stacked .cp-live-player__titlebar { padding:13px 14px 12px; }
  .cp-live-player--stacked .cp-live-player__titlebar h2 { font-size:clamp(21px,6.5vw,28px); }
  .cp-live-player--stacked .cp-live-player__stage { aspect-ratio:16/9; max-height:none; }
  .cp-live-player--stacked .cp-live-player__info--below { padding:12px 14px 14px; align-items:flex-start; }
  .cp-live-player__meta-row { gap:8px 12px; }
  .cp-live-player__info-actions { width:100%; }
  .cp-live-player__info-actions .cp-live-secondary { display:flex; width:100%; justify-content:center; padding:10px 12px; border:1px solid var(--cp-live-line); border-radius:10px; }
}
@media(max-width:520px){
  .cp-live-page { width:calc(100% - 16px); padding-top:10px; }
  .cp-live-room-card__player { height:clamp(150px,52vw,205px); }
  .cp-live-next-row { grid-template-columns:minmax(0,1fr) 34px!important; }
  .cp-live-next-row__link { padding:10px 4px 10px 10px; }
  .cp-live-security { font-size:12px; }
}
@media(prefers-reduced-motion:reduce){
  .cp-live-room-card--viewer,.cp-live-next-row { transition:none!important; transform:none!important; }
}

/* 1.4.39.10 final Live Conference geometry: larger than Lobby, still compact. */
.cp-live-room-card__player{height:clamp(170px,15vw,215px)!important}
@media(max-width:980px){.cp-live-room-card__player{height:clamp(160px,23vw,205px)!important}}
@media(max-width:760px){.cp-live-room-card__player{height:clamp(165px,45vw,220px)!important}}
@media(max-width:520px){.cp-live-room-card__player{height:clamp(150px,50vw,205px)!important}}
.cp-live-next-list{max-height:255px!important;overflow-y:auto!important}
@media(max-width:760px){.cp-live-next-list{max-height:280px!important}}

/* 1.4.39.10 — tablet/phone finishing pass and aligned viewer cards. */
@media (min-width:761px) {
  .cp-live-room-card--viewer .cp-live-room-card__title {
    min-height:calc(3 * 1.16em);
    display:-webkit-box;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:3;
    overflow:hidden;
  }
}
@media (min-width:761px) and (max-width:1024px) {
  .cp-live-room-grid--players { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .cp-live-room-card--viewer { min-width:0; padding:14px; }
  .cp-live-room-card__player { height:clamp(145px,19vw,185px)!important; }
  .cp-live-room-card--viewer .cp-live-room-card__title { font-size:clamp(17px,2.3vw,22px); }
}
@media (max-width:760px) {
  .cp-live-room-grid--players { grid-template-columns:1fr!important; }
  .cp-live-room-card--viewer .cp-live-room-card__title { min-height:0; display:block; overflow:visible; }
  .cp-live-room-card__meta { align-items:flex-start; }
  .cp-live-player__meta-row { flex-direction:column; align-items:flex-start; gap:7px; }
  .cp-live-player__topics { margin-top:8px; }
}
@media (max-width:420px) {
  .cp-live-room-card--viewer { padding:11px; }
  .cp-live-room-card__player { height:clamp(140px,50vw,185px)!important; }
  .cp-live-room-card--viewer .cp-live-room-card__title { font-size:19px; }
  .cp-live-next-row__heart { width:30px!important; height:30px!important; min-width:30px!important; }
}
@media (hover:none) {
  .cp-live-room-card--viewer:active,
  .cp-live-next-row:active {
    background:color-mix(in srgb,var(--cp-live-room) 12%,var(--cp-live-card));
  }
}

/* 1.4.39.11 — symmetry pass + linked speaker meta on full live room pages. */
@media (min-width:761px) {
  .cp-live-room-card--viewer {
    display: flex;
    flex-direction: column;
  }
  .cp-live-room-card--viewer .cp-live-room-card__title {
    min-height: calc(3 * 1.16em);
  }
  .cp-live-room-card__meta {
    min-height: 38px;
    align-items: flex-start;
  }
}
.cp-live-player__speaker-links {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.cp-live-player__speaker-avatars {
  display: inline-flex;
  align-items: center;
}
.cp-live-player__speaker-link--avatar {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  overflow: hidden;
  margin-left: -8px;
  border: 2px solid var(--cp-live-card);
  background: color-mix(in srgb, var(--cp-live-room) 16%, var(--cp-live-card));
  color: var(--cp-live-text) !important;
  text-decoration: none !important;
  font-size: 11px;
  font-weight: 850;
}
.cp-live-player__speaker-avatars > :first-child { margin-left: 0; }
.cp-live-player__speaker-link--avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.cp-live-player__speaker-link--avatar:hover,
.cp-live-player__speaker-link--avatar:focus-visible,
.cp-live-player__speaker-link:hover,
.cp-live-player__speaker-link:focus-visible {
  color: var(--cp-live-orange) !important;
}
.cp-live-player__speaker-names {
  display: inline;
}
.cp-live-player__speaker-link {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: 700;
}
.cp-live-player__speaker-sep {
  color: var(--cp-live-muted);
}
@media (max-width:760px) {
  .cp-live-player__speaker-links {
    align-items: flex-start;
  }
}

/* 1.4.39.12 — first control-block correction and viewer breathing room. */
.cp-live-room-card--viewer {
  padding:18px;
  border-width:1px;
  border-top-width:3px;
}
.cp-live-room-card--viewer .cp-live-room-card__player {
  margin:9px 2px 12px;
}
.cp-live-player__stage { position:relative; }
.cp-live-player__sound {
  position:absolute;
  z-index:6;
  right:14px;
  bottom:14px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:36px;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  background:rgba(9,17,21,.78);
  color:#fff;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  backdrop-filter:blur(8px);
}
.cp-live-player__sound:hover,
.cp-live-player__sound:focus-visible {
  background:rgba(255,90,47,.92);
  border-color:rgba(255,255,255,.55);
}
@media (max-width:900px) {
  .cp-live-room-card--viewer { padding:14px; border-top-width:3px; }
  .cp-live-room-card--viewer .cp-live-room-card__player { margin:8px 1px 10px; }
}
@media (max-width:560px) {
  .cp-live-room-card--viewer { padding:12px; }
  .cp-live-player__sound { right:10px; bottom:10px; min-height:34px; padding:6px 9px; }
}

/* 1.4.39.13 — clean compact YouTube preview cards. The actual YouTube iframe is
 * reserved for the protected room page so Lobby/Live Conference never flash
 * YouTube's title, pause, More videos or outbound logo overlays on load. */
.cp-live-preview-poster {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  min-height: 0 !important;
  overflow: hidden;
  border-radius: 10px;
  background-color: #0b1419;
  background-size: cover;
  background-position: center;
  border: 1px solid color-mix(in srgb, var(--cp-live-room, #5499d5) 48%, rgba(255,255,255,.12));
}
.cp-live-preview-poster__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,12,15,.12), rgba(7,12,15,.30));
}
.cp-live-preview-poster__badge {
  position: absolute;
  left: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(10,18,22,.82);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .06em;
  backdrop-filter: blur(8px);
}
.cp-live-preview-poster__badge i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4b3d;
  box-shadow: 0 0 0 5px rgba(255,75,61,.15);
}
@media (max-width:560px) {
  .cp-live-preview-poster { border-radius: 8px; }
  .cp-live-preview-poster__badge { left: 9px; bottom: 9px; }
}

/* 1.4.39.14 — live video strategy reset: moving previews, no clickable YouTube chrome. */
.cp-live-embed--youtube {
  position: relative;
  overflow: hidden;
  background: #081015;
}
.cp-live-embed--youtube iframe {
  pointer-events: none !important;
  user-select: none;
}
.cp-live-youtube-cover {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-items: end start;
  padding: 12px;
  pointer-events: none;
  opacity: 1;
  visibility: visible;
  background:
    linear-gradient(180deg, rgba(7,13,17,.18), rgba(7,13,17,.42)),
    #10191e;
  transition: opacity .28s ease, visibility .28s ease;
}
.cp-live-youtube-cover > span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(8,15,19,.86);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .055em;
}
.cp-live-youtube-cover i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4b3d;
  box-shadow: 0 0 0 5px rgba(255,75,61,.15);
}
.cp-live-embed--youtube.cp-live-youtube-ready .cp-live-youtube-cover {
  opacity: 0;
  visibility: hidden;
}
.cp-live-player__sound { display:none !important; }

/* Live Conference: deliberate inner spacing and even card geometry. */
.cp-live-room-card--viewer {
  display:flex;
  flex-direction:column;
  padding:18px !important;
  border-width:1px !important;
  border-top-width:3px !important;
}
.cp-live-room-card--viewer .cp-live-room-card__top {
  margin-bottom:5px;
}
.cp-live-room-card--viewer .cp-live-room-card__title {
  margin:8px 0 14px !important;
}
.cp-live-room-card--viewer .cp-live-room-card__player {
  margin:0 0 14px !important;
  border-radius:10px;
}
.cp-live-room-card--viewer .cp-live-room-card__meta {
  margin:0;
  padding:2px 0 0;
  min-height:42px;
}
.cp-live-room-card--viewer .cp-live-enter-room {
  margin-top:12px;
}
@media (min-width:761px) {
  .cp-live-room-card--viewer .cp-live-room-card__title {
    min-height:calc(3 * 1.16em);
  }
}
@media (max-width:900px) {
  .cp-live-room-card--viewer { padding:14px !important; }
  .cp-live-room-card--viewer .cp-live-room-card__title { margin-bottom:11px !important; }
  .cp-live-room-card--viewer .cp-live-room-card__player { margin-bottom:11px !important; }
}
@media (max-width:560px) {
  .cp-live-room-card--viewer { padding:12px !important; }
  .cp-live-room-card--viewer .cp-live-room-card__title { min-height:0; }
  .cp-live-youtube-cover { padding:9px; }
}

/* 1.4.39.15 — clean moving YouTube previews + symmetry/spacing correction. */
.cp-live-embed--youtube-crop {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #081015;
}
.cp-live-embed--youtube-crop iframe {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  transform: scale(1.10);
  transform-origin: 50% 50%;
  pointer-events: none !important;
  z-index: 1;
}
/* Mask the non-interactive YouTube chrome while preserving the moving picture. */
.cp-live-embed--youtube-crop::before,
.cp-live-embed--youtube-crop::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
  pointer-events: none;
}
.cp-live-embed--youtube-crop::before {
  top: 0;
  height: 34px;
  background: linear-gradient(180deg, rgba(8,16,21,.98) 0%, rgba(8,16,21,.82) 58%, rgba(8,16,21,0) 100%);
}
.cp-live-embed--youtube-crop::after {
  bottom: 0;
  height: 38px;
  background: linear-gradient(0deg, rgba(8,16,21,.98) 0%, rgba(8,16,21,.84) 60%, rgba(8,16,21,0) 100%);
}
.cp-live-embed--youtube-crop.cp-live-embed--compact::before { height: 31px; }
.cp-live-embed--youtube-crop.cp-live-embed--compact::after { height: 34px; }
.cp-live-youtube-cover { z-index: 5; }

/* Live Conference geometry: strict rhythm and equal rows. */
.cp-live-room-grid--players {
  gap: 18px !important;
  align-items: stretch;
}
.cp-live-room-card--viewer {
  display: grid !important;
  grid-template-rows: auto auto auto auto 1fr auto;
  min-width: 0;
  padding: 16px !important;
  border-width: 1px !important;
  border-top-width: 3px !important;
  border-radius: 15px !important;
  overflow: hidden;
}
.cp-live-room-card--viewer .cp-live-room-card__top {
  min-height: 26px;
  margin: 0 0 9px !important;
}
.cp-live-room-card--viewer .cp-live-room-card__title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  min-height: calc(3 * 1.17em);
  max-height: calc(3 * 1.17em);
  margin: 0 0 13px !important;
  font-size: clamp(19px,1.62vw,24px) !important;
  line-height: 1.17 !important;
}
.cp-live-room-card--viewer .cp-live-room-card__player {
  position: relative;
  width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 9;
  margin: 0 0 12px !important;
  border-radius: 10px !important;
  overflow: hidden;
}
.cp-live-room-card--viewer .cp-live-room-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  gap: 7px 13px;
  min-height: 44px;
  margin: 0 !important;
  padding: 0 !important;
}
.cp-live-room-card--viewer .cp-live-enter-room {
  align-self: end;
  justify-self: start;
  margin-top: 12px !important;
}

/* Lobby stays compact, but titles/metadata use the same consistent rhythm. */
@media (min-width:681px) {
  .cp-lobby-live-card {
    display: grid !important;
    grid-template-rows: auto auto auto 1fr auto;
    min-width: 0;
  }
  .cp-lobby-live-card__title {
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden !important;
    min-height: calc(3 * 1.18em) !important;
    max-height: calc(3 * 1.18em) !important;
  }
  .cp-lobby-live-card__meta {
    min-height: 42px !important;
  }
  .cp-lobby-live-card > .cp-lobby-session__primary {
    align-self: end;
  }
}

/* Full protected room: preserve the larger player, but mask YouTube branding/chrome. */
.cp-live-player--stacked .cp-live-embed--youtube-crop iframe {
  transform: scale(1.06);
}
.cp-live-player--stacked .cp-live-embed--youtube-crop::before { height: 44px; }
.cp-live-player--stacked .cp-live-embed--youtube-crop::after { height: 48px; }

@media (max-width:900px) {
  .cp-live-room-grid--players { gap: 14px !important; }
  .cp-live-room-card--viewer { padding: 14px !important; }
  .cp-live-room-card--viewer .cp-live-room-card__title {
    font-size: clamp(18px,2.4vw,22px) !important;
  }
}
@media (max-width:760px) {
  .cp-live-room-card--viewer {
    display: flex !important;
    flex-direction: column;
    padding: 13px !important;
  }
  .cp-live-room-card--viewer .cp-live-room-card__title {
    display: block !important;
    min-height: 0;
    max-height: none;
    overflow: visible !important;
  }
  .cp-live-room-card--viewer .cp-live-room-card__meta { min-height: 0; }
  .cp-live-room-card--viewer .cp-live-enter-room { margin-top: 11px !important; }
  .cp-live-embed--youtube-crop::before { height: 28px; }
  .cp-live-embed--youtube-crop::after { height: 30px; }
  .cp-live-player--stacked .cp-live-embed--youtube-crop::before { height: 34px; }
  .cp-live-player--stacked .cp-live-embed--youtube-crop::after { height: 38px; }
}

/* 1.4.39.16 — Live Conference spacing reset.
 * Use a dedicated inner shell so legacy card padding rules cannot collapse
 * the visual breathing room around title/player/meta. Lobby is intentionally
 * untouched because the current Lobby layout passed review. */
.cp-live-room-card--viewer {
  padding: 0 !important;
  border-width: 1px !important;
  border-top-width: 2px !important;
  overflow: hidden !important;
}
.cp-live-room-card--viewer .cp-live-room-card__inner {
  box-sizing: border-box;
  height: 100%;
  display: grid;
  grid-template-rows: auto auto auto auto 1fr auto;
  row-gap: 14px;
  padding: 20px 20px 18px;
}
.cp-live-room-card--viewer .cp-live-room-card__top {
  min-height: 28px;
  margin: 0 !important;
}
.cp-live-room-card--viewer .cp-live-room-card__title {
  margin: 0 !important;
  min-height: calc(3 * 1.18em);
  max-height: calc(3 * 1.18em);
  line-height: 1.18 !important;
}
.cp-live-room-card--viewer .cp-live-room-card__player {
  width: 100%;
  margin: 0 !important;
  border-radius: 10px !important;
}
.cp-live-room-card--viewer .cp-live-room-card__meta {
  margin: 0 !important;
  padding: 0 !important;
  min-height: 44px;
}
.cp-live-room-card--viewer .cp-live-enter-room {
  margin: 0 !important;
  align-self: end;
  justify-self: start;
}
@media (max-width: 900px) {
  .cp-live-room-card--viewer .cp-live-room-card__inner {
    padding: 17px 17px 16px;
    row-gap: 12px;
  }
}
@media (max-width: 760px) {
  .cp-live-room-card--viewer .cp-live-room-card__inner {
    display: flex;
    flex-direction: column;
    padding: 15px;
    gap: 11px;
  }
  .cp-live-room-card--viewer .cp-live-room-card__title {
    min-height: 0;
    max-height: none;
  }
  .cp-live-room-card--viewer .cp-live-room-card__meta { min-height: 0; }
}


/* 1.4.39.26 — favourite-session notifications inherit the room brand colour. */
.cp-live-toast {
  --cp-live-toast-room: var(--cp-live-orange);
  border-color: color-mix(in srgb, var(--cp-live-toast-room) 42%, var(--cp-live-line)) !important;
  border-left-color: var(--cp-live-toast-room) !important;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cp-live-toast-room) 10%, rgba(255,255,255,.985)), rgba(255,255,255,.985) 58%) !important;
}
.cp-live-toast__top strong,
.cp-live-toast a {
  color: var(--cp-live-toast-room) !important;
}
.cp-live-page[data-theme="dark"] .cp-live-toast,
body.cp-live-theme-dark .cp-live-toast {
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cp-live-toast-room) 16%, #1a252b), #1a252b 60%) !important;
}


/* 1.4.39.27 — robust room-brand treatment for favourite-session reminders. */
.cp-live-toast {
  box-shadow:
    inset 5px 0 0 var(--cp-live-toast-room),
    0 18px 46px rgba(24,42,56,.16),
    0 4px 12px rgba(24,42,56,.07) !important;
}
.cp-live-toast__top strong { color: var(--cp-live-toast-room) !important; }
.cp-live-toast a {
  color: var(--cp-live-toast-room) !important;
  text-decoration-color: color-mix(in srgb, var(--cp-live-toast-room) 45%, transparent) !important;
}
.cp-live-toast[data-room="voice"] {
  --cp-live-toast-room: #64686c;
}

/* ========================================================================== */
/* 1.4.39.28 — Live Conference phone Coming Next breakpoint repair.          */
/* Prevent Programme-card title rules from collapsing/overlapping hub rows.  */
/* ========================================================================== */
@media (max-width: 680px) {
  .cp-live-next-list {
    max-height: 360px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px !important;
  }
  .cp-live-next-row {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0,1fr) 46px !important;
    grid-template-rows: auto !important;
    gap: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: stretch !important;
    overflow: visible !important;
  }
  .cp-live-next-row__link {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0,1fr) !important;
    grid-template-areas:
      "time room"
      "copy copy" !important;
    gap: 8px 10px !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 88px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 13px 8px 13px 16px !important;
    align-content: center !important;
    align-items: center !important;
    overflow: visible !important;
  }
  .cp-live-next-row__time {
    grid-area: time !important;
    position: static !important;
    align-self: center !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }
  .cp-live-next-row__room {
    grid-area: room !important;
    position: static !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
  }
  .cp-live-next-row__room img {
    position: static !important;
    display: block !important;
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }
  .cp-live-next-row__copy {
    grid-area: copy !important;
    position: static !important;
    display: block !important;
    min-width: 0 !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .cp-live-next-row__copy > strong.cp-live-list-title {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.32 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .cp-live-next-row__copy > small {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
  }
  .cp-live-next-row__copy .cp-live-speaker-avatars,
  .cp-live-next-row__copy .cp-live-speaker-avatars img {
    position: static !important;
    transform: none !important;
  }
  .cp-live-next-row__copy .cp-live-speaker-avatars img {
    width: 22px !important;
    height: 22px !important;
  }
  .cp-live-next-row__action { display: none !important; }
  .cp-live-next-row__heart {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: center !important;
    justify-self: center !important;
    position: static !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 430px) {
  .cp-live-next-row__link {
    min-height: 84px !important;
    padding: 12px 7px 12px 13px !important;
  }
  .cp-live-next-row__copy > strong.cp-live-list-title {
    font-size: 13px !important;
    line-height: 1.3 !important;
  }
  .cp-live-next-row__room { font-size: 9.5px !important; }
}

/* 1.4.39.28 final Live Conference phone Coming Next flow. */
@media (max-width: 680px) {
  .cp-live-next-row {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .cp-live-next-row__link {
    position: relative !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 88px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 13px 58px 13px 16px !important;
    overflow: visible !important;
  }
  .cp-live-next-row__time,
  .cp-live-next-row__room,
  .cp-live-next-row__copy {
    position: static !important;
    float: none !important;
    transform: none !important;
  }
  .cp-live-next-row__time {
    display: inline-flex !important;
    width: auto !important;
    margin: 0 10px 8px 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    vertical-align: middle !important;
  }
  .cp-live-next-row__room {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.15 !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
  }
  .cp-live-next-row__room img {
    position: static !important;
    width: 20px !important;
    height: 20px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }
  .cp-live-next-row__copy {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  .cp-live-next-row__copy > .cp-live-list-title {
    position: static !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.32 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: anywhere !important;
  }
  .cp-live-next-row__copy > small {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
    gap: 7px !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    white-space: normal !important;
  }
  .cp-live-next-row__action { display: none !important; }
  .cp-live-next-row__heart {
    position: absolute !important;
    top: 50% !important;
    right: 10px !important;
    left: auto !important;
    bottom: auto !important;
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
  }
}
@media (max-width: 430px) {
  .cp-live-next-row__link { min-height:84px !important; padding:12px 54px 12px 13px !important; }
  .cp-live-next-row__copy > .cp-live-list-title { font-size:13px !important; }
  .cp-live-next-row__heart { right:8px !important; }
}

/* ========================================================================== */
/* 1.4.39.30 — Live Conference viewer-card tablet/phone proportion refinement. */
/* Desktop (>1024px) remains unchanged. Smaller screens use a tighter centred   */
/* card, player/title share the same width, and Enter room sits compactly at    */
/* the lower right beside the session metadata.                                */
/* ========================================================================== */
@media (max-width: 1024px) {
  .cp-live-room-grid--players .cp-live-room-card--viewer {
    box-sizing: border-box;
    width: min(100%, 540px) !important;
    justify-self: center !important;
  }
  .cp-live-room-grid--players .cp-live-room-card--viewer .cp-live-room-card__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-areas:
      "viewer-top viewer-top"
      "viewer-title viewer-title"
      "viewer-player viewer-player"
      "viewer-meta viewer-action" !important;
    column-gap: 12px !important;
    row-gap: 10px !important;
    padding: 14px !important;
    align-items: end !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__top {
    grid-area: viewer-top !important;
    width: 100% !important;
    min-height: 0 !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__title {
    grid-area: viewer-title !important;
    width: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    font-size: clamp(17px, 2.15vw, 20px) !important;
    line-height: 1.23 !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__player {
    grid-area: viewer-player !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    margin: 0 !important;
    border-radius: 10px !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__meta {
    grid-area: viewer-meta !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center !important;
  }
  .cp-live-room-grid--players .cp-live-enter-room {
    grid-area: viewer-action !important;
    width: auto !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 7px 12px !important;
    align-self: end !important;
    justify-self: end !important;
    border-radius: 10px !important;
    font-size: 11.5px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 760px) {
  .cp-live-room-grid--players .cp-live-room-card--viewer {
    width: min(calc(100% - 18px), 460px) !important;
  }
  .cp-live-room-grid--players .cp-live-room-card--viewer .cp-live-room-card__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    padding: 12px !important;
    row-gap: 9px !important;
    column-gap: 10px !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__title {
    font-size: 18px !important;
    line-height: 1.23 !important;
  }
  .cp-live-room-grid--players .cp-live-enter-room {
    min-height: 32px !important;
    padding: 7px 11px !important;
    font-size: 11px !important;
    border-radius: 9px !important;
  }
}

/* ========================================================================== */
/* 1.4.39.30 — responsive Live Conference card polish.                        */
/* Two-across on tablet/large-mobile, one compact centred card on phones.      */
/* Desktop >1024px remains the approved four-across presentation.              */
/* ========================================================================== */
@media (min-width: 600px) and (max-width: 1024px) {
  .cp-live-room-grid--players {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .cp-live-room-grid--players .cp-live-room-card--viewer {
    width: 100% !important;
    max-width: none !important;
  }
  .cp-live-room-grid--players .cp-live-room-card--viewer .cp-live-room-card__inner {
    padding: 11px !important;
    row-gap: 8px !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__title {
    font-size: 15px !important;
    line-height: 1.22 !important;
    min-height: calc(2.44em) !important;
    max-height: calc(2.44em) !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }
  .cp-live-room-grid--players .cp-live-enter-room {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
  }
}

@media (max-width: 599px) {
  .cp-live-room-grid--players {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .cp-live-room-grid--players .cp-live-room-card--viewer {
    width: min(calc(100% - 12px), 380px) !important;
    max-width: 380px !important;
    justify-self: center !important;
  }
  .cp-live-room-grid--players .cp-live-room-card--viewer .cp-live-room-card__inner {
    padding: 10px !important;
    row-gap: 8px !important;
    column-gap: 8px !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__title {
    font-size: 15.5px !important;
    line-height: 1.24 !important;
  }
  .cp-live-room-grid--players .cp-live-room-card__player {
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 9px !important;
  }
  .cp-live-room-grid--players .cp-live-enter-room {
    min-height: 30px !important;
    padding: 6px 9px !important;
    font-size: 10px !important;
  }
}


/* ========================================================================== */
/* 1.4.39.31 — room-branded live reminder motion + hover polish.              */
/* Reminders enter from the right and dismiss back to the right.               */
/* ========================================================================== */
.cp-live-toast {
  opacity: 0;
  transform: translate3d(calc(100% + 36px), 0, 0);
  transition:
    transform 360ms cubic-bezier(.22,.78,.24,1),
    opacity 260ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease,
    background 220ms ease !important;
  will-change: transform, opacity;
}
.cp-live-toast.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
.cp-live-toast.is-visible:hover,
.cp-live-toast.is-visible:focus-within {
  transform: translate3d(-7px, 0, 0);
  border-color: color-mix(in srgb, var(--cp-live-toast-room) 72%, var(--cp-live-line)) !important;
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--cp-live-toast-room) 15%, rgba(255,255,255,.99)),
      rgba(255,255,255,.99) 62%) !important;
  box-shadow:
    inset 5px 0 0 var(--cp-live-toast-room),
    0 22px 54px rgba(24,42,56,.22),
    0 7px 18px rgba(24,42,56,.11) !important;
}
.cp-live-toast.is-leaving {
  pointer-events: none;
  opacity: 0;
  transform: translate3d(calc(100% + 36px), 0, 0);
}
.cp-live-page[data-theme="dark"] .cp-live-toast.is-visible:hover,
.cp-live-page[data-theme="dark"] .cp-live-toast.is-visible:focus-within,
body.cp-live-theme-dark .cp-live-toast.is-visible:hover,
body.cp-live-theme-dark .cp-live-toast.is-visible:focus-within {
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--cp-live-toast-room) 23%, #1a252b),
      #1a252b 62%) !important;
}
.cp-live-toast__close {
  border-radius: 999px;
  transition: color 160ms ease, background 160ms ease, transform 160ms ease;
}
.cp-live-toast__close:hover,
.cp-live-toast__close:focus-visible {
  color: var(--cp-live-toast-room);
  background: color-mix(in srgb, var(--cp-live-toast-room) 12%, transparent);
  transform: scale(1.08);
  outline: none;
}
@media (prefers-reduced-motion: reduce) {
  .cp-live-toast,
  .cp-live-toast.is-visible,
  .cp-live-toast.is-visible:hover,
  .cp-live-toast.is-visible:focus-within,
  .cp-live-toast.is-leaving {
    transition: none !important;
    transform: none !important;
  }
}

/* ========================================================================== */
/* 1.4.39.34 — Live Conference broadcast wall.                               */
/* Lobby remains visually locked; these selectors exist only on /live hub.    */
/* ========================================================================== */
.cp-live-broadcast-section {
  margin-top: 26px;
  padding-top: 24px;
}
.cp-live-broadcast-section__heading {
  align-items: flex-start;
  margin-bottom: 22px;
}
.cp-live-broadcast-section__intro {
  max-width: 760px;
  margin: 7px 0 0;
  color: var(--cp-live-muted);
  font-size: 14px;
  line-height: 1.55;
}
.cp-live-broadcast-section__heading > .cp-live-pill {
  margin-top: 5px;
  white-space: nowrap;
}
.cp-live-broadcast-wall {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px 30px;
}
.cp-live-broadcast {
  --cp-live-room: var(--cp-live-blue);
  position: relative;
  min-width: 0;
  padding: 0 0 28px;
  border: 0;
  border-bottom: 1px solid var(--cp-live-line);
  background: transparent;
  box-shadow: none;
}
.cp-live-broadcast::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 42px;
  height: 3px;
  border-radius: 999px;
  background: var(--cp-live-room);
}
.cp-live-broadcast__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 32px;
  padding-top: 11px;
}
.cp-live-broadcast__identity {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.cp-live-broadcast__room {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--cp-live-room);
  font-size: 11px;
  line-height: 1.2;
  font-weight: 850;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.cp-live-broadcast__room img {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  object-fit: contain;
}
.cp-live-broadcast__saved {
  flex: 0 0 auto;
  color: var(--cp-live-orange);
  font-size: 11px;
  font-weight: 800;
}
.cp-live-broadcast__title {
  min-height: 2.42em;
  margin: 10px 0 13px;
  font-size: clamp(20px, 1.7vw, 27px);
  line-height: 1.21;
  letter-spacing: -.015em;
}
.cp-live-broadcast__title a {
  color: var(--cp-live-text) !important;
  text-decoration: none !important;
}
.cp-live-broadcast__title a:hover,
.cp-live-broadcast__title a:focus-visible {
  color: var(--cp-live-room) !important;
}
.cp-live-broadcast__player {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cp-live-room) 32%, var(--cp-live-line));
  border-radius: 14px;
  background: #0d1519;
  box-shadow: 0 13px 28px rgba(12, 24, 31, .14);
}
.cp-live-broadcast__player .cp-live-embed,
.cp-live-broadcast__player .cp-live-embed iframe,
.cp-live-broadcast__player > iframe,
.cp-live-broadcast__player > video {
  display: block;
  width: 100%;
  height: 100% !important;
  min-height: 0 !important;
  border: 0;
}
.cp-live-broadcast__preview-note {
  position: absolute;
  right: 9px;
  bottom: 9px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.17);
  border-radius: 999px;
  background: rgba(8,14,18,.72);
  color: rgba(255,255,255,.86) !important;
  font-size: 10px !important;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  pointer-events: none;
  backdrop-filter: blur(8px);
}
.cp-live-broadcast__details {
  padding-top: 13px;
}
.cp-live-broadcast__facts {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px 12px;
  color: var(--cp-live-muted);
  font-size: 12px;
  font-weight: 700;
}
.cp-live-broadcast__code,
.cp-live-broadcast__resource {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 4px 8px;
  border: 1px solid color-mix(in srgb, var(--cp-live-room) 27%, var(--cp-live-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--cp-live-room) 6%, transparent);
  color: var(--cp-live-text);
  font-size: 10px;
  font-weight: 800;
}
.cp-live-broadcast__topics {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}
.cp-live-broadcast__topics > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 27px;
  padding: 4px 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cp-live-room) 7%, var(--cp-live-card));
  color: var(--cp-live-muted);
  font-size: 10px;
  font-weight: 760;
}
.cp-live-broadcast__topics img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}
.cp-live-broadcast__speaker-row {
  min-height: 35px;
  margin-top: 11px;
}
.cp-live-broadcast__speakers {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
}
.cp-live-broadcast__speaker,
.cp-live-broadcast__speaker-fallback {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--cp-live-muted) !important;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  text-decoration: none !important;
}
.cp-live-broadcast__speaker:hover,
.cp-live-broadcast__speaker:focus-visible {
  color: var(--cp-live-room) !important;
}
.cp-live-broadcast__speaker img,
.cp-live-broadcast__speaker-initial {
  width: 29px;
  height: 29px;
  flex: 0 0 29px;
  border-radius: 50%;
}
.cp-live-broadcast__speaker img {
  object-fit: cover;
  border: 1px solid color-mix(in srgb, var(--cp-live-room) 34%, var(--cp-live-line));
}
.cp-live-broadcast__speaker-initial {
  display: inline-grid;
  place-items: center;
  background: color-mix(in srgb, var(--cp-live-room) 13%, var(--cp-live-card));
  color: var(--cp-live-text);
  font-size: 11px;
  font-weight: 850;
}
.cp-live-broadcast__footer {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid color-mix(in srgb, var(--cp-live-room) 14%, var(--cp-live-line));
}
.cp-live-broadcast__room-features {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cp-live-broadcast__room-features span {
  color: var(--cp-live-muted);
  font-size: 10px;
  font-weight: 760;
}
.cp-live-broadcast__room-features span + span::before {
  content: '·';
  margin-right: 6px;
  color: color-mix(in srgb, var(--cp-live-room) 60%, var(--cp-live-muted));
}
.cp-live-broadcast__enter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 36px;
  padding: 8px 13px;
  border: 1px solid color-mix(in srgb, var(--cp-live-room) 55%, transparent);
  border-radius: 999px;
  background: var(--cp-live-room);
  color: #fff !important;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none !important;
  box-shadow: 0 7px 18px color-mix(in srgb, var(--cp-live-room) 20%, transparent);
  transition: transform .16s ease, filter .16s ease, box-shadow .16s ease;
}
.cp-live-broadcast__enter:hover,
.cp-live-broadcast__enter:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
  box-shadow: 0 10px 23px color-mix(in srgb, var(--cp-live-room) 28%, transparent);
}

@media (max-width: 900px) {
  .cp-live-broadcast-wall {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .cp-live-broadcast__title {
    min-height: 0;
    font-size: clamp(21px, 3.2vw, 27px);
  }
  .cp-live-broadcast {
    width: min(100%, 760px);
    margin-inline: auto;
  }
}
@media (max-width: 600px) {
  .cp-live-broadcast-section__heading {
    display: grid;
    gap: 10px;
  }
  .cp-live-broadcast-section__heading > .cp-live-pill {
    justify-self: start;
    margin-top: 0;
  }
  .cp-live-broadcast-section__intro {
    font-size: 12px;
  }
  .cp-live-broadcast-wall {
    gap: 23px;
  }
  .cp-live-broadcast {
    width: 100%;
    padding-bottom: 21px;
  }
  .cp-live-broadcast__header {
    padding-top: 9px;
  }
  .cp-live-broadcast__title {
    margin: 8px 0 10px;
    font-size: 20px;
    line-height: 1.2;
  }
  .cp-live-broadcast__player {
    border-radius: 11px;
  }
  .cp-live-broadcast__details {
    padding-top: 10px;
  }
  .cp-live-broadcast__facts {
    gap: 6px 9px;
    font-size: 11px;
  }
  .cp-live-broadcast__topics {
    gap: 5px;
    margin-top: 8px;
  }
  .cp-live-broadcast__topics > span {
    min-height: 24px;
    padding: 3px 7px;
    font-size: 9px;
  }
  .cp-live-broadcast__topics img {
    width: 14px;
    height: 14px;
  }
  .cp-live-broadcast__speaker-row {
    min-height: 31px;
    margin-top: 9px;
  }
  .cp-live-broadcast__speaker,
  .cp-live-broadcast__speaker-fallback {
    font-size: 11px;
  }
  .cp-live-broadcast__speaker img,
  .cp-live-broadcast__speaker-initial {
    width: 26px;
    height: 26px;
    flex-basis: 26px;
  }
  .cp-live-broadcast__footer {
    align-items: center;
    margin-top: 10px;
    padding-top: 10px;
  }
  .cp-live-broadcast__room-features {
    gap: 4px;
  }
  .cp-live-broadcast__room-features span {
    font-size: 9px;
  }
  .cp-live-broadcast__enter {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 11px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cp-live-broadcast__enter { transition: none !important; }
}


/* ========================================================================== */
/* 1.4.39.35 — Live Conference breathing room + interactive preview audio.    */
/* Lobby is intentionally untouched; these rules are scoped to broadcast wall. */
/* ========================================================================== */
.cp-live-broadcast-wall {
  row-gap: 44px;
}
.cp-live-broadcast__details {
  padding-top: 21px;
}
.cp-live-broadcast__audio {
  position: absolute;
  right: 9px;
  bottom: 9px;
  z-index: 8;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  max-width: calc(100% - 18px);
}
.cp-live-broadcast__sound {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 29px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.19);
  border-radius: 999px;
  background: rgba(8,14,18,.78);
  color: rgba(255,255,255,.92);
  box-shadow: 0 5px 16px rgba(0,0,0,.18);
  font: inherit;
  font-size: 10px;
  line-height: 1;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  backdrop-filter: blur(9px);
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.cp-live-broadcast__sound:hover,
.cp-live-broadcast__sound:focus-visible {
  border-color: color-mix(in srgb, var(--cp-live-room) 72%, rgba(255,255,255,.3));
  background: color-mix(in srgb, var(--cp-live-room) 25%, rgba(8,14,18,.88));
  box-shadow: 0 8px 20px rgba(0,0,0,.23);
  transform: translateY(-1px);
  outline: none;
}
.cp-live-broadcast__sound-icon {
  display: inline-grid;
  place-items: center;
  width: 15px;
  height: 15px;
  font-size: 12px;
  line-height: 1;
}
.cp-live-broadcast__volume {
  display: inline-flex;
  align-items: center;
  width: 0;
  min-width: 0;
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  transform: translateX(8px);
  transition: width 190ms ease, opacity 160ms ease, transform 190ms ease;
}
.cp-live-broadcast__audio.is-audible .cp-live-broadcast__volume,
.cp-live-broadcast__audio:focus-within .cp-live-broadcast__volume {
  width: 104px;
  opacity: 1;
  overflow: visible;
  pointer-events: auto;
  transform: translateX(0);
}
.cp-live-broadcast__volume input[type="range"] {
  width: 100%;
  height: 29px;
  margin: 0;
  accent-color: var(--cp-live-room);
  cursor: pointer;
}
.cp-live-broadcast__audio.is-audible .cp-live-broadcast__sound {
  border-color: color-mix(in srgb, var(--cp-live-room) 70%, rgba(255,255,255,.24));
  background: color-mix(in srgb, var(--cp-live-room) 28%, rgba(8,14,18,.88));
}
@media (max-width: 900px) {
  .cp-live-broadcast-wall { row-gap: 38px; }
}
@media (max-width: 600px) {
  .cp-live-broadcast-wall { row-gap: 31px; }
  .cp-live-broadcast__details { padding-top: 18px; }
  .cp-live-broadcast__audio { right: 7px; bottom: 7px; gap: 5px; }
  .cp-live-broadcast__audio.is-audible .cp-live-broadcast__volume,
  .cp-live-broadcast__audio:focus-within .cp-live-broadcast__volume { width: 82px; }
  .cp-live-broadcast__sound { min-height: 28px; padding: 5px 8px; font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-live-broadcast__sound,
  .cp-live-broadcast__volume { transition: none !important; }
}

/* ========================================================================== */
/* 1.4.39.36 — polished Live Conference audio control + protected Live Q&A.   */
/* Lobby selectors are intentionally not included in this section.            */
/* ========================================================================== */
.cp-live-broadcast__audio {
  gap: 8px;
}
.cp-live-broadcast__volume {
  box-sizing: border-box;
  height: 34px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 999px;
  background: rgba(8,14,18,.82);
  box-shadow: 0 6px 18px rgba(0,0,0,.2);
  backdrop-filter: blur(10px);
}
.cp-live-broadcast__audio.is-audible .cp-live-broadcast__volume,
.cp-live-broadcast__audio:focus-within .cp-live-broadcast__volume {
  width: 126px;
  padding: 0 14px;
  border-color: rgba(255,255,255,.16);
}
.cp-live-broadcast__volume input[type="range"] {
  --cp-live-preview-volume: 70%;
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block;
  width: 100%;
  height: 18px;
  margin: 0;
  padding: 0;
  border: 0 !important;
  outline: 0;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
}
.cp-live-broadcast__volume input[type="range"]::-webkit-slider-runnable-track {
  width: 100%;
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(to right,
    var(--cp-live-room) 0,
    var(--cp-live-room) var(--cp-live-preview-volume),
    rgba(255,255,255,.22) var(--cp-live-preview-volume),
    rgba(255,255,255,.22) 100%);
  box-shadow: none;
}
.cp-live-broadcast__volume input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 14px;
  height: 14px;
  margin-top: -5px;
  border: 2px solid var(--cp-live-room);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-live-room) 22%, transparent), 0 2px 5px rgba(0,0,0,.28);
}
.cp-live-broadcast__volume input[type="range"]::-moz-range-track {
  height: 4px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
}
.cp-live-broadcast__volume input[type="range"]::-moz-range-progress {
  height: 4px;
  border-radius: 999px;
  background: var(--cp-live-room);
}
.cp-live-broadcast__volume input[type="range"]::-moz-range-thumb {
  width: 12px;
  height: 12px;
  border: 2px solid var(--cp-live-room);
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-live-room) 22%, transparent), 0 2px 5px rgba(0,0,0,.28);
}
.cp-live-broadcast__sound {
  min-height: 34px;
  padding: 7px 12px;
}
.cp-live-broadcast__sound-icon {
  width: 17px;
  height: 17px;
}
.cp-live-broadcast__sound-svg {
  display: block;
  width: 17px;
  height: 17px;
}
.cp-live-broadcast__sound-svg--on { display: none; }
.cp-live-broadcast__audio.is-audible .cp-live-broadcast__sound-svg--muted { display: none; }
.cp-live-broadcast__audio.is-audible .cp-live-broadcast__sound-svg--on { display: block; }

.cp-live-broadcast__room-features {
  align-items: center;
}
.cp-live-broadcast__room-features a,
.cp-live-broadcast__room-features button,
.cp-live-broadcast__room-features span {
  color: var(--cp-live-muted);
}
.cp-live-broadcast__room-features a {
  text-decoration: none !important;
}
.cp-live-broadcast__qa-trigger {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  cursor: pointer;
}
.cp-live-broadcast__qa-trigger i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cp-live-muted);
  opacity: .52;
}
.cp-live-broadcast__qa-trigger.is-open {
  color: var(--cp-live-room) !important;
}
.cp-live-broadcast__qa-trigger.is-open i {
  background: var(--cp-live-room);
  opacity: 1;
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--cp-live-room) 14%, transparent);
}
.cp-live-broadcast__qa-trigger:hover,
.cp-live-broadcast__qa-trigger:focus-visible,
.cp-live-broadcast__room-features a:hover,
.cp-live-broadcast__room-features a:focus-visible {
  color: var(--cp-live-room) !important;
  outline: none;
}

.cp-live-qa-modal[hidden] { display: none !important; }
.cp-live-qa-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  transition: opacity 180ms ease;
}
.cp-live-qa-modal.is-visible { opacity: 1; }
.cp-live-qa-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(3,8,11,.72);
  backdrop-filter: blur(7px);
}
.cp-live-qa-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: min(780px, calc(100vh - 48px));
  overflow: auto;
  padding: 26px;
  border: 1px solid color-mix(in srgb, var(--cp-live-blue) 26%, var(--cp-live-line));
  border-radius: 22px;
  background: color-mix(in srgb, var(--cp-live-card) 96%, #10181e);
  color: var(--cp-live-text);
  box-shadow: 0 32px 90px rgba(0,0,0,.42);
  transform: translateY(14px) scale(.985);
  transition: transform 190ms cubic-bezier(.22,.78,.24,1);
}
.cp-live-qa-modal.is-visible .cp-live-qa-dialog { transform: translateY(0) scale(1); }
.cp-live-qa-dialog__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--cp-live-line);
  border-radius: 50%;
  background: color-mix(in srgb, var(--cp-live-card) 86%, transparent);
  color: var(--cp-live-muted);
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}
.cp-live-qa-dialog__close:hover,
.cp-live-qa-dialog__close:focus-visible {
  color: var(--cp-live-orange);
  border-color: color-mix(in srgb, var(--cp-live-orange) 55%, var(--cp-live-line));
  outline: none;
}
.cp-live-qa-dialog__head { padding-right: 42px; }
.cp-live-qa-dialog__head h2 {
  margin: 2px 0 4px;
  font-size: clamp(25px, 4vw, 38px);
  line-height: 1.05;
}
.cp-live-qa-dialog__room {
  margin: 0 0 18px;
  color: var(--cp-live-muted);
  font-weight: 700;
}
.cp-live-qa-dialog__loading,
.cp-live-qa-dialog__closed {
  padding: 18px;
  border: 1px solid var(--cp-live-line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--cp-live-card) 88%, transparent);
}
.cp-live-qa-dialog__closed p { margin: 12px 0 0; color: var(--cp-live-muted); }
.cp-live-qa-status {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
}
.cp-live-qa-status.is-open {
  color: #0dd56d;
  background: rgba(13,213,109,.11);
  border: 1px solid rgba(13,213,109,.3);
}
.cp-live-qa-status.is-closed {
  color: var(--cp-live-muted);
  background: rgba(255,255,255,.045);
  border: 1px solid var(--cp-live-line);
}
.cp-live-qa-dialog__grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 190px;
  gap: 24px;
  margin-top: 16px;
  align-items: start;
}
.cp-live-qa-form label,
.cp-live-qa-form label > span {
  display: block;
}
.cp-live-qa-form label > span {
  margin-bottom: 8px;
  color: var(--cp-live-text);
  font-size: 12px;
  font-weight: 850;
}
.cp-live-qa-form textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 132px;
  resize: vertical;
  padding: 13px 14px;
  border: 1px solid var(--cp-live-line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--cp-live-card) 72%, #10181e);
  color: var(--cp-live-text);
  font: inherit;
  line-height: 1.45;
  outline: none;
}
.cp-live-qa-form textarea:focus {
  border-color: var(--cp-live-blue);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-live-blue) 14%, transparent);
}
.cp-live-qa-form__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 10px;
}
.cp-live-qa-form__foot small { color: var(--cp-live-muted); }
.cp-live-qa-submit,
.cp-live-qa-room-button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 39px;
  padding: 9px 15px;
  border: 0;
  border-radius: 999px;
  background: var(--cp-live-orange);
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(255,90,47,.16);
}
.cp-live-qa-submit:hover,
.cp-live-qa-submit:focus-visible,
.cp-live-qa-room-button:hover,
.cp-live-qa-room-button:focus-visible {
  transform: translateY(-1px);
  filter: brightness(1.04);
  outline: none;
}
.cp-live-qa-submit:disabled { opacity: .55; cursor: wait; transform: none; }
.cp-live-qa-form__message {
  min-height: 20px;
  margin: 10px 0 0;
  color: var(--cp-live-muted);
  font-size: 12px;
  font-weight: 700;
}
.cp-live-qa-form__message.is-success { color: #16d777; }
.cp-live-qa-form__message.is-error { color: #ff7767; }
.cp-live-qa-qr-wrap {
  padding: 12px;
  border: 1px solid var(--cp-live-line);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
  text-align: center;
}
.cp-live-qa-qr {
  width: 154px;
  max-width: 100%;
  margin: 0 auto 10px;
  border-radius: 10px;
  overflow: hidden;
}
.cp-live-qa-qr svg { display: block; width: 100%; height: auto; }
.cp-live-qa-qr-wrap strong { display: block; font-size: 12px; }
.cp-live-qa-qr-wrap p { margin: 6px 0 0; color: var(--cp-live-muted); font-size: 10px; line-height: 1.42; }

.cp-live-qa-room-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 18px;
  padding: 20px 22px;
  border: 1px solid var(--cp-live-line);
  border-left: 4px solid color-mix(in srgb, var(--cp-live-room) 48%, var(--cp-live-line));
  border-radius: 15px;
  background: color-mix(in srgb, var(--cp-live-card) 88%, transparent);
}
.cp-live-qa-room-panel.is-open { border-left-color: var(--cp-live-room); }
.cp-live-qa-room-panel__copy h2 { margin: 0 0 7px; }
.cp-live-qa-room-panel__copy p:last-child { margin: 0; color: var(--cp-live-muted); }
.cp-live-qa-room-panel__action {
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  align-items: flex-end;
  gap: 9px;
}
.cp-live-qa-room-panel.is-open .cp-live-qa-room-button {
  background: var(--cp-live-room);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--cp-live-room) 18%, transparent);
}

.cp-live-qa-handoff-page {
  min-height: 70vh;
  padding: clamp(24px,5vw,64px) !important;
}
.cp-live-qa-handoff {
  width: min(680px,100%);
  margin: 0 auto;
  padding: clamp(24px,4vw,40px);
  border: 1px solid var(--cp-live-line);
  border-top: 4px solid var(--cp-live-orange);
  border-radius: 20px;
  background: var(--cp-live-card);
  box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.cp-live-qa-handoff > h1 { margin: 4px 0 10px; }
.cp-live-qa-handoff > p { color: var(--cp-live-muted); }
.cp-live-qa-handoff__state { margin-top: 20px; }
.cp-live-qa-handoff__state > h2 { margin: 14px 0 4px; }
.cp-live-qa-handoff__state > p { color: var(--cp-live-muted); }

@media (max-width: 700px) {
  .cp-live-broadcast__audio.is-audible .cp-live-broadcast__volume,
  .cp-live-broadcast__audio:focus-within .cp-live-broadcast__volume { width: 104px; padding: 0 11px; }
  .cp-live-broadcast__sound { min-height: 31px; padding: 6px 9px; }
  .cp-live-qa-modal { padding: 12px; }
  .cp-live-qa-dialog { max-height: calc(100vh - 24px); padding: 21px 18px; border-radius: 17px; }
  .cp-live-qa-dialog__grid { grid-template-columns: 1fr; }
  .cp-live-qa-qr-wrap { display: none !important; }
  .cp-live-qa-room-panel { align-items: flex-start; flex-direction: column; gap: 14px; }
  .cp-live-qa-room-panel__action { width: 100%; align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-live-qa-modal,
  .cp-live-qa-dialog,
  .cp-live-qa-submit,
  .cp-live-qa-room-button { transition: none !important; transform: none !important; }
}

/* 1.4.39.37 — Q&A modal is portalled to <body>; page scrolling remains available while open. */

/* 1.4.39.47 — Q&A room panel, audience feed, and selected-question emphasis. */
.cp-live-qa-room-panel {
  display: grid;
  gap: 16px;
  padding: 20px 22px;
  border-left-width: 5px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cp-live-room) 7%, transparent), transparent 42%),
    color-mix(in srgb, var(--cp-live-card) 92%, transparent);
}
.cp-live-qa-room-panel.is-open {
  box-shadow: 0 16px 38px rgba(0,0,0,.12);
}
.cp-live-qa-room-panel__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.cp-live-qa-room-panel__copy { min-width: 0; }
.cp-live-qa-room-panel__copy h2 { font-size: clamp(22px, 2vw, 31px); }
.cp-live-qa-room-panel__audience {
  display: grid;
  gap: 8px;
  padding: 13px 15px;
  border: 1px solid color-mix(in srgb, var(--cp-live-room) 28%, var(--cp-live-line));
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}
.cp-live-qa-room-panel__audience-label {
  color: var(--cp-live-room);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
}
.cp-live-qa-room-panel__audience-empty {
  margin: 0;
  color: var(--cp-live-muted);
  font-size: 13px;
}
.cp-live-qa-room-panel__audience-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-live-qa-room-panel__audience-list li {
  padding: 8px 10px;
  border-left: 3px solid var(--cp-live-room);
  border-radius: 0 9px 9px 0;
  background: rgba(255,255,255,.035);
  color: var(--cp-live-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}
.cp-live-qa-room-panel__action { align-items: flex-end; }

.cp-live-qa-dialog__speakers {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
  margin: 8px 0 2px;
}
.cp-live-qa-dialog__speaker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--cp-live-muted);
  font-size: 12px;
}
.cp-live-qa-dialog__speaker img,
.cp-live-qa-dialog__speaker-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid color-mix(in srgb, var(--cp-live-blue) 42%, var(--cp-live-line));
}
.cp-live-qa-dialog__speaker-avatar {
  display: grid;
  place-items: center;
  background: var(--cp-live-card);
  color: var(--cp-live-text);
  font-weight: 900;
}
.cp-live-qa-dialog__speaker strong { color: var(--cp-live-text); }
.cp-live-qa-dialog__audience {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--cp-live-line);
}
.cp-live-qa-dialog__audience h3 {
  margin: 0 0 8px;
  font-size: 15px;
}
.cp-live-qa-dialog__audience-list {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-live-qa-dialog__audience-list li {
  padding: 9px 11px;
  border-left: 3px solid var(--cp-live-blue);
  border-radius: 0 9px 9px 0;
  background: rgba(255,255,255,.035);
  font-weight: 700;
}

@media (max-width: 700px) {
  .cp-live-qa-room-panel__top { align-items: flex-start; flex-direction: column; gap: 14px; }
  .cp-live-qa-room-panel__action { align-items: stretch; width: 100%; }
}


/* 1.4.39.62 — Q&A modal heading contrast. */
.cp-live-qa-dialog .cp-live-qa-dialog__head h2,
.cp-live-qa-dialog .cp-live-qa-dialog__audience h3 {
  color: var(--cp-live-text) !important;
}

/* 1.4.39.48 — Q&A modal follows Light / Reading / Dark appearance. */
body.cp-programme-page-light .cp-live-qa-dialog {
  --cp-live-text:#25282a;
  --cp-live-muted:#6d7479;
  --cp-live-line:#dce1e4;
  --cp-live-card:#ffffff;
  background:#ffffff;
  color:#25282a;
}
body.cp-programme-page-reading .cp-live-qa-dialog {
  --cp-live-text:#342f28;
  --cp-live-muted:#746b5d;
  --cp-live-line:#dfd2ba;
  --cp-live-card:#fbf6eb;
  background:#fbf6eb;
  color:#342f28;
}
body.cp-programme-page-dark .cp-live-qa-dialog {
  --cp-live-text:#f1f4f5;
  --cp-live-muted:#b6c0c5;
  --cp-live-line:#3d494f;
  --cp-live-card:#283137;
  background:#283137;
  color:#f1f4f5;
}
body.cp-programme-page-light .cp-live-qa-form textarea { background:#f5f6f7;color:#25282a; }
body.cp-programme-page-reading .cp-live-qa-form textarea { background:#f1eadb;color:#342f28; }
body.cp-programme-page-dark .cp-live-qa-form textarea { background:#182127;color:#f1f4f5; }
body.cp-programme-page-light .cp-live-qa-qr-wrap { background:#f5f6f7; }
body.cp-programme-page-reading .cp-live-qa-qr-wrap { background:#f1eadb; }
body.cp-programme-page-dark .cp-live-qa-qr-wrap { background:rgba(255,255,255,.035); }
.cp-live-qa-submit { transition:background .18s ease, box-shadow .18s ease, transform .18s ease, opacity .18s ease; }
.cp-live-qa-submit.is-sent { background:#d8443b !important; box-shadow:0 8px 20px rgba(216,68,59,.22); }

/* v1.4.39.71 — secure Media Server HLS transport. Outer Live/Lobby layouts stay locked. */
.cp-live-embed--media-secure { position:relative; overflow:hidden; background:#050505; }
.cp-live-embed--media-secure video { width:100%; height:100%; min-height:430px; display:block; object-fit:cover; background:#050505; }
.cp-live-embed--media-secure.cp-live-embed--compact video { min-height:0!important; height:100%!important; pointer-events:none; }
.cp-live-media-state { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:10px; padding:18px; text-align:center; color:#eef3f6; background:linear-gradient(135deg,rgba(9,17,22,.9),rgba(22,31,36,.92)); font-weight:750; z-index:2; }
.cp-live-media-state[hidden] { display:none!important; }
.cp-live-media-state[data-state="error"] { color:#ffd7d7; background:linear-gradient(135deg,rgba(42,9,9,.93),rgba(27,13,13,.94)); }
.cp-live-media-state[data-state="waiting"] { color:#fff4c6; }
.cp-live-media-spinner { width:16px; height:16px; border:2px solid rgba(255,255,255,.28); border-top-color:#fff; border-radius:50%; animation:cpMediaSpin .85s linear infinite; flex:0 0 auto; }
.cp-live-media-state[data-state="error"] .cp-live-media-spinner { display:none; }
@keyframes cpMediaSpin { to { transform:rotate(360deg); } }
.cp-live-player--stacked .cp-live-embed--media-secure video { min-height:430px; }
.cp-live-room-card__player .cp-live-embed--media-secure video,
.cp-live-broadcast__player .cp-live-embed--media-secure video { min-height:0; height:100%; }
@media(max-width:900px){.cp-live-embed--media-secure video{min-height:min(56vw,430px)}}
@media(max-width:640px){.cp-live-embed--media-secure video,.cp-live-player--stacked .cp-live-embed--media-secure video{min-height:220px}.cp-live-media-state{font-size:13px;padding:12px}}


/* Session-specific Wordly translation panel. */
.cp-live-translation{margin:14px 0;border:1px solid color-mix(in srgb,var(--cp-live-room) 32%,rgba(255,255,255,.14));border-top:4px solid var(--cp-live-room);border-radius:16px;background:rgba(8,17,23,.72);overflow:hidden}.cp-live-translation__head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.cp-live-translation__head h2{margin:1px 0 3px;font-size:20px}.cp-live-translation__head p{margin:0;color:var(--cp-live-muted);max-width:760px;font-size:13px}.cp-live-translation__body{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:12px;padding:12px}.cp-live-translation__body--link-only{grid-template-columns:minmax(220px,360px);justify-content:end}.cp-live-translation__embed{min-height:240px;border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;background:#fff}.cp-live-translation__embed iframe{display:block;width:100%;height:280px;border:0;background:#fff}.cp-live-translation__join{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}.cp-live-translation__qr{width:170px;max-width:100%;aspect-ratio:1;background:#fff;border-radius:12px;padding:8px;margin-bottom:12px}.cp-live-translation__qr svg{display:block;width:100%;height:auto}.cp-live-translation__join strong{font-size:15px}.cp-live-translation__join p{margin:6px 0 10px;color:var(--cp-live-muted);font-size:12px}.cp-live-translation__join a{max-width:100%;font-size:11px;line-height:1.4;overflow-wrap:anywhere;color:inherit}@media(max-width:760px){.cp-live-translation__head{align-items:flex-start;flex-direction:column;padding:11px 13px}.cp-live-translation__body,.cp-live-translation__body--link-only{grid-template-columns:1fr;justify-content:stretch;padding:10px}.cp-live-translation__embed{min-height:240px}.cp-live-translation__embed iframe{height:300px}.cp-live-translation__join{display:grid;grid-template-columns:110px minmax(0,1fr);text-align:left;align-items:center;gap:0 14px}.cp-live-translation__qr{grid-row:1/4;width:110px;margin:0}.cp-live-translation__join p{margin:3px 0 5px}}

/* v1.4.39.109: online-only Wordly presentation; onsite QR is handled in the physical room. */
.cp-live-translation__body{grid-template-columns:minmax(0,1fr)}
.cp-live-translation__body--link-only{grid-template-columns:minmax(220px,420px);justify-content:start}
.cp-live-translation__link-only{padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}
.cp-live-translation__link-only p{margin:0 0 12px;color:var(--cp-live-muted)}

/* Desktop live-room layout: keep Wordly beside the broadcast instead of creating
 * a very tall second block below it. Mobile/tablet intentionally remain stacked. */
.cp-live-room-media-layout{display:block}
@media(min-width:1180px){
	.cp-live-room-media-layout.has-translation{
		display:grid;
		grid-template-columns:minmax(0,1fr) minmax(300px,360px);
		gap:14px;
		align-items:stretch;
		margin:0 0 16px;
	}
	.cp-live-room-media-layout.has-translation>.cp-live-player,
	.cp-live-room-media-layout.has-translation>.cp-live-translation{
		margin:0;
		min-width:0;
		height:100%;
	}
	.cp-live-room-media-layout.has-translation>.cp-live-translation{
		display:flex;
		flex-direction:column;
	}
	.cp-live-room-media-layout.has-translation .cp-live-translation__head{
		padding:11px 12px;
		align-items:flex-start;
		flex-direction:column;
		gap:7px;
	}
	.cp-live-room-media-layout.has-translation .cp-live-translation__head h2{
		font-size:18px;
	}
	.cp-live-room-media-layout.has-translation .cp-live-translation__head p{
		font-size:11px;
		line-height:1.35;
	}
	.cp-live-room-media-layout.has-translation .cp-live-translation__body{
		display:flex;
		flex:1 1 auto;
		padding:9px;
		min-height:0;
	}
	.cp-live-room-media-layout.has-translation .cp-live-translation__embed{
		flex:1 1 auto;
		min-height:0;
		width:100%;
	}
	.cp-live-room-media-layout.has-translation .cp-live-translation__embed iframe{
		height:100%;
		min-height:430px;
	}
}


/* 1.4.39.153 — wider live room + collapsible Wordly side panel. */
@media(min-width:1180px){
  .cp-live-page:has(.cp-live-room-media-layout){width:min(1500px,calc(100% - 36px))}
  .cp-live-room-media-layout.has-translation{grid-template-columns:minmax(0,1fr) minmax(235px,280px);gap:16px;align-items:start}
  .cp-live-room-media-layout.has-translation>.cp-live-translation[open]{grid-column:2;min-width:390px;width:390px}
  .cp-live-room-media-layout.has-translation>.cp-live-player{min-width:0}
  .cp-live-room-media-layout.has-translation .cp-live-player__titlebar h2{font-size:clamp(23px,2.05vw,34px);line-height:1.08}
  .cp-live-room-media-layout.has-translation .cp-live-player--stacked .cp-live-player__stage{min-height:clamp(420px,42vw,650px)}
  .cp-live-room-media-layout.has-translation>.cp-live-translation{height:auto;align-self:start}
}
.cp-live-translation{display:block}
.cp-live-translation>summary{list-style:none}
.cp-live-translation>summary::-webkit-details-marker{display:none}
.cp-live-translation__toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;user-select:none}
.cp-live-translation__toggle:hover{background:rgba(255,255,255,.025)}
.cp-live-translation__toggle h2{margin:1px 0 2px;font-size:18px}
.cp-live-translation__toggle p{margin:0;color:var(--cp-live-muted);font-size:11px;line-height:1.3}
.cp-live-translation__toggle .cp-detail__eyebrow{font-size:10px;letter-spacing:.12em}
.cp-live-translation__chevron{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:999px;font-size:18px;transition:transform .18s ease,background .18s ease}
.cp-live-translation[open] .cp-live-translation__chevron{transform:rotate(180deg)}
.cp-live-translation__panel{border-top:1px solid rgba(255,255,255,.08)}
.cp-live-translation__actions{display:flex;justify-content:flex-end;padding:8px 10px 0}
.cp-live-translation__actions .cp-live-secondary{font-size:11px}
.cp-live-translation[open] .cp-live-translation__body{padding:9px}
@media(max-width:1179px){
  .cp-live-room-media-layout.has-translation{display:block}
  .cp-live-translation{margin:12px 0}
}


/* 1.4.39.154 — full-width player when Translation is closed; split only when opened. */
@media(min-width:1180px){
  .cp-live-page:has(.cp-live-room-media-layout){
    width:min(1680px,calc(100% - 24px));
  }

  .cp-live-room-media-layout.has-translation{
    display:block;
    position:relative;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-player{
    width:100%;
    min-width:0;
  }

  /* Translation stays a small control while closed and does not consume
     horizontal player space. */
  .cp-live-room-media-layout.has-translation>.cp-live-translation:not([open]){
    width:min(310px,100%);
    margin:10px 0 0 auto;
    height:auto;
  }

  /* Only opening Translation changes the live room into two columns. */
  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]){
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(360px,410px);
    gap:16px;
    align-items:stretch;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open])>.cp-live-player,
  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open])>.cp-live-translation{
    margin:0;
    width:auto;
    min-width:0;
    height:100%;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open])>.cp-live-translation{
    min-width:0;
    align-self:stretch;
    display:flex;
    flex-direction:column;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__panel{
    display:flex;
    flex-direction:column;
    flex:1 1 auto;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__body,
  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__embed{
    flex:1 1 auto;
    min-height:0;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__embed iframe{
    height:100%;
    min-height:520px;
  }

  /* Make long session titles visibly smaller than the previous build. */
  .cp-live-room-media-layout .cp-live-player__titlebar h2{
    font-size:clamp(21px,1.65vw,29px);
    line-height:1.08;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-player__titlebar h2{
    font-size:clamp(20px,1.35vw,25px);
  }

  .cp-live-room-media-layout.has-translation .cp-live-player--stacked .cp-live-player__stage{
    min-height:clamp(460px,46vw,760px);
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-player--stacked .cp-live-player__stage{
    min-height:clamp(430px,39vw,670px);
  }
}


/* 1.4.39.155 — preserve the actual Zoom/live feed aspect ratio in both
 * Translation states. Opening/closing Translation changes available width only. */
@media(min-width:1180px){
  .cp-live-room-media-layout .cp-live-player--stacked{
    max-width:none;
    width:100%;
    height:auto!important;
    align-self:start;
  }

  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16 / 9!important;
    overflow:hidden;
    background:#000;
  }

  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage iframe,
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage video,
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-embed,
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-embed iframe{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }

  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage video{
    object-fit:contain!important;
  }

  /* Remove the earlier min-height sizing that could make the player shell
     taller than its 16:9 feed. */
  .cp-live-room-media-layout.has-translation .cp-live-player--stacked .cp-live-player__stage,
  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-player--stacked .cp-live-player__stage{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16 / 9!important;
  }

  /* When Translation is open, both columns start at the same top, but the
     Wordly panel does not force the video column to stretch vertically. */
  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]){
    align-items:start;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open])>.cp-live-player{
    height:auto!important;
    align-self:start;
  }
}


/* 1.4.39.156 — match the approved live-room mock:
 * - Translation CLOSED: full-width 16:9 player, compact Translation control
 *   integrated into the player header.
 * - Translation OPEN: balanced two-column player + Wordly layout.
 * - No player/autoplay behaviour changes. */
@media(min-width:1180px){

  .cp-live-page:has(.cp-live-room-media-layout){
    width:min(1600px,calc(100% - 32px))!important;
  }

  .cp-live-room-media-layout.has-translation{
    display:block!important;
    position:relative;
    margin:0 0 18px!important;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-player{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    height:auto!important;
  }

  /* Closed translation: keep it inside the visual language of the player,
     sitting at the upper-right of the title area without stealing player width. */
  .cp-live-room-media-layout.has-translation>.cp-live-translation:not([open]){
    position:absolute!important;
    top:17px!important;
    right:18px!important;
    z-index:6!important;
    width:250px!important;
    min-width:0!important;
    margin:0!important;
    border:1px solid color-mix(in srgb,var(--cp-live-room) 55%,rgba(255,255,255,.15))!important;
    border-top:1px solid color-mix(in srgb,var(--cp-live-room) 55%,rgba(255,255,255,.15))!important;
    border-radius:14px!important;
    background:color-mix(in srgb,var(--cp-live-room) 6%,rgba(8,17,23,.96))!important;
    box-shadow:none!important;
    overflow:hidden;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-translation:not([open]) .cp-live-translation__toggle{
    min-height:72px;
    padding:10px 12px!important;
    gap:10px!important;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-translation:not([open]) .cp-live-translation__toggle .cp-detail__eyebrow{
    display:none!important;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-translation:not([open]) .cp-live-translation__toggle h2{
    margin:0 0 3px!important;
    font-size:17px!important;
    line-height:1.05!important;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-translation:not([open]) .cp-live-translation__toggle p{
    margin:0!important;
    font-size:10px!important;
    line-height:1.25!important;
  }

  /* Leave room for the compact Translation control so long titles never collide. */
  .cp-live-room-media-layout.has-translation:not(:has(>.cp-live-translation[open])) .cp-live-player__titlebar{
    padding-right:292px!important;
  }

  /* Approved mock uses a noticeably smaller, cleaner session title. */
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__titlebar h2{
    margin-top:9px!important;
    max-width:none!important;
    font-size:clamp(22px,1.75vw,30px)!important;
    line-height:1.08!important;
  }

  /* The actual Zoom/live video remains 16:9 and grows only in width. */
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
    background:#000!important;
  }

  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage iframe,
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage video,
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-embed,
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-embed iframe{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }

  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__stage video{
    object-fit:contain!important;
  }

  /* Open translation: switch cleanly to the approved two-column composition. */
  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]){
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 360px!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open])>.cp-live-player{
    grid-column:1!important;
    width:auto!important;
    min-width:0!important;
    height:auto!important;
    align-self:start!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open])>.cp-live-translation{
    position:static!important;
    grid-column:2!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    height:auto!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    border:2px solid color-mix(in srgb,var(--cp-live-room) 70%,rgba(255,255,255,.14))!important;
    border-top-width:5px!important;
    border-radius:18px!important;
    background:var(--cp-live-card)!important;
    overflow:hidden!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-player__titlebar{
    padding-right:18px!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-player__titlebar h2{
    font-size:clamp(20px,1.45vw,26px)!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__toggle{
    padding:14px 15px!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__toggle h2{
    font-size:21px!important;
    line-height:1.05!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__toggle p{
    font-size:10px!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__panel{
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    flex-direction:column!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__actions{
    padding:8px 10px 0!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__body{
    display:flex!important;
    flex:1 1 auto!important;
    min-height:0!important;
    padding:9px!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__embed{
    width:100%!important;
    flex:1 1 auto!important;
    min-height:0!important;
    border-radius:12px!important;
  }

  .cp-live-room-media-layout.has-translation:has(>.cp-live-translation[open]) .cp-live-translation__embed iframe{
    width:100%!important;
    height:100%!important;
    min-height:520px!important;
  }
}

/* Tablet/mobile remain stacked and do not use the floating desktop control. */
@media(max-width:1179px){
  .cp-live-room-media-layout.has-translation>.cp-live-translation{
    position:static!important;
    width:auto!important;
    margin:12px 0!important;
  }
}


/* 1.4.39.157 — approved live-room composition. This is class-driven rather
 * than :has()-driven so the open/closed state renders consistently. */
@media(min-width:1180px){
  .cp-live-room-media-layout{
    width:min(1600px,calc(100vw - 32px))!important;
    margin-left:50%!important;
    transform:translateX(-50%)!important;
    position:relative!important;
  }

  .cp-live-room-media-layout.has-translation{
    display:block!important;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-player{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    min-width:0!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-player .cp-live-player__titlebar{
    padding-right:300px!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation{
    position:absolute!important;
    top:15px!important;
    right:16px!important;
    width:258px!important;
    margin:0!important;
    z-index:20!important;
    border:1px solid color-mix(in srgb,var(--cp-live-room) 62%,rgba(255,255,255,.15))!important;
    border-radius:14px!important;
    background:color-mix(in srgb,var(--cp-live-room) 7%,rgba(8,17,23,.98))!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-live-translation__toggle{
    min-height:68px!important;
    padding:10px 12px!important;
  }
  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-detail__eyebrow{display:none!important}
  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-live-translation__toggle h2{font-size:17px!important;margin:0 0 3px!important;line-height:1!important}
  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-live-translation__toggle p{font-size:10px!important;line-height:1.2!important;margin:0!important}

  /* Opening Translation creates one balanced outer grid. Both cards stretch to
     the same overall height, while the actual video inside remains 16:9. */
  .cp-live-room-media-layout.has-translation.is-translation-open{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 390px!important;
    gap:16px!important;
    align-items:stretch!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-player,
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation{
    position:static!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    height:100%!important;
    align-self:stretch!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-player{
    display:flex!important;
    flex-direction:column!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-player .cp-live-player__titlebar{
    padding-right:18px!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation{
    display:flex!important;
    flex-direction:column!important;
    border:2px solid var(--cp-live-room)!important;
    border-top-width:5px!important;
    border-radius:18px!important;
    background:var(--cp-live-card)!important;
    overflow:hidden!important;
    box-shadow:0 18px 44px rgba(0,0,0,.12)!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__toggle{
    min-height:96px!important;
    padding:16px 18px!important;
    background:color-mix(in srgb,var(--cp-live-room) 8%,var(--cp-live-card))!important;
  }
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__toggle h2{font-size:22px!important;line-height:1.05!important;margin:2px 0 4px!important}
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__toggle p{font-size:11px!important;line-height:1.3!important}
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__panel{display:flex!important;flex:1 1 auto!important;min-height:0!important;flex-direction:column!important;border-top:1px solid rgba(255,255,255,.08)!important}
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__actions{padding:9px 10px 0!important}
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__body{display:flex!important;flex:1 1 auto!important;min-height:0!important;padding:10px!important}
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__embed{display:flex!important;flex:1 1 auto!important;min-height:0!important;width:100%!important;border-radius:12px!important}
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__embed iframe{display:block!important;width:100%!important;height:100%!important;min-height:560px!important}

  /* Video geometry is invariant in both states. */
  .cp-live-room-media-layout .cp-live-player__stage{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16/9!important;
    background:#000!important;
  }
  .cp-live-room-media-layout .cp-live-player__stage iframe,
  .cp-live-room-media-layout .cp-live-player__stage video,
  .cp-live-room-media-layout .cp-live-player__stage .cp-live-embed,
  .cp-live-room-media-layout .cp-live-player__stage .cp-live-embed iframe{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
  .cp-live-room-media-layout .cp-live-player__stage video{object-fit:contain!important}
}

@media(max-width:1179px){
  .cp-live-room-media-layout{width:auto!important;margin-left:0!important;transform:none!important}
  .cp-live-room-media-layout.has-translation>.cp-live-translation{position:static!important;width:auto!important;margin:12px 0!important}
}


/* 1.4.39.158 — corrected approved live-room composition.
 * Keep the whole room centred; no viewport breakout/translate tricks.
 * Closed = full-width player + compact Translation control.
 * Open = equal-height player and Wordly cards.
 */
@media(min-width:1180px){
  .cp-live-page{
    width:min(1280px,calc(100% - 32px))!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .cp-live-room-media-layout{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    margin-left:0!important;
    transform:none!important;
    left:auto!important;
    position:relative!important;
  }

  .cp-live-room-media-layout.has-translation{
    display:block!important;
  }

  .cp-live-room-media-layout.has-translation>.cp-live-player{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
  }

  /* Closed state: compact control integrated into the title area. */
  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-player .cp-live-player__titlebar{
    padding:15px 292px 14px 18px!important;
    min-height:112px!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation{
    position:absolute!important;
    top:14px!important;
    right:14px!important;
    width:260px!important;
    min-width:260px!important;
    height:auto!important;
    margin:0!important;
    z-index:20!important;
    border:1px solid color-mix(in srgb,var(--cp-live-room) 68%,rgba(255,255,255,.14))!important;
    border-radius:14px!important;
    background:color-mix(in srgb,var(--cp-live-room) 6%,rgba(8,17,23,.98))!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-live-translation__toggle{
    min-height:72px!important;
    padding:10px 12px!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-detail__eyebrow{
    display:none!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-live-translation__toggle h2{
    font-size:17px!important;
    line-height:1.05!important;
    margin:0 0 4px!important;
  }

  .cp-live-room-media-layout.has-translation:not(.is-translation-open)>.cp-live-translation .cp-live-translation__toggle p{
    font-size:10px!important;
    line-height:1.25!important;
    margin:0!important;
  }

  /* Title size from the approved mock. */
  .cp-live-room-media-layout .cp-live-player--stacked .cp-live-player__titlebar h2{
    font-size:22px!important;
    line-height:1.14!important;
    margin:9px 0 0!important;
    max-width:none!important;
    overflow-wrap:normal!important;
  }

  /* Player video is always true 16:9. */
  .cp-live-room-media-layout .cp-live-player__stage{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:16/9!important;
    background:#000!important;
  }

  .cp-live-room-media-layout .cp-live-player__stage iframe,
  .cp-live-room-media-layout .cp-live-player__stage video,
  .cp-live-room-media-layout .cp-live-player__stage .cp-live-embed,
  .cp-live-room-media-layout .cp-live-player__stage .cp-live-embed iframe{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }

  .cp-live-room-media-layout .cp-live-player__stage video{
    object-fit:contain!important;
  }

  /* Open state: one balanced grid, same top and bottom for both cards. */
  .cp-live-room-media-layout.has-translation.is-translation-open{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 360px!important;
    gap:14px!important;
    align-items:stretch!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-player,
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation{
    position:static!important;
    width:auto!important;
    min-width:0!important;
    margin:0!important;
    height:100%!important;
    align-self:stretch!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-player{
    display:flex!important;
    flex-direction:column!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-player .cp-live-player__titlebar{
    padding:14px 16px 13px!important;
    min-height:0!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-player .cp-live-player__titlebar h2{
    font-size:20px!important;
    line-height:1.14!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation{
    display:flex!important;
    flex-direction:column!important;
    border:2px solid var(--cp-live-room)!important;
    border-top-width:5px!important;
    border-radius:18px!important;
    background:var(--cp-live-card)!important;
    overflow:hidden!important;
    box-shadow:0 18px 44px rgba(0,0,0,.12)!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__toggle{
    min-height:84px!important;
    padding:13px 14px!important;
    background:color-mix(in srgb,var(--cp-live-room) 8%,var(--cp-live-card))!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__toggle h2{
    font-size:20px!important;
    line-height:1.05!important;
    margin:2px 0 3px!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__toggle p{
    font-size:10px!important;
    line-height:1.25!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__panel{
    display:flex!important;
    flex:1 1 0!important;
    min-height:0!important;
    flex-direction:column!important;
    border-top:1px solid rgba(255,255,255,.08)!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__actions{
    flex:0 0 auto!important;
    padding:8px 10px 0!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__body{
    display:flex!important;
    flex:1 1 0!important;
    min-height:0!important;
    padding:9px!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__embed{
    display:flex!important;
    flex:1 1 0!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__embed iframe{
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    flex:1 1 0!important;
  }
}

@media(max-width:1179px){
  .cp-live-room-media-layout{
    width:auto!important;
    margin-left:0!important;
    transform:none!important;
    left:auto!important;
  }
}


/* 1.4.39.159 — restore the Wordly iframe only.
 * Keep the approved .158 layout unchanged; prevent the flex iframe from
 * collapsing to a horizontal line when Translation is open. */
@media(min-width:1180px){
  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__body{
    min-height:520px!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__embed{
    min-height:520px!important;
    height:100%!important;
  }

  .cp-live-room-media-layout.has-translation.is-translation-open>.cp-live-translation .cp-live-translation__embed iframe{
    height:100%!important;
    min-height:520px!important;
  }
}
