.public-surface.inner-page .event-detail-page { max-width:1040px; }
.event-back { display:inline-flex; min-height:44px; align-items:center; font-size:14px; color:var(--ink-70); }
.event-detail-heading { margin:24px 0 32px; }
.public-surface.inner-page .event-detail-heading h1 { max-width:24ch; font-size:clamp(28px,3.4vw,42px); line-height:1.45; font-weight:500; margin:0; letter-spacing:-.02em; text-wrap:balance; }
.event-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0; padding:24px 0; border-block:1px solid var(--line); }
.event-facts>div { min-width:0; }
.event-facts dt { color:var(--ink-70); font-size:14px; margin-bottom:4px; }
.event-facts dd { margin:0; font-weight:500; font-size:18px; line-height:1.7; overflow-wrap:anywhere; }
.event-detail-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 24px; margin-top:24px; }
.event-source-link { display:inline-flex; align-items:center; min-height:44px; color:var(--coral); font-size:14px; }
.event-detail-page .event-hero { margin:40px 0; }
.event-description { margin-top:48px; max-width:68ch; }
.public-surface.inner-page .event-description h2 { font-size:24px; margin:0 0 16px; }
.event-description p { font-size:16px; color:var(--ink-70); white-space:pre-line; margin:0; }
.event-history-note { color:var(--ink-70); margin:0 0 28px; }
.event-detail-page :is(a,summary):focus-visible { outline:2px solid var(--coral); outline-offset:4px; }

/* Event reading order: title, practical details, venue/map, introduction. */


.event-detail-actions:empty { display:none; }
.event-location { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.35fr); gap:32px; align-items:start; margin-top:40px; }
.public-surface.inner-page .event-location h2 { font-size:22px; margin:0 0 20px; }
.event-location .event-venue { font-size:18px; font-weight:500; margin:0 0 12px; color:var(--ink); overflow-wrap:anywhere; }
.event-location .event-address { font-size:15px; margin:0 0 20px; color:var(--ink-70); overflow-wrap:anywhere; }
.event-map { background:var(--leaf); overflow:hidden; border-radius:12px; }
.event-map iframe { display:block; width:100%; height:300px; border:0; }
.event-detail-page .event-description { max-width:70ch; margin-top:40px; padding-top:32px; border-top:1px solid var(--line); }
.public-surface.inner-page .event-description h2 { font-size:22px; }
@media(max-width:700px) {
 .event-detail-heading { margin:16px 0 24px; }
 .event-facts { gap:20px; padding:20px 0; }
 .event-location { grid-template-columns:minmax(0,1fr); gap:24px; margin-top:32px; }
 .event-map iframe { height:280px; }
 .event-detail-page .event-description { margin-top:32px; padding-top:24px; }
}
@media(max-width:360px) { .event-facts { grid-template-columns:minmax(0,1fr); } }
.event-map-styled { position:relative; min-height:300px; }
.event-map-canvas { width:100%; height:300px; }
.event-map-loading { position:absolute; inset:0; display:grid; place-items:center; margin:0; color:var(--ink-70); background:var(--leaf); pointer-events:none; }
.event-map-pin { position:absolute; transform:translate(-50%,-100%); display:flex; align-items:center; min-height:44px; max-width:220px; padding:8px 12px; background:var(--ink); color:var(--paper); border-radius:8px; font:500 13px/1.5 var(--sans); text-align:center; white-space:normal; overflow-wrap:anywhere; box-sizing:border-box; }
.event-map-pin::after { content:''; position:absolute; top:100%; left:calc(50% - 6px); border:6px solid transparent; border-top-color:var(--ink); }
.event-map-pin:hover { background:var(--coral); color:var(--paper); }
.event-map-pin:hover::after { border-top-color:var(--coral); }
@media(max-width:700px) { .event-map-styled { min-height:280px; } .event-map-canvas { height:280px; } }
