#eventsGrid{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
#eventsGrid .event-card{overflow:hidden;border-radius:18px;transition:transform .25s ease,box-shadow .25s ease}
#eventsGrid .event-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(0,0,0,.12)}
.event-card-next{border-color:rgba(42,168,118,.5)!important;box-shadow:0 10px 26px rgba(42,168,118,.12)}
.event-card-content{padding:4px 2px 2px}
.event-image-wrapper{position:relative;width:100%;height:210px;overflow:hidden;border-radius:12px;background:rgba(255,255,255,.35)}
.event-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;display:block}
#eventsGrid .event-card:hover img{transform:scale(1.045)}
.event-media-count{position:absolute;right:10px;bottom:10px;font-size:12px;font-weight:700;color:#fff;background:rgba(0,0,0,.58);padding:7px 10px;border-radius:999px;backdrop-filter:blur(6px)}
.event-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;padding:7px 10px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.72);margin-bottom:10px}
.event-meta{color:var(--muted);font-size:14px;margin:0 0 8px}.event-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.event-link{display:inline-flex;font-weight:bold;text-decoration:none}.event-link:hover{text-decoration:underline}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.84);display:none;align-items:center;justify-content:center;padding:24px;z-index:9999}.lightbox.open{display:flex}
.lightbox-stage{max-width:min(1200px,92vw);max-height:86vh;display:flex;align-items:center;justify-content:center}
.lightbox-stage img,.lightbox-stage video{max-width:100%;max-height:86vh;border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.4);background:#000}
.lightbox-close{position:absolute;top:18px;right:18px;border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.35);color:#fff;border-radius:14px;padding:10px 14px;cursor:pointer;font-size:14px}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);border:1px solid rgba(255,255,255,.28);background:rgba(0,0,0,.35);color:#fff;border-radius:999px;width:48px;height:48px;cursor:pointer;font-size:34px;line-height:1}
.lightbox-prev{left:18px}.lightbox-next{right:18px}.lightbox-caption{position:absolute;bottom:18px;left:24px;right:24px;color:#fff;text-align:center;font-size:14px;text-shadow:0 2px 8px rgba(0,0,0,.55)}
@media (max-width:900px){.lightbox-nav{width:42px;height:42px;font-size:28px}}
