
/* VigVag Native Map 2.0 — без внешней JS-библиотеки */
.vv-map,.vv-map-shell{position:relative}
.vv-native-map{
    position:relative;
    width:100%;
    min-height:320px;
    overflow:hidden;
    background:#dce7d5;
    cursor:grab;
    touch-action:none;
    user-select:none;
    -webkit-user-select:none;
    isolation:isolate;
}
.vv-native-map.is-dragging{cursor:grabbing}
.vv-native-map__tiles,
.vv-native-map__markers{
    position:absolute;
    inset:0;
    overflow:hidden;
    pointer-events:none;
}
.vv-native-map__tile{
    position:absolute;
    left:0;
    top:0;
    width:256px;
    height:256px;
    max-width:none!important;
    border:0;
    pointer-events:none;
}
.vv-native-map__markers{z-index:3;overflow:visible}
.vv-native-map__marker{
    position:absolute;
    left:0;
    top:0;
    width:38px;
    height:38px;
    padding:0;
    border:2px solid #fff;
    border-radius:50% 50% 50% 8px;
    background:#ffd21f;
    box-shadow:0 5px 16px rgba(16,24,40,.25);
    display:grid;
    place-items:center;
    font-size:18px;
    cursor:pointer;
    pointer-events:auto;
}
.vv-native-map__marker.company{background:#dbeafe}
.vv-native-map__marker.build{background:#dcfae6}
.vv-native-map__marker.equipment{background:#f3e8ff}
.vv-native-map__marker.is-picker{background:#fff0b3}
.vv-native-map__controls{
    position:absolute;
    right:10px;
    top:10px;
    z-index:6;
    display:grid;
    gap:6px;
}
.vv-native-map__controls button{
    width:40px;
    height:40px;
    padding:0;
    border:1px solid rgba(16,24,40,.12);
    border-radius:12px;
    background:#fff;
    color:#101828;
    box-shadow:0 4px 14px rgba(16,24,40,.14);
    font-size:21px;
    font-weight:900;
    cursor:pointer;
}
.vv-native-map__attribution{
    position:absolute;
    right:5px;
    bottom:4px;
    z-index:6;
    padding:2px 5px;
    border-radius:5px;
    background:rgba(255,255,255,.86);
    color:#475467;
    font-size:10px;
    text-decoration:none;
}
.vv-native-map__popup{
    position:absolute;
    z-index:8;
    width:240px;
    padding:14px 34px 13px 14px;
    border:1px solid #e4e7ec;
    border-radius:15px;
    background:#fff;
    box-shadow:0 14px 40px rgba(16,24,40,.2);
    pointer-events:auto;
}
.vv-native-map__popup b,
.vv-native-map__popup small{display:block}
.vv-native-map__popup small{margin-top:5px;color:#667085;line-height:1.35}
.vv-native-map__popup a{display:inline-flex;margin-top:9px;color:#006fee;font-weight:800}
.vv-native-map__popup-close{
    position:absolute;
    right:7px;
    top:6px;
    width:26px;
    height:26px;
    padding:0;
    border:0;
    border-radius:8px;
    background:#f2f4f7;
    cursor:pointer;
}
@media(max-width:700px){
    .vv-native-map{min-height:360px}
    .vv-native-map__controls button{width:38px;height:38px}
}
