.lbm-map-wrapper {
	position: relative;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	margin: 1em 0;
}

.lbm-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	padding: 12px 15px;
	background: #f8f9fa;
	border: 1px solid #dee2e6;
	border-bottom: none;
	border-radius: 6px 6px 0 0;
	font-size: 13px;
}

.lbm-filter-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.lbm-filter-group strong {
	margin-right: 4px;
	color: #333;
}

.lbm-filter-group label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	cursor: pointer;
	user-select: none;
}

#lbm-map {
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 0 0 6px 6px;
	z-index: 1;
}

.lbm-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	padding: 10px 15px;
	font-size: 13px;
	background: #fff;
	border: 1px solid #dee2e6;
	border-top: none;
	border-radius: 0 0 6px 6px;
}

.lbm-dot {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin-right: 4px;
	vertical-align: middle;
	border: 1px solid rgba(0,0,0,0.2);
}

.lbm-dot.orange { background: #ff7900; }
.lbm-dot.play   { background: #7c3aed; }
.lbm-dot.plus   { background: #00a651; }
.lbm-dot.tmobile{ background: #e20074; }
.lbm-dot.inne   { background: #6b7280; }
.lbm-dot.rpt    { background: #0ea5e9; border-radius: 2px; }

/* Leaflet popup improvements */
.leaflet-popup-content {
	font-size: 13px;
	line-height: 1.45;
	min-width: 180px;
}

.leaflet-popup-content strong {
	display: block;
	margin-bottom: 4px;
	font-size: 14px;
}

.lbm-popup-tech {
	display: inline-block;
	background: #e5e7eb;
	padding: 1px 6px;
	border-radius: 3px;
	font-size: 11px;
	margin: 2px 2px 2px 0;
}

@media (max-width: 600px) {
	.lbm-filters {
		flex-direction: column;
		gap: 0.6rem;
	}
}
