:root{--map-accent: var(--motif-color-accent-primary, #e54848);--map-muted: var(--motif-color-canvas-800, #f7f7f7);--map-border: var(--motif-border-default, #d1d5db);--map-text: var(--motif-color-text-primary, #1f2937)}.image-map{position:relative;display:flex;min-height:0;min-width:0;flex-direction:column;color:var(--map-text)}.image-map--location{margin:24px 0 28px;overflow:hidden;border:1px solid var(--map-border);border-radius:8px;background:var(--motif-color-canvas-900, #fff)}.image-map__header{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--map-border);background:var(--map-muted)}.image-map__title{font-weight:600}.image-map__stats{margin-left:auto;font-size:14px}.image-map__status{min-height:20px;padding:10px 16px;color:var(--map-text);font-size:14px}.image-map__status:empty{display:none}.image-map__canvas{min-height:500px}.image-map--location .image-map__canvas{min-height:340px}.image-map__marker{width:24px;height:24px;cursor:pointer}.image-map__marker::before{content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ff4d4d,#990000);box-shadow:0 0 6px rgba(0,0,0,0.3)}.image-map__preview{position:absolute;z-index:1000;display:none;width:280px;max-width:calc(100% - 16px);box-sizing:border-box;padding:6px;border:1px solid var(--map-border);border-radius:6px;background:rgba(15,17,22,0.95);color:#f8fafc;pointer-events:none}.image-map__preview.is-visible{display:block}.image-map__preview-image{width:100%;max-height:170px;object-fit:cover;border-radius:4px}.image-map__preview-title{margin-top:6px;color:#f8fafc;font-size:12px}.image-map__lightbox{z-index:1000;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,0.85)}.image-map__lightbox[open]{display:flex}.image-map__lightbox img{max-width:90vw;max-height:90vh;border-radius:8px}.image-map__lightbox-title{margin-top:12px;color:#fff;font-size:14px;text-align:center}.image-map .leaflet-control-attribution a{text-decoration:underline}@media(max-width:640px){.image-map__header{align-items:flex-start;flex-direction:column}.image-map__stats{margin-left:0}.image-map__canvas{min-height:360px}.image-map--location .image-map__canvas{min-height:300px}}
