/* PNGCORE — Events hub (/events/, page-events.php). Shared pc-ev-* components are in event-page.css (loaded
   first by the template); this file holds the hub's own blocks: next-up feature, event board with filter chips,
   flagship cards, highlights band, giving back, sponsor panels, calendar + archive. */

/* ---------------------------------------------------------------- next up feature */
.pc-ev-hub-hero.pc-hero--photo{padding-bottom:clamp(96px,10vw,152px)}
.pc-ev-hub-hero .pc-hero-credit{bottom:var(--pc-s4)}
.pc-ev-feature{display:grid;overflow:hidden;background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-r-xl);box-shadow:var(--pc-shadow)}
.pc-ev-feature-media{position:relative;min-height:280px;background:var(--pc-navy)}
.pc-ev-feature-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pc-ev-feature-overlay{position:absolute;inset:auto 0 0 0;padding:var(--pc-s8) var(--pc-s5) var(--pc-s5);background:linear-gradient(180deg,rgba(0,21,35,0) 0%,rgba(0,21,35,.85) 70%)}
.pc-ev-feature-logo{display:block;width:min(300px,80%);height:auto}
.pc-ev-feature-media .pc-hero-credit{top:var(--pc-s3);bottom:auto;right:var(--pc-s3);padding:2px 8px;border-radius:var(--pc-r-sm);background:rgba(0,21,35,.6);color:#fff}
.pc-ev-feature-body{padding:clamp(24px,3.4vw,48px)}
.pc-ev-feature-body h2{margin:0}
.pc-ev-feature-body .pc-ev-meta{margin-bottom:var(--pc-s5)}
.pc-ev-feature-body .pc-prose{color:var(--pc-text)}
.pc-ev-feature-body .pc-ev-actions{margin-top:var(--pc-s5)}
.pc-ev-feature-body .pc-ev-contact{margin-top:var(--pc-s5)}
.pc-ev-feature-programme{margin-top:var(--pc-s7)}
.pc-ev-feature-links{display:flex;flex-wrap:wrap;gap:0 var(--pc-s5);margin:var(--pc-s2) 0 0;padding:0;list-style:none}
.pc-ev-feature-links .pc-more{min-height:44px}
@media (min-width:960px){
	.pc-ev-feature{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
	.pc-ev-feature-media{min-height:100%}
}

/* ---------------------------------------------------------------- event board + CSS-only filter */
.pc-ev-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--pc-s3);min-width:0;margin:0 0 var(--pc-s6);padding:0;border:0}
.pc-ev-filter-legend{float:left;display:inline-flex;align-items:center;gap:6px;margin-right:var(--pc-s3);padding:0;font-size:var(--pc-fs-small);font-weight:700;color:var(--pc-ink)}
.pc-ev-filter-legend .pc-icon{width:18px;height:18px;color:var(--pc-brand)}
.pc-ev-filter-chips{display:flex;flex-wrap:wrap;gap:var(--pc-s2)}
.pc-ev-chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 8px 6px 16px;border:1.5px solid var(--pc-line-strong);border-radius:var(--pc-r-pill);background:#fff;font-size:var(--pc-fs-small);font-weight:600;color:var(--pc-ink);cursor:pointer;transition:background var(--pc-dur-1),border-color var(--pc-dur-1)}
.pc-ev-chip:hover{border-color:var(--pc-brand-700);background:var(--pc-brand-50)}
.pc-ev-chip-input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.pc-ev-chip-count{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 6px;border-radius:var(--pc-r-pill);background:var(--pc-surface-2);font-size:var(--pc-fs-meta);font-weight:700;color:var(--pc-text)}
.pc-ev-chip:has(.pc-ev-chip-input:checked){border-color:var(--pc-brand-700);background:var(--pc-brand-700);color:#fff}
/* Selected chip: a darker badge keeps the white count at 11.9:1 (white on brand-900); the chip label is 5.7:1. */
.pc-ev-chip:has(.pc-ev-chip-input:checked) .pc-ev-chip-count{background:var(--pc-brand-900);color:#fff}
.pc-ev-chip:has(.pc-ev-chip-input:focus-visible){outline:2px solid var(--pc-focus);outline-offset:2px;box-shadow:0 0 0 4px var(--pc-focus-halo)}
.pc-ev-board-list{display:grid;gap:var(--pc-s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,360px),1fr));margin:0;padding:0;list-style:none}
.pc-ev-board-item{display:flex;min-width:0}
.pc-ev-board-item > .pc-event{flex:1;align-content:start}
.pc-ev-board-inner:has(.pc-ev-chip-input[value="upcoming"]:checked) .pc-ev-board-item:not(.is-k-upcoming),
.pc-ev-board-inner:has(.pc-ev-chip-input[value="past"]:checked) .pc-ev-board-item:not(.is-k-past),
.pc-ev-board-inner:has(.pc-ev-chip-input[value="png-investment-week"]:checked) .pc-ev-board-item:not(.is-k-png-investment-week),
.pc-ev-board-inner:has(.pc-ev-chip-input[value="png-resources-week"]:checked) .pc-ev-board-item:not(.is-k-png-resources-week),
.pc-ev-board-inner:has(.pc-ev-chip-input[value="pdac"]:checked) .pc-ev-board-item:not(.is-k-pdac),
.pc-ev-board-inner:has(.pc-ev-chip-input[value="other"]:checked) .pc-ev-board-item:not(.is-k-other){display:none}
.pc-ev-board-inner:has(.pc-ev-chip-input[value="other-pngcore"]:checked) .pc-ev-board-item:not(.is-k-other-pngcore){display:none}
.pc-ev-board-item[hidden]{display:none}
.pc-ev-board-status{margin:calc(-1 * var(--pc-s3)) 0 var(--pc-s5);font-size:var(--pc-fs-small);color:var(--pc-muted)}
.pc-event-description{font-size:var(--pc-fs-small);line-height:1.6;color:var(--pc-text);margin:var(--pc-s3) 0 var(--pc-s4)}
.pc-ev-official-link{position:relative;z-index:1;margin:var(--pc-s3) 0 0}
.pc-ev-official-link .pc-more{min-height:44px}
.pc-ev-board .pc-event h3 a{display:inline}
.pc-ev-board .pc-event-date{align-self:start}
.pc-ev-board .pc-event .pc-more{min-height:44px}
@media(max-width:479px){.pc-ev-board .pc-event{grid-template-columns:56px minmax(0,1fr);gap:var(--pc-s3)}}

/* ---------------------------------------------------------------- flagship cards */
.pc-ev-flag .pc-card-img{aspect-ratio:16 / 10}
.pc-ev-flag-where{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--pc-fs-meta);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--pc-muted)}
.pc-ev-flag-where .pc-icon{width:16px;height:16px;color:var(--pc-brand)}
.pc-ev-flag .pc-card-excerpt{color:var(--pc-text)}
.pc-ev-flag:target{outline:3px solid var(--pc-brand);outline-offset:3px}

/* ---------------------------------------------------------------- highlights band */
.pc-ev-hl{display:grid;gap:var(--pc-gap);grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));margin:0;padding:0;list-style:none}
.pc-ev-hl-item{display:flex;flex-direction:column;padding:var(--pc-s5);border:1px solid var(--pc-on-dark-line);border-top:3px solid var(--pc-accent);border-radius:var(--pc-r-lg);background:var(--pc-navy-800)}
.pc-ev-hl-item p{margin:0}
.pc-ev-hl-event{font-size:var(--pc-fs-meta);font-weight:700;letter-spacing:var(--pc-track-eyebrow);text-transform:uppercase;color:var(--pc-accent)}
.pc-ev-hl-num{margin-top:var(--pc-s3) !important;font-size:clamp(2.25rem,1.6rem + 1.6vw,3.25rem);font-weight:800;line-height:1;letter-spacing:-.03em;color:#fff;font-variant-numeric:tabular-nums}
.pc-ev-hl-label{margin-top:var(--pc-s2) !important;font-weight:600;color:#fff}
.pc-ev-hl-text{margin-top:var(--pc-s3) !important;font-size:var(--pc-fs-small);line-height:1.5;color:var(--pc-on-dark-muted)}
.pc-ev-hl-item .pc-stat-source{margin-top:auto !important;padding-top:var(--pc-s4);font-size:var(--pc-fs-meta);line-height:1.45;color:var(--pc-on-dark-muted)}
.pc-ev-hl-item .pc-stat-source a{color:#fff}

/* ---------------------------------------------------------------- giving back */
.pc-ev-giving-grid{display:grid;gap:var(--pc-s7) var(--pc-s8);align-items:center}
.pc-ev-giving .pc-prose{margin-top:calc(-1 * var(--pc-s2))}
.pc-ev-giving .pc-ev-linkp{margin-top:var(--pc-s3)}
@media (min-width:960px){.pc-ev-giving-grid{grid-template-columns:minmax(0,6fr) minmax(0,6fr)}}

/* ---------------------------------------------------------------- sponsor and exhibit */
.pc-ev-sponsor .pc-section-head > div{max-width:820px}
.pc-ev-benefits{display:grid;gap:var(--pc-gap);margin-top:var(--pc-s6)}
@media (min-width:960px){.pc-ev-benefits{grid-template-columns:repeat(2,minmax(0,1fr))}}
.pc-ev-benefits-panel{padding:clamp(20px,2.6vw,36px);border:1px solid var(--pc-line);border-radius:var(--pc-r-lg);background:var(--pc-surface)}
.pc-ev-benefits-panel h3{margin:0 0 var(--pc-s4);font-size:var(--pc-fs-h4)}
.pc-ev-benefits-panel ul{display:grid;gap:var(--pc-s4);margin:0;padding:0;list-style:none}
.pc-ev-benefits-panel li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--pc-s3);font-size:var(--pc-fs-small);line-height:1.5;color:var(--pc-text)}
.pc-ev-benefits-panel li .pc-icon{width:22px;height:22px;margin-top:1px;color:var(--pc-brand)}
.pc-ev-benefits-panel b{display:block;color:var(--pc-ink);font-size:var(--pc-fs-body)}
.pc-ev-sponsor-foot{min-width:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--pc-s4) var(--pc-s6);margin-top:var(--pc-s6);padding-top:var(--pc-s5);border-top:1px solid var(--pc-line)}
.pc-ev-sponsor-foot .pc-prose p{margin:0}

/* ---------------------------------------------------------------- calendar + past events */
.pc-ev-archive-grid{display:grid;gap:var(--pc-s8) var(--pc-s8);align-items:start}
@media (min-width:960px){.pc-ev-archive-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}}
.pc-ev-calendar .pc-docs{background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-r-lg);padding:0 var(--pc-s4)}
.pc-ev-calendar .pc-doc:last-child{border-bottom:0}
.pc-ev-calendar .pc-doc .pc-btn-sm,.pc-ev-board .pc-btn-sm{min-height:44px}
.pc-ev-past .pc-ev-years{background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-r-lg);padding:0 var(--pc-s5)}
.pc-ev-past .pc-ev-year:first-child{border-top:0}
.pc-ev-past .pc-ev-year:last-child{border-bottom:0}
@media (min-width:960px){.pc-ev-calendar{position:sticky;top:calc(var(--pc-header-h) + 88px)}}
/* calendar note under the download row (RC-29) */
.pc-ev-calendar .pc-docs + .pc-prose{margin-top:var(--pc-s4)}

/* October review: upcoming events first, with a compact archive filter. */
.pc-tpl-events .pc-ev-chip{padding:8px 20px}
.pc-tpl-events .pc-ev-flagship{background:var(--pc-surface)}
.pc-tpl-events .pc-ev-flagship .pc-cards{gap:32px}
.pc-tpl-events .pc-ev-flag .pc-card-img{aspect-ratio:2/1}
.pc-ev-help-inner{display:flex;gap:32px;justify-content:space-between;align-items:center}
.pc-ev-help-inner h2{margin:0 0 12px}.pc-ev-help-inner p{margin:0;max-width:55ch}
.pc-ev-help-inner .pc-actions{margin:0;flex-shrink:0}
@media(min-width:720px){.pc-tpl-events .pc-ev-flagship .pc-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.pc-ev-help-inner{align-items:start;flex-direction:column}}
