/* W08: featured posters and a date-grouped event listing. */
.event-list-page{background:#fff;--brand:#f5222d;--brand-soft:#fff1f2}
.event-list-page>.site-header{background:#fff}
.event-list-page .desktop-home{background:transparent}
.event-list-page .home-header,.event-list-page .home-footer{background:#fff}
.event-list-page .page{--event-ink:#1c2637;--event-muted:#7f8794;--event-line:#edf0f4}
.event-list-page .page [hidden]{display:none!important}
.event-layout{display:grid;grid-template-columns:minmax(0,1fr) 276px;gap:24px;align-items:start}
.event-primary{min-width:0}
.event-list-page .event-filters{padding:7px 22px;margin:0 0 18px;background:#fff;border:1px solid var(--event-line);border-radius:10px;box-shadow:none}
.event-filters .event-filter-row{padding:13px 0;gap:18px;min-height:52px;border-bottom:1px solid #f2f3f6;flex-wrap:wrap}
.event-filters .event-filter-row:last-child{border-bottom:0}
.event-filters .event-filter-row>span{width:36px;flex-shrink:0;font-size:12px;color:#626c7b}
.event-filters .event-chips{gap:5px;flex:1;display:flex;flex-wrap:wrap}
.event-list-page .event-filters .event-chip{font-size:12px;padding:5px 10px;min-height:30px;border-radius:5px;background:transparent;white-space:nowrap}
.event-list-page .event-filters .event-chip.selected{background:var(--brand-soft);color:var(--brand)}
.event-search{display:flex;align-items:center;gap:7px;max-width:270px;min-width:200px;background:#f7f8fa;border:1px solid #e9ecf1;border-radius:6px;padding:0 8px;height:34px}
.event-search>i{font-size:12px;color:#9aa2ad}
.event-search input{min-width:0;width:155px;border:0;background:none;outline:none;font:inherit;font-size:12px;color:var(--event-ink)}
.event-search:focus-within{outline:2px solid #f6c4c4}
.event-search button{border:0;background:none;color:var(--brand);font:inherit;font-size:12px;padding:3px;white-space:nowrap;cursor:pointer}
.event-listing{padding:0 24px;background:#fff;border:1px solid var(--event-line);border-radius:10px}
.event-listing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;border-bottom:1px solid var(--event-line)}
.event-listing-toolbar>div:first-child{display:flex;align-items:center;gap:12px}
.event-listing-toolbar strong{font-size:15px;color:var(--event-ink)}
.event-availability-controls{display:flex;align-items:center;gap:12px;padding-left:16px;border-left:1px solid #e8ecf1}
.event-available-count{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:4px 11px;border:1px solid #e8ecf1;border-radius:18px;font-size:12px;line-height:20px;color:#626c7b;background:#fff;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.event-available-count:hover{color:var(--brand);border-color:#ffc4ca;background:#fff8f8}
.event-available-count.selected{color:var(--brand);border-color:#ffc4ca;background:var(--brand-soft)}
.event-available-count>i{font-size:13px;color:var(--brand)}
.event-available-count .event-available-arrow{font-size:9px;color:#9ba3af}
.event-available-number{margin:0 2px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--brand)}
.event-available-reset{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--event-muted);white-space:nowrap}
.event-available-reset i{font-size:11px}
.event-available-reset:hover{color:var(--brand)}
.event-view-switch{display:flex;background:#f6f7f9;padding:3px;border-radius:6px;gap:3px}
.event-view-switch a{display:flex;align-items:center;gap:6px;border:0;border-radius:4px;background:none;color:#8a929d;font:inherit;font-size:12px;padding:6px 11px;cursor:pointer;white-space:nowrap}
.event-view-switch a.active{background:#fff;color:var(--brand);box-shadow:0 1px 4px #22314b0a}
.event-timeline-count{font-size:12px;color:var(--event-muted);white-space:nowrap}
.event-timeline-list{list-style:none;margin:0;padding:0}
.event-timeline-section{display:flex;align-items:center;gap:14px;margin:24px 0 12px;padding:0 4px;min-width:0}
.event-timeline-section h2{display:flex;align-items:center;gap:10px;flex:none;font-size:18px;line-height:28px;margin:0;color:var(--event-ink)}
.event-timeline-section h2 i{font-size:22px;color:var(--brand)}
.event-timeline-section>span{font-size:12px;color:var(--event-muted)}
.event-timeline-section::after{content:"";flex:1;border-top:1px solid var(--event-line)}
.event-timeline-section[data-event-section-heading="upcoming"] h2{color:var(--brand)}
.event-timeline-day{position:relative;display:grid;grid-template-columns:72px minmax(0,1fr);gap:20px;padding:18px 14px 20px 28px;margin:0 0 10px;border:0;border-radius:8px;min-width:0}
.event-timeline-day::before{content:"";position:absolute;left:10px;top:0;bottom:0;border-left:1px dashed #d9dfe7}
.event-timeline-day.has-next{background:var(--brand-soft)}
.event-timeline-day.has-next::before{border-color:#f4a9ad}
.event-timeline-date{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;margin:0;line-height:1.3;align-self:start}
.event-timeline-date::before{content:"";position:absolute;width:10px;height:10px;border:2px solid #b7c1cf;border-radius:50%;background:#fff;left:-24px;top:10px;box-shadow:0 0 0 4px #fff}
.event-timeline-day.has-next .event-timeline-date::before{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-soft)}
.event-timeline-date time{display:flex;flex-direction:column;width:70px;overflow:hidden;border:1px solid #dfe4ec;border-radius:6px;text-align:center;color:var(--event-ink);font-variant-numeric:tabular-nums}
.event-date-month{display:block;background:#f6f7f9;font-size:12px;font-weight:600;line-height:20px;padding:5px 2px}
.event-timeline-date time strong{display:block;font-size:34px;font-weight:700;line-height:1;padding:7px 0 9px}
.event-timeline-day.has-next time{border-color:var(--brand);color:var(--brand);background:#fff}
.event-timeline-day.has-next .event-date-month{background:var(--brand);color:#fff}
.event-timeline-date .event-weekday{font-size:12px;font-weight:400;color:var(--event-muted);border:0;padding:0}
.event-countdown{padding:4px 7px;border-radius:20px;background:#ffe4e6;color:var(--brand);font-size:11px;white-space:nowrap}
.event-timeline-items{display:grid;gap:22px;min-width:0}
.event-list-page .event-list-card{position:relative;display:grid;grid-template-columns:228px minmax(0,1fr) 104px;column-gap:18px;row-gap:8px;padding:0 0 18px;border:0;border-bottom:1px solid #f0f2f5;border-radius:0;background:none;box-shadow:none;min-width:0;scroll-margin-top:22px}
.event-list-page .event-timeline-items .event-list-card:last-child{border-bottom:0;padding-bottom:0}
.event-list-card .event-poster-link{display:block;grid-column:1;grid-row:1/3;align-self:start;overflow:hidden;border-radius:6px;outline-offset:3px}
.event-poster-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;transition:filter .2s}
.event-list-card .event-poster-link:hover .event-poster-image{filter:brightness(1.04)}
.event-list-page .event-list-card .event-card-inner{grid-column:2;grid-row:1;min-width:0;padding:0}
.event-tags{display:flex;align-items:center;gap:8px;margin-bottom:7px}
.event-list-page .event-tags .badge{font-size:10px;padding:2px 6px;border-radius:4px;line-height:1.5}
.event-kind{font-size:12px;color:#7f8794;padding:3px 7px;background:#f4f5f7;border-radius:4px;line-height:18px}
.event-next-label{padding:3px 8px;border-radius:4px;background:var(--brand);color:#fff;font-size:12px;font-weight:600;line-height:18px;white-space:nowrap}
.event-card-countdown{display:none;color:var(--brand);font-size:11px;white-space:nowrap}
.event-status.open{background:#eaf7ef;color:#36815b}.event-status.full{background:#fff4e2;color:#a27732}.event-status.upcoming{background:#eef3ff;color:#5a74a0}.event-status.closed,.event-status.ended{background:#f1f2f4;color:#89909b}
.event-list-page .event-list-card h3{font-size:18px;line-height:1.55;font-weight:600;min-height:0;margin:0 0 11px;color:var(--event-ink)}
.event-list-card h3 a:hover{color:var(--brand)}
.event-list-page .event-list-card .event-schedule,.event-list-page .event-list-card .event-venue{display:flex;gap:7px;align-items:center;font-size:13px;color:#7d8795;margin:4px 0;line-height:1.6}
.event-card-actions{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;gap:10px;padding:18px 0 0;min-width:0}
.event-fee{font-size:15px;font-weight:600;white-space:nowrap}.event-fee.free{font-size:12px;color:#6b7d70}.event-fee.paid{color:var(--brand)}
.event-list-page .event-card-actions .button{margin:0;min-height:34px;padding:7px 12px;font-size:12px;border-radius:5px;white-space:nowrap;width:100%;text-align:center}
.event-list-page .event-timeline-list .event-card-actions .button{margin-top:auto}
.event-list-page .event-list-card>.provider-engagement{grid-column:2;grid-row:2;margin:2px 0 0;padding:0;border:0;font-size:12px;gap:14px;align-self:end;flex-wrap:wrap}
.event-list-page .event-list-card .provider-engagement svg{width:12px;height:12px}
.event-list-page .event-list-card .provider-engagement button{padding:2px 0;font-size:12px}
.event-list-page .event-list-card .eng-views{margin-left:0}
.event-list-end{font-size:11px;text-align:center;padding:22px 0;margin:0;color:#a0a7b1}
.event-list-more{display:flex;align-items:center;justify-content:center;gap:12px;min-height:66px}
.event-list-more .button{min-height:30px;padding:5px 12px;font-size:12px}
.event-empty{text-align:center;padding:64px 15px;color:#969eaa}.event-empty>i{font-size:32px;color:#b7c0cd}
.event-list-page .event-empty h2{font-size:17px;margin:13px 0 7px}.event-empty p{font-size:12px;margin:0 0 18px}
.event-resource-nav{min-width:0;position:sticky;top:max(20px,calc((100dvh - var(--event-resource-height,100dvh))/2))}
.event-list-page .event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:14px;margin:16px 0 0;align-items:stretch}
.event-list-page .event-grid .event-list-card{display:flex;flex-direction:column;gap:0;border:1px solid #e8ecf1;border-radius:8px;padding:0;overflow:hidden;background:#fff;transition:border-color .2s,box-shadow .2s}
.event-list-page .event-grid .event-list-card[data-next-event="true"]{border-color:#f5a0a6;background:var(--brand-soft)}
.event-list-page .event-grid .event-card-countdown{display:inline}
.event-list-page .event-grid .event-list-card:hover{border-color:#d8dfe8;box-shadow:0 6px 20px #22314b0a}
/* Match the 16:9 event-cover crop in the admin uploader, independent of source dimensions. */
.event-list-page .event-grid .event-list-card .event-poster-link{position:relative;width:100%;min-width:0;aspect-ratio:16/9;align-self:stretch;border-radius:0;flex:none;background:#f4f6f8}
.event-list-page .event-grid .event-poster-image{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center}
.event-list-page .event-grid .event-list-card .event-card-inner{padding:12px 12px 0}
.event-list-page .event-grid .event-tags{min-height:19px;margin-bottom:6px;gap:6px}
.event-list-page .event-grid .event-status,.event-list-page .event-grid .event-kind{font-size:10px}
.event-list-page .event-grid .event-list-card h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:15px;line-height:1.5;min-height:3em;margin:0 0 8px}
.event-list-page .event-grid .event-list-card .event-schedule,.event-list-page .event-grid .event-list-card .event-venue{font-size:12px;line-height:1.5;margin:3px 0;color:#778190}
.event-list-page .event-grid .event-venue span{min-width:0;overflow-wrap:anywhere}
.event-grid .event-card-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;margin-top:auto;padding:12px}
.event-grid .event-card-actions .event-status{grid-column:2;grid-row:1;justify-self:end}
.event-grid .event-card-actions .event-fee{grid-column:1;grid-row:1}
.event-grid .event-card-actions .button{grid-column:2;grid-row:2;justify-self:end}
.event-list-page .event-grid .event-card-actions .event-fee{text-align:left}
.event-list-page .event-grid .event-card-actions .event-fee.free{font-size:13px}
.event-list-page .event-grid .event-card-actions .button{width:auto;min-width:88px;min-height:30px;padding:5px 10px;flex:none}
.event-list-page .event-grid .event-list-card>.provider-engagement{align-self:stretch;margin:0;padding:7px 12px;border-top:1px solid var(--event-line);background:#fafbfc;gap:10px}
.event-list-page .event-grid .event-list-card .provider-engagement button,.event-list-page .event-grid .event-list-card>.provider-engagement>span{font-size:10px}
.event-list-page .event-grid .event-list-card>.provider-engagement>span{margin-left:auto}
.event-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.event-list-page .page :where(button,a,input):focus-visible{outline:2px solid #e96b70;outline-offset:3px}
.event-list-page>.page{max-width:1400px;width:calc(100% - 192px);margin:24px auto 28px;padding:0;min-height:0}
.event-list-page .page{--event-ink:#1c2637;--event-muted:#7f8794;--event-line:#edf0f4}
.event-primary{position:relative}
.event-filter-row{display:flex;align-items:center}
.event-chip{display:inline-flex;align-items:center;line-height:1.5;color:#626c7b}
.event-chip:hover{color:var(--brand);background:#fff5f5!important}
.event-list-page .event-chips{min-width:0}
.event-list-page .event-filters .event-chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.event-list-page .event-search input{margin:0;padding:0;min-height:0;height:auto;border-radius:0;box-shadow:none}
.event-list-page .event-filters .event-search{margin:0}
.event-list-tools{display:flex;align-items:center;gap:14px}
.event-registration-entry{font-size:12px;color:#7f8794;white-space:nowrap}
.event-registration-entry:hover{color:var(--brand)}
.event-list-page .event-list-card .event-status{font-size:12px;padding:4px 8px;border-radius:4px;line-height:1.5;white-space:nowrap}
.event-list-card .event-tags{flex-wrap:wrap}
.event-list-card .event-card-inner{overflow-wrap:anywhere}
.event-list-card .event-schedule,.event-list-card .event-venue{align-items:flex-start!important}
.event-list-card .event-schedule i,.event-list-card .event-venue i{flex:none}
.event-list-card>.provider-engagement{display:flex;color:#8a929e}
.event-list-card>.provider-engagement button{display:inline-flex;align-items:center;gap:4px;border:0;background:none;font:inherit;color:inherit;cursor:pointer}
.event-list-card>.provider-engagement button:hover,.event-list-card>.provider-engagement button.active{color:var(--brand)}
.event-list-card>.provider-engagement>span{display:inline-flex;align-items:center;gap:4px;margin-left:0}
.event-fee.external{font-size:11px;white-space:normal;color:#7d8795;text-align:right}
.event-list-page .event-card-actions .button{display:inline-flex;align-items:center;justify-content:center;line-height:18px;height:auto}
.event-selected-day{font-size:12px;padding:10px 14px;background:#fff;border-radius:6px;margin:0 0 18px;color:#7d8795}.event-selected-day a{color:var(--brand);margin-left:10px}
.event-list-page .event-view-switch{margin-left:0}
.event-list-page .ad-arrow{top:calc(50% - 9px)}
@media(max-width:1439px){.event-timeline-day{grid-template-columns:66px minmax(0,1fr);gap:16px;padding-left:25px;padding-right:10px}.event-timeline-date time{width:64px}.event-list-page .event-list-card{grid-template-columns:200px minmax(0,1fr) 96px;column-gap:14px}.event-listing{padding:0 18px}.event-listing-toolbar{gap:8px}.event-listing-toolbar>div:first-child{gap:8px}.event-list-tools{gap:8px}}
@media(max-width:1279px){.event-list-page .event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.event-poster-image,.event-list-page .event-grid .event-list-card{transition:none}}
