/* NSB Events, "Special Issues": every event is a special-issue cover of the NSB magazine. Used by /events.
   Step 2 fills #next-issue (.ev-cover--next) from The Desk with the same pieces. */
.events-page { max-width: 1180px; margin: 0 auto; padding: 32px 16px 72px; }
.events-hero h1 { font-family: var(--display); font-size: clamp(48px, 10vw, 96px); line-height: .95; text-transform: uppercase; margin: 12px 0 10px; }
.events-hero h1 em { color: var(--red); }
.events-hero p { font-family: var(--serif); font-style: italic; font-size: clamp(18px, 2.6vw, 22px); color: var(--ink-2); margin: 0 0 28px; }
.ev-grid { display: grid; gap: 34px; }
@media (min-width: 720px) { .ev-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .ev-grid { grid-template-columns: repeat(3, 1fr); } }
.ev-issue { display: block; color: var(--ink); text-decoration: none; }
.ev-cover { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; background: var(--ink); border: 3px solid var(--ink); box-shadow: 7px 7px 0 var(--ink); transition: transform .15s ease, box-shadow .15s ease; }
.ev-issue:hover .ev-cover, .ev-issue:focus-visible .ev-cover { transform: translate(-2px, -2px); box-shadow: 9px 9px 0 var(--ink); }
.ev-cover img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; }
.ev-bar { position: absolute; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; gap: 8px; padding: 10px 12px; background: var(--red); color: #fff; font: 700 11px var(--mono); letter-spacing: 3px; text-transform: uppercase; }
.ev-sticker { position: absolute; right: 12px; top: 54px; width: 86px; height: 86px; border-radius: 50%; display: flex; align-items: center; justify-content: center; text-align: center; background: var(--gold); color: var(--ink); border: 2px solid var(--ink); font: 700 12px/1.1 var(--mono); letter-spacing: 1px; text-transform: uppercase; transform: rotate(12deg); }
.ev-hed { position: absolute; left: 14px; right: 14px; bottom: 16px; color: #fff; font-family: var(--display); font-size: clamp(40px, 12vw, 56px); line-height: .92; text-transform: uppercase; text-shadow: 3px 3px 0 var(--red); }
@media (min-width: 720px) { .ev-hed { font-size: 48px; } }
.ev-stats { margin: 16px 0 0; font: 500 11px var(--mono); letter-spacing: 2px; text-transform: uppercase; }
.ev-cover--next { margin-bottom: 34px; }
#next-issue[hidden] { display: none; }   /* .ev-cover sets display, which would beat the hidden attribute */
