.eps-map-card {
    width: 100%; max-width: 1150px; margin: 0 auto; background: #fff;
    padding: 18px 18px 12px; position: relative;
  }
  .eps-map-heading { margin: 0 0 2px; font-size: clamp(24px, 3vw, 42px); font-weight: 800; letter-spacing: -.02em; }
  .eps-map-sub { margin: 0 0 12px; color: var(--eps-muted); font-size: 20.3px; }
  .eps-map-wrap { position: relative; width: 100%; }
  .eps-map-wrap svg { width: 100%; height: auto; display: block; overflow: visible; }
  .eps-map-wrap svg path {
    fill: var(--eps-gray) !important;
    stroke: var(--eps-stroke) !important;
    stroke-width: 1.6 !important;
    transition: fill .14s ease, filter .14s ease, opacity .14s ease;
  }
  .eps-map-wrap svg path.eps-peanuts { fill: var(--eps-green) !important; cursor: pointer; }
  .eps-map-wrap svg path.eps-restricted { fill: var(--eps-blue) !important; cursor: pointer; }
  .eps-map-wrap svg path.eps-peanuts:hover,
  .eps-map-wrap svg path.eps-peanuts:focus { fill: var(--eps-green-hover) !important; filter: drop-shadow(0 1px 2px rgba(0,0,0,.22)); outline: none; }
  .eps-map-wrap svg path.eps-restricted:hover,
  .eps-map-wrap svg path.eps-restricted:focus { fill: var(--eps-blue-hover) !important; filter: drop-shadow(0 1px 2px rgba(0,0,0,.22)); outline: none; }
  .eps-map-wrap svg path:not(.eps-state) { pointer-events: auto; }
  .eps-map-legend { display: flex; flex-wrap: wrap; gap: 14px 26px; align-items: center; margin-top: 8px; font-size: 19.3px; }
  .eps-key { display: inline-flex; align-items: center; gap: 8px; }
  .eps-swatch { width: 22px; height: 22px; border-radius: 4px; flex: 0 0 22px; border: 1px solid rgba(0,0,0,.08); }
  .eps-swatch.green { background: var(--eps-green); }
  .eps-swatch.blue { background: var(--eps-blue); }
  .eps-map-note { margin: 9px 0 0; color: var(--eps-muted); font-size: 12px; }
  .eps-tooltip {
    position: fixed; z-index: 99999; width: min(310px, calc(100vw - 24px));
    background: rgba(17,24,39,.97); color: #fff; padding: 11px 12px; border-radius: 9px;
    box-shadow: 0 8px 28px rgba(0,0,0,.22); pointer-events: none; opacity: 0; transform: translateY(4px);
    transition: opacity .10s ease, transform .10s ease; font-size: 13px; line-height: 1.35;
  }
  .eps-tooltip.show { opacity: 1; transform: translateY(0); }
  .eps-tooltip strong { display: block; font-size: 15px; margin-bottom: 3px; }
  .eps-tooltip .eps-tip-type { display: block; font-weight: 700; margin-bottom: 4px; }
  .eps-tooltip .eps-tip-click { display: block; margin-top: 6px; color: #d1d5db; font-size: 11px; }
  @media (max-width: 640px) {
    .eps-map-card { padding: 12px 8px 10px; }
    .eps-map-legend { font-size: 12px; gap: 9px 16px; }
    .eps-map-note { font-size: 11px; }
  }
