/* Eventward maps. Pins take --ew-map-accent (theme primary if it has one). */
.ew-map {
	--ew-map-accent: var(--wp--preset--color--primary, #2563eb);
	--ew-map-line: color-mix(in srgb, currentColor 16%, transparent);
	position: relative;
	margin: 1rem 0 1.5rem;
	border: 1px solid var(--ew-map-line);
	border-radius: 10px;
	overflow: hidden;
	background: #e5edf7;
}
.ew-map-canvas { width: 100%; height: var(--ew-map-height, 420px); }
.ew-map .leaflet-container { font: inherit; font-size: 14px; }
.ew-map-noscript { margin: 0; padding: 1rem; }

/* Pins: kept in px because Leaflet is given the same size/anchor in JS. */
.ew-map-pin { background: transparent; border: 0; }
.ew-map-pin svg { display: block; width: 30px; height: 40px; color: var(--ew-map-accent); filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .3)); transition: transform .12s ease; }
.ew-map-pin:hover svg,
.ew-map-pin:focus svg { transform: translateY(-2px) scale(1.06); }

.ew-map .marker-cluster { background-color: color-mix(in srgb, var(--ew-map-accent) 30%, transparent); }
.ew-map .marker-cluster div { background-color: var(--ew-map-accent); color: #fff; font-weight: 700; }
.ew-map .marker-cluster span { line-height: 30px; }

.ew-map-controls a { font-size: 17px; line-height: 30px; color: #1f2937; }

.ew-map-popup .leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 23, 42, .18); }
.ew-map-popup .leaflet-popup-content { margin: 14px 16px; min-width: 200px; }
.ew-map-popup-card { color: #0f172a; font-size: 14px; line-height: 1.4; }
.ew-map-popup-title { margin: 0 0 4px; font-size: 15px; line-height: 1.25; }
.ew-map-popup-title a { color: inherit; text-decoration: none; }
.ew-map-popup-title a:hover { text-decoration: underline; }
.ew-map-popup-address { margin: 0 0 8px; color: #64748b; }
.ew-map-popup-events { margin: 8px 0 0; padding: 8px 0 0; list-style: none; border-top: 1px solid #e5e7eb; }
.ew-map-popup-events li { margin: 0 0 6px; }
.ew-map-popup-events a { display: block; font-weight: 600; color: inherit; }
.ew-map-popup-events span { display: block; color: #64748b; font-size: 12.5px; }
.ew-map-popup-more { margin: 4px 0 0; color: #64748b; font-size: 12.5px; }

.ew-map.is-fullscreen { position: fixed; inset: 0; z-index: 99999; margin: 0; border: 0; border-radius: 0; }
.ew-map.is-fullscreen .ew-map-canvas { height: 100%; }
