/* Shared events: native data, poster cards, detail composition. Brand artwork lives in venue CSS. */
.bn-afisha-intro {position:relative;padding:var(--bn-page-top) 0 var(--bn-page-bottom);}
.bn-site .bn-afisha-intro h1 {font-size:var(--bn-type-page);line-height:var(--bn-line-page);margin-top:var(--bn-title-gap);}
.bn-afisha-intro .bn-rich-content {max-width:620px;margin-top:32px;}
.bn-events-intro {margin-top:24px;max-width:620px;}
.bn-events-tabs {display:flex;gap:32px;margin-top:32px;border-bottom:1px solid var(--bn-border-decor);}
.bn-events-tabs a {display:flex;gap:12px;align-items:center;min-height:52px;text-decoration:none;color:var(--bn-accent);}
.bn-events-tabs span {font:400 12px var(--bn-font-meta);color:var(--bn-muted);}
.bn-afisha-section {scroll-margin-top:100px;}
.bn-afisha {padding-bottom:var(--bn-section-space);}
.bn-afisha-empty {padding-block:8px 32px;}
.bn-afisha-section {padding-top:40px;}
.bn-afisha-section+.bn-afisha-section {padding-top:var(--bn-section-space);}
.bn-afisha-section .bn-section-header {align-items:baseline;}
.bn-afisha-section--empty {padding-top:0;}
.bn-site .bn-afisha-section--empty h2 {font-size:24px;}
.bn-afisha-section--empty .bn-section-header {margin-bottom:12px;}
.bn-afisha-section--empty+.bn-afisha-section {padding-top:40px;}
.bn-afisha .bn-event-grid,.bn-event-related .bn-event-grid {margin-block:var(--bn-heading-gap) 0;}
.bn-event-card__status {font-size:var(--bn-type-small);line-height:18px;}
.bn-event-detail {padding-top:var(--bn-page-top);}
.bn-event-hero {display:grid;grid-template-columns:1.2fr 1fr;position:relative;isolation:isolate;border:1px solid var(--bn-border-decor);margin-top:32px;background:var(--bn-bg);}
.bn-event-hero__copy {display:flex;flex-direction:column;align-items:flex-start;gap:32px;padding:48px;min-width:0;}
.bn-site .bn-event-hero h1 {font-size:var(--bn-type-detail);line-height:var(--bn-line-heading);overflow-wrap:anywhere;}
.bn-event-date {font:400 20px/30px var(--bn-font-meta);color:var(--bn-accent);font-variant-numeric:lining-nums;}
.bn-event-hero__visual {position:relative;isolation:isolate;min-height:440px;overflow:hidden;background:var(--bn-event-surface,var(--bn-surface));}
.bn-event-hero__visual>img {width:100%;height:100%!important;position:absolute;inset:0;object-fit:cover;}
.bn-event-detail__body {display:grid;grid-template-columns:1.2fr 1fr;gap:80px;padding-top:112px;}
.bn-event-detail__body--report {grid-template-columns:1fr;gap:48px;}
.bn-event-photo-report .bn-rich-content {max-width:none;}
.bn-event-photo-report .bn-rich-content>p {max-width:68ch;}
.bn-event-photo-report .wp-block-gallery,.bn-event-photo-report .gallery {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px!important;margin:32px 0 0;}
.bn-event-photo-report .wp-block-gallery .wp-block-image,.bn-event-photo-report .gallery-item {width:100%!important;margin:0!important;float:none;}
.bn-event-photo-report .wp-block-image>a,.bn-event-photo-report .gallery-icon>a {display:block;position:relative;aspect-ratio:3/2;overflow:hidden;cursor:zoom-in;background:var(--bn-surface);}
.bn-event-photo-report .wp-block-image>a::after,.bn-event-photo-report .gallery-icon>a::after {content:'↗';position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#111c;color:#fff;font-size:24px;opacity:0;transition:opacity var(--bn-dur-fast);}
.bn-event-photo-report .wp-block-image>a:hover::after,.bn-event-photo-report .wp-block-image>a:focus-visible::after,.bn-event-photo-report .gallery-icon>a:hover::after,.bn-event-photo-report .gallery-icon>a:focus-visible::after {opacity:1;}
.bn-event-photo-report .wp-block-image img,.bn-event-photo-report .gallery-icon img {display:block;width:100%!important;height:100%!important;object-fit:cover;object-position:center 25%;}
.bn-event-photo-report [data-photo-parallax]>img {transform:translate3d(0,var(--bn-photo-y,0%),0) scale(1.1);transition:transform var(--bn-dur-fast) var(--bn-ease-out);}
.bn-event-photo-report .wp-block-gallery figcaption {grid-column:1/-1;}
/* Lightbox (2026-10-12): theme roles instead of raw white/black, so the viewer follows the venue palette. */
.bn-event-lightbox {position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;margin:0;border:0;background:color-mix(in srgb,var(--bn-bg) 96%,transparent);color:var(--bn-text);}
.bn-event-lightbox::backdrop {background:#000d;}
.bn-event-lightbox[open] {display:flex;flex-direction:column;}
.bn-event-lightbox__toolbar {display:flex;justify-content:space-between;align-items:center;padding:12px 24px;flex:none;}
.bn-event-lightbox button {display:grid;place-items:center;width:48px;height:48px;min-width:48px;min-height:48px;padding:0;flex-shrink:0;justify-self:center;align-self:center;border:1px solid color-mix(in srgb,var(--bn-text) 27%,transparent);background:color-mix(in srgb,var(--bn-bg) 67%,transparent);border-radius:50%;color:var(--bn-text);font-size:28px;line-height:1;cursor:pointer;}
.bn-event-lightbox button:hover {background:color-mix(in srgb,var(--bn-text) 12%,transparent);}
.bn-event-lightbox button:focus-visible {outline:2px solid var(--bn-focus);outline-offset:3px;}
.bn-event-lightbox__stage {display:grid;grid-template-columns:64px minmax(0,1fr) 64px;gap:16px;align-items:center;flex:1;min-height:0;padding:0 24px 24px;}
.bn-event-lightbox__stage img {display:block;width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab;transition:transform var(--bn-dur-fast) var(--bn-ease-out),opacity var(--bn-dur-fast);}
.bn-event-lightbox__stage.is-dragging img {transition:none;cursor:grabbing;}
.bn-event-lightbox__stage img.is-loading {opacity:.25;}
.bn-event-lightbox__error {text-align:center;padding:12px;}
.bn-event-description {display:flex;flex-direction:column;gap:32px;min-width:0;}
.bn-event-description>.bn-link {align-self:flex-start;}
.bn-event-location {border-top:1px solid var(--bn-border-decor);padding-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:16px;align-self:start;}
.bn-event-location>p:nth-child(2) {font:400 24px/32px var(--bn-font-display);}
.bn-event-related {margin-top:40px;}
.bn-event-related .bn-section-header {align-items:baseline;}
.bn-other-events {padding-top:var(--bn-section-space);}
.bn-other-events__list {margin-top:40px;border-top:1px solid var(--bn-border-decor);}
.bn-other-event {display:grid;grid-template-columns:160px 1fr 160px 24px;align-items:center;gap:24px;min-height:100px;padding-block:24px;border-bottom:1px solid var(--bn-border-decor);text-decoration:none;}
.bn-other-event__title {font:400 22px/32px var(--bn-font-display);}
.bn-other-event:hover .bn-other-event__title {color:var(--bn-accent);text-decoration:underline;text-underline-offset:4px;}
.bn-other-event>.bn-eyebrow {font-size:var(--bn-type-small);letter-spacing:1px;}
.bn-other-event>span:last-child {color:var(--bn-accent);}
@media(min-width:1200px) {
 .bn-afisha .bn-event-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;}
 .bn-afisha .bn-event-card h3 {font-size:var(--bn-type-card);line-height:var(--bn-line-card);}
}
@media(max-width:1100px) {
 .bn-event-hero__copy {padding:40px;}
 .bn-event-detail__body {gap:40px;}
 .bn-other-event {grid-template-columns:120px 1fr 140px 24px;gap:16px;}
}
@media(max-width:767px) {
 .bn-event-photo-report .wp-block-gallery,.bn-event-photo-report .gallery {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;}
 .bn-event-lightbox__toolbar {padding:8px 12px;}
 .bn-event-lightbox__stage {position:relative;display:flex;padding:0 0 80px;}
 .bn-event-lightbox__stage button {position:absolute;bottom:16px;z-index:1;}
 .bn-event-lightbox__stage [data-prev] {left:calc(50% - 64px);}
 .bn-event-lightbox__stage [data-next] {right:calc(50% - 64px);}
 .bn-afisha-intro,.bn-event-detail {padding-top:var(--bn-page-top);}
 .bn-afisha-intro {padding-bottom:var(--bn-page-bottom);}
 .bn-event-hero {grid-template-columns:1fr;margin-top:24px;}
 .bn-event-hero__copy {padding:32px 24px;gap:24px;}
 .bn-event-hero__visual {min-height:280px;}
 .bn-event-date {font-size:18px;}
 .bn-event-detail__body {grid-template-columns:1fr;gap:40px;padding-top:64px;}
 .bn-event-description {gap:24px;}
 .bn-event-related {margin-top:0;}
 .bn-event-related .bn-section-header {flex-direction:column;gap:16px;}
 .bn-other-event {grid-template-columns:1fr 24px;gap:12px;}
 .bn-other-event>.bn-eyebrow,.bn-other-event>.bn-meta {grid-column:1;}
 .bn-other-event__title {grid-column:1;grid-row:2;}
 .bn-other-event>span:last-child {grid-column:2;grid-row:2;}
}
@media(prefers-reduced-motion:reduce) {
 .bn-event-photo-report .wp-block-image img,.bn-event-photo-report .wp-block-image>a::after {transition:none;}
 .bn-event-photo-report [data-photo-parallax]>img {transform:none;transition:none;}
}
