/* ============================================
   CAREER LAUNCH KIT — GLOBAL ANIMATION SYSTEM
   ============================================ */

.clk-fade-up {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}
.clk-fade-up.visible { opacity: 1; transform: translateY(0); }

.clk-fade-in {
  opacity: 0;
  transition: opacity 0.5s ease;
}
.clk-fade-in.visible { opacity: 1; }

.clk-slide-left {
  opacity: 0;
  transform: translateX(-24px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.clk-slide-left.visible { opacity: 1; transform: translateX(0); }

.clk-slide-right {
  opacity: 0;
  transform: translateX(24px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.clk-slide-right.visible { opacity: 1; transform: translateX(0); }

.clk-scale-in {
  opacity: 0;
  transform: scale(0.92);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.clk-scale-in.visible { opacity: 1; transform: scale(1); }

.clk-delay-1 { transition-delay: 0.08s; }
.clk-delay-2 { transition-delay: 0.16s; }
.clk-delay-3 { transition-delay: 0.24s; }
.clk-delay-4 { transition-delay: 0.32s; }
.clk-delay-5 { transition-delay: 0.40s; }

@keyframes clk-pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37,99,235,0.4); }
  50%       { box-shadow: 0 0 0 10px rgba(37,99,235,0); }
}
.clk-pulse { animation: clk-pulse-glow 2.5s infinite; }

@keyframes clk-shimmer {
  0%   { background-position: -400px 0; }
  100% { background-position: 400px 0; }
}
.clk-shimmer {
  background: linear-gradient(90deg, #f0f4f8 25%, #e2e8f0 50%, #f0f4f8 75%);
  background-size: 800px 100%;
  animation: clk-shimmer 1.5s infinite;
  border-radius: 8px;
}

@keyframes clk-bounce-in {
  0%   { transform: scale(0); opacity: 0; }
  60%  { transform: scale(1.15); opacity: 1; }
  80%  { transform: scale(0.95); }
  100% { transform: scale(1); }
}
.clk-bounce-in { animation: clk-bounce-in 0.55s cubic-bezier(0.34,1.56,0.64,1) both; }

@keyframes clk-bar-fill {
  from { width: 0%; }
  to   { width: var(--target-width); }
}
.clk-bar-animate {
  animation: clk-bar-fill 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  animation-delay: 0.3s;
  width: 0%;
}

@keyframes clk-float {
  0%, 100% { transform: translateY(0px); }
  50%       { transform: translateY(-6px); }
}
.clk-float { animation: clk-float 3s ease-in-out infinite; }

.clk-card-hover {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.clk-card-hover:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(37,99,235,0.12);
}

@keyframes clk-toast-in {
  from { transform: translateX(120%); opacity: 0; }
  to   { transform: translateX(0);    opacity: 1; }
}
@keyframes clk-toast-out {
  from { transform: translateX(0);    opacity: 1; }
  to   { transform: translateX(120%); opacity: 0; }
}
.clk-toast {
  position: fixed;
  bottom: 6rem;
  right: 1.5rem;
  background: #1e293b;
  color: white;
  padding: 0.85rem 1.25rem;
  border-radius: 12px;
  font-size: 0.875rem;
  font-weight: 600;
  z-index: 9998;
  max-width: 300px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.2);
  animation: clk-toast-in 0.35s ease forwards;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.clk-toast.hiding { animation: clk-toast-out 0.35s ease forwards; }

.clk-counter { display: inline-block; }
.clk-reveal   { opacity: 0; }
