.mapaBox { margin-top: 12px; }

.mapaToolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	align-items: center;
	margin-bottom: 10px;
}
.mapaToolbar input[type="text"] {
	flex: 1 1 260px;
	min-width: 0;
	padding: 9px 12px;
	border: 1px solid var(--border, #e2e6ee);
	border-radius: 8px;
	font-size: 14px;
	background: var(--primary, #fff);
	color: var(--font-color, #3a4257);
}
.mapaToolbar button {
	padding: 9px 16px;
	border: 0;
	border-radius: 8px;
	background: var(--accent, #2f6fed);
	color: #fff;
	font-weight: 600;
	cursor: pointer;
}
.mapaToolbar label { display: inline-flex; align-items: center; gap: 5px; cursor: pointer; font-size: 14px; }

.mapaFloors { display: flex; flex-wrap: wrap; gap: 5px; margin-bottom: 10px; }
.mapaFloors button {
	min-width: 38px;
	padding: 6px 9px;
	border: 1px solid var(--border, #e2e6ee);
	border-radius: 6px;
	background: var(--secondary, #f4f6fb);
	color: var(--font-color, #3a4257);
	font-size: 13px;
	cursor: pointer;
}
.mapaFloors button:hover { border-color: var(--accent, #2f6fed); }
.mapaFloors button.active { background: var(--accent, #2f6fed); border-color: var(--accent, #2f6fed); color: #fff; font-weight: 700; }
.mapaFloors button.dim { opacity: .55; }

.mapaCanvas { position: relative; }
#map {
	height: 68vh;
	min-height: 440px;
	border: 1px solid var(--border, #e2e6ee);
	border-radius: 10px;
	background: #000;
	overflow: hidden;
}
#map .leaflet-tile { image-rendering: pixelated; image-rendering: crisp-edges; }
.mapaLoading { color: #9aa3b8; padding: 20px; }
.mapaCoords {
	position: absolute;
	left: 10px;
	bottom: 10px;
	z-index: 500;
	padding: 3px 8px;
	border-radius: 6px;
	background: rgba(0, 0, 0, .65);
	color: #fff;
	font-size: 12px;
	pointer-events: none;
}

.mapaInfo { margin-top: 10px; font-size: 14px; min-height: 22px; }
.mapaInfo .chip {
	display: inline-block;
	margin: 2px 4px 2px 0;
	padding: 3px 9px;
	border: 1px solid var(--border-info, #bcd7ff);
	border-radius: 999px;
	background: var(--bg-info, #e7f1ff);
	color: var(--color-info, #1c5cc9);
	cursor: pointer;
	font-size: 13px;
}
.mapaInfo .chip.active { background: var(--accent, #2f6fed); color: #fff; }

.mapaCity {
	white-space: nowrap;
	padding: 1px 6px;
	border-radius: 6px;
	background: rgba(15, 23, 42, .78);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	border: 1px solid rgba(255, 255, 255, .5);
	transform: translate(-50%, -100%);
}

@media (max-width: 640px) {
	#map { height: 60vh; min-height: 360px; }
}
