.nb-imap-wrap{margin:1.2rem 0 1.6rem}
.nb-imap{position:relative;border:1px solid var(--line,#c4c4c4);border-radius:var(--radius,14px);overflow:hidden;background:#eef0ec}
.nb-imap .leaflet-container,.nb-imap #nb-imap-canvas{height:min(78vh,720px);width:100%;background:#eef0ec;font:inherit}
@media (max-width:700px){.nb-imap #nb-imap-canvas{height:70vh;min-height:420px}}
.nb-layers{position:absolute;z-index:500;top:10px;right:10px;max-width:250px;background:#fff;border:1px solid var(--line-d,#8a8a8a);border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:.92rem}
.nb-layers>button{display:flex;align-items:center;gap:.4rem;width:100%;min-height:44px;padding:.45rem .8rem;background:none;border:0;font:inherit;font-weight:700;color:var(--ink,#111);cursor:pointer}
.nb-layers>button:after{content:"\25BE";margin-left:auto}
.nb-layers[data-open="false"]>button:after{content:"\25B8"}
.nb-layers ul{list-style:none;margin:0;padding:0 .5rem .5rem;max-height:52vh;overflow:auto}
.nb-layers[data-open="false"] ul{display:none}
.nb-layers li label{display:flex;align-items:center;gap:.5rem;min-height:38px;padding:.1rem .3rem;cursor:pointer;border-radius:8px}
.nb-layers li label:hover{background:var(--soft,#e8e8e8)}
.nb-layers input{width:18px;height:18px;accent-color:#3f6b3a}
.nb-layers .sw{flex:0 0 26px;height:26px;border-radius:50%;background:#fff;border:2px solid currentColor;display:grid;place-items:center}
.nb-layers .sw svg{width:16px;height:16px}
.nb-layers .ct{margin-left:auto;color:var(--muted,#555);font-size:.8rem}
.nb-pin{background:none;border:0}
.nb-pin span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;border:2.5px solid currentColor;box-shadow:0 1px 3px rgba(0,0,0,.35)}
.nb-pin.approx span{border-style:dashed}
.nb-pin svg{width:18px;height:18px}
.nb-pin.farm span{width:34px;height:34px;background:#3f6b3a;color:#3f6b3a}
.nb-pin.farm svg{stroke:#fff}
.nb-ico{fill:none;stroke:#222;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.nb-imap .leaflet-popup-content-wrapper{border-radius:12px}
.nb-imap .leaflet-popup-content{margin:.8rem 1rem;font-size:.95rem;line-height:1.4;min-width:200px}
.nb-imap .leaflet-popup-content h4{margin:0 0 .3rem;font-size:1rem}
.nb-imap .leaflet-popup-content p{margin:0 0 .5rem}
.nb-imap .leaflet-popup-content a.btn-pop{display:inline-block;padding:.45rem .8rem;min-height:36px;border:1px solid var(--ink,#111);border-radius:999px;color:var(--ink,#111);text-decoration:none;font-weight:600}
.nb-imap .leaflet-popup-content .tag{font-size:.8rem;color:var(--muted,#555)}
.nb-imap .leaflet-container a.leaflet-popup-close-button{width:32px;height:32px;font-size:22px;line-height:30px}
.nb-imap-credit{font-size:.8rem;color:var(--muted,#555);margin-top:.5rem}
.js-imap .nearby-area_map_fv3,.js-imap .nearby-area_map_fv2,.js-imap .nearby-area_map,.js-imap .nearby-key-area-map-fv3,.js-imap .nearby-key-area-map-fv2,.js-imap .nearby-key-area-map{display:none}
.nb-layers>button{white-space:nowrap}
.nb-imap .leaflet-control-attribution{font-size:10px;line-height:1.3;max-width:70%}
.nb-layers>button svg{width:18px;height:18px;flex:0 0 18px}
.nb-layers>button svg{width:18px;height:18px;flex:0 0 18px}
.leaflet-tooltip.nb-lab{background:rgba(255,255,255,.85);border:0;box-shadow:none;padding:0 4px;font:600 12px/1.3 system-ui,sans-serif;color:#222}.leaflet-tooltip.nb-lab:before{display:none}
