.nam-freight-wrap {
  position: relative;
  width: 100%;
}

.nam-map {
  width: 100%;
  aspect-ratio: 5 / 3;
  background: #e7ebef;
}

/* Legend container */
.nam-freight-legend {
  position: absolute;
  z-index: 10;
  top: 1rem;
  left: 1rem;
  background: rgba(255,255,255,0.95);
  padding: 12px;
  border-radius: 6px;
  max-width: 260px;
  font-size: 13px;
}

.legend-title {
  font-weight: 700;
  margin-bottom: 6px;
}

.legend-bar {
  display: flex;
  height: 10px;
  margin-bottom: 4px;
}

.legend-bar span {
  flex: 1;
}

.legend-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  margin-bottom: 8px;
}

.legend-nodes div {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 4px;
}

.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
}

.dot.rail { background:#6684C6; }
.dot.inland { background:#43b02a; }
.dot.sea { background:#00a9e0; }
.dot.intermodal { background:#0032a0; }

.star::before {
  content: "?";
  color: #da291c;
  font-size: 12px;
}
