.catalog-map-preview-wrap { position: relative; }
.catalog-map-preview-wrap > .catalog-preview { display: block; }
.catalog-map-enlarge { position: absolute; right: .55rem; bottom: .55rem; padding: .3rem .55rem; border: 1px solid var(--line, #cad5cb); border-radius: .35rem; background: var(--surface, #fff); color: var(--ink, #203b32); font-size: .8rem; line-height: 1.3; cursor: pointer; }
.catalog-map-enlarge:hover, .catalog-map-enlarge:focus-visible { border-color: var(--accent, #b85e43); outline: 2px solid var(--accent, #b85e43); outline-offset: 2px; }
.catalog-map-dialog { width: min(1100px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 1rem; border: 1px solid var(--line, #cad5cb); border-radius: .6rem; background: var(--surface, #fff); color: var(--ink, #203b32); overflow: auto; }
.catalog-map-dialog::backdrop { background: #142820b3; }
.catalog-map-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .75rem; }
.catalog-map-dialog-header h2 { margin: 0; overflow-wrap: anywhere; }
.catalog-map-dialog-stage { min-width: 0; }
.catalog-map-dialog-stage > svg { display: block; width: 100%; height: min(65vh, 750px); border: 1px solid var(--line, #cad5cb); border-radius: .3rem; background: #f8faf6; }
@media (max-width: 600px) { .catalog-map-dialog { padding: .6rem; } .catalog-map-dialog-stage > svg { height: 55vh; } }
