/* vesica.club event pages + What's on (#32). Uses the tokens in /styles.css. */
.ev{flex:1;max-width:760px;width:100%;margin:0 auto;padding:clamp(32px,7vh,64px) 16px 72px;box-sizing:border-box}
.ev h1{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(30px,6vw,44px);line-height:1.1;letter-spacing:-.01em;margin:0 0 20px;text-wrap:balance}
.ev h2{font-family:Fraunces,Georgia,serif;font-weight:400;font-size:clamp(22px,3vw,26px);line-height:1.25;margin:0 0 12px}
.ev .kicker{color:var(--accent-text)}
.ev-lede{color:var(--ink-2);font-size:18px;margin:0 0 28px;max-width:38em}
.ev-img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:22px;background:var(--panel);margin:0 0 24px}
.ev-facts{margin:0 0 28px;display:grid;gap:14px}
.ev-facts div{display:grid;grid-template-columns:88px 1fr;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.ev-facts dt{font:500 12px/1.9 'IBM Plex Mono',ui-monospace,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.ev-facts dd{margin:0;overflow-wrap:anywhere}
.ev-facts a,.ev-sec a,.ev-credit a{color:var(--accent-text)}
.ev-cta{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;margin:0 0 32px}
.ev-cta p{margin:0 0 16px;color:var(--ink-2)}
.ev-cta .ev-cta-h{font-family:Fraunces,Georgia,serif;font-size:22px;color:var(--ink);margin-bottom:6px}
.ev-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;background:var(--accent);color:var(--on-accent);font:600 17px/1 "IBM Plex Sans",system-ui,sans-serif;text-decoration:none}
.ev-btn:hover{color:var(--on-accent);filter:brightness(1.08)}
.ev-sec{margin:0 0 36px}
.ev-sec p{margin:0 0 12px;max-width:40em;white-space:pre-line}
.ev-dates{list-style:none;padding:0;margin:0}
.ev-dates li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;padding:10px 0;border-bottom:1px solid var(--line);margin:0}
.ev-dates a{min-height:24px}
.ev-note{color:var(--ink-2);font-size:15px}
.ev-credit{font-size:15px;color:var(--ink-2);border-top:1px solid var(--line);padding-top:16px;margin:0 0 36px}
.ev-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:10px}
.ev-card{margin:0}
.ev-card a{display:flex;flex-direction:column;gap:2px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);text-decoration:none;min-height:44px}
.ev-card a:hover{border-color:var(--accent-text)}
.ev-card-t{font-weight:600}
.ev-card-m{font-size:15px;color:var(--ink-2)}
.ev-card-m b{color:var(--accent-text);font-weight:600}
@media (max-width:480px){.ev-facts div{grid-template-columns:1fr;gap:2px}}
/* Homepage "On in Brisbane this week" (filled by functions/index.js). */
.home-ev{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:16px}
.home-ev li{margin:0}
.home-ev a.home-ev-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--panel);color:var(--ink);text-decoration:none}
.home-ev a.home-ev-card:hover{border-color:var(--accent-text)}
.home-ev img{display:block;width:100%;height:auto;aspect-ratio:16/9;flex:none;object-fit:cover;background:var(--surface-deep)}
.home-ev-body{display:flex;flex-direction:column;gap:4px;padding:16px 18px 18px}
.home-ev-t{font-weight:600;line-height:1.3}
.home-ev-m{font-size:15px;color:var(--ink-2)}
.home-ev-m b{color:var(--accent-text);font-weight:600}
/* Header with "What's on" added: keep it on one line on phones (Instagram is in the hero and footer). */
.site-ig{white-space:nowrap}
@media (max-width:480px){.site-ig[href*="instagram.com"]{display:none}}
/* Guides (#32 step 5). */
.guide-hero{margin:0 0 28px}
.guide-hero .ev-img{margin-bottom:8px}
.guide-hero figcaption{font-size:14px;color:var(--ink-2)}
.guide-hero figcaption a{color:var(--accent-text)}
.ev-sec .home-ev{margin-bottom:12px}
