/* The existing Shafran palette and font, with the controls outside the map image. */
.reference-map.shafran-map{height:auto;isolation:isolate;background:#f2f2f4;border:1px solid #24154414;border-radius:24px;overflow:hidden;color:#07071f}
.shafran-map-stage{position:relative;height:620px;background:#f2f0ed}
.shafran-map-canvas{position:absolute;inset:0;background:#f2f0ed;font-family:inherit;z-index:0;touch-action:pan-y pinch-zoom}
.map-interactive .shafran-map-canvas{touch-action:none}
.shafran-map[data-map-basemap="raster"] .leaflet-tile-pane{filter:saturate(.65)}
.shafran-map-canvas .leaflet-gl-layer{pointer-events:none}
.shafran-map .map-activate{z-index:450;align-items:flex-end;padding:24px 84px 24px 24px;cursor:pointer}
.shafran-map .map-activate span{font:inherit;font-size:16px;line-height:1.35;padding:14px 20px;border-radius:12px;background:#fcfcfcf5;color:#241544;box-shadow:0 4px 18px #24154414;border:1px solid #24154424}
.shafran-map .map-interaction-controls{z-index:500;top:20px;left:20px;right:20px}
.shafran-map .map-open,.shafran-map .map-lock{font:inherit;font-size:16px;line-height:1.25;padding:14px 18px;border-radius:10px;box-shadow:0 3px 18px #24154412;text-decoration:none}
.shafran-map .map-open{color:#241544;gap:14px;background:#fcfcfc}
.shafran-map .map-lock{background:#241544;color:#fcfcfc}
.shafran-map-tools{position:absolute;z-index:500;right:20px;bottom:20px;display:grid;gap:6px}
.shafran-map-tools button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid #24154412;border-radius:10px;background:#fcfcfc;color:#241544;font:inherit;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 3px 12px #2415440d}
.shafran-map-tools button:disabled{opacity:.45;cursor:default}
.shafran-map-tools svg{width:22px;height:22px}
.shafran-map-footer{position:relative;background:#fcfcfc;padding:18px 20px 12px;border-top:1px solid #24154412}
.map-view-controls{display:flex;gap:8px;margin:0 0 16px}
.map-view-controls button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 16px;border:1px solid #24154424;border-radius:10px;background:#f3f0f6;color:#241544;font:inherit;font-size:16px;line-height:1.3;cursor:pointer}
.map-view-controls button:last-child{background:#fcfcfc}
.map-view-controls svg{width:20px;height:20px;flex:none}
.map-view-controls button:disabled{opacity:.5;cursor:default}
.shafran-map .map-categories{position:static;max-width:none;display:flex;flex-wrap:wrap;gap:8px;overflow:visible}
.shafran-map .map-categories button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 16px;border-radius:999px;border:1px solid #2415441c;background:#fcfcfc;color:#241544;font:inherit;font-size:16px;line-height:1.3;white-space:normal;cursor:pointer;transition:background .2s,color .2s}
.shafran-map .map-categories button.active{background:#241544;color:#fcfcfc;border-color:#241544}
.shafran-map .map-categories svg{width:19px;height:19px;fill:none;color:var(--category-color);flex-shrink:0}
.shafran-map .map-categories button.active svg{color:inherit;fill:none}
.shafran-map .map-category-count{font-size:14px;opacity:.65;font-variant-numeric:tabular-nums}
.shafran-map .map-source{margin:12px 0 0;text-align:right;font-size:12px;line-height:1.4;color:#5b5268}
.shafran-map .map-source a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.shafran-map .map-feedback{padding:12px 20px 16px;margin:0;font-size:15px;line-height:1.5;background:#fcfcfc;color:#5b5268}
.shafran-map [hidden]{display:none!important}
.shafran-map button:focus-visible,.shafran-map a:focus-visible,.shafran-map [data-map-point]:focus-visible{outline:3px solid #a58dbd;outline-offset:3px}
.map-place-pin{display:grid;place-items:center;width:36px;height:36px;margin:4px;border:2px solid var(--pin-color);border-radius:50%;background:#fffefa;color:var(--pin-color);box-shadow:0 2px 6px #24154420;box-sizing:border-box}
.map-place-pin svg{width:20px;height:20px}
.map-home-pin{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;width:128px;height:44px;border:2px solid #fcfcfc;border-radius:10px;background:#241544;color:#fcfcfc;box-shadow:0 3px 12px #24154430;font-size:14px;letter-spacing:.06em;box-sizing:border-box}
.map-home-pin::after{content:"";position:absolute;left:calc(50% - 5px);bottom:-6px;width:8px;height:8px;background:#241544;transform:rotate(45deg);border-right:2px solid #fcfcfc;border-bottom:2px solid #fcfcfc}
.map-home-pin svg{width:20px;height:20px;flex:none}
.map-home-pin.map-home-group{width:160px}
.map-home-pin b{display:grid;place-items:center;min-width:24px;height:24px;border-radius:6px;background:#ffffff26;font:inherit;font-size:12px;letter-spacing:0}
.map-home-dot{position:absolute;left:calc(50% - 5px);top:49px;width:10px;height:10px;box-sizing:border-box;border:2px solid #fcfcfc;background:#241544;border-radius:50%;box-shadow:0 0 0 3px #2415441a}
.map-cluster-pin{display:grid;place-items:center;width:40px;height:40px;margin:2px;box-sizing:border-box;border:3px solid #fcfcfc;border-radius:50%;background:#5d4a76;color:white;font:inherit;font-size:17px;font-weight:600;box-shadow:0 0 0 3px #5d4a761f,0 3px 10px #24154426}
.shafran-map-canvas .leaflet-popup-content-wrapper{border-radius:16px;box-shadow:0 8px 32px #24154426;background:#fcfcfc;color:#07071f}
.shafran-map-canvas .leaflet-popup-tip{background:#fcfcfc}
.shafran-map-canvas .leaflet-popup-content{margin:22px 24px 20px 20px;line-height:1.45;font:inherit}
.shafran-map-popup h3{font:inherit;font-size:20px;line-height:1.2;margin:0 0 10px;color:#241544;padding-right:8px}
.shafran-map-popup p{font:inherit;font-size:15px;line-height:1.4;margin:0 0 16px;color:#5b5268}
.shafran-map-popup a{display:flex;align-items:center;min-height:44px;font-size:16px;color:#241544!important;text-decoration:underline;text-underline-offset:4px}
.shafran-map-canvas .leaflet-popup a.leaflet-popup-close-button{width:34px;height:34px;color:#241544;font-size:24px;line-height:34px;border-radius:8px}
.shafran-map-marker,.shafran-map-home-marker{background:none;border:0}
@media(hover:hover){.shafran-map-tools button:not(:disabled):hover,.shafran-map .map-categories button:not(.active):hover{background:#f0ecf5}.shafran-map-marker:hover .map-place-pin{box-shadow:0 0 0 3px #24154426}}
@media(max-width:812px){
 .reference-map.shafran-map{width:calc(100% - 32px);margin:0 16px;border-radius:16px}
 .shafran-map-stage{height:460px}
 .shafran-map .map-interaction-controls{top:12px;left:12px;right:12px;gap:6px}
 .shafran-map .map-open,.shafran-map .map-lock{font-size:14px;padding:12px;min-height:44px;gap:6px}
 .shafran-map-tools{right:12px;bottom:16px}
 .shafran-map .map-activate{padding:16px 72px 16px 12px}
 .shafran-map .map-activate span{font-size:15px;padding:12px;max-width:250px}
 .shafran-map-footer{padding:14px 12px 10px}
 .map-view-controls{margin-bottom:12px}
 .map-view-controls button{flex:1;min-width:0;padding:10px 6px;font-size:15px;gap:6px}
 .shafran-map .map-categories{display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .shafran-map .map-categories button{min-width:0;font-size:15px;padding:10px;gap:7px;border-radius:12px;justify-content:flex-start}
 .shafran-map .map-categories button:first-child{grid-column:1/-1;justify-content:center;min-height:44px}
 .shafran-map .map-category-count{margin-left:auto;font-size:13px}
 .shafran-map .map-categories button:first-child .map-category-count{margin-left:0}
 .shafran-map .map-categories svg{width:18px;height:18px}
 .shafran-map .map-source{font-size:12px;margin-top:12px}
 .shafran-map-canvas .leaflet-popup-content{margin:24px 22px 16px 16px}
 .shafran-map-popup h3{font-size:18px}
}
@media(max-width:360px){
 .reference-map.shafran-map{width:calc(100% - 24px);margin:0 12px}
 .shafran-map-stage{height:440px}
 .shafran-map .map-open,.shafran-map .map-lock{font-size:13px;padding:12px 9px}
 .shafran-map .map-categories button{padding:9px 7px;gap:5px;font-size:14px}
 .shafran-map .map-categories svg{display:none}
}
@media(prefers-reduced-motion:reduce){.shafran-map *{transition:none!important}}

/* Contact page uses the same ad-free map, centered on the sales office. */
.ContactsBlockA__ClassicType1__Map .shafran-map{height:auto!important;margin:0;width:100%}.ContactsBlockA__ClassicType1__Map .shafran-map-stage{height:440px}.ContactsBlockA__ClassicType1__Map .map-categories,.ContactsBlockA__ClassicType1__Map [data-map-fit]{display:none}.ContactsBlockA__ClassicType1__Map .shafran-map-footer{padding:12px}@media(max-width:812px){[class*="ContactsBlockA-mapAppear"]{height:auto!important}.ContactsBlockA__ClassicType1__Map{height:auto!important}.ContactsBlockA__ClassicType1__Map .shafran-map-stage{height:320px}}
.ContactsBlockA__ClassicType1__Map{position:relative!important;inset:auto!important;width:100%!important;height:auto!important}[class*="ContactsBlockA-mapAppear"]:before{display:none!important}[class*="ContactsBlockA-mapAppear"]{height:auto!important}
