.event-hero {
    background: #fff;
    color: #173b2a;
    padding: 2rem 0 3rem;
}

.event-hero h1 {
    color: #173b2a;
    font-weight: 800;
    letter-spacing: -.02em;
}
.event-filter-card { margin-top:-1.5rem; border:0; border-radius:1rem; box-shadow:0 12px 35px rgba(0,0,0,.12); }
.event-view-toggle .btn.active { background:#173b2a; color:#fff; border-color:#173b2a; }
.event-card { border:0; border-radius:1rem; overflow:hidden; box-shadow:0 8px 24px rgba(18,51,38,.10); transition:transform .18s ease,box-shadow .18s ease; height:100%; background:#fff; }
.event-card:hover { transform:translateY(-2px); box-shadow:0 13px 34px rgba(18,51,38,.16); }
.event-card-image { width:100%; height:220px; object-fit:cover; background:#e9ecef; }
.event-date-block { min-width:72px; text-align:center; border-radius:.85rem; background:#f4f0e7; color:#173b2a; padding:.65rem .55rem; }
.event-date-block .month { font-size:.78rem; font-weight:800; letter-spacing:.12em; }
.event-date-block .day { font-size:1.85rem; line-height:1; font-weight:800; }
.event-category-badge { background:#e8f1ec; color:#173b2a; border-radius:999px; padding:.35rem .7rem; font-weight:700; font-size:.78rem; }
.event-featured-badge { background:#c9881b; color:#fff; border-radius:999px; padding:.35rem .7rem; font-weight:700; font-size:.78rem; }
.event-cancelled-badge { background:#a52a2a; color:#fff; border-radius:999px; padding:.35rem .7rem; font-weight:700; font-size:.78rem; }
.event-meta { color:#5e6b64; font-size:.95rem; }
.event-meta strong { color:#173b2a; }
.event-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border:1px solid #d9e0dc; border-radius:1rem; overflow:hidden; background:#fff; }
.event-calendar-heading { background:#173b2a; color:#fff; text-align:center; padding:.65rem .25rem; font-weight:700; }
.event-calendar-day { min-height:130px; padding:.55rem; border-right:1px solid #e4e8e6; border-bottom:1px solid #e4e8e6; min-width:0; }
.event-calendar-day:nth-child(7n) { border-right:0; }
.event-calendar-day.muted { background:#f8faf9; color:#9aa39f; }
.event-calendar-number { font-weight:800; margin-bottom:.35rem; }
.event-calendar-item { display:block; font-size:.78rem; line-height:1.25; background:#e8f1ec; color:#173b2a; border-radius:.4rem; padding:.3rem .4rem; margin:.25rem 0; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.event-calendar-item.cancelled { background:#f7e4e4; color:#8a1f1f; text-decoration:line-through; }
.event-detail-hero { min-height:330px; background:#173b2a center/cover no-repeat; display:flex; align-items:flex-end; position:relative; }
.event-detail-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.08)); }
.event-detail-hero-content { position:relative; z-index:1; color:#fff; padding:2rem 0; }
.event-detail-card { border:0; border-radius:1rem; box-shadow:0 8px 24px rgba(18,51,38,.10); }
@media (max-width:767.98px) { .event-calendar-grid { overflow-x:auto; display:grid; grid-template-columns:repeat(7,minmax(115px,1fr)); } .event-card-image{height:180px;} }
.container.event-page-width {
    width: min(1240px, calc(100% - 32px));
    max-width: none;
    padding-inline: 0;
}