/* Per-night themes. index.html sets body.theme-<night.theme from lineup.json> and each
   theme file scopes its rules under that class; theme-default is the original lime look.
   This file holds the parts every theme shares: the night hero (kicker, title, program),
   the logo slot in the info column and the decoration layer (.deco i.d1–d6). */
.night-hero{flex:none;position:relative;z-index:6;display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;
  gap:12px 24px;padding:4px 24px 6px}
.nh-titlewrap{display:flex;flex-direction:column;gap:6px;min-width:0}
.nh-kicker{font:700 12px/1 'Arial Narrow', Helvetica, Arial, sans-serif;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.nh-title{font-weight:400;line-height:1;white-space:nowrap}
.nh-title:empty,.night-hero.has-logo .nh-title,.nh-program:empty{display:none}
.nh-program{display:flex;gap:8px;flex-wrap:wrap}
.nh-slot{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.nh-slot em{font-style:normal}

/* logo slot: top of the info column on desktop, above the portrait on mobile */
.night-logo{display:block;width:clamp(240px,28vw,420px);height:auto;filter:drop-shadow(0 14px 22px rgba(0,0,0,.6))}
.night-logo[hidden]{display:none!important}

.deco{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.deco i{position:absolute;display:block;background-repeat:no-repeat;background-size:contain;background-position:center}
body:not(.theme-default) .deco{display:block}
body:not(.theme-default)::before{display:none}
/* .stage clips overflow, so themed portraits get room for their frames and glows */
body:not(.theme-default) .stage{padding:14px 28px 14px 0}

.pill{white-space:nowrap}
.roster:empty{height:clamp(58px,7vw,84px)}

.theme-default .nh-t1,.theme-default .nh-t2{font-family:'Futura Condensed','Archivo Black',sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);
  text-transform:uppercase;letter-spacing:-.04em}

@media (max-width:760px){
  .night-hero{padding:0 16px 8px;align-items:flex-start;gap:8px}
  .nh-program{flex-wrap:nowrap;overflow-x:auto;width:100%;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nh-program::-webkit-scrollbar{display:none}
  .night-logo{width:min(62vw,290px);align-self:center;margin:0 auto}
  /* three nights don't fit with dates; the kicker below shows the selected night's date */
  .tab{justify-content:center;padding-left:8px;padding-right:8px}
  .tab .tab-date{display:none}
  .nh-event{display:none}
  body:not(.theme-default) .stage{padding:0}
  body:not(.theme-default) .pill{padding:0 12px}
  .roster:empty{height:70px}
}
