/* Hero background gradient class (mantenuta per compatibilità) */
.hero-bg {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}

/* Effetto Card hover */
.card-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
  transform: translateY(-10px);
  box-shadow: 0 10px 30px rgba(2,6,23,0.08);
}

/* Skill bars */
.skill-bar {
  height: 8px;
  border-radius: 4px;
  background: #e2e8f0;
  overflow: hidden;
}
.skill-progress {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #667eea, #764ba2);
}

/* Soft chip gradient animation */
.soft-chip {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 9999px;
  font-weight: 500;
  color: white;
  background: linear-gradient(90deg, #1d4ed8, #2563eb, #3b82f6, #60a5fa);
  background-size: 300% 100%;
  animation: gradientFlow 2s linear infinite;
}
@keyframes gradientFlow {
  0% { background-position: 300% 0; }
  100% { background-position: 0 0; }
}

/* Navbar hide/show trasformazione iniziale (mantiene il comportamento inline style)*/
nav {
  transform: translateY(-100%);
  transition: transform 0.3s ease-in-out;
}
nav.show {
  transform: translateY(0);
}

/* Piccola modifica responsive per hero title */
@media (max-width: 640px) {
  #hero-title { font-size: 2.25rem; }
}

/* Utilità: assicurati che le immagini non trabocchino (overflow) */
img { max-width: 100%; height: auto; display: block; }



/* mostra indicatore di focus solo quando è utile (ad es. navigazione da tastiera),
   ma non quando l'utente clicca con il mouse */
a:focus, button:focus {
  outline: none;
  box-shadow: none;
}

/* mostra il bordo quando il focus è realmente visibile (keyboard) */
a:focus-visible, button:focus-visible {
  outline: 3px solid rgba(99,102,241,0.18);
  outline-offset: 2px;
}


/* Optional: nicer anchor smooth-scroll offset shim for fixed header */
/* If you want content not to hide under fixed nav, you could add: */
:target::before {
  content: "";
  display: block;
  height: 72px; /* approximate navbar height */
  margin-top: -72px;
  visibility: hidden;
}



/*da sistemare responsive mobile, no lingua no centrato footer*/