.x360p-map-wrap {
	width: 100%;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 20px 45px -18px rgba(0,0,0,0.35);
	border: 1px solid rgba(0,0,0,0.08);
}
.x360p-map { width: 100%; height: var(--x360p-map-height, 600px); background: #e9e6de; }

.x360p-map-popup { min-width: 200px; text-align: left; font-family: inherit; }
.x360p-map-popup img { width: 100%; height: 110px; object-fit: cover; border-radius: 8px; margin-bottom: 8px; display: block; }
.x360p-map-popup strong { display: block; font-size: 0.95rem; margin-bottom: 2px; }
.x360p-map-popup .addr { display: block; font-size: 0.78rem; color: #666; margin-bottom: 8px; }
.x360p-map-popup .x360p-map-open {
	display: inline-flex; align-items: center; gap: 6px; background: #c8102e; color: #fff; border: none;
	padding: 7px 14px; border-radius: 100px; font-size: 0.82rem; font-weight: 700; cursor: pointer; font-family: inherit;
	transition: background .2s ease;
}
.x360p-map-popup .x360p-map-open:hover { background: #96091f; }

.leaflet-popup-content-wrapper { border-radius: 12px; }

@media (max-width: 640px) {
	.x360p-map { height: min(var(--x360p-map-height, 600px), 80vw); }
}
