/* ============================================================
   BASTANTE — Mapa de presença v3 (Portugal + Mundo) — namespaced mv3-
   ============================================================ */
:root{
  --mv3-line:var(--line);   /* bordas do mapa — alias do token base */
  --mv3-sand:#EDEAE1;       /* pontos de espera — tom areia do mapa */
}
.mv3-tabs{display:inline-flex;background:var(--paper-2,#F1EEE7);border-radius:12px;padding:4px;gap:4px;margin-bottom:22px}
.mv3-tab{border:0;background:transparent;padding:9px 18px;border-radius:9px;font:600 13.5px 'Inter',sans-serif;color:var(--ink-soft);cursor:pointer;transition:.18s}
.mv3-tab.mv3-on{background:var(--card);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.08)}
.mv3-view{display:none;grid-template-columns:1fr 340px;gap:34px;align-items:start}
.mv3-view.mv3-on{display:grid}
.mv3-mapcard{background:var(--card);border:1px solid var(--mv3-line);border-radius:18px;padding:14px;position:relative;overflow:hidden}
.mv3-mapcard svg{width:100%;height:auto;display:block}
.mv3-wdot{fill:var(--mv3-sand)}
.mv3-wdot.mv3-pt{fill:var(--green)}
.mv3-wdot.mv3-act{fill:#7fb3e8}
.mv3-cdot{cursor:pointer}
.mv3-cdot circle.mv3-core{transition:r .15s}
.mv3-cdot:hover circle.mv3-core,.mv3-cdot.mv3-sel circle.mv3-core{r:9}
.mv3-cdot .mv3-halo{opacity:.28;pointer-events:none}
.mv3-clabel{font:600 11px 'Inter',sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.mv3-pdot{cursor:pointer;transition:r .15s}
.mv3-phalo{opacity:.22;pointer-events:none}
.mv3-plabel{font:600 10.5px 'Inter',sans-serif;fill:var(--ink);paint-order:stroke;stroke:var(--card);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.mv3-city{cursor:pointer}
.mv3-legenda{position:absolute;left:22px;bottom:14px;display:flex;gap:14px;font-size:11px;color:var(--ink-soft)}
.mv3-legenda i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.mv3-painel{background:var(--card);border:1px solid var(--mv3-line);border-radius:18px;padding:26px;position:sticky;top:20px}
.mv3-c-nome{font-family:'Space Grotesk',sans-serif;font-size:25px;margin:13px 0 2px}
.mv3-c-sub{color:var(--ink-soft);font-size:13px;margin-bottom:20px}
.mv3-nums{display:flex;gap:26px;margin-bottom:20px}
.mv3-num .v{font-family:'Space Grotesk',sans-serif;font-size:27px;font-weight:700}
.mv3-num .l{font-size:11px;color:var(--ink-soft)}
.mv3-barra-lbl{display:flex;justify-content:space-between;font-size:11.5px;color:var(--ink-soft);margin:12px 0 5px}
.mv3-barra{height:8px;background:var(--paper-2,#F1EEE7);border-radius:99px;overflow:hidden}
.mv3-barra>i{display:block;height:100%;border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1)}
.mv3-b-pro>i{background:var(--green)}
.mv3-b-biz>i{background:var(--blue)}
.mv3-msg{margin-top:16px;padding:13px 15px;border-radius:12px;font-size:13.5px;line-height:1.55}
.mv3-msg.mv3-ok{background:var(--green-soft)}
.mv3-msg.mv3-wait{background:var(--amber-soft)}
.mv3-msg.mv3-info{background:var(--blue-soft)}
.mv3-acoes{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.mv3-btn{flex:1;min-width:150px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:11px;font:600 13.5px 'Inter',sans-serif;cursor:pointer;border:0;transition:transform .1s;text-decoration:none}
.mv3-btn:hover{transform:translateY(-1px)}
.mv3-btn-wa{background:#128c4b;color:#fff}
.mv3-btn-ghost{background:transparent;border:1.5px solid var(--mv3-line);color:var(--ink)}
.mv3-btn-blue{background:var(--blue);color:#fff}
.mv3-btn-green{background:var(--green);color:#fff}
.mv3-mini-lista{margin-top:22px;border-top:1px solid var(--mv3-line);padding-top:14px}
.mv3-mini-t{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.mv3-mini-item{display:flex;justify-content:space-between;padding:7px 2px;font-size:13px;cursor:pointer;border-radius:8px}
.mv3-mini-item:hover{color:var(--blue)}
.mv3-mini-item.mv3-sel{color:var(--blue)}
.mv3-mini-item .mv3-pct{font-family:'Space Grotesk',sans-serif;font-weight:700;color:var(--ink-soft);font-size:12px}
.mv3-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:13px 20px;border-radius:13px;font-size:13.5px;max-width:92vw;opacity:0;pointer-events:none;transition:.35s;z-index:50;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.mv3-toast.mv3-on{opacity:1;transform:translateX(-50%)}
@media(max-width:860px){.mv3-view{grid-template-columns:1fr}.mv3-painel{position:static}}
