/* ——— Feedback de sucesso/erro do contato ——— */
.feedback-mensagem {
  display: none;
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.25rem;
  font-size: 0.95rem;
  line-height: 1.4;
  transition: opacity 0.3s ease, transform 0.3s ease;
  opacity: 0;
  transform: translateY(-10px);
}

/* garante ocultar de vez, sem chance de ser sobrescrito */
.feedback-mensagem.hide {
  display: none !important;
}


.feedback-mensagem.sucesso {
  display: block;
  background-color: var(--color-success, #28a745);
  color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  opacity: 1;
  transform: translateY(0);
  position: relative;
  padding-left: 2.5rem; /* espaço para o ícone */
}

/* pseudo-elemento para o ✔️ (requer FontAwesome) */
.feedback-mensagem.sucesso::before {
  content: "\f058";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  color: #fff;
}

/* ——— Feedback de erro do contato ——— */
.feedback-mensagem.erro {
  display: block;
  background-color: var(--color-error, #dc3545);
  color: #fff;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  opacity: 1;
  transform: translateY(0);
  position: relative;
  padding-left: 2.5rem; /* espaço para o ícone */
}

/* pseudo-elemento para o ⚠️ (requer FontAwesome) */
.feedback-mensagem.erro::before {
  content: "\f071"; /* exclamation-triangle */
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.2rem;
  color: #fff;
}

/* ——— Fade-out via animação, sem depender de display nem inline-style ——— */
@keyframes fade-out {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-10px);
  }
}

/* Classe que dispara o fade-out e mantém o estado final (forwards) */
.feedback-mensagem.fade-out {
  animation: fade-out 0.3s ease forwards;
}

