.fx-map{--green:#193638;--gold:#ce9e70;position:relative;isolation:isolate;background:var(--green);color:#fff;font-family:din,Arial,sans-serif;overflow:hidden;width:100%}
.fx-map *{box-sizing:border-box}.fx-map__viewport{overflow:auto;height:var(--viewport-height,620px);min-height:0;scrollbar-width:none;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom;cursor:grab;-webkit-overflow-scrolling:touch}.fx-map__viewport::-webkit-scrollbar{display:none}.fx-map__viewport.is-dragging{cursor:grabbing}.fx-map__canvas{position:relative;width:var(--canvas-width,1800px);min-width:100%;aspect-ratio:1800/695}.fx-map__photo{display:block;width:100%;height:auto;max-width:none;user-select:none;-webkit-user-drag:none}.fx-map__lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.fx-map__lines line{stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 1px 1px #000)}.fx-map__lines circle{fill:#fff;stroke:#193638;stroke-width:.08}
.fx-map__label{position:absolute;top:var(--desktop-y);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;min-height:44px;max-width:210px;padding:7px 12px;border:1px solid #ce9e70c9;border-radius:5px;background:#193638f2;color:#fff!important;box-shadow:0 3px 12px #001b2540;font:500 12px/1.35 din,Arial,sans-serif;text-align:center;text-decoration:none!important;white-space:nowrap;z-index:2;transition:background .15s,box-shadow .15s}.fx-map__label.number{padding:0;min-width:28px;width:28px;min-height:28px;height:28px;border-radius:50%;font-size:11px;border-color:#fff;background:#f4ecdc;color:#193638!important;font-weight:700;z-index:3}.fx-map__label.number::before{content:"";position:absolute;inset:-7px}.fx-map__label.romantic{background:#ce9e70}.fx-map__label.duplex{background:#d8bec5}.fx-map__label.grand-maison{background:#193638;color:#fff!important}.fx-map__label.gazebo{background:#24566ce8;color:#fff!important}.fx-map__label.wc{font-size:10px;padding:4px 7px;min-height:30px;background:#fff;color:#193638!important}.fx-map a:hover,.fx-map a:focus-visible{background:#ce9e70!important;color:#173f33!important;z-index:5;box-shadow:0 0 0 3px #fff8}.fx-map :focus-visible{outline:3px solid #ce9e70;outline-offset:3px}
.fx-map__controls{position:absolute;right:22px;top:25px;display:flex;flex-direction:column;gap:7px}.fx-map__controls button{appearance:none;width:44px;height:44px;border:1px solid #ce9e70;background:#193638f5;color:#fff;border-radius:4px;font:24px Arial;cursor:pointer}.fx-map__controls button:hover{background:#b49669}.fx-map__controls button:disabled{opacity:.45;cursor:default}.fx-map__hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:#193638f0;border:1px solid #ce9e70;border-radius:4px;padding:12px 17px;font-size:12px;white-space:nowrap;pointer-events:none;transition:opacity .2s}.fx-map.is-explored .fx-map__hint{opacity:0}
@media(max-width:768px){.fx-map__viewport{height:min(700px,100svh);min-height:0}.fx-map__controls{right:15px;top:15px}.fx-map__label{font-size:12px}.fx-map__hint{bottom:16px}}
@media(prefers-reduced-motion:reduce){.fx-map *{transition:none!important}}

@media(min-width:769px){.fx-map__hint{display:none}}
@media(max-width:768px){.fx-map__viewport{height:min(700px,100svh);min-height:0}}
.fx-map__controls{z-index:10}

.fx-map__lines--mobile{display:none}.fx-map__hint{display:flex;align-items:center;gap:10px;font-size:11px;padding:10px 12px}.fx-map__hint svg{width:28px;height:24px;flex:none;animation:fx-swipe 1.6s ease-in-out infinite}
@keyframes fx-swipe{0%,100%{transform:translateX(-4px);opacity:.6}50%{transform:translateX(5px);opacity:1}}
@media(min-width:769px){.fx-map__hint{display:none}}
@media(max-width:768px){.fx-map__canvas{aspect-ratio:1800/695}.fx-map__label{top:var(--desktop-y);font-size:11px;padding:6px 8px}.fx-map__label.number{width:24px;min-width:24px;height:24px;min-height:24px;font-size:10px}.fx-map__lines--mobile{display:none}.fx-map__lines--desktop{display:block}}
@media(prefers-reduced-motion:reduce){.fx-map__hint svg{animation:none}}

.fx-map__hint{z-index:8}
@media(max-width:768px){.fx-map>.fx-map__hint{display:flex!important;position:absolute;bottom:16px;left:50%;width:max-content;max-width:calc(100% - 24px);white-space:normal;z-index:20;background:#193638;border:1px solid #ce9e70;box-shadow:0 4px 18px #0005;color:#fff;font:500 12px/1.4 din,Arial,sans-serif;opacity:1;visibility:visible}.fx-map.is-explored>.fx-map__hint{opacity:0;visibility:hidden}}

@media(min-width:769px){.fx-map__viewport{overflow:hidden;overscroll-behavior:auto}}
@media(max-width:768px){
  .fx-map__controls{display:none!important}
  .fx-map__viewport{
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    overscroll-behavior-y:auto;
    touch-action:pan-x pan-y pinch-zoom;
  }
}

.fx-map__label.number.family{background:#d8e65c;color:#172a20!important}.fx-map__label.number.romantic{background:#ffa31a;color:#172a20!important}.fx-map__label.number.duplex{background:#d6a5cd;color:#172a20!important}.fx-map__label.number.grand-maison{background:#344843;color:#fff!important}
.fx-map__legend{position:absolute;top:16px;left:20px;z-index:4;width:310px;padding:12px 14px;border:1px solid #ce9e70;border-radius:5px;background:#193638f2;display:grid;grid-template-columns:1fr 1fr;gap:9px;color:#fff;font:12px/1.3 din,Arial,sans-serif}.fx-map__legend strong{grid-column:1/-1;font-size:12px;font-weight:500}.fx-map__legend a{display:flex;align-items:center;gap:7px;color:#fff!important;text-decoration:none}.fx-map__legend i{width:15px;height:15px;flex:none;border:1px solid #fff;border-radius:50%}.fx-map__legend .romantic{background:#ffa31a}.fx-map__legend .family{background:#d8e65c}.fx-map__legend .duplex{background:#d6a5cd}.fx-map__legend .grand-maison{background:#344843}
@media(max-width:768px){.fx-map__legend{left:12px;top:12px;width:285px;font-size:11px;padding:10px}}

.fx-map__legend .house-grand{background:#ff2028}.fx-map__legend .house-chalet{background:#272294}.fx-map__legend .house-gard{background:#ff0097}.fx-map__label.house-grand{border-color:#ff2028}.fx-map__label.house-chalet{border-color:#5955d8}.fx-map__label.house-gard{border-color:#ff0097}

.fx-map__label.fx-map__gazebo-group{max-width:300px;white-space:normal;width:max-content}

.fx-map__label.place.house-grand,.fx-map__label.place.house-chalet,.fx-map__label.place.house-gard{border-color:#ce9e70c9}
.fx-map__label.number.house-grand{background:#ff2028;color:#fff!important;border-color:#fff}
.fx-map__label.number.house-chalet{background:#272294;color:#fff!important;border-color:#fff}
.fx-map__label.number.house-gard{background:#ff0097;color:#fff!important;border-color:#fff}

.fx-map__legend a{border:0!important;box-shadow:none!important;outline:none;border-radius:3px;transition:background-color .35s ease,color .35s ease}
.fx-map__legend a:hover{border:0!important;box-shadow:none!important;outline:none;z-index:auto}
.fx-map__legend a:focus-visible{outline:2px solid #ce9e70;outline-offset:3px}
@media(prefers-reduced-motion:reduce){.fx-map__legend a{transition:none!important}}

.fx-map__legend{width:330px;padding:16px;gap:5px 8px;border-radius:9px;box-shadow:0 5px 18px #001c2526}
.fx-map__legend strong{margin:0 0 6px;padding:0 4px;font-size:12px;line-height:1.5}
.fx-map__legend a{min-height:34px;padding:7px 9px;gap:9px;border-radius:6px;line-height:1.3;transition:background-color .3s ease,color .3s ease}
.fx-map__legend i{width:15px;height:15px;flex:0 0 15px}
.fx-map .fx-map__legend a:hover,.fx-map .fx-map__legend a:focus-visible{background:#ce9e7026!important;color:#fff!important;box-shadow:none!important}
@media(max-width:768px){.fx-map__legend{width:310px;padding:13px;gap:4px 7px}.fx-map__legend a{padding:7px 8px;min-height:33px;gap:8px}.fx-map__legend strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.fx-map__legend a{transition:none!important}}

.fx-map__legend{width:310px;padding:14px;gap:2px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.fx-map__legend strong{margin-bottom:5px;padding:0 4px}
.fx-map__legend a{min-width:0;min-height:32px;padding:6px 5px;gap:7px;font-size:11px;white-space:nowrap}
.fx-map .fx-map__legend a:hover,.fx-map .fx-map__legend a:focus-visible{background:#ce9e70!important;color:#193638!important}
@media(max-width:768px){.fx-map__legend{width:285px;padding:12px;gap:2px}.fx-map__legend a{padding:6px 4px;gap:6px;font-size:11px;min-height:32px}}

@media(min-width:769px){
  .fx-map__viewport{overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;overscroll-behavior-y:auto;scrollbar-width:thin;scrollbar-color:#ce9e70 #193638}
  .fx-map__viewport::-webkit-scrollbar{display:block;height:8px}
  .fx-map__viewport::-webkit-scrollbar-track{background:#193638}
  .fx-map__viewport::-webkit-scrollbar-thumb{background:#ce9e70;border-radius:4px}
}

.fx-map .fx-map__controls{display:none!important}
