/* Shared public live banner: independent of individual page styles. */
.vg-live { background:#c90059; color:#fff; }
.vg-live[hidden] { display:none; }
.vg-live .vg-live-link { box-sizing:border-box; display:flex; align-items:center; gap:20px; width:100%; max-width:1248px; margin:auto; padding:16px 24px; color:#fff; text-decoration:none; min-height:80px; }
.vg-live-portraits { display:flex; align-items:center; flex-shrink:0; }
.vg-live-portraits:empty { display:none; }
.vg-live-portraits img { box-sizing:border-box; display:block; width:52px; height:52px; object-fit:cover; border:2px solid #fff; border-radius:50%; }
.vg-live-portraits img + img { margin-left:-16px; }
.vg-live-copy { flex:1; min-width:0; }
.vg-live-label { display:block; font-size:.75rem; line-height:1.4; font-weight:750; }
.vg-live-copy strong { display:block; font-size:1.15rem; line-height:1.4; overflow-wrap:anywhere; }
.vg-live-host { display:block; font-size:.85rem; line-height:1.5; }
.vg-live-action { display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; padding:8px 16px; border:1px solid #fff; border-radius:8px; font-weight:750; white-space:nowrap; }
.vg-live .vg-live-link:hover { color:#fff; background:#ae004e; }
.vg-live-link:hover .vg-live-action { background:#fff; color:#9f0047; }
.vg-live .vg-live-link:focus-visible { outline:3px solid #ffdf80; outline-offset:-4px; }
@media(max-width:620px) {
  .vg-live .vg-live-link { display:grid; grid-template-columns:auto minmax(0,1fr); gap:10px 14px; padding:14px 20px; }
  .vg-live-copy { grid-column:2; }
  .vg-live-copy strong { font-size:1rem; }
  .vg-live-action { grid-column:2; justify-self:start; white-space:normal; }
}
