/* B16 — Carte de France interactive (fond navy, encarts corporate) */
.b16-carte{position:relative;background:#1E2D3F;padding:104px 0;font-family:'IBM Plex Sans',sans-serif;overflow:hidden}
.b16-container{max-width:1280px;margin:0 auto;padding:0 40px}
.b16-header{text-align:center;max-width:760px;margin:0 auto 56px}
.b16-title{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:800;line-height:1.15;letter-spacing:-.02em;color:#FFFFFF;margin:0 0 16px}
.b16-highlight{position:relative;display:inline;white-space:nowrap;color:#FFFFFF;background:linear-gradient(180deg,transparent 60%,rgba(245,166,35,.55) 60%);padding:0 4px}
.b16-subtitle{font-size:17px;line-height:1.6;color:rgba(255,255,255,.7);margin:0}

.b16-map-wrap{display:grid;grid-template-columns:1.55fr 1fr;gap:56px;align-items:center;max-width:1120px;margin:0 auto}
.b16-map{position:relative}
.b16-map-svg{width:100%;height:auto;display:block;overflow:visible}
.b16-dept path{stroke:#1E2D3F;stroke-width:0.6;transition:fill .2s ease,filter .2s ease;cursor:pointer}
.b16-dept:hover path,.b16-dept:focus path,.b16-dept.is-active path{fill:#F5A623!important;filter:drop-shadow(0 0 7px rgba(245,166,35,.85));outline:none}
.b16-dept:focus{outline:none}

.b16-side{display:flex;flex-direction:column;gap:18px}

/* Panneaux corporate : surface franche, pas de translucide gris */
.b16-panel{background:#243449;border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:28px}

/* Panneau INFO */
.b16-panel--info{min-height:188px;display:flex;flex-direction:column;justify-content:center}
.b16-info-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#F5A623;margin-bottom:12px}
.b16-info-help{font-size:14.5px;line-height:1.55;color:rgba(255,255,255,.62);margin:0 0 20px}
.b16-scale{margin-top:auto}
.b16-scale-bar{height:8px;border-radius:4px;background:linear-gradient(90deg,#FCE9CF,#E8780A);margin-bottom:8px}
.b16-scale-labels{display:flex;justify-content:space-between;font-size:11.5px;color:rgba(255,255,255,.5)}
/* État actif (dpt sélectionné) */
.b16-info-active{display:none}
.b16-panel--info.has-dept .b16-info-default{display:none}
.b16-panel--info.has-dept .b16-info-active{display:block}
.b16-info-dept-nom{display:block;font-size:26px;font-weight:800;color:#fff;line-height:1.1;letter-spacing:-.02em;margin-bottom:8px}
.b16-info-dept-prod{display:flex;align-items:baseline;gap:8px;margin-bottom:16px}
.b16-info-dept-val{font-size:32px;font-weight:800;color:#F5A623;line-height:1;letter-spacing:-.02em}
.b16-info-dept-unit{font-size:13px;color:rgba(255,255,255,.6)}
.b16-info-dept-link{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:700;color:#F5A623;text-decoration:none}
.b16-info-dept-link svg{transition:transform .2s}
.b16-info-dept-link:hover svg{transform:translateX(3px)}

/* Panneau CTA */
.b16-panel--cta{background:linear-gradient(135deg,#2a3f57 0%,#243449 100%);border-color:rgba(245,166,35,.25)}
.b16-cta-title{display:block;font-size:18px;font-weight:800;color:#fff;margin-bottom:6px}
.b16-cta-sub{font-size:14px;color:rgba(255,255,255,.6);margin:0 0 18px}
.b16-cta-form{display:flex;gap:10px}
.b16-cta-input{flex:1;min-width:0;padding:14px 16px;background:#1E2D3F;border:1.5px solid rgba(255,255,255,.14);border-radius:12px;color:#fff;font-size:15px;font-family:inherit;transition:border-color .2s}
.b16-cta-input::placeholder{color:rgba(255,255,255,.4)}
.b16-cta-input:focus{outline:none;border-color:#F5A623}
.b16-cta-btn{flex-shrink:0;width:52px;display:flex;align-items:center;justify-content:center;background:#F5A623;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:background .2s,transform .2s}
.b16-cta-btn:hover{background:#FF7A00;transform:translateY(-2px)}

/* Tooltip flottant (desktop survol) */
.b16-tooltip{position:fixed;z-index:9999;pointer-events:none;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 12px 32px rgba(0,0,0,.3);opacity:0;transform:translateY(6px);transition:opacity .15s,transform .15s;display:flex;flex-direction:column;gap:3px;min-width:160px}
.b16-tooltip.is-visible{opacity:1;transform:translateY(0)}
.b16-tooltip-nom{color:#1E2D3F;font-size:16px;font-weight:800;line-height:1.2}
.b16-tooltip-prod{color:#6B7888;font-size:13px}
.b16-tooltip-cta{color:#F5A623;font-size:12.5px;font-weight:700;margin-top:2px}

@media (max-width:920px){
  .b16-map-wrap{grid-template-columns:1fr;gap:32px}
  .b16-side{flex-direction:row;flex-wrap:wrap}
  .b16-panel{flex:1;min-width:260px}
}
@media (max-width:900px){ .b16-carte{padding:72px 0} }
@media (max-width:620px){
  .b16-container{padding:0 24px}
  .b16-side{flex-direction:column}
  .b16-tooltip{display:none}
}

/* FIX lien "Voir le potentiel" : forcer orange (battre le style :hover/:visited du thème) */
.b16-side .b16-info-dept-link,
.b16-side .b16-info-dept-link:link,
.b16-side .b16-info-dept-link:visited,
.b16-side .b16-info-dept-link:hover,
.b16-side .b16-info-dept-link:focus,
.b16-side .b16-info-dept-link:active{
  color:#F5A623 !important;
  text-decoration:none !important;
}
.b16-side .b16-info-dept-link:hover{color:#FF7A00 !important}

/* Autocomplete code postal */
.b16-cp-wrap{position:relative;flex:1;min-width:0}
.b16-cp-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;margin:0;padding:6px;list-style:none;background:#FFFFFF;border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.35);max-height:220px;overflow-y:auto}
.b16-cp-list[hidden]{display:none}
.b16-cp-item{padding:11px 14px;border-radius:8px;cursor:pointer;font-size:14.5px;color:#1E2D3F;display:flex;flex-direction:column;gap:1px;transition:background .12s}
.b16-cp-item:hover,.b16-cp-item.is-highlighted{background:#FAF1E2}
.b16-cp-item-ville{font-weight:700}
.b16-cp-item-dpt{font-size:12.5px;color:#6B7888}
.b16-cp-empty{padding:12px 14px;font-size:13.5px;color:#6B7888}

/* ───── Hint curseur animé (souris desktop / doigt mobile) ───── */
.b16-cursor{position:absolute;top:0;left:0;z-index:30;pointer-events:none;width:64px;height:64px;opacity:0;filter:drop-shadow(0 4px 10px rgba(0,0,0,.35))}
.b16-cursor img{width:100%;height:100%;display:block}
.b16-cursor.is-anim{animation:b16Cursor 5.5s cubic-bezier(.45,0,.25,1) forwards}
@keyframes b16Cursor{
  0%{opacity:0;left:30%;top:20%;transform:scale(1)}
  12%{opacity:1}
  60%{opacity:1;left:75%;top:81%;transform:scale(1)}
  68%{transform:scale(.76)}
  76%{transform:scale(1)}
  92%{opacity:1;left:75%;top:81%}
  100%{opacity:0;left:75%;top:81%}
}
.b16-click-halo{position:absolute;z-index:25;pointer-events:none;width:44px;height:44px;border-radius:50%;left:75%;top:81%;transform:translate(-50%,-50%) scale(0);background:radial-gradient(circle,rgba(245,166,35,.6),transparent 70%);opacity:0}
.b16-click-halo.is-anim{animation:b16Halo 5.5s ease-out forwards}
@keyframes b16Halo{0%,60%{opacity:0;transform:translate(-50%,-50%) scale(0)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.3)}}
@media (prefers-reduced-motion:reduce){.b16-cursor,.b16-click-halo{display:none!important}}

/* Ancrage du point actif du curseur sur la cible */
.b16-cursor--mouse{margin-left:-4px;margin-top:-2px}      /* souris : pointe en haut-gauche */
.b16-cursor--finger{margin-left:-32px;margin-top:-56px}   /* doigt : bout de l'index en bas-centre */
