/*!
 * DB WordPress local map runtime styles.
 * Keeps the existing .asl-leaflet-map integration without remote CSS.
 */
.db-local-map {
	position: relative;
	overflow: hidden;
	background: #ddd;
	cursor: grab;
	touch-action: none;
	-webkit-tap-highlight-color: transparent;
}
.db-local-map.is-dragging { cursor: grabbing; }
.db-local-map__tiles,
.db-local-map__markers {
	position: absolute;
	inset: 0;
}
.db-local-map__tile {
	position: absolute;
	width: 256px;
	height: 256px;
	max-width: none !important;
	user-select: none;
	-webkit-user-drag: none;
}
.db-local-map__markers { pointer-events: none; }
.db-local-map__marker {
	position: absolute;
	width: 30px;
	height: 42px;
	padding: 0;
	border: 0;
	background: transparent;
	transform: translate(-15px, -42px);
	cursor: pointer;
	pointer-events: auto;
	filter: drop-shadow(0 2px 2px rgba(0,0,0,.25));
}
.db-local-map__marker > span {
	position: absolute;
	left: 4px;
	top: 2px;
	width: 22px;
	height: 22px;
	border: 2px solid #fff;
	border-radius: 50% 50% 50% 0;
	background: #3388ff;
	transform: rotate(-45deg);
	box-shadow: 0 0 0 1px rgba(0,0,0,.18);
}
.db-local-map__marker > span::after {
	content: "";
	position: absolute;
	width: 7px;
	height: 7px;
	left: 5.5px;
	top: 5.5px;
	border-radius: 50%;
	background: #fff;
}
.db-local-map__controls {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 20;
	border-radius: 4px;
	box-shadow: 0 1px 5px rgba(0,0,0,.35);
	overflow: hidden;
}
.db-local-map__zoom {
	display: block;
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #ccc;
	background: #fff;
	color: #111;
	font: 700 20px/30px Arial, sans-serif;
	text-align: center;
	cursor: pointer;
}
.db-local-map__zoom:last-child { border-bottom: 0; }
.db-local-map__zoom:hover,
.db-local-map__zoom:focus { background: #f4f4f4; }
.db-local-map__popup {
	position: absolute;
	z-index: 30;
	min-width: 160px;
	max-width: min(300px, calc(100% - 30px));
	padding: 14px 28px 14px 14px;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 3px 14px rgba(0,0,0,.25);
	transform: translate(-50%, -100%);
	pointer-events: auto;
}
.db-local-map__popup::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -8px;
	width: 16px;
	height: 16px;
	background: #fff;
	transform: translateX(-50%) rotate(45deg);
}
.db-local-map__popup-close {
	position: absolute;
	right: 4px;
	top: 2px;
	z-index: 2;
	padding: 2px 6px;
	border: 0;
	background: transparent;
	color: #666;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.db-local-map__popup-content {
	position: relative;
	z-index: 1;
	font-size: 14px;
	line-height: 1.45;
}
.db-local-map__popup-content a { text-decoration: none; }
.db-local-map__popup-content strong { font-weight: 700; }
