/* LivingIn area map v2: light look, controls, landmark and background-feature styles. NETWORK: names no town.
   Loaded only on towns whose area-map.json says "engine":"v2". Accent colour = --map-accent, else the town's --gold, else a neutral blue. */
.amap{--am-accent:var(--map-accent,var(--gold,#34568B))}
.amap{--am-bg:#fff;--am-panel:#fff;--am-line:#E2DFD6;--am-ink:#1C2026;--am-soft:#525A63;--am-gold:var(--am-accent);--am-edge:#fff;background:#fff!important;color:#1C2026!important}
.amap-box{background:#F3F1EA!important}
.amap-area{fill-opacity:.78}
.amap-county{stroke:none!important}
.amap-row:hover,.amap-row.on{background:rgba(0,0,0,.05)!important}
.amap .amap-side{background:#fff!important}
.amap-go{color:var(--am-accent)!important}

.amapx .amap-grid{grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}
.amapx .amap-box{position:sticky!important;top:130px}
@media(max-width:880px){.amapx .amap-box{position:relative!important;top:0}}
.amapx .amap-area.is-muted{fill-opacity:.5}
.amapx .amap-area.is-muted.dim{fill-opacity:.15}
@media(max-width:880px){.amapx .amap-grid{grid-template-columns:1fr}}
.amapx .amap-box{position:relative;border:1px solid #E2DFD6;border-radius:12px}
.amapx .amap-svg{cursor:default}
.amapx .amap-area{fill-opacity:.88;stroke:#fff;stroke-linejoin:round;transition:fill-opacity .2s,stroke-width .2s;outline:none}
.amapx .amap-area:hover,.amapx .amap-area.hov{fill-opacity:1;stroke:#1C2026}
.amapx .amap-area:focus-visible{stroke:#1C2026;stroke-width:3px}
.amapx .amap-area.on{fill-opacity:1;stroke:#1C2026}
.amapx .amap-area.dim{fill-opacity:.22}
.amapx .amap-lbl{fill:#1C2026;stroke:#fff;font-weight:700;pointer-events:none;letter-spacing:.01em}
.amapx .amap-lbl.amapx-sel{font-weight:800}
.amapx .amapx-sublbl{fill:#1C2026;stroke:#fff;paint-order:stroke;font-style:italic;font-weight:600;pointer-events:none}
.amapx .amap-dot{stroke:#fff;fill:#1C2026;fill-opacity:.9;pointer-events:none}
.amapx.amapx-focus .amap-dot{pointer-events:auto}
.amapx .amapx-tip{position:absolute;z-index:3;background:#1C2026;color:#fff;font-size:13px;line-height:1.3;padding:6px 10px;border-radius:6px;pointer-events:none;white-space:nowrap}
.amapx .amapx-reset{position:absolute;z-index:3;left:12px;top:12px;border:1px solid #1C2026;background:#fff;color:#1C2026;font:600 13px/1 var(--sans,Manrope,sans-serif);padding:9px 14px;border-radius:999px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.amapx .amapx-reset:hover{background:#1C2026;color:#fff}
.amapx .amapx-hint{position:absolute;left:12px;top:12px;background:rgba(255,255,255,.92);color:#525A63;font-size:13px;padding:7px 12px;border-radius:999px;pointer-events:none}
.amapx .amap-bar{border-top:1px solid #E2DFD6;background:#fff;color:#525A63}
.amapx .amap-side{display:flex;flex-direction:column;border:1px solid #E2DFD6;border-radius:12px;padding:16px}
.amapx .amap-side h3{font-size:22px}
.amapx .amap-list{display:grid;gap:2px;margin:6px 0 2px}
.amapx .amap-row{padding:8px 10px;border-radius:8px;border:1px solid transparent;min-height:40px}
.amapx .amap-row .amap-sw{width:16px;height:16px;border-radius:50%;flex-basis:16px}
.amapx .amap-row b{font-size:15px}
.amapx .amap-row span{font-weight:600;color:#1C2026}
.amapx .amap-row:hover,.amapx .amap-row.hov{background:#F3F1EA!important}
.amapx .amap-row.on{background:#F3F1EA!important;border-color:#1C2026!important}
.amapx .amap-det{border:0;border-bottom:1px solid #E2DFD6;min-height:0;margin:8px 0 10px;padding:0 0 14px}
.amapx .amap-list{margin-top:0}
.amapx .amapx-hd{display:flex;align-items:center;gap:10px}
.amapx .amapx-hd i{width:16px;height:16px;border-radius:50%;flex:0 0 16px}
.amapx .amap-det h3{margin:0;font-size:26px}
.amapx .amapx-note{margin:6px 0 12px!important;color:#525A63!important;font-size:14.5px!important;line-height:1.45}
.amapx .amapx-price{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:0 10px;background:#F3F1EA;border-radius:10px;padding:12px 14px;margin:0 0 12px}
.amapx .amapx-price b{font-family:var(--serif,Georgia,serif);font-size:38px;line-height:1;color:#1C2026}
.amapx .amapx-price span{font-size:14px;color:#1C2026;font-weight:600}
.amapx .amapx-price small{grid-column:1/-1;margin-top:6px;font-size:12.5px;color:#525A63}
.amapx .amapx-cta{display:block;text-align:center;background:var(--am-accent);color:#fff!important;text-decoration:none;font-weight:700;font-size:14px;letter-spacing:.04em;padding:13px 16px;border-radius:8px}
.amapx .amapx-cta:hover{filter:brightness(1.12)}
.amapx .amap-det dl{margin-top:14px}
.amapx .amap-note{margin-top:14px}

.amapx .amap-poi rect{fill:#1C2026;stroke:#fff;stroke-width:1.6;fill-opacity:.92}
.amapx .amap-poi{cursor:pointer;outline:none}
.amapx .amap-poi.amapx-k-park rect{fill:#2F7D4F}
.amapx .amap-poi.amapx-k-civic rect{fill:#fff;stroke:#1C2026;stroke-width:2.4}
.amapx .amap-poi.on rect,.amapx .amap-poi:focus-visible rect{stroke:#F28E2B;stroke-width:3}
.amapx .amap-poilbl{fill:#1C2026;stroke:#fff;paint-order:stroke;font-style:italic;font-weight:600;pointer-events:none;opacity:.9}
.amapx .amapx-ic{display:inline-block;width:12px;height:12px;flex:0 0 12px;background:#1C2026;border:1.5px solid #1C2026}
.amapx .amapx-ic.amapx-k-school{border-radius:2px}
.amapx .amapx-ic.amapx-k-park{border-radius:50%;background:#2F7D4F;border-color:#2F7D4F}
.amapx .amapx-ic.amapx-k-civic{background:#fff;transform:rotate(45deg) scale(.85)}
.amapx .amapx-kind{display:inline-block;margin:6px 0 0;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#525A63}
.amapx .amapx-poilist{margin-top:14px;border-top:1px solid #E2DFD6;padding-top:12px}
.amapx .amapx-poilist h4{margin:0 0 6px;font:700 11px/1 var(--sans,Manrope,sans-serif);letter-spacing:.12em;text-transform:uppercase;color:#525A63}
.amapx .amapx-prow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:8px;padding:7px 10px;font:inherit;font-size:14px;color:#1C2026;cursor:pointer}
.amapx .amapx-prow b{font-weight:600}
.amapx .amapx-prow:hover,.amapx .amapx-prow.on{background:#F3F1EA;border-color:#E2DFD6}
.amapx .amapx-prow.on{border-color:#1C2026}
.amapx .amapx-cta+.amapx-cta{margin-top:8px}
.amapx .amap-det .amapx-cta{margin-top:12px}
.amapx .fx-golf{fill:#BBD7A0;fill-opacity:.5;stroke:#6E9B5B;stroke-opacity:.55;stroke-dasharray:4 3}
.amapx .fx-park{fill:#97C994;fill-opacity:.5;stroke:#4F935E;stroke-opacity:.65}
.amapx .fx-school{fill:#C5CCE0;fill-opacity:.42;stroke:#7F89AD;stroke-opacity:.55}
.amapx .fx-water{fill:none;stroke:#6FA8D3;stroke-opacity:.7;stroke-linecap:round;stroke-linejoin:round}
.amapx .fx-road{fill:none;stroke:#6A6F77;stroke-opacity:.45;stroke-linecap:round;stroke-linejoin:round}
.amapx .fx-road.fx-main{stroke-opacity:.58}
.amapx .fx-road.fx-highway,.amapx .fx-road.fx-hwy{stroke:#6F747C;stroke-opacity:.62}
.amapx .fx-field{fill:#A5D194;fill-opacity:.8;stroke:#5E9A55;stroke-opacity:.7}
.amapx .fx-track{fill:#E3CDA8;fill-opacity:.9;stroke:#A98450;stroke-opacity:.8}
.amapx .fx-rl,.amapx .fx-wl{font-weight:600;font-style:italic;stroke:#fff;paint-order:stroke;pointer-events:none;opacity:.9}
.amapx .fx-rl{fill:#5A6068}
.amapx .fx-wl{fill:#3A78A8}
.amapx .amapx-ctl{position:absolute;z-index:3;right:12px;top:12px;display:flex;flex-direction:column;background:#fff;border:1px solid #CFCBC0;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.amapx .amapx-ctl button{width:40px;height:40px;border:0;border-bottom:1px solid #E2DFD6;background:#fff;color:#1C2026;font:500 22px/1 var(--sans,Manrope,sans-serif);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.amapx .amapx-ctl button:last-child{border-bottom:0}
.amapx .amapx-ctl button:hover:not(:disabled){background:#1C2026;color:#fff}
.amapx .amapx-ctl button:disabled{opacity:.35;cursor:default}
.amapx .amapx-ctl button:focus-visible{outline:2px solid #F28E2B;outline-offset:-2px}
@media(pointer:coarse){.amapx .amapx-ctl button{width:46px;height:46px}}
.amapx .amap-svg.amapx-zoomed{cursor:grab}
.amapx .amap-svg.amapx-grab{cursor:grabbing}
.amapx .amapx-hint{max-width:calc(100% - 84px);line-height:1.3}
@media(max-width:600px){.amapx .amapx-hint{font-size:11.5px;padding:5px 10px;max-width:calc(100% - 76px)}.amapx .amapx-ctl button{width:38px;height:38px}}
.amapx .amap-poi.amapx-k-golf rect{fill:#7FB069}
.amapx .amapx-ic.amapx-k-golf{border-radius:50%;background:#7FB069;border-color:#7FB069}

.amapx .fx-pl{font-weight:600;fill:#5A6068;stroke:#fff;paint-order:stroke;pointer-events:none;opacity:.9;text-transform:uppercase;letter-spacing:.06em}
.amapx .fx-water.fx-poly{fill:#BFD9EE;fill-opacity:.7;stroke:#6FA8D3;stroke-opacity:.6}
.amapx .fx-pool,.amapx .fx-amenity.fx-poly{fill:#BFD9EE;fill-opacity:.6;stroke:#6FA8D3;stroke-opacity:.6}
.amapx .fx-trail{fill:none;stroke:#7B6A4F;stroke-opacity:.5;stroke-dasharray:4 3}
.amapx .fx-other.fx-poly{fill:#D9D6CB;fill-opacity:.5;stroke:#9A968A;stroke-opacity:.5}
.amapx .amap-poi.amapx-k-amenity rect{fill:#5B8DB8}
.amapx .amap-poi.amapx-k-gate rect{fill:#1C2026}
.amapx .amapx-ic.amapx-k-amenity{border-radius:50%;background:#5B8DB8;border-color:#5B8DB8}
.amapx .amapx-ic.amapx-k-gate{background:#1C2026;transform:rotate(45deg) scale(.85)}

