/* PointNomade 4.9 — deux corrections limitées à l’accueil.
 * 1. 7 cartes, grille sans orpheline desktop/tablette/mobile.
 * 2. 3 repères placés selon lon/lat sur le SVG equirectangulaire 900×445.
 * Le SVG original, l'Atlas interactif, le thème V4.4 et les données WP sont intacts. */

.pn-vibrant-home .pn-v-destination-grid {
  grid-template-rows: 280px 280px 255px;
  grid-auto-rows:255px;
}
.pn-vibrant-home .pn-v-destination-grid > .pn-v-dest:nth-child(5) { grid-column:1; grid-row:3; }
.pn-vibrant-home .pn-v-destination-grid > .pn-v-dest:nth-child(6) { grid-column:2; grid-row:3; }
.pn-vibrant-home .pn-v-destination-grid > .pn-v-dest:nth-child(7) { grid-column:3; grid-row:3; }

/* La carte et ses repères utilisent exactement le même repère image, indépendamment du viewport. */
.pn-vibrant-home .pn-v-map-art-v49 {
  width:100%; height:auto; aspect-ratio:900 / 445; transform:rotate(-2deg);
  isolation:isolate;
}
.pn-vibrant-home .pn-v-map-art-v49 > img {
  position:relative; inset:auto; width:100%; height:auto; display:block;
  aspect-ratio:900 / 445; object-fit:fill;
}
.pn-vibrant-home .pn-v-map-marker {
  position:absolute; z-index:2;
  left:var(--map-x); top:var(--map-y);
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.pn-vibrant-home .pn-v-map-marker-dot {
  display:block; width:15px; height:15px;
  border-radius:50%; border:3px solid #fff;
  background:#ed6948;
  box-shadow:0 0 0 3px rgba(255,198,95,.42),0 3px 9px rgba(0,0,0,.45);
}
.pn-vibrant-home .pn-v-map-marker-label {
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  background:#fffefa; color:#08485c;
  border:1px solid rgba(0,70,80,.15); border-radius:999px;
  padding:7px 12px; white-space:nowrap;
  font-size:clamp(9px,.76vw,12px); font-weight:850;
  letter-spacing:0; line-height:1.2;
  box-shadow:0 6px 18px rgba(0,17,34,.38);
}
.pn-vibrant-home .pn-v-map-marker-mia .pn-v-map-marker-label {
  bottom:auto; top:21px; left:8px; transform:none;
}
.pn-vibrant-home .pn-v-map-marker-ven .pn-v-map-marker-label {
  left:15px; transform:none;
}
@media (max-width:900px) {
  .pn-vibrant-home .pn-v-destination-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:300px 230px 230px 210px 220px;
    grid-auto-rows:210px;
  }
  .pn-vibrant-home .pn-v-destination-grid > .pn-v-dest:nth-child(5) { grid-column:1; grid-row:4; }
  .pn-vibrant-home .pn-v-destination-grid > .pn-v-dest:nth-child(6) { grid-column:2; grid-row:4; }
  .pn-vibrant-home .pn-v-destination-grid > .pn-v-dest:nth-child(7) { grid-column:1/-1; grid-row:5; }
  .pn-vibrant-home .pn-v-map-marker-label { font-size:10px; }
}
@media (max-width:690px) {
  .pn-vibrant-home .pn-v-destination-grid {
    grid-template-rows:250px 210px 210px 185px 185px;
    grid-auto-rows:185px;
  }
  .pn-vibrant-home .pn-v-map-marker-dot {width:11px;height:11px;border-width:2px;}
  .pn-vibrant-home .pn-v-map-marker-label {font-size:9px;padding:5px 7px;bottom:15px;}
  .pn-vibrant-home .pn-v-map-marker-mia .pn-v-map-marker-label {top:15px;left:5px;}
  .pn-vibrant-home .pn-v-map-marker-ven .pn-v-map-marker-label {left:8px;}
}
