/* ============================================================
   Single event page
   ============================================================ */

.ev-single{padding-top:0}

/* ---- hero ---- */
.ev-hero{
  position:relative;overflow:hidden;
  padding:calc(84px + clamp(44px,6vw,88px)) 0 clamp(44px,6vw,80px);
}
.ev-hero-bg{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:blur(46px) brightness(.34) saturate(1.15);transform:scale(1.18);
}
.ev-hero::after{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(900px 520px at 78% 12%, var(--dusk), transparent 66%),
    linear-gradient(180deg, rgba(12,10,9,.55) 0%, rgba(12,10,9,.34) 42%, var(--night) 97%);
}
.ev-hero-inner{
  position:relative;z-index:2;
  display:grid;grid-template-columns:1.15fr .85fr;
  gap:clamp(32px,5vw,80px);align-items:center;
}
.ev-back{
  display:inline-flex;align-items:center;gap:8px;
  font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--smoke);transition:.25s;margin-bottom:24px;
}
.ev-back:hover{color:var(--flare)}
.ev-when{
  font-size:12px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;
  color:var(--brass);margin-bottom:14px;
}
.ev-hero h1{
  font-size:clamp(2.4rem,5.4vw,4.6rem);line-height:.94;text-wrap:balance;
  margin-bottom:24px;
}
.ev-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.ev-ctas{display:flex;gap:16px;flex-wrap:wrap}

/* artwork card */
.ev-hero-art{
  position:relative;border-radius:var(--radius,22px);overflow:hidden;
  background:var(--onyx);aspect-ratio:4/5;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.85);
  border:1px solid rgba(244,237,222,.1);
}
.ev-hero-art .main{width:100%;height:100%;object-fit:cover;position:relative;z-index:1}
.ev-hero-art.flyer .main{object-fit:contain}
.ev-hero-art .blur{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:blur(26px) brightness(.5) saturate(1.2);transform:scale(1.2);
}

/* ---- body ---- */
.ev-body .container{
  display:grid;grid-template-columns:1.35fr .65fr;
  gap:clamp(36px,5vw,90px);align-items:start;
}
.ev-body h2{margin-bottom:22px}
.ev-copy{color:var(--smoke);font-size:1.02rem;max-width:64ch}
.ev-copy p{margin-bottom:16px}
.ev-copy p:last-child{margin-bottom:0}
.ev-copy a{color:var(--brass);border-bottom:1px solid rgba(227,168,58,.4)}
.ev-copy a:hover{color:var(--flare)}
.ev-copy h2,.ev-copy h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  color:var(--bone);margin:26px 0 12px;font-size:1.5rem;
}
.ev-copy ul,.ev-copy ol{margin:0 0 16px 20px}
.ev-copy li{margin-bottom:6px}

.ev-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.ev-side .c-card p{margin:0}
.ev-side .c-card strong{color:var(--bone);font-weight:600}

.ev-notice{
  border:1px solid rgba(227,168,58,.32);border-radius:var(--radius,22px);
  padding:24px 26px;background:linear-gradient(180deg, rgba(227,168,58,.07), rgba(227,168,58,.02));
}
.ev-notice h3{
  font-family:var(--body);font-size:11px;font-weight:700;letter-spacing:.3em;
  text-transform:uppercase;color:var(--flare);margin-bottom:12px;
}
.ev-notice p{color:var(--smoke);font-size:.88rem;margin-bottom:10px}
.ev-notice p:last-child{margin-bottom:0}

.ev-side-ctas{display:flex;flex-direction:column;gap:12px}
.ev-side-ctas .btn{width:100%}

/* ---- more events ---- */
.ev-more{padding-top:0}
.ev-more .ec-grid{grid-template-columns:repeat(4,1fr)}
.ev-more .ec-card{opacity:1;transform:none}


/* ---- pieces this page needs that live in other page bundles ---- */
.ev-chips .venue-chip{
  font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid rgba(244,237,222,.28);padding:8px 14px;
  color:rgba(244,237,222,.85);backdrop-filter:blur(4px);
  text-shadow:0 1px 14px rgba(0,0,0,.85);
}
.ev-more .section-head{
  display:flex;align-items:flex-end;justify-content:space-between;
  gap:32px;margin-bottom:clamp(28px,3.5vw,48px);
}
@media (max-width:760px){
  .ev-more .section-head{flex-direction:column;align-items:flex-start;gap:16px}
}

/* ---- responsive ---- */
@media (max-width:1024px){
  .ev-hero-inner{grid-template-columns:1fr;gap:36px}
  .ev-hero-art{max-width:420px;order:-1}
  .ev-body .container{grid-template-columns:1fr}
  .ev-side{position:static}
  .ev-more .ec-grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:860px){
  .ev-more .ec-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .ev-more .ec-grid{grid-template-columns:1fr}
  .ev-ctas .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .ev-back,.btn{transition:none}
}
