/* Map modal styles (suffix: -maps) */
.cp-map-modal-maps .modal-content {
	overflow: hidden;
}

.cp-map-body-maps {
	padding: 0.75rem 1rem 1rem;
}

.cp-map-stack-maps {
	width: 100%;
}

.cp-map-search-maps {
	width: 100%;
}

.cp-map-search-maps .form-control,
.cp-map-search-maps .btn {
	height: 42px;
}

.cp-map-search-maps .form-control {
	line-height: 1.2;
}

.cp-map-canvas-maps {
	width: 100%;
	min-height: 60vh;
	border-radius: 8px;
	border: 1px solid #e6e6e6;
}

.cp-preview-maps {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
}

.cp-preview-label-maps {
	color: #6c757d;
	font-weight: 500;
}

#cpPreviewMaps {
	color: #111111;
	font-weight: 700;
}

.dx-map-marker-dot {
	background: transparent;
	border: 0;
}

.dx-map-marker-dot-inner {
	display: block;
	position: relative;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid #ffffff;
	background: var(--dx-marker-color, #1f8ef1);
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.dx-map-marker-dot-inner::after {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	font-size: 8px;
	line-height: 1;
	font-weight: 700;
	color: #ffffff;
	content: '•';
}

.dx-map-marker-dot-inner.type-image::after {
	content: 'I';
}

.dx-map-marker-dot-inner.type-video::after {
	content: 'V';
}

.dx-map-marker-dot-inner.type-text::after {
	content: 'T';
}

.dx-map-marker-dot-inner.type-general::after {
	content: '•';
}

.dx-map-legend {
	position: absolute;
	right: 10px;
	top: 10px;
	z-index: 420;
	max-width: 230px;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 10px;
	padding: 8px;
	box-shadow: 0 3px 14px rgba(0, 0, 0, 0.16);
	font-size: 12px;
	color: #1f2937;
}

.dx-map-legend-title {
	font-weight: 700;
	margin-bottom: 6px;
}

.dx-map-legend-categories {
	display: grid;
	grid-template-columns: 1fr;
	gap: 4px;
	margin-bottom: 6px;
}

.dx-map-legend-item {
	display: flex;
	align-items: center;
	gap: 6px;
}

.dx-map-legend-color {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	flex-shrink: 0;
	border: 1px solid rgba(0, 0, 0, 0.25);
}

.dx-map-legend-text {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.dx-map-legend-types {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.dx-map-legend-types .dx-map-legend-type {
	padding: 2px 6px;
	border-radius: 999px;
	background: #f3f4f6;
	font-weight: 600;
}

@media (max-width: 768px) {
	.cp-map-modal-maps .modal-dialog {
		max-width: 95vw;
		margin: 0.5rem auto;
	}
	.cp-map-canvas-maps {
		min-height: 50vh;
	}
	.dx-map-legend {
		max-width: 190px;
		font-size: 11px;
	}
}
