/* ================= Gallery index: "The Aftershow" after-dark restyle =================
   Loaded after styles.css and gallery-management.css; everything is scoped to the gallery
   index (body.gallery-page.archive-events) so individual event galleries are untouched. */
body.gallery-page.archive-events{position:relative;isolation:isolate;background:#0d0a13;color:#f3f0e8}
body.gallery-page.archive-events::before{content:"";position:fixed;inset:-15%;z-index:-2;pointer-events:none;background:radial-gradient(38% 40% at 12% 12%,rgba(123,77,255,.3),transparent 68%),radial-gradient(40% 42% at 90% 30%,rgba(255,78,184,.24),transparent 68%),radial-gradient(44% 50% at 40% 100%,rgba(167,217,29,.14),transparent 68%);animation:aftershow-drift 30s ease-in-out infinite alternate}
body.gallery-page.archive-events::after{z-index:-1;opacity:.55;mix-blend-mode:normal;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='150' height='150'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E"),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:150px 150px,72px 72px,72px 72px}
@keyframes aftershow-drift{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-3%,2%,0) scale(1.08)}}
body.archive-events .archive{background:transparent}

/* --- Hero --- */
body.archive-events .archive-intro{align-items:end;margin-bottom:clamp(28px,4vw,48px)}
body.archive-events .archive-intro .section-label{display:inline-flex;align-items:center;gap:10px;width:max-content;color:var(--acid);letter-spacing:.18em}
body.archive-events .archive-intro .section-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 10px var(--pink);animation:aftershow-pulse 1.8s ease-in-out infinite}
@keyframes aftershow-pulse{50%{opacity:.35}}
body.archive-events .archive-intro h1{color:#f3f0e8;text-shadow:1px 1px 0 #ff4eb8,2px 2px 0 #ff4eb8,3px 3px 0 #ff4eb8,4px 4px 0 #ff4eb8,5px 5px 0 #e23a9f,6px 6px 0 #e23a9f,7px 7px 0 #c92e8a,0 0 60px rgba(255,78,184,.35)}
body.archive-events .archive-intro h1 em{color:var(--acid);text-shadow:1px 1px 0 #7b4dff,2px 2px 0 #7b4dff,3px 3px 0 #7b4dff,4px 4px 0 #6a3ee6,5px 5px 0 #6a3ee6,6px 6px 0 #5a31cc,0 0 70px rgba(167,217,29,.3)}
body.archive-events .archive-intro>p:last-child{color:#cfc7d8;font-size:16px}
.aftershow-stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 clamp(26px,3vw,38px)}
.aftershow-stats span{display:inline-flex;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid rgba(255,255,255,.14);border-radius:99px;background:rgba(255,255,255,.04);color:#b8b0c2;font:500 11px 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.aftershow-stats strong{color:#f3f0e8;font:800 18px Manrope,sans-serif;letter-spacing:-.02em}
.aftershow-stats span:first-child strong{color:var(--acid)}
.aftershow-stats span:nth-child(2) strong{color:var(--pink)}

/* scrolling flyer ticker of every night in the archive */
.aftershow-ticker{position:relative;margin:0 calc(-1 * clamp(24px,8vw,130px)) clamp(46px,6vw,80px);overflow:hidden;border-block:1px solid rgba(255,78,184,.45);background:linear-gradient(90deg,rgba(255,78,184,.1),rgba(123,77,255,.1));-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.aftershow-ticker-track{display:flex;width:max-content;animation:aftershow-ticker 40s linear infinite}
.aftershow-ticker:hover .aftershow-ticker-track{animation-play-state:paused}
.aftershow-ticker-track span{padding:16px 28px;color:#f3f0e8;font:800 clamp(20px,2.4vw,30px) Manrope,sans-serif;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.aftershow-ticker-track span:nth-child(3n+1){color:var(--acid)}
.aftershow-ticker-track span:nth-child(3n+2){color:#ff8acb}
.aftershow-ticker-track i{align-self:center;color:var(--pink);font-style:normal}
@keyframes aftershow-ticker{to{transform:translateX(-50%)}}

/* --- Cards --- */
body.archive-events .archive-grid{gap:clamp(34px,4vw,56px)}
body.gallery-page.archive-events .event-gallery-card{--accent:var(--acid);--accent-soft:rgba(167,217,29,.28);min-height:560px;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:#140f1c;color:#f3f0e8;box-shadow:12px 12px 0 var(--accent),0 30px 70px rgba(0,0,0,.45);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
body.gallery-page.archive-events .event-gallery-card:nth-child(3n+2){--accent:var(--pink);--accent-soft:rgba(255,78,184,.3)}
body.gallery-page.archive-events .event-gallery-card:nth-child(3n){--accent:#8f6bff;--accent-soft:rgba(123,77,255,.34)}
body.gallery-page.archive-events .event-gallery-card:hover{transform:translateY(-8px);box-shadow:16px 16px 0 var(--accent),0 0 60px var(--accent-soft),0 40px 90px rgba(0,0,0,.55)}
/* alternate sides so the archive doesn't read as one repeated block */
body.gallery-page.archive-events .event-gallery-card:nth-child(even){grid-template-columns:minmax(330px,.85fr) minmax(400px,1.15fr)}
body.gallery-page.archive-events .event-gallery-card:nth-child(even) .gallery-card-art{order:2}
body.archive-events .gallery-card-art{min-height:560px}
body.archive-events .gallery-card-art::after{background:radial-gradient(ellipse at center,transparent 45%,rgba(9,6,14,.55)),linear-gradient(transparent 70%,rgba(9,6,14,.5))}
body.archive-events .event-gallery-card .gallery-card-poster{transition:transform .45s cubic-bezier(.2,.8,.2,1)}
body.archive-events .event-gallery-card .gallery-card-preview{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
body.archive-events .event-gallery-card:hover .gallery-card-poster{transform:rotate(-4deg) scale(1.03)}
body.archive-events .event-gallery-card:hover .preview-1{transform:translate(8px,-6px) rotate(7deg)}
body.archive-events .event-gallery-card:hover .preview-2{transform:translate(12px,0) rotate(-6deg)}
body.archive-events .event-gallery-card:hover .preview-3{transform:translate(4px,8px) rotate(5deg)}
body.archive-events .gallery-card-outline{transition:transform .8s ease}
body.archive-events .event-gallery-card:hover .gallery-card-outline{transform:translateX(3%)}

body.archive-events .gallery-card-copy{justify-content:center;border-left:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at 85% 12%,var(--accent-soft),transparent 45%),linear-gradient(160deg,#1c1527,#110c19);color:#f3f0e8}
body.gallery-page.archive-events .event-gallery-card:nth-child(even) .gallery-card-copy{border-left:0;border-right:1px solid rgba(255,255,255,.08)}
body.archive-events .gallery-card-copy small{color:var(--accent);letter-spacing:.16em}
body.archive-events .gallery-card-copy strong{color:#f3f0e8;text-shadow:0 0 40px rgba(0,0,0,.4)}
body.archive-events .gallery-card-copy p{color:#c9c1d2}
body.archive-events .gallery-card-copy>span{display:inline-flex;align-items:center;gap:9px;margin-top:30px;padding:8px 14px;border:1px solid rgba(255,255,255,.14);border-radius:99px;background:rgba(255,255,255,.04);color:#e3dcea}
body.archive-events .gallery-card-copy>span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
body.archive-events .gallery-card-copy b{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:16px 24px;border-radius:99px;background:var(--accent);color:var(--ink);box-shadow:0 10px 28px var(--accent-soft);transition:transform .2s,box-shadow .2s,background .2s}
body.archive-events .event-gallery-card:hover .gallery-card-copy b{background:var(--accent);color:var(--ink);transform:translateX(4px);box-shadow:0 14px 36px var(--accent-soft)}
body.gallery-page.archive-events .event-gallery-card:focus-visible{outline:3px solid var(--accent);outline-offset:6px}

/* "photos coming soon" nights: compact so they don't take a full-size slot */
body.gallery-page.archive-events .event-gallery-card-empty{min-height:0;box-shadow:8px 8px 0 rgba(255,255,255,.14),0 24px 50px rgba(0,0,0,.35)}
body.gallery-page.archive-events .event-gallery-card-empty:hover{box-shadow:12px 12px 0 var(--accent),0 30px 70px rgba(0,0,0,.5)}
body.archive-events .event-gallery-card-empty .gallery-card-art{min-height:340px}
body.archive-events .event-gallery-card-empty .gallery-card-poster{top:10%;height:80%}
body.archive-events .event-gallery-card-empty .gallery-card-copy{padding-block:40px}
body.archive-events .event-gallery-card-empty .gallery-card-copy strong{font-size:clamp(40px,4.4cqi,68px)}
body.archive-events .event-gallery-card-empty .gallery-card-copy>span::before{background:var(--pink);box-shadow:0 0 10px var(--pink);animation:aftershow-pulse 1.8s ease-in-out infinite}

@media(max-width:1000px){
  body.gallery-page.archive-events .event-gallery-card,body.gallery-page.archive-events .event-gallery-card:nth-child(even){grid-template-columns:1fr}
  body.gallery-page.archive-events .event-gallery-card:nth-child(even) .gallery-card-art{order:0}
  body.archive-events .gallery-card-art{min-height:480px}
  body.archive-events .gallery-card-copy,body.gallery-page.archive-events .event-gallery-card:nth-child(even) .gallery-card-copy{min-height:0;border:0;border-top:1px solid rgba(255,255,255,.08)}
  body.archive-events .event-gallery-card-empty .gallery-card-art{min-height:300px}
}
@media(max-width:700px){
  body.gallery-page.archive-events .event-gallery-card{border-radius:16px;box-shadow:8px 8px 0 var(--accent),0 20px 50px rgba(0,0,0,.45)}
  body.archive-events .gallery-card-art{min-height:400px}
  body.archive-events .gallery-card-copy{padding:30px 22px}
  body.archive-events .archive-intro h1{text-shadow:1px 1px 0 #ff4eb8,2px 2px 0 #ff4eb8,3px 3px 0 #e23a9f,4px 4px 0 #c92e8a,0 0 40px rgba(255,78,184,.35)}
  body.archive-events .archive-intro h1 em{text-shadow:1px 1px 0 #7b4dff,2px 2px 0 #6a3ee6,3px 3px 0 #5a31cc,0 0 40px rgba(167,217,29,.3)}
  .aftershow-ticker{margin-inline:-20px}
  .aftershow-stats span{padding:8px 13px}
}
@media(prefers-reduced-motion:reduce){
  body.gallery-page.archive-events::before,.aftershow-ticker-track,body.archive-events .archive-intro .section-label::before{animation:none}
  body.archive-events .event-gallery-card:hover .gallery-card-poster,body.archive-events .event-gallery-card:hover .gallery-card-preview{transform:none}
}
