/* Themed Nights page refresh — structural polish only.
   Individual package colours/poster identities remain untouched. */

.themed-page{
  --themes-ink:#f4f6fa;
  --themes-muted:#a8afb9;
  --themes-panel:#0a0c11;
  --themes-line:rgba(255,255,255,.11);
}

/* Hero: keep the atmosphere, reduce billboard scale. */
.themed-page .themed-catalogue-hero{
  min-height:clamp(570px,76vh,690px)!important;
  padding-top:clamp(120px,12vh,150px)!important;
  padding-bottom:72px!important;
  align-items:center!important;
}
.themed-page .themed-catalogue-hero .page-hero-inner{
  max-width:900px!important;
}
.themed-page .themed-catalogue-hero h1{
  max-width:900px!important;
  margin:18px 0 22px!important;
  font-size:clamp(4rem,7.1vw,7rem)!important;
  line-height:.88!important;
  letter-spacing:-.055em!important;
}
.themed-page .themed-catalogue-hero .hero-intro{
  max-width:720px!important;
  font-size:.98rem!important;
  line-height:1.64!important;
}
.themed-page .themed-catalogue-hero .hero-number{
  right:3vw!important;
  bottom:-3vw!important;
  font-size:clamp(11rem,23vw,24rem)!important;
  color:rgba(255,255,255,.028)!important;
}
.themed-page .theme-hero-points{
  margin-top:22px!important;
  gap:7px!important;
}
.themed-page .theme-hero-points span{
  padding:7px 10px!important;
  font-size:.57rem!important;
}

/* Catalogue intro: editorial rather than another hero. */
.themed-page .themed-catalogue-section{
  padding-top:72px!important;
  padding-bottom:76px!important;
}
.themed-page .theme-catalogue-heading{
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.68fr)!important;
  gap:clamp(32px,6vw,76px)!important;
  margin-bottom:28px!important;
  align-items:center!important;
}
.themed-page .theme-catalogue-heading .section-title{
  max-width:760px;
  font-size:clamp(2.65rem,4.8vw,4.8rem)!important;
  line-height:.91!important;
  letter-spacing:-.05em!important;
}
.themed-page .theme-catalogue-heading>p{
  max-width:500px!important;
  font-size:.91rem!important;
  line-height:1.66!important;
}
.themed-page .theme-badge-key{
  margin:-5px 0 16px!important;
}
.themed-page .theme-badge-key-item{
  font-size:.54rem!important;
}

/* Crowd picker: useful filter, not a giant panel. */
.themed-page .theme-crowd-picker{
  margin-bottom:26px!important;
  padding:18px 20px!important;
  border-radius:16px!important;
}
.themed-page .theme-crowd-copy{
  gap:16px!important;
  align-items:center!important;
}
.themed-page .theme-crowd-copy p{
  font-size:.82rem!important;
  line-height:1.5!important;
}
.themed-page .theme-crowd-buttons{
  gap:7px!important;
}
.themed-page .theme-crowd-buttons button{
  min-height:38px!important;
  padding:0 13px!important;
  font-size:.61rem!important;
}
.themed-page .theme-filter-status{
  margin-top:10px!important;
  font-size:.66rem!important;
}

/* Catalogue cards: same posters/colours, slightly tighter frame. */
.themed-page .theme-catalogue-grid{
  gap:14px!important;
  margin-top:18px!important;
}
@media(min-width:1280px){
  .themed-page .theme-catalogue-grid{
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
  }
}
.themed-page .theme-catalogue-card{
  border-radius:18px!important;
  box-shadow:0 15px 42px rgba(0,0,0,.17)!important;
}
.themed-page .theme-card-copy{
  padding:16px 15px 15px!important;
}
.themed-page .theme-card-copy h3{
  font-size:clamp(1.15rem,1.45vw,1.48rem)!important;
}
.themed-page .theme-card-copy>p{
  margin:7px 0 12px!important;
  min-height:2.5em!important;
  font-size:.74rem!important;
}
.themed-page .theme-card-signals{
  gap:5px!important;
  margin-bottom:13px!important;
}
.themed-page .theme-signal{
  padding:4px 6px!important;
  font-size:.48rem!important;
}
.themed-page .theme-card-view,
.themed-page .theme-card-enquire{
  min-height:38px!important;
  font-size:.55rem!important;
  border-radius:9px!important;
}
.themed-page .theme-catalogue-help{
  margin-top:28px!important;
  padding:21px 23px!important;
  border-radius:16px!important;
}
.themed-page .theme-catalogue-help h3{
  font-size:clamp(1.25rem,2vw,1.9rem)!important;
}
.themed-page .theme-catalogue-help p{
  font-size:.82rem!important;
  line-height:1.5!important;
}

/* Open package: one full-width editorial chapter, not a half-width legacy card. */
.themed-page .theme-detail-stage{
  margin-top:54px!important;
  padding-top:25px!important;
}
.themed-page .theme-detail-stage-head{
  margin-bottom:16px!important;
  align-items:center!important;
}
.themed-page .theme-detail-stage-head h2{
  font-size:clamp(1.9rem,3.2vw,3rem)!important;
}
.themed-page .theme-detail-stage .theme-list{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:0!important;
}
.themed-page .theme-detail-stage .theme-entry,
.themed-page .theme-detail-stage .theme-entry:nth-child(even){
  min-height:0!important;
  width:100%!important;
  margin:0!important;
  padding:clamp(24px,3.2vw,40px)!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-top:3px solid var(--chapter)!important;
  border-radius:22px!important;
  background:linear-gradient(180deg,color-mix(in srgb,var(--chapter) 4%,#0b0d12),#080a0e 72%,#06070a)!important;
  box-shadow:0 24px 72px rgba(0,0,0,.22)!important;
  text-align:left!important;
}
.themed-page .theme-detail-stage .theme-entry .theme-no{
  position:static!important;
  display:inline-flex!important;
  width:max-content!important;
  margin:0 0 15px!important;
  color:var(--chapter)!important;
  -webkit-text-stroke:0!important;
  text-stroke:0!important;
  font-size:.62rem!important;
  line-height:1!important;
  letter-spacing:.15em!important;
  opacity:1!important;
}
.themed-page .theme-detail-stage .theme-entry h2{
  max-width:880px!important;
  margin:0 0 8px!important;
  font-size:clamp(2.8rem,5.3vw,5.35rem)!important;
  line-height:.87!important;
  letter-spacing:-.055em!important;
}
.themed-page .theme-detail-stage .theme-entry h3{
  margin-bottom:14px!important;
  font-size:.68rem!important;
}
.themed-page .theme-detail-stage .theme-summary{
  max-width:800px!important;
  font-size:.91rem!important;
  line-height:1.62!important;
}
.themed-page .theme-detail-stage .theme-spec-grid{
  margin:20px 0 0!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  border-radius:14px!important;
  overflow:hidden!important;
}
.themed-page .theme-detail-stage .theme-spec-grid>div{
  min-height:112px!important;
  padding:15px!important;
}
.themed-page .theme-detail-stage .theme-listening{
  width:min(100%,800px)!important;
  margin-top:16px!important;
}
.themed-page .theme-detail-stage .theme-tags{
  margin-top:14px!important;
  margin-bottom:7px!important;
}
.themed-page .theme-detail-stage .theme-book-link{
  margin:0 0 15px!important;
}
.themed-page .theme-detail-stage .theme-entry.has-night-photo .theme-night-photo{
  margin:14px 0 0!important;
  aspect-ratio:16/7!important;
  border-radius:18px!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  object-position:center 48%!important;
}

/* Keep every individual era design, but pull its long-form copy closer to the chapter. */
.themed-page .theme-detail-stage [class*="theme-era-copy"]{
  max-width:1120px!important;
  margin:22px auto 8px!important;
  gap:14px!important;
}
.themed-page .theme-detail-stage [class*="theme-era-copy"] h4{
  font-size:clamp(1.35rem,2vw,1.85rem)!important;
}
.themed-page .theme-detail-stage [class*="theme-era-copy"] p{
  font-size:.8rem!important;
  line-height:1.58!important;
}

/* Supporting story sections: visual breaks, not second/third heroes. */
.themed-page .theme-photo-band{
  min-height:470px!important;
  margin-top:52px!important;
  border-radius:22px!important;
}
.themed-page .theme-photo-copy{
  padding:62px 0!important;
}
.themed-page .theme-photo-copy h2{
  max-width:650px!important;
  margin:10px 0 16px!important;
  font-size:clamp(2.8rem,5.4vw,5.2rem)!important;
  line-height:.88!important;
}
.themed-page .theme-photo-copy>p:not(.eyebrow){
  max-width:560px!important;
  font-size:.9rem!important;
  line-height:1.6!important;
}
.themed-page .theme-night-journey,
.themed-page .theme-venue-sales{
  padding-top:64px!important;
}
.themed-page .theme-section-heading{
  max-width:760px!important;
  margin-bottom:25px!important;
}
.themed-page .theme-section-heading h2{
  margin:8px 0 12px!important;
  font-size:clamp(2.4rem,4.4vw,4.2rem)!important;
  line-height:.9!important;
}
.themed-page .theme-section-heading>p:not(.eyebrow){
  max-width:620px!important;
  font-size:.86rem!important;
  line-height:1.58!important;
}
.themed-page .theme-journey-grid,
.themed-page .theme-venue-grid{
  gap:11px!important;
}
.themed-page .theme-journey-grid article,
.themed-page .theme-venue-grid article{
  min-height:210px!important;
  padding:21px!important;
  border-radius:15px!important;
}
.themed-page .theme-journey-grid h3,
.themed-page .theme-venue-grid h3{
  margin:42px 0 10px!important;
  font-size:clamp(1.35rem,2vw,1.9rem)!important;
}
.themed-page .theme-journey-grid p,
.themed-page .theme-venue-grid p{
  font-size:.79rem!important;
  line-height:1.55!important;
}
.themed-page .theme-venue-sales{
  padding-bottom:64px!important;
}
.themed-page .theme-venue-cta{
  margin-top:12px!important;
  padding:22px 24px!important;
  border-radius:16px!important;
}
.themed-page .theme-venue-cta h3{
  font-size:clamp(1.3rem,2.2vw,2rem)!important;
}
.themed-page .theme-venue-cta p{
  font-size:.82rem!important;
}
.themed-page .theme-lighting-note{
  margin-top:20px!important;
  padding:19px 22px!important;
  border-radius:14px!important;
}

/* Cleaner local close + new themed CTA. */
.themed-page .local-callout{
  padding-top:62px!important;
  padding-bottom:62px!important;
}
.themed-page .theme-final-cta{
  padding:72px 24px!important;
  text-align:center;
  background:
    radial-gradient(circle at 18% 20%,rgba(142,75,255,.18),transparent 28%),
    radial-gradient(circle at 82% 18%,rgba(0,229,255,.13),transparent 26%),
    #080a0f!important;
}
.themed-page .theme-final-cta>.eyebrow{
  margin:0 0 10px!important;
  color:#9e80ff!important;
  font-size:.62rem!important;
}
.themed-page .theme-final-cta h2{
  max-width:850px;
  margin:0 auto 13px;
  color:#fff;
  font-size:clamp(2.5rem,5vw,4.9rem);
  line-height:.9;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.themed-page .theme-final-cta h2 span{
  background:linear-gradient(90deg,#a76cff,#7286ff 46%,#35e8ff);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.themed-page .theme-final-copy{
  max-width:620px!important;
  margin:0 auto 22px!important;
  color:#aeb5bf!important;
  font-size:.9rem!important;
  line-height:1.6!important;
}

@media(max-width:900px){
  .themed-page .theme-catalogue-heading{grid-template-columns:1fr!important;gap:15px!important}
  .themed-page .theme-catalogue-heading>p{max-width:680px!important}
  .themed-page .theme-detail-stage .theme-spec-grid{grid-template-columns:1fr!important}
  .themed-page .theme-detail-stage .theme-spec-grid>div{min-height:0!important;border-right:0!important}
  .themed-page .theme-photo-band{min-height:430px!important}
}

@media(max-width:650px){
  .themed-page .themed-catalogue-hero{
    min-height:auto!important;
    padding:118px 20px 52px!important;
  }
  .themed-page .themed-catalogue-hero h1{
    margin:16px 0 18px!important;
    font-size:clamp(3rem,12.7vw,4.4rem)!important;
  }
  .themed-page .themed-catalogue-section{padding-top:58px!important;padding-bottom:60px!important}
  .themed-page .theme-catalogue-heading .section-title{font-size:clamp(2.45rem,11vw,3.8rem)!important}
  .themed-page .theme-crowd-picker{padding:16px!important}
  .themed-page .theme-crowd-buttons{grid-template-columns:1fr 1fr!important}
  .themed-page .theme-detail-stage .theme-entry,
  .themed-page .theme-detail-stage .theme-entry:nth-child(even){padding:20px!important;border-radius:17px!important}
  .themed-page .theme-detail-stage .theme-entry h2{font-size:clamp(2.7rem,12.7vw,4.3rem)!important}
  .themed-page .theme-detail-stage .theme-entry.has-night-photo .theme-night-photo{aspect-ratio:4/3!important;border-radius:14px!important}
  .themed-page .theme-photo-band{min-height:500px!important;margin-left:-12px!important;margin-right:-12px!important;border-radius:0!important}
  .themed-page .theme-photo-copy{padding:60px 0!important}
  .themed-page .theme-night-journey,.themed-page .theme-venue-sales{padding-top:54px!important}
  .themed-page .theme-journey-grid article,.themed-page .theme-venue-grid article{min-height:175px!important}
  .themed-page .theme-venue-cta{padding:20px!important}
  .themed-page .theme-lighting-note{grid-template-columns:1fr!important;gap:8px!important}
  .themed-page .theme-final-cta{padding:62px 20px!important}
  .themed-page .theme-final-cta h2{font-size:clamp(2.35rem,11vw,3.9rem)}
}
