/* Events pages (/events, /events/{slug}) — served by the events app at /events/assets/events.css.
   Loaded after /css/style.css, uses its tokens (--bg --cream --gold --red --txt --dim). */

/* date chip: one plain line on a dark pill, no tilt, no blur — weekday gold, date cream, same size (owner 2026-11-05) */
.evdate{display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:100px;background:#0d1410d9;border:1.5px solid #e8b64c66;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:14px;letter-spacing:1.5px;line-height:1;white-space:nowrap;box-shadow:0 8px 22px #0006}
.evdate .d{color:var(--gold)}
.evdate .n{color:var(--cream);padding-left:10px;border-left:1px solid #f5eede40}
.evdate.sm{font-size:11.5px;letter-spacing:1.2px;padding:7px 12px;gap:8px}
.evdate.sm .n{padding-left:8px}

/* "Next up" featured event */
.evnext{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:34px;align-items:center;background:#131b15;border:1px solid #e8b64c33;border-radius:26px;padding:34px;box-shadow:0 0 60px #e8b64c12 inset}
.evnext .vidframe{max-width:none;margin:0;display:block}
.evnext .vidframe video,.evdetail .vidframe video{aspect-ratio:9/16;object-fit:cover}
.evnext .vidframe.vfree video,.evdetail .vidframe.vfree video{aspect-ratio:auto}  /* square / 4:5 reels keep their shape */
.evmeta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.evorg{display:inline-flex;align-items:center;gap:10px;color:var(--dim);font-size:13px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}
.evorg img{height:30px;width:auto;display:block}
.evorg .x{color:var(--dim);font-size:16px}
.evorg img.sk{height:42px;filter:drop-shadow(0 4px 12px #0008)}

/* 404 Events wordmark colours: in css/style.css (.b404), also used by the live line on /tonight */
.evnext h2{margin-bottom:12px}
.lineup{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 24px}
.lineup span{border:1.5px solid #f5eede33;border-radius:100px;padding:8px 16px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:14px;letter-spacing:1px;color:var(--cream)}
.lineup span.guest{border-color:var(--gold);color:var(--gold);box-shadow:0 0 18px #e8b64c33}
.lineup span.guest small{font-size:9.5px;letter-spacing:1.5px;margin-left:8px;opacity:.8}
.evfacts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}
.evfacts div{background:var(--bg);border:1px solid #f5eede12;border-radius:14px;padding:16px 18px}
.evfacts b{display:block;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;color:var(--gold);font-size:24px;margin-bottom:4px}
.evfacts span{color:var(--dim);font-size:13px;line-height:1.5}
.evbtns{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.evbtns .hbtn:nth-child(2){transform:rotate(1.2deg)}
.evbtns .hbtn:nth-child(2):hover{transform:rotate(0) translateY(-4px) scale(1.04)}
.evnote{color:#8d8a7d;font-size:12.5px;letter-spacing:1px;margin-top:18px;text-transform:uppercase}

/* archive grid */
.evgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.evcard{display:block;text-decoration:none;background:#131b15;border:1px solid #f5eede12;border-radius:20px;overflow:hidden;transition:transform .3s,border-color .3s}
.evcard:hover{transform:translateY(-6px);border-color:#e8b64c55}
.evcard .ph{position:relative;aspect-ratio:9/14;overflow:hidden;background:#0a0f0c}
.evcard .ph video,.evcard .ph img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.6) brightness(.85);transition:filter .5s}
.evcard:hover .ph video,.evcard:hover .ph img{filter:none}
/* image-only events: whole poster (contain) over a blurred copy, so square/4:5 posts are not cropped */
.evcard .ph img.phbg,.evcard .ph .phfit{position:absolute;inset:0}
.evcard .ph .phfit{object-fit:contain}
.evcard .ph img.phbg,.evcard:hover .ph img.phbg{filter:blur(18px) brightness(.45);transform:scale(1.2)}
.evcard .ph .evdate{position:absolute;left:14px;top:16px}
.evcard .tx{padding:18px 20px 22px}
.evcard h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:21px;color:var(--cream);margin-bottom:6px;line-height:1.15}
.evcard p{color:var(--dim);font-size:13.5px;line-height:1.5}
.evcard .more{display:inline-block;margin-top:12px;color:var(--gold);font-weight:600;font-size:13.5px}

/* single event page */
.evdetail{display:grid;grid-template-columns:minmax(240px,360px) 1fr;gap:64px;align-items:start}
.evdetail .vidframe{max-width:none;margin:0;position:sticky;top:110px}
.evinfo{display:grid;gap:0;border-top:1px solid #f5eede14;margin:8px 0 30px}
.evinfo div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:15px 0;border-bottom:1px solid #f5eede14}
.evinfo dt{font-family:'Bricolage Grotesque',sans-serif;font-weight:700;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:var(--red);padding-top:3px}
.evinfo dd{color:var(--txt);font-size:15.5px;line-height:1.6}
.evinfo dd small{display:block;color:var(--dim);font-size:13px}
/* lineup cards (event page) — names only, no photos; order = admin order */
.lcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.lcard{position:relative;overflow:hidden;background:#131b15;border:1px solid #f5eede12;border-radius:18px;padding:30px 26px 28px;display:flex;flex-direction:column;justify-content:center;transition:transform .3s,border-color .3s}
.lcard:hover{border-color:#e8b64c55;transform:translateY(-4px)}
.lcard .role{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-weight:600}
.lcard b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(26px,2.8vw,38px);line-height:1.05;color:var(--cream);margin-top:8px;overflow-wrap:anywhere}
.lcard.guest{border-color:#e8b64c88;background:radial-gradient(circle at 85% 0%,#e8b64c2a,#131b15 62%);box-shadow:0 0 40px #e8b64c1a inset}
.lcard.guest .role,.lcard.guest b{color:var(--gold)}
/* "See all events": plain centred text link, no box (owner 2026-11-05) */
.evback{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;text-decoration:none;padding:6px 0}
.evback span{color:var(--dim);font-size:15px}
.evback b{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:clamp(28px,3.4vw,42px);line-height:1.1;color:var(--cream);transition:color .25s}
.evback b em{font-style:normal;color:var(--gold);display:inline-block;transition:transform .25s}
.evback:hover b{color:var(--gold)}
.evback:hover b em{transform:translateX(8px)}

@media(max-width:920px){
  .evnext{grid-template-columns:1fr;gap:30px;padding:22px 20px 28px}
  .evnext .vidframe{max-width:300px;margin:0 auto}
  .evfacts{grid-template-columns:1fr}
  .evgrid{grid-template-columns:1fr 1fr}
  .evdetail{grid-template-columns:1fr;gap:40px}
  .evdetail .vidframe{position:static;max-width:320px;margin:0 auto}
}
@media(max-width:500px){
  .evinfo div{grid-template-columns:1fr;gap:4px}
  .lcard{padding:22px 22px 20px}
  .evgrid{grid-template-columns:1fr 1fr;gap:12px}
  .evcard h3{font-size:16px}
  .evcard .tx{padding:12px 12px 16px}
  .evcard p{font-size:12px}
  .evcard .ph .evdate{left:8px;top:10px}
  .evdate.sm{font-size:10px;letter-spacing:.8px;padding:6px 9px;gap:6px}
  .evdate.sm .n{padding-left:6px}
}

/* additions for the live app */
.evnext h2 .g .b404 .n,.evnext h2 .g .b404 .e{text-shadow:none}
.evstate{display:inline-block;background:var(--red);color:#fff;font:800 11px/1 'Bricolage Grotesque',sans-serif;letter-spacing:2px;text-transform:uppercase;padding:7px 11px;border-radius:100px}
.evcard .ph .evstate{position:absolute;right:12px;top:16px}
.evmore{margin-top:44px}
/* "Also coming up": the Next-up card with the plain border (gold vs plain = guest vs resident lineup cards) */
.evnext.evalso{border-color:#f5eede12;box-shadow:none}
.evmore .evnext + .evnext{margin-top:24px}
/* archive pager: View more (+ Newer nights on page >= 2); second button tilted the other way, as everywhere */
.evpager{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:36px}
.evpager .hbtn:nth-child(2){transform:rotate(1.2deg)}
.evpager .hbtn:nth-child(2):hover{transform:rotate(0) translateY(-4px) scale(1.04)}
.evpager .hbtn[aria-busy]{opacity:.7;pointer-events:none}
.evmore h3{font-family:'Bricolage Grotesque',sans-serif;font-weight:800;font-size:24px;color:var(--cream);margin-bottom:18px}
.evnone .vidframe img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.evnone .evbtns{margin-top:26px}
.vidframe img{width:100%;display:block}
.mb14{margin-bottom:14px}
.evpreview{position:fixed;left:12px;bottom:12px;z-index:99;background:var(--red);color:#fff;font:600 12px/1.4 'Inter',sans-serif;padding:8px 14px;border-radius:100px;box-shadow:0 8px 24px #0008}
/* event page hero: blurred poster, no full-screen height, so the video section below is already in view */
.hero.evhero{min-height:0}
.hero.evhero .hero-img{filter:blur(11px) brightness(.5) saturate(1.25);transform:scale(1.1)}
