.vtog{display:inline-flex;gap:3px;padding:3px;border-radius:11px;background:var(--petrol-soft);margin-right:auto;margin-left:16px}
.vtog button{display:inline-flex;align-items:center;gap:6px;border:0;background:none;font:inherit;font-weight:700;font-size:13.5px;color:var(--petrol-deep);padding:7px 12px;border-radius:9px;cursor:pointer}
.vtog button svg{width:15px;height:15px}
.vtog button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow-s)}
.cmap-wrap{position:relative;margin:0 0 30px}
.cmap-x{position:absolute;top:12px;right:12px;z-index:1001;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 13px 0 10px;border:0;border-radius:11px;background:#fff;color:var(--ink);font:inherit;font-weight:700;font-size:13.5px;box-shadow:0 4px 14px rgba(12,30,38,.25);cursor:pointer}
.cmap-x svg{width:18px;height:18px}
.cmap-x:hover{background:var(--petrol);color:#fff}
.cmap-wrap[hidden]{display:none}
#cmap{height:min(72vh,680px);min-height:380px;border-radius:var(--r,18px);overflow:hidden;border:1px solid var(--line);background:#e8eeee;z-index:1}
.cmap-note{margin:10px 2px 0;font-size:13px;color:var(--muted)}
.cm-pin{display:inline-block;transform:translate(-50%,-100%);padding:5px 9px;border-radius:99px;background:#fff;color:var(--petrol-deep);font:700 12.5px/1 var(--sans,system-ui);white-space:nowrap;box-shadow:0 3px 10px rgba(12,30,38,.28);border:1.5px solid var(--petrol)}
.cm-pin:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-5px;border:5px solid transparent;border-top-color:var(--petrol)}
.cm-pin.act,.cm-pin:hover{background:var(--petrol);color:#fff}
.cm-cl{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--petrol);color:#fff;font:700 13px var(--sans,system-ui);box-shadow:0 0 0 6px rgba(14,107,122,.25)}
.leaflet-popup-content-wrapper{border-radius:14px;padding:0;overflow:hidden}
.leaflet-popup-content{margin:0;width:240px!important}
.cm-card{display:block;color:var(--ink);text-decoration:none}
.cm-card img{width:100%;height:140px;object-fit:cover;display:block;background:#e8eeee}
.cm-card .b{padding:10px 12px 12px}
.cm-card .p{font-family:var(--disp);font-weight:700;font-size:18px;color:var(--petrol-deep)}
.cm-card .l{font-size:13px;color:var(--ink-2);margin-top:3px}
.cm-card .go{display:inline-block;margin-top:8px;font-weight:700;font-size:13px;color:var(--petrol)}
@media(max-width:640px){.vtog{margin-left:0}.vtog button{padding:7px 10px}#cmap{height:62vh}}
