/*
 * Broadcast public components
 * On Air and Up Next presentation
 */
.broadcast-on-air,
.broadcast-up-next{
  --broadcast-accent:var(--accent,#f28c28);
  --broadcast-surface:var(--panel,#111827);
  --broadcast-surface-raised:var(--panel-alt,#172033);
  --broadcast-border:var(--sos-border,#2b3950);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--broadcast-border);
  border-radius:20px;
  background:var(--broadcast-surface);
  box-shadow:0 18px 55px rgba(0,0,0,.22);
}
.broadcast-on-air::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:
    radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--broadcast-accent) 18%,transparent),transparent 34%),
    linear-gradient(135deg,color-mix(in srgb,var(--broadcast-surface-raised) 70%,var(--broadcast-surface)),var(--broadcast-surface));
  pointer-events:none;
}
.broadcast-on-air::after,
.broadcast-up-next::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:var(--broadcast-accent);
}
.broadcast-on-air>.eyebrow,
.broadcast-up-next>.eyebrow{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin:0 0 1rem;
  padding:.35rem .7rem;
  border:1px solid color-mix(in srgb,var(--broadcast-accent) 42%,transparent);
  border-radius:999px;
  background:color-mix(in srgb,var(--broadcast-accent) 12%,transparent);
  color:var(--broadcast-accent);
  font-size:.74rem;
  font-weight:850;
  letter-spacing:.13em;
  line-height:1;
  text-transform:uppercase;
}
.broadcast-on-air .broadcast-program-card{
  display:grid;
  grid-template-columns:clamp(120px,15vw,176px) minmax(0,1fr);
  align-items:center;
  gap:clamp(1.1rem,3vw,2.25rem);
  padding:clamp(.25rem,1vw,.75rem);
  background:transparent;
}
.broadcast-on-air .broadcast-show-avatar{
  width:100%;
  max-width:176px;
  height:auto;
  aspect-ratio:1;
  border:3px solid color-mix(in srgb,var(--broadcast-accent) 65%,#fff 10%);
  border-radius:18px;
  object-fit:cover;
  box-shadow:0 14px 34px rgba(0,0,0,.35),0 0 0 7px color-mix(in srgb,var(--broadcast-accent) 8%,transparent);
}
.broadcast-on-air .broadcast-program-copy{
  display:grid;
  align-content:center;
  gap:.75rem;
  min-width:0;
}
.broadcast-on-air .broadcast-program-copy h2{
  margin:0;
  font-size:clamp(1.65rem,3vw,2.65rem);
  line-height:1.05;
  letter-spacing:-.025em;
}
.broadcast-on-air .broadcast-program-copy>p:not(.component-meta){
  max-width:68ch;
  margin:0;
  color:var(--muted,#bac3d1);
  font-size:1.02rem;
  line-height:1.65;
}
.broadcast-on-air .component-meta{
  justify-self:start;
  margin:.15rem 0 0;
  padding:.45rem .75rem;
  border:1px solid var(--broadcast-border);
  border-radius:9px;
  background:color-mix(in srgb,var(--broadcast-surface-raised) 82%,transparent);
  color:var(--text,#fff);
  font-weight:700;
}

.broadcast-up-next{
  padding:clamp(1.25rem,3vw,2rem);
}
.broadcast-up-next::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle at 10% 0,color-mix(in srgb,var(--broadcast-accent) 9%,transparent),transparent 30%);
  pointer-events:none;
}
.broadcast-up-next .component-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));
  gap:1rem;
}
.broadcast-up-next .broadcast-up-next-card{
  display:grid;
  grid-template-columns:96px minmax(0,1fr);
  align-items:start;
  gap:1rem;
  min-height:148px;
  margin:0;
  padding:1rem;
  border:1px solid color-mix(in srgb,var(--broadcast-border) 88%,#fff 5%);
  border-radius:14px;
  background:color-mix(in srgb,var(--broadcast-surface-raised) 92%,#fff 2%);
  box-shadow:0 8px 22px rgba(0,0,0,.14);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.broadcast-up-next .broadcast-up-next-card:hover{
  transform:translateY(-3px);
  border-color:color-mix(in srgb,var(--broadcast-accent) 55%,var(--broadcast-border));
  box-shadow:0 15px 30px rgba(0,0,0,.24);
}
.broadcast-up-next .broadcast-show-avatar{
  width:96px;
  height:96px;
  border:2px solid color-mix(in srgb,var(--broadcast-accent) 55%,#fff 8%);
  border-radius:13px;
  object-fit:cover;
  box-shadow:0 9px 20px rgba(0,0,0,.28);
}
.broadcast-up-next .broadcast-program-copy{
  display:grid;
  align-content:start;
  gap:.55rem;
  min-width:0;
}
.broadcast-up-next .broadcast-program-copy h2{
  margin:0;
  font-size:clamp(1.15rem,2vw,1.45rem);
  line-height:1.15;
}
.broadcast-up-next .broadcast-program-copy>p:not(.component-meta){
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:var(--muted,#bac3d1);
  line-height:1.45;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.broadcast-up-next .component-meta{
  justify-self:start;
  margin:.15rem 0 0;
  padding:.32rem .55rem;
  border-radius:7px;
  background:color-mix(in srgb,var(--broadcast-accent) 11%,transparent);
  color:color-mix(in srgb,var(--broadcast-accent) 55%,#fff);
  font-size:.86rem;
  font-weight:750;
}
@media(max-width:720px){
  .broadcast-on-air .broadcast-program-card{
    grid-template-columns:88px minmax(0,1fr);
    align-items:start;
  }
  .broadcast-on-air .broadcast-show-avatar{
    width:88px;
    border-radius:13px;
  }
  .broadcast-on-air .broadcast-program-copy h2{
    font-size:1.4rem;
  }
}
@media(max-width:480px){
  .broadcast-on-air .broadcast-program-card,
  .broadcast-up-next .broadcast-up-next-card{
    grid-template-columns:72px minmax(0,1fr);
    gap:.8rem;
  }
  .broadcast-on-air .broadcast-show-avatar,
  .broadcast-up-next .broadcast-show-avatar{
    width:72px;
    height:72px;
  }
}
@media(prefers-reduced-motion:reduce){
  .broadcast-up-next .broadcast-up-next-card{transition:none}
  .broadcast-up-next .broadcast-up-next-card:hover{transform:none}
}


/* Homepage composer layout options */
.broadcast-section-frame{width:100%;box-sizing:border-box;margin:0 auto 1.5rem}.broadcast-section-frame.is-width-contained{max-width:1180px}.broadcast-section-frame.is-width-wide{max-width:1440px}.broadcast-section-frame.is-width-full{max-width:none}.broadcast-section-frame.has-columns-1 .component-grid{grid-template-columns:repeat(1,minmax(0,1fr))!important}.broadcast-section-frame.has-columns-2 .component-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.broadcast-section-frame.has-columns-3 .component-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.broadcast-section-frame.has-columns-4 .component-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}.broadcast-section-frame.is-minimal .component-card{border-color:transparent;background:transparent;box-shadow:none}.broadcast-section-frame.is-compact .foundwell-component{padding:1rem}.broadcast-section-frame.is-compact .component-card{padding:.85rem}.broadcast-section-frame.is-spotlight .component-grid>*:first-child{grid-column:span 2}.broadcast-feature-grid{display:grid;gap:1rem}.broadcast-feature-card{display:flex;align-items:flex-start;gap:1rem}.broadcast-feature-card>img,.broadcast-feature-initial{width:92px;height:92px;flex:0 0 92px;border-radius:14px;object-fit:cover}.broadcast-feature-card.is-person>img,.broadcast-feature-card.is-person .broadcast-feature-initial{border-radius:50%}.broadcast-feature-card .broadcast-feature-initial{display:grid;place-items:center;text-align:center;line-height:1;background:#233149;color:#fff;font-size:2rem;font-weight:850}.broadcast-feature-card>div{min-width:0}.broadcast-feature-card strong,.broadcast-feature-card small{display:block}.broadcast-feature-card small{margin-top:.25rem;color:var(--muted,#aeb7c4)}.broadcast-feature-card p{margin:.65rem 0 0}@media(max-width:850px){.broadcast-section-frame.has-columns-3 .component-grid,.broadcast-section-frame.has-columns-4 .component-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:620px){.broadcast-section-frame .component-grid{grid-template-columns:1fr!important}.broadcast-section-frame.is-spotlight .component-grid>*:first-child{grid-column:auto}.broadcast-feature-card{flex-direction:column}}


/* v0.7.0-alpha — public Show and DJ profiles */
.broadcast-profile-card-link{color:inherit;text-decoration:none}.broadcast-profile-card-link:hover{transform:translateY(-2px);border-color:rgba(242,140,40,.48)}.broadcast-profile-cta{display:inline-flex;margin-top:auto;color:#ffad57;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.broadcast-profile-page{margin:0;min-height:100vh;background:#070b16;color:#f7f9fc;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.broadcast-profile-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 72px}
.broadcast-profile-hero{position:relative;isolation:isolate;display:flex;align-items:end;gap:clamp(20px,4vw,42px);min-height:340px;padding:clamp(28px,6vw,70px);overflow:hidden;border:1px solid #28364b;border-radius:28px;background:#111827}
.broadcast-profile-hero::before{content:"";position:absolute;z-index:-2;inset:0;background-image:linear-gradient(90deg,rgba(7,11,22,.96),rgba(7,11,22,.48)),var(--profile-banner,none);background-size:cover;background-position:center}.broadcast-profile-hero::after{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:55%;background:linear-gradient(transparent,rgba(7,11,22,.88))}
.broadcast-profile-hero>img{width:clamp(130px,20vw,220px);aspect-ratio:1;object-fit:cover;border:3px solid rgba(255,255,255,.8);border-radius:24px;box-shadow:0 22px 55px rgba(0,0,0,.45)}.broadcast-profile-hero p{margin:0 0 8px;color:#ff9b38;font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.broadcast-profile-hero h1{margin:0;font-size:clamp(2.2rem,7vw,5.4rem);line-height:.95}.broadcast-profile-hero strong{display:block;max-width:680px;margin-top:16px;color:#d4dbe6;font-size:1.05rem;line-height:1.55}
.broadcast-profile-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr);gap:24px;margin-top:24px}.broadcast-profile-main,.broadcast-profile-grid aside section{padding:clamp(22px,4vw,36px);border:1px solid #26354a;border-radius:22px;background:#111827}.broadcast-profile-main h2,.broadcast-profile-grid aside h2{margin:0 0 16px}.broadcast-profile-main>p{color:#c7d0dd;line-height:1.8}.broadcast-profile-grid aside{display:grid;align-content:start;gap:20px}.broadcast-profile-grid ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}.broadcast-profile-grid li{display:grid;gap:3px;padding:12px;border-radius:12px;background:#182235}.broadcast-profile-grid li span{color:#9cabc0;font-size:.8rem}
.broadcast-profile-hosts,.broadcast-profile-shows{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.broadcast-profile-host,.broadcast-profile-show{display:flex;align-items:center;gap:14px;padding:13px;border:1px solid #2a3a52;border-radius:15px;background:#172136;color:inherit;text-decoration:none}.broadcast-profile-host:hover,.broadcast-profile-show:hover{border-color:#f28c28}.broadcast-profile-host img,.broadcast-profile-show img{width:62px;height:62px;object-fit:cover;border-radius:13px}.broadcast-profile-host span,.broadcast-profile-show span{display:grid;gap:4px}.broadcast-profile-host small,.broadcast-profile-show small{color:#9cabc0}.broadcast-profile-links{display:flex;flex-wrap:wrap;gap:8px}.broadcast-profile-links a{padding:9px 12px;border:1px solid rgba(242,140,40,.4);border-radius:999px;background:rgba(242,140,40,.1);color:#ffc27f;text-decoration:none;font-weight:750}
@media(max-width:800px){.broadcast-profile-hero{align-items:flex-start;flex-direction:column;min-height:0}.broadcast-profile-grid{grid-template-columns:1fr}.broadcast-profile-hero>img{width:130px}.broadcast-profile-shell{width:min(100% - 20px,1180px);padding-top:10px}}


/* Featured DJs always honor the configured equal-width column count. */
.broadcast-section-frame[data-broadcast-section="featured-djs"] .broadcast-feature-grid>*{grid-column:auto!important}
.broadcast-on-air.is-off-air{border-style:dashed;opacity:.88}.broadcast-on-air.is-off-air h2{color:var(--muted,#aeb7c4)}
