why doesn't my reference work?

hi.
i have a problem with my references.
when i reference an object in the game (Bf) the code works. but when i reference a prefab which i have an instance of the code does not work. what am i missing?
Card is the reference to the prefab.
and yes both has the referenced script (DropZone)

the code is:

public GameObject Bf; public GameObject Card;

  void EnemyTurn()
    {
        Debug.Log("Enemy's turn");
       
       
            Bf.transform.GetComponent<DropZone>().typeOfItem = Draggable.Slot.NotActive;
            Card.transform.GetComponent<DropZone>().typeOfItem = Draggable.Slot.NotActive;

        //turn = true; //make an if statement that asks if movement = 0 and AP = 0 then change turn status to 1
    }

How do you instantiate the prefab?

This won’t work, because it doesn’t refer to the instance of the prefab, but to the prefab asset itself, which is not instantiated:

//Card refers to the prefab asset, not an instance of it
Card.transform.GetComponent<DropZone>().typeOfItem = Draggable.Slot.NotActive;

This would work:

//myCard refers to an instance of the Card prefab
myCard = Instantiate(Card, transform.position, transform.rotation); //for example

//...then
myCard.transform.GetComponent<DropZone>().typeOfItem = Draggable.Slot.NotActive;