.strh-events__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:1.2rem;margin:1.2rem 0 2rem}
.strh-event-card{--strh-lime:#b9e747;border:1px solid #dce3d0;border-radius:16px;overflow:hidden;background:#fff;color:#233128;box-shadow:0 4px 16px rgba(32,48,35,.06);display:flex;flex-direction:column;min-width:0}
.strh-event-card__media{display:block;aspect-ratio:16/9;overflow:hidden;background:#e8f1e0}
.strh-event-card__image{display:block;width:100%;height:100%;object-fit:cover}
.strh-event-card__body{padding:1.25rem;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.strh-event-card__eyebrow{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.065em;color:#4a682c}
.strh-event-card__title{font-size:clamp(1.2rem,2.4vw,1.48rem);line-height:1.2;margin:.42rem 0 .78rem;font-weight:750}
.strh-event-card__title a{color:inherit;text-decoration:none}
.strh-event-card__title a:hover{text-decoration:underline}
.strh-event-card__when,.strh-event-card__where{font-size:.91rem;line-height:1.4;margin:.22rem 0;color:#375340}
.strh-event-card__when{font-weight:750}
.strh-event-card__summary{font-size:.94rem;line-height:1.5;margin:.8rem 0 1rem;color:#49564d}
.strh-event-card__update{font-size:.78rem;font-weight:750;color:#8a3a1b;margin:.2rem 0}
.strh-event-card__actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:auto;padding-top:.8rem}
.strh-event-card__button{display:inline-flex;align-items:center;gap:.5rem;background:var(--strh-lime);color:#18251b!important;border-radius:999px;padding:.65rem 1.1rem;font-weight:800;text-decoration:none!important;min-height:42px}
.strh-event-card__button:hover{background:#a5d52d}
.strh-event-card__button:focus-visible,.strh-event-card__more:focus-visible{outline:3px solid #507329;outline-offset:3px}
.strh-event-card__more{font-size:.88rem;font-weight:700;color:#32553c!important;text-decoration:underline;text-underline-offset:3px}
.strh-event-card__pending{font-size:.84rem;color:#657268}
.strh-events__empty{margin:1rem 0 2rem;color:#4b5f51;font-style:italic}
.strh-events__month-nav{display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#f3f8e9;border:0;border-radius:14px;padding:.85rem 1.1rem;margin:0 0 1.2rem;min-height:58px}
.strh-events__month-nav h2{font-size:clamp(1.1rem,3vw,1.6rem);margin:0;text-align:center;color:#284530;font-weight:800}
.strh-events__month-nav a{font-size:.9rem;font-weight:750;color:#355f36;text-decoration:none}
.strh-events__month-nav a:hover{text-decoration:underline;text-underline-offset:3px}
.strh-events__month-nav a:focus-visible{outline:3px solid #507329;outline-offset:4px;border-radius:4px}
.strh-events__calendar>.strh-events__grid{margin-top:0}
.strh-event-single__header{margin:0 0 1.75rem}
.strh-event-single__title{font-size:clamp(2rem,4.5vw,3.15rem);font-weight:800;line-height:1.15;letter-spacing:-.025em;color:#1c3427;margin:0}
.strh-event-single{margin-top:1.5rem}
@media(max-width:620px){.strh-events__month-nav{gap:.5rem}.strh-events__month-nav a{font-size:.78rem}.strh-event-card__body{padding:1rem}}

/* 0.1.2: clear two-way navigation between the event calendar and detail pages. */
.strh-event-single__nav{margin-top:.85rem}
.strh-event-single__back{display:inline-flex;align-items:center;gap:.35rem;color:#315940!important;font-size:.94rem;font-weight:750;text-decoration:none!important;text-underline-offset:3px}
.strh-event-single__back:hover{text-decoration:underline!important}
.strh-event-single__back:focus-visible{outline:3px solid #507329;outline-offset:4px;border-radius:3px}
.strh-event-single__footer-nav{margin:1.7rem 0 3rem;padding-top:1rem;border-top:1px solid #e4e9df}

/* 0.1.3: a restrained, date-specific note in occurrence cards. */
.strh-event-card__note{font-size:.86rem;line-height:1.45;margin:.55rem 0 .2rem;padding:.5rem .7rem;border-left:3px solid #7aaa3e;background:#f4f8ed;color:#27472f;border-radius:0 7px 7px 0}
.strh-event-card__note strong{font-weight:800}

/* v0.1.4 — organizer distinctions and a compact, accessible month grid. */
.strh-event-card--strh{border-top:4px solid #b9e747}
.strh-event-card--external{--strh-external:#376e86;border-top:4px solid var(--strh-external);background:linear-gradient(180deg,#f0f7fa 0,#fff 54%);border-color:#cfdfe6}
.strh-event-card--external .strh-event-card__eyebrow{color:#2f6076}
.strh-event-card--external .strh-event-card__button{background:#376e86;color:#fff!important}
.strh-event-card--external .strh-event-card__button:hover{background:#27536a}
.strh-event-card__organizer{font-size:.82rem;font-weight:600;line-height:1.4;color:#436776;margin:.15rem 0 .35rem}
.strh-events__filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:-.3rem 0 1rem}
.strh-events__filter{display:inline-flex;align-items:center;border:1px solid #d4dfd0;border-radius:50px;background:#fff;color:#34533c!important;padding:.4rem .85rem;font-size:.85rem;font-weight:750;text-decoration:none!important;line-height:1.3}
.strh-events__filter:hover{border-color:#75935b;background:#f3f8ec}
.strh-events__filter--selected{background:#e7f3cf;border-color:#aecb83;color:#254a30!important}
.strh-events__filter:focus-visible{outline:3px solid #507329;outline-offset:2px}
.strh-events__month-grid{margin:0 0 1.35rem;max-width:750px;border:1px solid #dfe7dc;border-radius:16px;overflow:hidden;box-shadow:0 3px 13px rgba(34,66,43,.04)}
.strh-events__month-table{width:100%;table-layout:fixed;border-spacing:0;border-collapse:collapse;margin:0!important;background:#fff}
.strh-events__month-table th{text-align:center;background:#f5f9f1;color:#455e4c;font-size:.78rem;font-weight:800;padding:.55rem 0;border:0!important}
.strh-events__month-table td{height:56px;text-align:center;border:1px solid #f0f2ed!important;padding:0!important;vertical-align:middle}
.strh-calendar-day__link,.strh-calendar-day__static{display:flex;justify-content:center;align-items:center;gap:2px;flex-direction:column;min-height:56px;width:100%;padding:.35rem .12rem;text-decoration:none!important;border-radius:6px;box-sizing:border-box}
.strh-calendar-day__number{font-size:.96rem;color:#4b5a50;line-height:1.15;font-weight:550}
.strh-calendar-day--events .strh-calendar-day__number{font-weight:850;color:#24492e}
.strh-calendar-day__link:hover{background:#f0f8e3}
.strh-calendar-day__link:focus-visible{outline:3px solid #507329;outline-offset:-3px}
.strh-calendar-day--selected .strh-calendar-day__link{background:#e4f3c7;box-shadow:inset 0 0 0 2px #76a53a}
.strh-calendar-day--today .strh-calendar-day__number{border:1.5px solid #508246;border-radius:99px;padding:.16rem .38rem}
.strh-calendar-day__dots{display:flex;align-items:center;gap:3px;min-height:9px;justify-content:center;flex-wrap:nowrap}
.strh-calendar-day__dot{display:inline-block;width:7px;height:7px;border-radius:99px;flex:none;background:#9bcf28}
.strh-calendar-day__dot--external{background:#376e86}
.strh-events__legend{margin:0;padding:.55rem 1rem .65rem;display:flex;flex-wrap:wrap;gap:1rem;color:#526458;font-size:.74rem;line-height:1.3;border-top:1px solid #ecf0e9}
.strh-events__legend span{display:inline-flex;gap:6px;align-items:center}
.strh-events__results{scroll-margin-top:110px}
.strh-events__results-title{font-size:1.2rem;font-weight:800;color:#284530;margin:1rem 0 0}
.strh-events__results-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin:1.1rem 0 0}
.strh-events__results-heading h3{font-size:1.2rem;font-weight:800;color:#284530;margin:0}
.strh-events__results-heading a{font-size:.88rem;font-weight:700;color:#315940}
@media(max-width:480px){.strh-events__month-table td{height:46px}.strh-calendar-day__link,.strh-calendar-day__static{min-height:46px}.strh-calendar-day__number{font-size:.85rem}.strh-calendar-day__dot{width:6px;height:6px}.strh-events__filters{gap:.4rem}.strh-events__filter{font-size:.77rem;padding:.4rem .62rem}.strh-events__legend{font-size:.7rem}.strh-events__month-grid{border-radius:12px}}

/* v0.1.5 — integrated, optional heading on the next-event homepage card. */
.strh-events__grid--featured{grid-template-columns:minmax(0,1fr);margin:0 0 1.5rem}
.strh-event-card__section-heading{width:100%;background:#eff7df;border-bottom:1px solid #d8e7bd;padding:.83rem 1.25rem .78rem;box-sizing:border-box}
.strh-event-card__section-heading h2{font-size:clamp(1.2rem,2.3vw,1.5rem)!important;line-height:1.25!important;font-weight:800!important;letter-spacing:-.015em;margin:0!important;color:#193d29!important}
.strh-event-card--featured .strh-event-card__body{padding-top:1rem}
@media(max-width:620px){.strh-event-card__section-heading{padding:.75rem 1rem .72rem}}
