.ieem-map {
  --ieem-height: 650px;
  position: relative;
  width: 100%;
  height: var(--ieem-height);
  min-height: 320px;
  overflow: hidden;
  background: var(--ieem-bg, #fff);
  border-radius: 12px;
  isolation: isolate;
}

.ieem-canvas,
.ieem-canvas svg {
  display: block;
  width: 100%;
  height: 100%;
}

.ieem-country {
  stroke: var(--ieem-border, #e2e8f0);
  stroke-width: 1.25;
  vector-effect: non-scaling-stroke;
  transition: fill 160ms ease;
  outline: none;
}

.ieem-country--inactive { fill: var(--ieem-inactive, #f8fafc); }
.ieem-country--inactive:hover { fill: var(--ieem-inactive-hover, #eef2f7); }
.ieem-country--active { fill: var(--ieem-active, #272661); stroke: #fff; cursor: pointer; }
.ieem-country--active:hover,
.ieem-country--active:focus { fill: var(--ieem-active-hover, #3c3a8c); }
.ieem-country--home { fill: var(--ieem-home, #eb2227); stroke: #fff; cursor: pointer; }
.ieem-country--home:hover,
.ieem-country--home:focus { fill: var(--ieem-home-hover, #ff4d52); }

.ieem-marker { pointer-events: none; }
.ieem-marker-pulse { fill: var(--ieem-marker, #eb2227); opacity: .15; }
.ieem-marker-ring { fill: #fff; stroke: var(--ieem-marker, #eb2227); stroke-width: 3; }
.ieem-marker-dot { fill: var(--ieem-marker, #eb2227); }
.ieem-marker-label {
  fill: var(--ieem-marker, #eb2227);
  paint-order: stroke;
  stroke: var(--ieem-bg, #fff);
  stroke-width: 4px;
  stroke-linejoin: round;
  font: 700 16px/1.2 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.ieem-loading,
.ieem-error {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #64748b;
  font: 500 14px/1.5 system-ui, sans-serif;
}

.ieem-loading[hidden],
.ieem-error[hidden] { display: none; }

.ieem-tooltip {
  position: absolute;
  z-index: 2;
  transform: translate(-50%, calc(-100% - 12px));
  padding: 7px 10px;
  border-radius: 6px;
  color: var(--ieem-tooltip-text, #fff);
  background: var(--ieem-tooltip-bg, #1e293b);
  box-shadow: 0 6px 18px rgb(15 23 42 / 18%);
  pointer-events: none;
  white-space: nowrap;
  font: 600 13px/1.2 system-ui, sans-serif;
}

.ieem-tooltip[hidden] { display: none; }

@media (max-width: 600px) {
  .ieem-map { height: min(var(--ieem-height), 500px); }
  .ieem-marker-label { font-size: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .ieem-country { transition: none; }
}
