/* Page Veille internationale */
.vtop{background:linear-gradient(135deg,#40409a 0%,#0a78b5 100%)}
.vhero{color:#fff;padding:54px 0 26px;text-align:center}
.vhero h1{margin:6px 0 10px;font-size:2.3rem}
.vhero p{max-width:720px;margin:0 auto;opacity:.92}
.vhero .eyebrow{color:var(--accent);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}
.vmapbox{padding:0 0 34px}
.vmap{position:relative;max-width:1120px;margin:0 auto}
.vmap canvas{display:block;width:100%}
.vmap .pin{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border:0;background:none;padding:0;cursor:pointer;border-radius:50%}
.vmap .pin:focus-visible{outline:2px solid #fff;outline-offset:2px}
.vmap .pin span{position:absolute;white-space:nowrap;font:600 12px/1 Inter,system-ui,sans-serif;color:#fff;text-shadow:0 1px 4px rgba(20,20,80,.9);pointer-events:none;background:rgba(20,20,80,.35);padding:3px 7px;border-radius:10px}
.vmap .pin.r span{left:26px;top:6px}
.vmap .pin.l span{right:26px;top:6px}
.vmap .pin.b span{left:50%;top:30px;transform:translateX(-50%)}
.vmap .pin:hover span,.vmap .pin:focus-visible span{background:var(--accent)}
.vchips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:16px auto 0;padding:0 16px}
.vchips button,.vfilters button{border:1px solid rgba(255,255,255,.5);background:rgba(255,255,255,.1);color:#fff;border-radius:20px;padding:7px 14px;font:600 .85rem Inter,system-ui,sans-serif;cursor:pointer}
.vchips button:hover{background:var(--accent);border-color:var(--accent)}
.vnote{text-align:center;color:#e6e8fb;font-size:.82rem;margin-top:12px;padding:0 16px}
#vmodal{position:fixed;inset:0;background:rgba(20,20,60,.65);z-index:50;display:none;align-items:center;justify-content:center;padding:16px}
#vmodal.open{display:flex}
#vmodal .box{background:#fff;color:var(--text,#1b1b3a);border-radius:14px;max-width:760px;width:100%;max-height:86vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
#vmodal .hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-bottom:1px solid var(--line,#e5e7f2)}
#vmodal .hd h2{margin:0;font-size:1.35rem}
#vmodal .x{border:0;background:#eef0fa;color:var(--navy);width:36px;height:36px;border-radius:50%;font-size:1.3rem;cursor:pointer}
#vmodal .vfilters{display:flex;flex-direction:column;gap:8px;padding:12px 20px 4px}
#vmodal .frow{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#vmodal .flab{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#666a8a;width:62px}
#vmodal .vfilters button{color:var(--navy);border-color:#c9cdea;background:#fff;padding:5px 11px;font-size:.8rem}
#vmodal .vfilters button.on{background:var(--navy);color:#fff;border-color:var(--navy)}
#vmodal .bd{overflow:auto;padding:6px 20px 20px}
#vmodal h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--navy2);margin:18px 0 6px}
#vmodal .it{display:block;padding:10px 0;border-bottom:1px solid #eef0f8;text-decoration:none;color:inherit}
#vmodal .it:hover b{color:var(--accent)}
#vmodal .it b{display:block;line-height:1.35}
#vmodal .meta{font-size:.78rem;color:#666a8a;margin-top:3px}
#vmodal .tag{display:inline-block;font-size:.68rem;font-weight:700;padding:1px 7px;border-radius:9px;background:#e5e7f7;color:var(--navy);margin-right:6px}
#vmodal .tag.ai{background:#fde8d3;color:#b4540a}
#vmodal .tag.data{background:#d9f2e6;color:#14764a}
#vmodal .empty{padding:24px 0;color:#666a8a}
.vback{display:inline-block;margin:22px 0 0;font-weight:600}
.vspace{height:48px}
@media(max-width:700px){.vmap .pin span{display:none}.vmap .pin{width:34px;height:34px;margin:-17px 0 0 -17px}}
