/* Carte cliquable du tour du monde — généré par generer3.py, ne pas modifier à la main */
.ep-m-melbourne { left: 90.27%; top: 83.82%; }
.ep-m-rio { left: 38.00%; top: 73.09%; }
.ep-m-dubai { left: 65.36%; top: 41.03%; }
.ep-m-acapulco { left: 22.25%; top: 46.73%; }
.ep-m-indian-wells { left: 17.69%; top: 34.96%; }
.ep-m-miami { left: 27.72%; top: 40.66%; }
.ep-m-montreal { left: 29.56%; top: 25.88%; }
.ep-m-tokyo { left: 88.80%; top: 33.49%; }
.ep-m-europe { left: 51.39%; top: 25.48%; }
.ep-e-monte-carlo { left: 54.19%; top: 58.71%; }
.ep-e-barcelone { left: 38.75%; top: 72.72%; }
.ep-e-madrid { left: 21.47%; top: 78.48%; }
.ep-e-rome { left: 69.12%; top: 69.69%; }
.ep-e-lyon { left: 46.59%; top: 46.65%; }
.ep-e-paris { left: 39.25%; top: 28.17%; }
.ep-e-londres { left: 31.97%; top: 12.37%; }

.carte-monde { overflow: visible; }
.carte-monde > img:first-child { border-radius: 4px; }
.bulle { pointer-events: none; }
.carte-europe { max-width: 40rem; margin-left: auto; margin-right: auto; }
.epingles { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; }
.ep { position: absolute; width: 1.9%; transform: translate(-50%, -100%); z-index: 1; }
.carte-europe .ep { width: 3.8%; }
.ep:hover, .ep:focus-within { z-index: 5; }
.ep a { display: block; position: relative; }
.ep a::before { content: ""; position: absolute; inset: -.7rem -.7rem -.3rem; }
.ep__pin { display: block; width: 100%; height: auto; transition: transform .15s ease; transform-origin: 50% 100%; }
.ep a:hover .ep__pin, .ep a:focus-visible .ep__pin { transform: scale(1.35); filter: drop-shadow(0 0 3px var(--or-clair)); }
.ep a:focus-visible { outline: 2px solid var(--or-clair); outline-offset: 3px; }
.ep__info {
  position: absolute; left: 50%; bottom: calc(100% + .5rem); transform: translate(-50%, .3rem);
  width: 9.5rem; padding: .6rem .5rem .55rem; display: flex; flex-direction: column; align-items: center; gap: .3rem;
  background: rgba(12, 11, 14, .94); border: 2px solid var(--or); border-radius: 6px;
  box-shadow: 0 .6rem 1.4rem rgba(0, 0, 0, .6); text-align: center; color: var(--gris); font-size: .85rem; line-height: 1.3;
  opacity: 0; pointer-events: none; transition: opacity .15s ease, transform .15s ease;
}
.ep__info strong { font: .62rem/1.5 var(--pixel); color: var(--or-clair); }
.ep__mini { width: 4rem; height: 4rem; border: 2px solid var(--or-sombre); border-radius: 50%; background: #1c1a22; object-fit: cover; }
.ep a:hover .ep__info, .ep a:focus-visible .ep__info { opacity: 1; transform: translate(-50%, 0); }
.ep--b .ep__info { bottom: auto; top: calc(100% + .5rem); transform: translate(-50%, -.3rem); }
.ep--g .ep__info { left: -.4rem; transform: translate(0, .3rem); }
.ep--d .ep__info { left: auto; right: -.4rem; transform: translate(0, .3rem); }
.ep--b.ep--g .ep__info, .ep--b.ep--d .ep__info { transform: translate(0, -.3rem); }
.ep--g a:hover .ep__info, .ep--g a:focus-visible .ep__info,
.ep--d a:hover .ep__info, .ep--d a:focus-visible .ep__info { transform: none; }
.carte-aide { font-size: .9rem; color: var(--gris); text-align: center; margin: -0.6rem 0 1.5rem; }
@media (prefers-reduced-motion: no-preference) {
  .ep__pin { animation: briller 2.4s ease-in-out infinite; }
  .ep:nth-child(2n) .ep__pin { animation-delay: -1.2s; }
  @keyframes briller { 0%, 100% { filter: none; } 50% { filter: brightness(1.35); } }
}
@media (prefers-reduced-motion: reduce) { .ep__info, .ep__pin { transition: none; } }
.bulle--nael { left: 68%; top: 56%; }
.bulle--sofia { left: 74%; top: 66%; }
@media (max-width: 40rem) {
  .ep { width: 2.8%; }
  .carte-europe .ep { width: 4.5%; }
  .ep__info { width: 7rem; padding: .4rem .35rem; font-size: .75rem; gap: .2rem; }
  .ep__info strong { font-size: .5rem; }
  .ep__mini { width: 2.8rem; height: 2.8rem; }
}
