/* v3.11 — Next Show Spotlight, only visible when a published show is upcoming. */
.next-show-spotlight{
  position:relative;
  z-index:2;
  padding:105px 0 0;
  background:#060609;
}
.next-show-spotlight__card{
  display:grid;
  grid-template-columns:105px 83px minmax(0,1fr) minmax(150px,175px);
  align-items:center;
  gap:19px;
  padding:17px 22px;
  border:1px solid rgba(0,199,242,.4);
  border-radius:18px;
  background:radial-gradient(circle at 10% 50%,rgba(0,199,242,.075),transparent 26%),
    radial-gradient(circle at 97% 30%,rgba(255,0,109,.075),transparent 27%),
    #101116;
  box-shadow:0 12px 30px rgba(0,0,0,.16);
}
.next-show-spotlight__label{
  display:flex;
  align-items:center;
  gap:8px;
  color:#fafafd;
  font-size:.72rem;
  line-height:1.35;
  letter-spacing:.06em;
  font-weight:900;
  white-space:nowrap;
}
.next-show-spotlight__dot{
  flex:none;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--magenta);
  box-shadow:0 0 12px rgba(255,0,109,.35);
}
.next-show-spotlight__date{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:88px;
  padding:9px 10px;
  border-radius:12px;
  background:#1c1e26;
  border:1px solid rgba(255,255,255,.08);
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.next-show-spotlight__day{
  font-family:Impact,"Arial Narrow",sans-serif;
  color:#fff;
  font-size:2rem;
  line-height:1.04;
}
.next-show-spotlight__month{color:var(--cyan);font-size:.8rem;line-height:1.2;font-weight:900;letter-spacing:.05em}
.next-show-spotlight__year{color:#c0c1ca;font-size:.7rem;line-height:1.2;margin-top:3px}
.next-show-spotlight__info{min-width:0}
.next-show-spotlight__kicker{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:5px 9px;
  font-size:.7rem;
  font-weight:800;
  color:var(--cyan);
  letter-spacing:.06em;
  text-transform:uppercase;
  line-height:1.4;
  margin-bottom:6px;
}
.next-show-spotlight__city{
  display:inline-flex;
  align-items:center;
  max-width:100%;
  padding:4px 9px;
  border-radius:999px;
  background:var(--cyan);
  color:#071015;
  font-size:.73rem;
  font-weight:900;
  letter-spacing:.075em;
  line-height:1.3;
  overflow-wrap:anywhere;
}
.next-show-spotlight__title{
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.1rem,1.55vw,1.4rem);
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.015em;
  color:#fff;
  text-transform:none;
  margin:0 0 5px;
  overflow-wrap:anywhere;
}
.next-show-spotlight__meta{font-size:.91rem;color:#cdd0da;line-height:1.5;margin:0;overflow-wrap:anywhere}
.next-show-spotlight__actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;justify-self:stretch}
.next-show-spotlight__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:10px 13px;
  border-radius:6px;
  background:var(--magenta);
  color:#09090b;
  text-align:center;
  font-size:.83rem;
  line-height:1.25;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
  transition:background .2s ease,transform .2s ease;
}
.next-show-spotlight__button:hover{background:#ff368a;transform:translateY(-1px)}
.next-show-spotlight__details{color:#d5d7e0;text-align:center;font-size:.78rem;line-height:1.45;font-weight:700}
.next-show-spotlight__details:hover{color:var(--cyan)}
.next-show-spotlight__button:focus-visible,.next-show-spotlight__details:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.hero-v2.hero-v2--with-spotlight{min-height:calc(100svh - 180px);padding-top:62px}
@media(max-width:1000px){
  .next-show-spotlight__card{grid-template-columns:85px 73px minmax(0,1fr) 150px;gap:13px;padding:15px}
  .next-show-spotlight__date{min-height:80px}
  .hero-v2.hero-v2--with-spotlight{min-height:calc(100svh - 165px);padding-top:55px}
}
@media(max-width:800px){
  .next-show-spotlight{padding-top:100px}
  .next-show-spotlight__card{grid-template-columns:75px minmax(0,1fr);grid-template-areas:"label label" "date info" "actions actions";gap:12px 16px}
  .next-show-spotlight__label{grid-area:label}
  .next-show-spotlight__date{grid-area:date;min-height:82px}
  .next-show-spotlight__info{grid-area:info}
  .next-show-spotlight__actions{grid-area:actions;flex-direction:row;align-items:center;justify-content:space-between}
  .next-show-spotlight__button{min-width:154px}
  .hero-v2.hero-v2--with-spotlight{min-height:auto;padding-top:52px}
}
@media(max-width:720px){
  .next-show-spotlight{padding-top:88px}
  .next-show-spotlight__card{padding:14px;gap:11px 13px;border-radius:14px}
  .next-show-spotlight__date{min-height:80px}
  .next-show-spotlight__title{font-size:1.12rem}
  .next-show-spotlight__meta{font-size:.88rem}
  .next-show-spotlight__actions{gap:12px}
  .next-show-spotlight__button{font-size:.8rem}
  .hero-v2.hero-v2--with-spotlight{padding-top:48px}
}
@media(max-width:380px){
  .next-show-spotlight__card{grid-template-columns:68px minmax(0,1fr);gap:10px 12px}
  .next-show-spotlight__day{font-size:1.8rem}
  .next-show-spotlight__kicker{font-size:.66rem}
  .next-show-spotlight__city{font-size:.67rem;padding:4px 8px}
  .next-show-spotlight__title{font-size:1.04rem}
  .next-show-spotlight__actions{flex-wrap:wrap}
  .next-show-spotlight__button{flex:1}
  .next-show-spotlight__details{flex:1;min-width:120px}
}
@media(prefers-reduced-motion:reduce){.next-show-spotlight__button{transition:none}.next-show-spotlight__button:hover{transform:none}}


/* v3.13 — authentic mobile-only show image between Spotlight and Home hero.
   The photo URL lives inside the mobile media query, so desktop never requests it. */
.next-show-mobile-visual{display:none;margin:0}
@media(max-width:720px){
  .next-show-mobile-visual{
    display:block;
    margin:0;
    padding:14px 0 0;
    background:#060609;
  }
  .next-show-mobile-visual__photo{
    aspect-ratio:16 / 10;
    width:100%;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px;
    overflow:hidden;
    background-color:#16070b;
    background-image:var(--next-show-mobile-image);
    background-size:cover;
    background-position:38% 49%;
    background-repeat:no-repeat;
    box-shadow:0 12px 30px rgba(0,0,0,.24);
  }
  .hero-v2.hero-v2--with-spotlight{padding-top:32px}
}
@media(max-width:380px){
  .next-show-mobile-visual__photo{border-radius:13px}
}
