#event-map { height: calc(100vh - 4rem - 56px); min-height: 400px; position: relative; z-index: 0; }
@media (max-width: 639px) { #event-map { height: calc(100vh - 4rem - 56px - 4rem); } }
.leaflet-popup-content-wrapper { border-radius: 16px !important; padding: 0 !important; overflow: hidden; box-shadow: 0 10px 25px -5px rgba(0,0,0,0.15) !important; }
.leaflet-popup-content { margin: 0 !important; width: 280px !important; }
.leaflet-popup-tip { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1) !important; }
.leaflet-popup-close-button { top: 6px !important; right: 6px !important; width: 22px !important; height: 22px !important; font-size: 16px !important; color: #fff !important; background: rgba(0,0,0,0.3) !important; border-radius: 50% !important; text-align: center !important; line-height: 22px !important; z-index: 10; }
html.dark .leaflet-popup-content-wrapper { background: #1f2937 !important; color: #f3f4f6 !important; }
html.dark .leaflet-popup-tip { background: #1f2937 !important; }
html.dark .leaflet-control-zoom a { background: #1f2937 !important; color: #f3f4f6 !important; border-color: #374151 !important; }
html.dark .leaflet-control-attribution { background: rgba(17,24,39,0.8) !important; color: #9ca3af !important; }
html.dark .leaflet-container { background: #111827 !important; }

.event-marker-pin {
    display: flex; align-items: center; justify-content: center;
    width: 34px; height: 34px;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg);
    border: 3px solid white;
    box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.event-marker-pin svg { transform: rotate(45deg); width: 14px; height: 14px; }

.marker-cluster-small { background-color: rgba(59, 130, 246, 0.25) !important; }
.marker-cluster-small div { background-color: rgba(59, 130, 246, 0.7) !important; color: #fff !important; font-weight: 700; }
.marker-cluster-medium { background-color: rgba(139, 92, 246, 0.25) !important; }
.marker-cluster-medium div { background-color: rgba(139, 92, 246, 0.7) !important; color: #fff !important; font-weight: 700; }
.marker-cluster-large { background-color: rgba(239, 68, 68, 0.25) !important; }
.marker-cluster-large div { background-color: rgba(239, 68, 68, 0.7) !important; color: #fff !important; font-weight: 700; }

.filter-chip { transition: all 0.2s; cursor: pointer; white-space: nowrap; flex-shrink: 0; }
.filter-chip.active { transform: scale(1.05); box-shadow: 0 2px 8px rgba(0,0,0,0.12); }
#map-category-filters { -ms-overflow-style: none; scrollbar-width: none; }
#map-category-filters::-webkit-scrollbar { display: none; }
