/* Source poster cards within the NEXUS shell. */
.events-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.event-card { position:relative; height:256px; border-radius:8px; overflow:hidden; background:#080d1c; box-shadow:var(--hn-box-shadow-card); }
.event-card-link { display:flex; flex-direction:column; height:100%; box-sizing:border-box; padding:16px; position:relative; isolation:isolate; color:#fff; text-decoration:none; }
.event-card-link:hover { color:#fff; }
.event-card-link:focus-visible { outline:3px solid var(--hn-primary); outline-offset:-3px; }
.event-poster { position:absolute; inset:0; z-index:-2; width:100%; height:100%; object-fit:cover; }
.event-card-link::before { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.25) 25%,rgba(0,0,0,.5) 50%,rgba(0,0,0,.75) 75%,#000); }
.event-date { display:flex; flex-direction:column; align-items:center; justify-content:center; width:64px; height:64px; flex:none; border-radius:8px; background:#fff; color:#000; }
.event-date strong { font-size:28px; line-height:1; }
.event-date span { margin-top:3px; font-size:12px; line-height:1; font-weight:700; text-transform:uppercase; color:#b91c1c; }
.event-card-copy { margin-top:auto; padding-top:12px; min-width:0; }
.event-card h2 { display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-size:18px; line-height:1.5; margin:0 0 10px; color:#fff; }
.event-meta { display:flex; align-items:center; gap:7px; margin:0; font-size:16px; white-space:nowrap; overflow:hidden; }
.event-meta span { flex:none; }
.event-meta svg { width:16px; height:16px; fill:currentColor; }
.event-empty-icon { width:44px; margin:0 auto 16px; color:var(--hn-primary); }
.event-detail-grid { display:grid; grid-template-columns:auto minmax(0,1fr); gap:24px; align-items:stretch; }
.event-detail-media { position:relative; width:clamp(200px,22vw,320px); min-height:360px; margin:0; overflow:hidden; }
.event-detail-poster { position:absolute; inset:0 auto auto 50%; transform:translateX(-50%); display:block; width:auto; max-width:100%; height:100%; object-fit:contain; border-radius:20px; }
.event-detail-info .card-body { flex:1; display:flex; align-items:center; }
.event-detail-info .card-header { border-bottom:1px solid var(--hn-border-color); }
.event-detail-info h1 { font-size:18px; line-height:1.5; margin:0; }
.event-facts { margin:0; width:100%; }
.event-fact { display:flex; gap:16px; align-items:center; }
.event-fact + .event-fact { margin-top:16px; }
.event-fact-icon { display:grid; place-items:center; flex:none; width:48px; height:48px; border-radius:8px; background:var(--hn-primary); color:#fff; }
.event-fact-icon svg { width:20px; height:20px; }
.event-fact-icon .solid-icon { fill:currentColor; }
html[data-bs-theme=dark] :is(.event-fact-icon,.event-count) { color:var(--hn-body-bg); }
.event-facts dt { font-size:12px; font-weight:400; color:var(--hn-secondary); margin-bottom:3px; }
.event-facts dd { margin:0; overflow-wrap:anywhere; }
@media(max-width:767px) { .people-search .event-period-filter { display:none; } }
@media(max-width:767px) {
 .hn-app .people-search .form-control { height:40px; min-height:40px; padding-block:8px; box-sizing:border-box; }
}
.event-facts dd a { color:inherit; text-decoration:none; font-weight:600; }
.event-facts dd a:hover { color:var(--hn-primary); text-decoration:underline; }
.event-link-hint { font-size:12px; font-weight:400; }
.event-panel { margin-top:32px; scroll-margin-top:20px; overflow:hidden; }
.event-panel:focus { outline:none; }
.event-panel h2 { margin:0; font-size:18px; }
.event-views { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:16px; border-bottom:1px solid var(--hn-border-color); }
.event-views a { display:flex; align-items:center; gap:12px; color:var(--hn-body-color); padding:10px; text-decoration:none; border-radius:10px; }
.event-views a[aria-current] { background:var(--hn-primary-lt); }
.event-views .event-nav-icon { display:grid; place-items:center; flex:none; width:40px; height:40px; border-radius:8px; background:var(--hn-primary-lt); color:var(--hn-primary); }
.event-views svg { width:22px; height:22px; }
.event-views small,.event-views strong { display:block; }
.event-views small { margin-bottom:4px; font-size:12px; color:var(--hn-secondary); font-weight:400; }
.event-views strong { font-size:14px; line-height:1.4; }
.event-regulations-link { margin-left:auto; display:inline-flex; align-items:center; gap:6px; }
.event-views a[aria-current] { color:var(--hn-primary); font-weight:700; border-bottom:2px solid currentColor; }
.event-mobile-toolbar { display:none; }
@media(max-width:991.98px) {
 .event-mode-fact,.event-panel .event-views { display:none; }
 .event-panel { margin-bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
 .event-mobile-toolbar { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); position:fixed; bottom:0; left:0; right:0; z-index:1000; min-height:72px; padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px)); background:var(--hn-bg-surface); border-top:1px solid var(--hn-border-color); }
 .event-mobile-toolbar a { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-height:60px; min-width:0; padding:5px 2px; border-radius:10px; color:var(--hn-secondary); text-decoration:none; font-size:12px; line-height:1.2; text-align:center; }
 .event-mobile-toolbar a[aria-current] { color:var(--hn-primary); background:var(--hn-primary-lt); font-weight:700; }
 .event-mobile-toolbar svg { width:24px; height:24px; flex:none; }
}
.event-panel-note { margin:0; padding:16px; color:var(--hn-secondary); }
.event-group-title { margin:0; padding:14px 16px; background:var(--hn-bg-surface-secondary); color:var(--hn-secondary); font-size:14px; }
.event-category { border-bottom:1px solid var(--hn-border-color); }
.event-category:last-child { border-bottom:0; }
.event-category summary { display:flex; align-items:center; gap:12px; padding:14px 16px; cursor:pointer; font-weight:600; list-style:none; }
.event-category summary::-webkit-details-marker { display:none; }
.event-category summary::after { content:'⌄'; flex:none; color:var(--hn-secondary); margin-left:4px; }
.event-category[open]>summary::after { content:'⌃'; }
.event-category summary:focus-visible { outline:2px solid var(--hn-primary); outline-offset:-3px; }
.event-category-icon { display:flex; color:var(--hn-primary); }
.event-category-icon svg { width:16px; height:16px; }
.event-count { margin-left:auto; white-space:nowrap; font-size:12px; font-weight:500; padding:2px 5px; border-radius:4px; background:var(--hn-primary); color:#fff; }
.event-category-content { padding:0 16px 16px; }
.event-category-content p { margin:8px 0; }
.event-years { font-size:12px; color:var(--hn-secondary); }
.event-teams { list-style:none; padding:0; margin:0; }
.event-teams li { display:flex; justify-content:space-between; gap:16px; padding:10px 0; }
.event-teams li>span:last-child { white-space:nowrap; }
.event-table-wrap { max-width:100%; overflow-x:auto; }
.event-table { width:100%; border-collapse:collapse; font-size:13px; }
.event-table caption { text-align:left; padding:12px 0; font-weight:700; }
.event-table th,.event-table td { padding:10px; text-align:left; border-bottom:1px solid var(--hn-border-color); vertical-align:top; }
.event-schedule { list-style:none; padding:0; margin:0; }
.event-schedule li { padding:16px 0; border-bottom:1px solid var(--hn-border-color); }
.event-schedule-heading { display:flex; gap:16px; justify-content:space-between; flex-wrap:wrap; }
.event-schedule-heading span { font-size:12px; color:var(--hn-secondary); }
@media(max-width:1199px) { .events-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .events-grid, .event-detail-grid { grid-template-columns:minmax(0,1fr); } .event-detail-grid { gap:20px; } .event-detail-media { width:100%; min-height:0; } .event-detail-poster { position:static; transform:none; width:100%; height:auto; } }
