/* Compact calendar date with an expandable twenty-word description. */
.events-block .event-carousel.has-navigation .event-list{margin-inline:44px}
.events-block .event-date-mark{align-self:start}
.events-block .event-date-mark span:nth-child(2){text-transform:capitalize}

.events-block .is-gallery .event{grid-template-columns:76px minmax(0,1fr);gap:24px;margin-block:22px;padding:24px;border:1px solid var(--line);border-radius:10px}
.events-block .event-date-mark{width:76px;align-items:stretch;padding:0 0 8px;border:1px solid #cdd8c4;border-radius:7px;overflow:hidden;text-align:center;background:#fff}
.events-block .event-date-mark span:nth-child(2){order:-1;margin:0 0 8px;padding:5px 2px;background:var(--soft);border-bottom:1px solid #dce5d5;font-size:10px;font-weight:600}
.events-block .event-date-mark span:first-child{font-size:36px;line-height:1;letter-spacing:-1px;font-weight:500}
.events-block .event-date-mark span:last-child{font-size:10px;margin-top:5px}
.events-block .is-past .event-date-mark{border-color:#d9dbd6}
.events-block .is-past .event-date-mark span:nth-child(2){background:#f1f2ef;border-color:#d9dbd6}
.events-block .event-navigation{top:114px}

.events-block .is-gallery .event{gap:20px;padding:20px;margin-block:18px}
.events-block .is-gallery .event-content{display:block;max-width:none;min-width:0}
.events-block .is-gallery .event-content h3{margin:0;font-size:25px;line-height:1.25}
.events-block .event-compact-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-top:8px;color:var(--muted)}
.events-block .is-gallery .event-compact-meta .event-schedule,
.events-block .is-gallery .event-compact-meta .event-place{margin:0;font-size:13px;line-height:1.6}
.events-block .event-compact-meta .event-schedule{flex-shrink:0}
.events-block .event-compact-meta .event-place{min-width:0}
.events-block .event-compact-meta .event-location-link{align-items:baseline;min-height:0}
.events-block .event-compact-meta .event-location-link svg{margin-top:3px}
.events-block .event-hours::before{content:none}
.events-block .event-schedule time,
.events-block .event:not(.is-past) .event-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.events-block .is-past .event-status{margin:0;font-size:12px}
.events-block .is-gallery .event-details{margin:4px 0 0}
.events-block .is-gallery .event-details summary{width:100%;align-items:flex-start;gap:14px;font-size:14px;font-weight:400;line-height:1.6;text-decoration:none}
.events-block .event-excerpt{flex:1;min-width:0;color:var(--muted);padding-top:6px}
.events-block .event-expand-icon{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:1px solid #d5dece;border-radius:5px;background:var(--soft);line-height:1}
.events-block .event-details summary:hover .event-expand-icon{border-color:var(--green);background:#e5eddf}
.events-block .is-past .event-expand-icon{background:#f4f4f2;border-color:#d9dbd6}
.events-block .event-expand-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.events-block .is-gallery .event-details-content{padding-top:4px}
.events-block .event-navigation{top:62px}
@media(max-width:560px){
  .events-block .is-gallery .event{grid-template-columns:56px minmax(0,1fr);gap:8px 14px;padding:16px 14px}
  .events-block .is-gallery .event-content{display:contents}
  .events-block .event-date-mark{grid-row:1;grid-column:1;width:56px;align-self:start}
  .events-block .is-gallery .event-content h3{grid-row:1;grid-column:2;align-self:center;font-size:21px;letter-spacing:-.4px}
  .events-block .event-compact-meta{grid-column:1/-1;margin-top:4px;gap:4px 14px}
  .events-block .is-gallery .event-details{grid-column:1/-1;margin:0}
  .events-block .event-navigation{top:60px}
}

@media(max-width:560px){
  .events-block .event-carousel.has-navigation .event-list{margin-inline:32px}
  .events-block .event-arrow{width:32px}
}

/* One swipeable row; the existing cards keep their morning presentation. */
.events-block .event-index{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;min-width:0;padding-block:4px}
.events-block .event-index::-webkit-scrollbar{display:none}
.events-block .event-index-button{flex:0 0 auto;white-space:nowrap}
.events-block .event-index-button:focus-visible{outline-offset:-3px}
