.effect-vfx.dodge{height: 100px; transform: translate(-30%, 25%);opacity:0.85}
.effect-vfx.death-blood{height: 90px; transform: translate(-50%, 20%); filter: drop-shadow(0px 0 3px #5c0000);}
.blood-impact{transform: translate(-5%, 50%);}
.effect-vfx.heal{height: 150px;transform: translate(-50%, -10%);filter: drop-shadow(0px 0 8px #1CF4FFDB);}
.effect-vfx.broken-spell{width: 120px;
  height: 120px;
  margin-top: -40%;
  filter: drop-shadow(0px 0px 8px #a200ff);}
.effect-vfx.extraLife, .effect-vfx.fadedLife, .effect-vfx.eternalLife{height: 90px;filter: drop-shadow(0px 0 8px #fff);top:-25px;}
.effect-vfx.eternalLife{filter: drop-shadow(0px 0 4px #000000);}
.effect-vfx.transcendence{height: 80px;filter: drop-shadow(0px 0 8px #fff);top:-20px;}
.effect-vfx.poison{height: 22px;filter: drop-shadow(0px 0 8px #00FF10DB);}
.effect-vfx.burn{height: 28px;filter:drop-shadow(0px 0 8px #FF2400);}
.effect-vfx{margin: auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%, 50%);}
.effect-jarret{height: 70px;
  margin-left: 10px;
  animation: Consommablepulse 1s infinite ease-in-out, grow 0.4s ease-in-out;
  margin-top: 30px;}
  .recoveryGif{
  position: absolute;
  height: 40px;
  width: 30px;
  top: 43px;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease-in-out;
  left: 69%;}
.cast-preparation-container.boulassefeu{animation:scaleCastEffect 0.5s ease-out;}
@keyframes scaleCastEffect {
    0% { transform: scale(0); }
    50% { transform: scale(1.2); }
    53% { transform: scale(1); }
}
.sbire-projectile{
  width: 10px;
  height: 10px;
    background-color: red;
   box-shadow: 0 0 4px 1px #F00;
  border-radius: 50%;
}

.lord-projectile{
  width: 13px;
  height: 13px;
 box-shadow: 0 0 7px 4px #8B00FF;
	background-color: black;
  border-radius: 50%;
}

.projectile-parent{overflow: visible;
  width: 10px;
  height: 10px;}
  .projectile-parent.profanation-fx{
  filter: drop-shadow(0px 0 10px #F00);}
  .projectile.profanation-fx{background-color: inherit;
  background-color: none;
  background-repeat: no-repeat;
  background-image: url('../media/assets/projectiles/projectile-profanation.gif');
  border-radius: 0%;
  width: 90px;
  height: 90px;
  background-size: 90px;
  box-shadow: none;
  animation: Profanationpulse 0.5s infinite ease-in-out;
  top: -400%;
  position: absolute;
  left: -150%;
}	
.projectile.deadshot-fx{
background-color: inherit;
  background-color: none;
  background-repeat: no-repeat;
  background-image: url('../media/assets/projectiles/projectile-deadshot.png');
  border-radius: 0%;

  background-size: 150px;
  box-shadow: none;
  top: -400%;
  position: absolute;
  left: -150%;
}
.projectile.jarret-fx{background-color: inherit;
  background-color: none;
  background-repeat: no-repeat;
  background-image: url('../media/assets/projectiles/projectile-jarret.png');
  border-radius: 0%;
width: 40px;
  height: 40px;
  background-size: 40px;
  box-shadow: none;
  animation: Consommablepulse 1s infinite ease-in-out, spin 0.7s linear infinite;
  top: -400%;
  position: absolute;
  left: -150%;
}
.projectile.jarret-fx{background-color: inherit;
  background-color: none;
  background-repeat: no-repeat;
  background-image: url('../media/assets/projectiles/projectile-jarret.png');
  border-radius: 0%;
width: 40px;
  height: 40px;
  background-size: 40px;
  box-shadow: none;
  animation: Consommablepulse 1s infinite ease-in-out, spin 0.7s linear infinite;
  top: -400%;
  position: absolute;
  left: -150%;
}	
.projectile.poison-fx {
    filter: drop-shadow(0px 0px 2mm #76ff04);
	background-color:#026800;
}
				
.projectile.brulure-fx {
    filter: drop-shadow(0px 0px 2mm #f00); /* Ombre existante */
	background-color:#740000;
}
.projectile.heal-fx{
background-color: #cdfdff;
  filter: drop-shadow(0px 0px 10mm #0ff);
}
.projectile.rez-fx{
background-color: #white;
  filter: drop-shadow(0px 0px 10mm #ccfff3);
}
.effects-container{z-index: 100;
  max-width: 100%;
  position: absolute;
  top: -12px;pointer-events: none;height: 100%;
  width: 100%;}

.projectile-impacte.jarret-fx{background-image: url('../media/assets/projectiles/impact-jarret.gif');
  width: 120px;
  height: 120px;
  background-size: 120px;
  display: flex;
  justify-content: center;margin-top: -15px;
  background-position: center;filter: drop-shadow(0px 0 10px #A2A2A2BF);pointer-events:none;
  
}	
.projectile-impacte.profanation-fx{background-image: url('../media/assets/projectiles/impact-profanation.gif');
  width: 230px;
  height: 230px;
  background-size: 230px;pointer-events:none;
  display: flex;
  justify-content: center;margin-top: -45px;
  background-position: center;filter: drop-shadow(0px 0 10px #F00);
}	


.cast-animation-container{top: -10px;
  position: absolute;
  left: -15px;
	z-index: 9999999999;}
.cast{	width : 150px;
	height : 150px;
}
.cast.morsure-goulue{	width : 150px;
	height : 150px;
}
.cast.bluespell{
	 animation: rotateGlow 3s linear infinite;
  border-radius: 50%;
  box-shadow:
    inset 0 0 50px #fff,      /* inner white */
    inset 20px 0 80px #f0f,   /* inner left magenta short */
    inset -20px 0 80px #0ff,  /* inner right cyan short */
    inset 20px 0 300px #f0f,  /* inner left magenta broad */
    inset -20px 0 300px #0ff, /* inner right cyan broad */
    0 0 50px #fff,            /* outer white */
    -10px 0 80px #f0f,        /* outer left magenta */
    10px 0 80px #0ff;         /* outer right cyan */
}
.armorImpactGif { transform: translateY(60%); }
.effect-vfx.astrality{width: 45px;
filter: drop-shadow(0 0 4px rgba(0,0,0,0.8));}
.blood-impact.damage-explode{width: 135px;
  height: 135px;
  transform: initial;
  top: 60px;}
.blood-impact.fx-3{transform: translate(-65px,40px);}
.blood-impact{opacity: 1;
  position: absolute;
  inset: 0px;
  margin: auto;
  pointer-events: none;
  z-index: 5;
  display: block;
  transform: translate(50%, 96%);
  height: 65px;
  width: 65px;
}
.effect-vfx.resilience{width: 65px;
  top: 5px;
  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.30));}
.effect-vfx.bloodfuryexec{width: 95px;
  top: -100px;
  filter: drop-shadow(0 0 5px rgba(255, 0, 0, 1)); animation:
   
  }
.effect-vfx.ambidextry{z-index: 20;
  height: 91px;
  width: 117px;
  top: 25px;
filter: drop-shadow(0 0 5px rgba(235, 237, 255, 0.30));}
.effect-vfx.lifesteal{
  height: 80px;
  width: 80px;
  top: 100%;  filter: hue-rotate(160deg) saturate(2) brightness(1.2) drop-shadow(0px 0 8px #e41614);}
@keyframes rotateGlow {
    0% {
        transform: rotate(0deg);
        filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.8));
    }
    50% {
        filter: drop-shadow(0 0 15px rgba(255, 255, 255, 1));
    }
    100% {
        transform: rotate(360deg);
        filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.8));
    }
}
/* aura selon la nature */
.projectile-parent.physicalDamage{
  filter: drop-shadow(0 0 10px rgba(236, 0, 0, .85));
}

.projectile-parent.rawDamage{
  filter: drop-shadow(0 0 10px rgba(255, 212, 0, .85));
}

.projectile-parent.magicalDamage{
  filter: drop-shadow(0 0 10px rgba(162, 0, 255, .85));
}

.projectile-parent.hybridalDamage{
  filter: drop-shadow(0 0 10px rgba(214, 0, 174, .85));
}

.cast.boulassefeu {
    animation: rotateGlow 3s linear infinite, pulsateFlame 1.5s ease-in-out infinite alternate;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 140, 0, 0.9), rgba(255, 69, 0, 0.7), rgba(255, 0, 0, 0.5));
   

    /* Effet de flamme intense */
    box-shadow:
        inset 0 0 50px #ff0,      /* inner yellow */
        inset 20px 0 80px #f90,   /* inner left orange short */
        inset -20px 0 80px #f30,  /* inner right red short */
        inset 20px 0 300px #f90,  /* inner left orange broad */
        inset -20px 0 300px #f30, /* inner right red broad */
        0 0 50px #ff0,            /* outer yellow */
        -10px 0 80px #f90,        /* outer left orange */
        10px 0 80px #f30;         /* outer right red */
}

/* Animation de rotation */
@keyframes rotateGlow {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Animation d’ondulation et de pulsation des flammes */
@keyframes pulsateFlame {
    0% { box-shadow: 
        inset 0 0 60px #ff0,
        inset 20px 0 100px #f90,
        inset -20px 0 100px #f30,
        inset 20px 0 320px #f90,
        inset -20px 0 320px #f30,
        0 0 60px #ff0,
        -10px 0 100px #f90,
        10px 0 100px #f30;
    }
    100% { box-shadow: 
        inset 0 0 40px #ff0,
        inset 20px 0 60px #f90,
        inset -20px 0 60px #f30,
        inset 20px 0 280px #f90,
        inset -20px 0 280px #f30,
        0 0 40px #ff0,
        -10px 0 60px #f90,
        10px 0 60px #f30;
    }
}

.effect-vfx.indestructibility{width: 55px;
  top: -30px;
   filter: drop-shadow(0 0 5px rgba(255, 246, 243, 0.40));}
  
  .effect-vfx.esoterism{position: absolute;
  width: 60px;
 filter: drop-shadow(0 0 10px rgba(255, 184, 227, 0.8));}
 
.effect-vfx.mysticism{position: absolute;
  width: 150px;
  height: 150px;
  filter: drop-shadow(0 0 10px rgba(192, 250, 255));
 top:45px;
  opacity:1;
   -webkit-mask-image: linear-gradient( to top, transparent 0%, black 10%,  black 100% );
  mask-image: linear-gradient( to top, transparent 0%, black 10%, black 100% );
   transform: translate(-50%, -50%);
  transform-origin: bottom center;
  object-fit: contain;
  pointer-events: none;
}

.effect-vfx.mysticism.mysticism-pop {
  animation: mysticismScaleIn 500ms ease-out forwards;
}

.effect-vfx.mysticism.mysticism-fade-out {
  animation: mysticismFadeOut 350ms ease-in forwards;
}
.projectile.mysticism-aura {
  box-shadow:
    0 0 8px rgba(255, 255, 255, 1),
    0 0 18px rgba(210, 235, 255, 0.95),
    0 0 34px rgba(150, 205, 255, 0.85);
  animation: mysticismProjectileAura 0.45s ease-in-out infinite alternate;
}

.projectile-parent.mysticism-projectile::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(255,255,255,0.95) 0%,
    rgba(210,235,255,0.65) 35%,
    rgba(120,180,255,0.25) 65%,
    rgba(120,180,255,0) 100%
  );
  pointer-events: none;
  z-index: -1;
  animation: mysticismProjectileHalo 0.55s ease-in-out infinite alternate;
}

@keyframes mysticismProjectileAura {
  from {
    transform: scale(1);
    opacity: 0.85;
  }
  to {
    transform: scale(1.18);
    opacity: 1;
  }
}

@keyframes mysticismProjectileHalo {
  from {
    transform: translate(-50%, -50%) scale(0.85);
    opacity: 0.65;
  }
  to {
    transform: translate(-50%, -50%) scale(1.25);
    opacity: 1;
  }
}
@keyframes mysticismBarBlink {
  0% {
    filter: brightness(1);
    background-position: 0% 50%;
  }

  50% {
    filter: brightness(2);
    background-position: 100% 50%;
  }

  100% {
    filter: brightness(1);
    background-position: 0% 50%;
  }
}
.effect-vfx.mysticism-attack {
left: 100%;
  top: 50%;
  width: 60px;
  height: 150px;
  object-fit: contain;
  transform: translate(-50%, -5%);
  z-index: 35; filter: drop-shadow(0 0 10px rgba(192, 250, 255));
}

.effect-vfx.mysticism-attack.side-b {
  transform: translate(-250%, -5%) scaleX(-1);
}
.effect-vfx.balance-strike {
height: 85px;
top: -100px;
filter: drop-shadow(0 0 10px rgba(226, 189, 255));}

.bloodCrazy-aura-fx {
  filter:
    hue-rotate(70deg)
    saturate(3)
   
    contrast(1.5)
    drop-shadow(0 0 6px #ff0000);
  mix-blend-mode: screen;
}
.current-shift.current.bounce-shift {
  display: inline-block;
  animation: bounceOnce 0.5s ease;
  filter: drop-shadow(0 0 6px #ff9100);
  color:#ff9100;
}