/* Landenkaart: landen met een project in geel, de rest donkergrijs. */
.landenkaart { position: relative; max-width: 1100px; margin: 0 auto; }
.landenkaart-canvas { min-height: 120px; }
/* De Europakaart is hoger dan breed; houd hem op een prettig formaat. */
.landenkaart[data-view="europa"] { max-width: 780px; }
.landenkaart-canvas svg { display: block; width: 100%; height: auto; }
.landenkaart-canvas svg path { transition: fill .25s ease, stroke .25s ease; }

.landenkaart-canvas svg .is-project {
  fill: #F2C400; stroke: #F2C400; stroke-width: .6;
  filter: drop-shadow(0 0 3px rgba(242,196,0,.5));
  cursor: pointer;
}
.landenkaart-canvas svg .is-project:hover { fill: #FFE066; stroke: #FFE066; }

/* Markering voor kleine landen die op een wereldkaart bijna onzichtbaar zijn */
.landenkaart-canvas .lk-marker { cursor: pointer; }
.landenkaart-canvas .lk-dot  { fill: #F2C400; stroke: #000; }
.landenkaart-canvas .lk-ring { fill: none; stroke: #F2C400; transform-box: fill-box; transform-origin: center; animation: lkPulse 2.4s ease-out infinite; }
@keyframes lkPulse { 0% { transform: scale(.7); opacity: .85; } 100% { transform: scale(2.6); opacity: 0; } }

.landenkaart-tip {
  position: absolute; z-index: 5; transform: translate(-50%, -125%);
  background: #000; color: #fff; border: 1px solid rgba(242,196,0,.7); border-radius: 999px;
  padding: .3rem .75rem; font: 600 12px/1.2 Inter, sans-serif; white-space: nowrap; pointer-events: none;
}
.landenkaart-tip[hidden] { display: none; }

.landenkaart-legend { display: flex; justify-content: center; gap: 1.5rem; margin-top: 1rem; font-size: 12px; color: #B4B4B4; }
.landenkaart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: .5rem; vertical-align: middle; }

@media (prefers-reduced-motion: reduce) { .landenkaart-canvas .lk-ring { animation: none; opacity: .5; } }
