.events-list{max-width:880px;display:grid;gap:20px}
.event-entry,.events-empty{padding:30px;background:var(--paper-2);border-top:3px solid var(--gold);margin:0}
.event-entry time{font:.75rem Arial,sans-serif;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.event-entry h3{font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;margin:.35em 0 .6em}
.event-facts{display:grid;grid-template-columns:90px 1fr;gap:8px 20px;margin:0 0 16px;font:.95rem Arial,sans-serif}
.event-facts dt{color:var(--muted)}.event-facts dd{margin:0}.event-facts a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.events-empty{color:var(--muted);font-size:1.08rem}
.events-section .events-list{gap:8px;max-width:1100px}
.event-view[hidden]{display:none!important}
.event-group{min-width:0}
.event-group-list{display:grid;gap:8px}
.event-group-heading{font-size:clamp(1.45rem,2.5vw,1.9rem);font-weight:400;margin:20px 0 12px;color:var(--cocoa)}
.event-group:first-of-type .event-group-heading{margin-top:0}
.event-entry[hidden],.event-group[hidden],.events-empty[hidden]{display:none!important}
.events-section{padding:44px 0 72px}
.events-search{margin:20px 0 16px}
.event-display-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 16px}
.event-display-tabs[hidden],.events-list[hidden],.events-calendar[hidden]{display:none!important}
.event-display-tabs button{min-height:44px;padding:10px 16px;border:1px solid var(--cocoa);background:transparent;color:var(--cocoa);font:.85rem Arial,sans-serif;cursor:pointer}
.event-display-tabs button[aria-pressed="true"]{background:var(--cocoa);color:var(--gold)}
.event-display-tabs button:hover{text-decoration:underline;text-underline-offset:3px}
.events-calendar{max-width:820px;padding:22px;background:var(--paper-2);border-top:3px solid var(--gold)}
.event-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.event-calendar-toolbar h3{margin:0;text-align:center;font-size:clamp(1.4rem,3.5vw,2rem);font-weight:400}
.event-calendar-toolbar button{min-height:44px;border:1px solid var(--cocoa);background:var(--paper);color:var(--cocoa);padding:8px 12px;font:.76rem Arial,sans-serif;cursor:pointer}
.event-calendar-toolbar button:disabled{opacity:.42;cursor:default}
.event-calendar-grid{width:100%;table-layout:fixed;border-spacing:4px;font-family:Arial,sans-serif;text-align:center}
.event-calendar-grid th{padding:4px 0;color:var(--cocoa);font-size:.73rem;font-weight:700}
.event-calendar-grid td{height:50px;background:var(--paper);color:var(--muted);font-size:.9rem}
.event-calendar-grid td:empty{background:transparent}
.event-calendar-grid td button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;width:100%;min-height:48px;border:1px solid var(--cocoa);background:var(--white);color:var(--cocoa);font:700 .9rem Arial,sans-serif;cursor:pointer}
.event-calendar-grid td button[aria-pressed="true"]{background:var(--cocoa);color:var(--gold)}
.calendar-event-dot{width:5px;height:5px;border-radius:50%;background:var(--gold)}
.event-calendar-details{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.event-calendar-details h4{margin:0 0 12px;color:var(--cocoa);font:700 .87rem Arial,sans-serif}
.event-calendar-card+ .event-calendar-card{margin-top:8px}
.event-calendar-month-empty{margin:0;color:var(--muted);font:.9rem/1.5 Arial,sans-serif}
@media(max-width:620px){.events-calendar{padding:14px 8px;overflow-x:auto}.event-calendar-toolbar{flex-wrap:wrap}.event-calendar-toolbar h3{width:100%;order:-1}.event-calendar-toolbar button{flex:1}.event-calendar-grid{min-width:308px;border-spacing:2px}.event-calendar-grid td{height:44px}.event-calendar-grid td button{min-height:44px}}
.past-event-filter{display:flex;align-items:center;gap:12px;margin:18px 0 22px;font:.82rem Arial,sans-serif;color:var(--cocoa)}
.past-event-filter[hidden]{display:none}
.past-event-filter select{min-width:125px;min-height:44px;padding:10px 32px 10px 12px;border:1px solid var(--cocoa);border-radius:0;background:var(--paper-2);color:var(--cocoa);font:400 1rem Arial,sans-serif}
.past-event-filter select:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.events-section .event-entry{display:grid;grid-template-columns:148px minmax(0,1fr);align-items:start;gap:20px;padding:12px 18px;border-top-width:2px}
.events-section .event-entry time{margin-top:4px;font-size:.75rem}
.events-section .event-main{min-width:0}
.events-section .event-headline,.events-section .event-headline-facts,.events-section .event-secondary-facts{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 18px}
.events-section .event-entry h3{font-size:1.3rem;line-height:1.25;margin:0 8px 0 0}
.events-section .event-headline-facts,.events-section .event-secondary-facts{margin:0;font:.88rem/1.35 Arial,sans-serif}
.events-section .event-secondary-facts{margin-top:5px;color:var(--muted)}
.events-section .event-fact{display:inline-flex;gap:6px;min-width:0}
.events-section .event-fact dt{color:var(--muted)}
.events-section .event-fact dd{margin:0;min-width:0}
.events-section .event-fact a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
@media(max-width:700px){
  .events-section .event-entry{grid-template-columns:1fr;gap:4px;padding:12px 14px}
  .events-section .event-entry time{margin:0}
  .events-section .event-entry h3{font-size:1.25rem}
  .events-section .event-headline,.events-section .event-headline-facts,.events-section .event-secondary-facts{gap:3px 12px}
}

.event-detail-page{padding:34px 0 82px}
.event-detail-page .breadcrumbs{margin-bottom:34px;padding:0 0 14px;background:transparent}
.event-detail-page h1{font-size:clamp(2.8rem,6vw,5.6rem);font-weight:400;line-height:1;margin:.18em 0}
.event-detail-date{font:700 .9rem/1.5 Arial,sans-serif;color:var(--muted);margin:0 0 28px}
.event-detail-card{max-width:850px;padding:28px;background:var(--paper-2);border-top:3px solid var(--gold)}
.event-detail-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px 24px;margin:0;font:.95rem/1.5 Arial,sans-serif}
.event-detail-facts .event-fact{display:contents}
.event-detail-facts dt{color:var(--muted)}
.event-detail-facts dd{margin:0}
.event-detail-facts a{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:4px}
.event-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
@media(max-width:600px){.event-detail-facts{grid-template-columns:1fr;gap:3px}.event-detail-facts .event-fact{display:block;margin-bottom:12px}.event-detail-facts dt{font-weight:700}.event-detail-card{padding:22px}}

/* v158 progressive-enhancement and compact calendar refinements */
html:not(.js) .events-section .listing-search,
html:not(.js) .events-section .listing-active-filters,
html:not(.js) .events-section .listing-results-count,
html:not(.js) .events-section .event-display-tabs,
html:not(.js) .events-section .past-event-filter{display:none!important}
.js[data-event-view="upcoming"] [data-event-view="past"],
.js[data-event-view="past"] [data-event-view="upcoming"]{display:none!important}
@media(max-width:360px){
  .events-calendar{padding:12px 4px;overflow-x:visible}
  .event-calendar-grid{min-width:0;border-spacing:1px}
  .event-calendar-grid th{font-size:.64rem}
  .event-calendar-grid td{height:42px;font-size:.78rem}
  .event-calendar-grid td button{min-width:0;min-height:44px;padding:0;font-size:.8rem}
  .event-calendar-toolbar{gap:7px}
  .event-calendar-toolbar button{padding:8px 6px;font-size:.69rem}
}
.event-detail-summary{max-width:800px;margin:-.1rem 0 18px;color:var(--muted);font-size:1.05rem;line-height:1.65}
