.mw-flexmap { display: block; }
.mw-flexmap__heading { margin: 0 0 var(--mw-space-4, 1rem); }
.mw-flexmap__filter {
	display: flex; flex-wrap: wrap; gap: var(--mw-space-3, .75rem); align-items: center;
	margin-bottom: var(--mw-space-4, 1rem);
}
.mw-flexmap__q {
	flex: 1 1 220px; min-width: 180px; padding: .6rem .75rem;
	border: 1px solid var(--mw-color-border, #e4e7ec); border-radius: var(--mw-radius-sm, 4px);
	background: var(--mw-color-surface, #fff); color: var(--mw-color-text, #23262d);
}
.mw-flexmap__radius { display: inline-flex; align-items: center; gap: .4rem; color: var(--mw-color-muted, #6b7280); font-size: .9rem; }
.mw-flexmap__radius select {
	padding: .5rem .6rem; border: 1px solid var(--mw-color-border, #e4e7ec);
	border-radius: var(--mw-radius-sm, 4px); background: var(--mw-color-surface, #fff);
}
.mw-flexmap__status { color: var(--mw-color-muted, #6b7280); margin: 0 0 var(--mw-space-3, .75rem); min-height: 1.2em; }

.mw-flexmap__body {
	display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
	gap: var(--mw-space-4, 1rem); align-items: stretch;
}
.mw-flexmap__list {
	list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column;
	gap: var(--mw-space-3, .75rem); max-height: 520px; overflow-y: auto;
}
.mw-flexmap__item {
	background: var(--mw-color-surface, #fff); border: 1px solid var(--mw-color-border, #e4e7ec);
	border-radius: var(--mw-radius, 8px); padding: var(--mw-space-4, 1rem); cursor: pointer;
	transition: border-color .15s, box-shadow .15s;
}
.mw-flexmap__item:hover { border-color: var(--mw-color-primary, #5b2d8e); box-shadow: var(--mw-shadow-sm, 0 1px 2px rgba(20,23,28,.06)); }
.mw-flexmap__item-title { font-weight: 700; color: var(--mw-color-heading, #1b1e24); text-decoration: none; }
.mw-flexmap__item-title:hover { color: var(--mw-color-primary, #5b2d8e); }
.mw-flexmap__item-meta { color: var(--mw-color-muted, #6b7280); font-size: .85rem; margin-top: .25rem; }
.mw-flexmap__empty { color: var(--mw-color-muted, #6b7280); }

.mw-flexmap__map { min-height: 520px; height: 100%; border-radius: var(--mw-radius, 8px); border: 1px solid var(--mw-color-border, #e4e7ec); overflow: hidden; z-index: 0; }
.mw-flexmap-pin.is-active { filter: drop-shadow(0 0 3px rgba(42,159,214,.8)); }

@media (max-width: 800px) {
	.mw-flexmap__body { grid-template-columns: 1fr; }
	.mw-flexmap__map { min-height: 340px; order: -1; }
	.mw-flexmap__list { max-height: none; }
}
