/* hyperCORE Office Map v2.1 — locally rendered, responsive to parent Elementor width */
.hc-office-map {--hc-map-height:480px;position:relative;width:100%;min-width:0;isolation:isolate;font-family:Montserrat,Arial,sans-serif;background:var(--hc-map-bg,#f9fbff);border:1px solid #e2e9f4;border-radius:var(--hc-map-radius,22px);overflow:hidden;box-sizing:border-box}
.hc-office-map *{box-sizing:border-box}
.hc-office-map .hc-map-canvas{width:100%;position:relative;min-height:0;background:var(--hc-map-bg,#fff)}
.hc-office-map .hc-map-stage{width:100%;display:block}
.hc-office-map .hc-map-stage svg{width:100%;height:auto;display:block;aspect-ratio:690/480}
.hc-office-map .hc-map-ping{cursor:pointer;outline:none}
.hc-office-map .hc-map-marker-halo{fill:var(--hc-pin,#c62d79);opacity:.19;transition:opacity .15s}
.hc-office-map .hc-map-marker-core{fill:var(--hc-pin,#c62d79);stroke:#fff;stroke-width:1.3;transition:fill .15s}
.hc-office-map .hc-map-ping:hover .hc-map-marker-core,.hc-office-map .hc-map-ping:focus-visible .hc-map-marker-core,.hc-office-map .hc-map-ping.is-active .hc-map-marker-core{fill:var(--hc-pin-hover,#3889d1)}
.hc-office-map .hc-map-ping:hover .hc-map-marker-halo,.hc-office-map .hc-map-ping.is-active .hc-map-marker-halo{opacity:.38}
.hc-office-map .hc-map-ping:focus-visible .hc-map-marker-halo{stroke:#1c2743;stroke-width:2}
.hc-office-map .hc-map-count{fill:white;font-size:9px;font-weight:800;pointer-events:none}
.hc-office-map .hc-map-marker-label{fill:#1c2743;font-size:10px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3;pointer-events:none}
.hc-office-map .hc-map-popup{position:absolute;z-index:20;width:280px;background:#fff;border:1px solid #e0e7f2;border-radius:16px;box-shadow:0 14px 42px #0b224033;max-height:calc(100% - 16px);overflow:auto;color:var(--hc-card-text,#63738d)}
.hc-office-map .hc-map-popup[hidden]{display:none}
.hc-office-map .hc-map-popup-inner{padding:20px}
.hc-office-map .hc-map-popup-close{position:absolute;top:7px;right:10px;border:0;color:#63738d;background:none;font:26px/1 Arial;cursor:pointer}
.hc-office-map .hc-map-popup-title{font:800 17px/1.3 Montserrat,Arial,sans-serif;color:var(--hc-card-heading,#1c2743);margin:5px 22px 10px 0}
.hc-office-map .hc-map-network{font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--hc-card-link,#3889d1);text-transform:uppercase}
.hc-office-map .hc-map-address,.hc-office-map .hc-map-desc{font-size:12px;line-height:1.6;margin:8px 0;color:var(--hc-card-text,#63738d)}
.hc-office-map .hc-map-line{display:block;margin:6px 0;color:var(--hc-card-link,#3889d1);font-size:12px;overflow-wrap:anywhere;text-decoration:none}
.hc-office-map .hc-map-detail-link{display:inline-block;background:var(--hc-card-link,#3889d1);border-radius:8px;color:white!important;padding:10px 12px;margin-top:12px;font-size:11px;font-weight:800;text-decoration:none}
.hc-office-map .hc-map-demo-label{color:#b22270;font-size:10px;font-weight:800;letter-spacing:.04em;margin-right:12px}
.hc-office-map .hc-map-demo-message{font-size:11px;line-height:1.5;color:#9c3775}
.hc-office-map .hc-map-zoom{position:absolute;right:12px;bottom:12px;display:flex;flex-direction:column;z-index:10;border-radius:8px;overflow:hidden;border:1px solid #dce5f3;box-shadow:0 3px 12px #0001}
.hc-office-map .hc-map-zoom button{border:0;border-bottom:1px solid #dce5f3;background:#fff;color:#1c2743;font:700 20px Arial;width:35px;height:34px;cursor:pointer}
.hc-office-map .hc-map-zoom button:last-child{border-bottom:0;font-size:17px}
.hc-office-map .hc-map-zoom button:hover{background:#f2f7ff}
.hc-office-map .hc-map-status{position:absolute;left:12px;top:12px;z-index:5;background:#fff;color:#475673;font-size:12px;padding:7px 10px;border-radius:7px}
.hc-office-map.hc-map-loaded .hc-map-status{position:absolute!important;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden}
.hc-office-map .hc-map-section-title{font-size:21px;color:#1c2743;margin:18px 20px}
@media(max-width:767px){.hc-office-map .hc-map-popup-inner{padding:14px}.hc-office-map .hc-map-popup-title{font-size:15px}.hc-office-map .hc-map-zoom button{width:30px;height:30px}}

/* Cluster location list: visible on hover or click without forcing a zoom */
.hc-office-map .hc-map-cluster-list{display:flex;flex-direction:column;gap:0;max-height:230px;overflow-y:auto;overscroll-behavior:contain}
.hc-office-map .hc-map-cluster-item{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-top:1px solid #e9edf5}
.hc-office-map .hc-map-cluster-name{color:var(--hc-card-heading,#1c2743);font-size:12px;line-height:1.4}
.hc-office-map .hc-map-cluster-address{color:var(--hc-card-text,#63738d);font-size:11px}
.hc-office-map .hc-map-cluster-link{color:var(--hc-card-link,#3889d1);font-weight:700;font-size:11px;text-decoration:none}
.hc-office-map .hc-map-cluster-link:hover{text-decoration:underline}
