.jpf-country-card{position:relative;overflow:hidden;transition:transform .35s ease,box-shadow .35s ease;will-change:transform}.jpf-country-image{transition:transform .8s ease;will-change:transform}.jpf-country-overlay{transition:opacity .35s ease}.jpf-country-card:hover{transform:translateY(-8px);box-shadow:0 22px 45px rgba(0,0,0,.18)}.jpf-country-card:hover .jpf-country-image{transform:scale(1.06)}.jpf-country-card:hover .jpf-country-overlay{opacity:.48}.jpf-country-arrow{display:inline-block;transition:transform .3s ease}.jpf-country-card:hover .jpf-country-arrow{transform:translateX(6px)}

/* Passive card — informative panel with a subtle hover lift */
.jpf-passive-card{
  transition:transform .25s cubic-bezier(.22,.61,.36,1),box-shadow .25s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

@media (hover:hover) and (pointer:fine){
  .jpf-passive-card:hover{
    transform:translateY(-4px);
    box-shadow:0 14px 34px rgba(34,48,74,.08),0 4px 12px rgba(34,48,74,.05);
  }
}

@media (prefers-reduced-motion:reduce){
  .jpf-passive-card{
    transition:none!important;
    will-change:auto;
  }
  .jpf-passive-card:hover{
    transform:none!important;
  }
}

/* Professional / generic card media — parent hover controls the direct Elementor <img> */
.jpf-card-media{
  overflow:hidden;
}

.jpf-card-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .3s ease;
  will-change:transform;
}

/* Generic inline arrow for cards (keeps country-specific rules compatible) */
.jpf-card-arrow{
  display:inline-block;
  transition:transform .3s ease;
}

@media (hover:hover) and (pointer:fine){
  .jpf-card:hover .jpf-card-image{
    transform:scale(1.03);
  }
  .jpf-card:hover .jpf-card-arrow{
    transform:translateX(6px);
  }
}

@media (prefers-reduced-motion:reduce){
  .jpf-card-image,
  .jpf-card-arrow{
    transition:none!important;
    will-change:auto;
  }
  .jpf-card:hover .jpf-card-image,
  .jpf-card:hover .jpf-card-arrow{
    transform:none!important;
  }
}
