/* Quiet Positron cartography; the existing Hangcha contact layout stays intact. */
.hc-company-map { position: relative; isolation: isolate; min-height: 360px; background: #f2f3f0; font-family: inherit; }
.hc-company-map.hc-catalog-warehouse-stage { min-height: 280px; height: clamp(280px, 25vw, 360px); border: 1px solid var(--c-line); border-radius: 10px; overflow: hidden; }
.hc-catalog-warehouse-stage .hc-company-map-status { top: 12px; }
.hc-catalog-warehouse-stage[data-map-state="error"] .hc-company-map-status { top: 72px; }
.hc-company-map-canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.hc-company-map .maplibregl-popup { z-index: 3; }
.hc-company-map:has(.maplibregl-popup) .hc-company-map-note { visibility: hidden; }
.hc-v2 .hc-contact-map > .hc-company-map,
.hc-v2 .hc-location-map > .hc-company-map { position: absolute; inset: 0; min-height: 0; }
.hc-v2 .hc-contact-map-caption, .hc-v2 .hc-contact-map-route { z-index: 2; }
.hc-v2 .hc-contact-map-route { bottom: max(32px, 3vw); }
.hc-company-map .maplibregl-map { font: inherit; background: #f2f3f0; }
.hc-company-map .maplibregl-ctrl-attrib { max-width: 100%; font-size: 10px; line-height: 1.5; background: #fff; color: #263339; }
.hc-company-map .maplibregl-ctrl-attrib a { color: #24577a; }
.hc-company-map .maplibregl-ctrl-top-right { top: 2px; right: 2px; }
.hc-company-map .maplibregl-ctrl-group { border: 1px solid #d8dfe2; border-radius: 4px; box-shadow: 0 1px 5px #0001; }
.hc-company-map .maplibregl-ctrl-group button { width: 44px; height: 44px; color: #12191d; }
.hc-company-map .maplibregl-ctrl-bottom-right { max-width: 100%; }
.hc-company-map .maplibregl-ctrl-bottom-right > .maplibregl-ctrl { margin: 0; }
.hc-company-map[data-map-touch="scroll"] .maplibregl-canvas-container,
.hc-company-map[data-map-touch="scroll"] .maplibregl-canvas { touch-action: pan-y; }
.hc-company-map-note, .hc-company-map-status { position: absolute; left: 12px; top: 12px; z-index: 2; max-width: min(430px, calc(100% - 84px)); margin: 0; padding: 10px 12px; background: #fff; color: #263339; font-size: 12px; line-height: 1.45; box-shadow: 0 1px 5px #0002; }
.hc-company-map-status { top: 72px; }
.hc-company-map-status[hidden], .hc-location-map-trigger[hidden] { display: none; }
.hc-company-map-touch { position: absolute; z-index: 2; bottom: 30px; left: 12px; max-width: calc(100% - 84px); min-height: 44px; padding: 9px 12px; border: 1px solid #b5bfc4; border-radius: 3px; color: #172026; background: #fff; font: inherit; font-size: 12px; cursor: pointer; }
.hc-company-map-pin { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.hc-company-map-pin span { position: relative; display: block; width: 26px; height: 26px; border: 3px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--c-accent, #df0024); box-shadow: 0 1px 6px #0005; }
.hc-company-map-pin span::after { content: ''; position: absolute; inset: 6px; border-radius: 50%; background: #fff; }
.hc-company-map :focus-visible { outline: 3px solid var(--c-accent, #df0024); outline-offset: 3px; }
.hc-company-map-canvas:focus-visible { outline-offset: -3px; }
@media (max-width: 767px) {
  .hc-v2 .hc-contact-map-route { bottom: 30px; }
  .hc-v2 .hc-contact-map-caption { bottom: 86px; }
  .hc-company-map-note { font-size: 11px; }
  .hc-company-map-status { top: 128px; }
  .hc-company-map .maplibregl-popup-content { padding: 9px 22px 9px 10px; font-size: 14px; line-height: 18px; }
}
