Help with datapack, predicates not running.

So i am trying to make a mod where i have a emerald with a NBT tag of {display:{Name:'{"text":"Fire Gem","color":"dark_red","bold":true}',Lore:['{"text":"FlameWasTaken66","color":"light_purple"}']},CustomModelData:101,FireGem:1} And in a predicate folder i am trying to check if the player has a item with nbt FireGem:1 in his offhand. predicate

{
    "condition": "minecraft:entity_properties",
    "entity": "this",
    "predicate": {
        "equipment": {
            "mainhand": {
                "nbt": "{FireGem:1}"
            }
        }
    }
}

And in a mcfunction (just for testing, in load.mcfunction file) i am running this code

say Hi
execute if predicate custom:fire run say Predicate works

In load.mcfunction second line the code is expected to say predicate works in my game chat when i hold the emerald gem in my offhand and reload the game but it is not happing i tried doing it with advancement way and it still didn't work and then i tried restarting my datapack (uninstall and install the datapack) but still didn't work. I am using Visual Studio Code to edit my mcfunction and i am beginner to datapack creation. Please Help me!

Continue to help post