.faq-accordion {
  max-width: 800px;
  margin: 0 auto;
}
.faq-item {
  border-bottom: 1px solid #e0e0e0;
}
.faq-question {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  padding: 20px 40px 20px 0;
  cursor: pointer;
  position: relative;
  color: #000000;
}
.faq-question::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.4em;
  font-weight: 300;
  transition: transform 0.3s ease;
}
.faq-question.active::after {
  content: "−";
  transform: translateY(-50%) rotate(180deg);
}
/* TRANSIZIONE: usa max-height invece di display */
.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease;
  padding: 0;
  color: #444444;
  line-height: 1.6;
}
.faq-answer.open {
  max-height: 600px; /* valore abbastanza grande da contenere qualsiasi risposta */
  padding: 0 0 16px 0;
}