/* faq.css — плавная анимация раскрытия FAQ */

.faq-answer-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition:
    grid-template-rows 0.55s cubic-bezier(0.25, 0.8, 0.25, 1),
    opacity 0.45s ease;
  opacity: 0;
}

.faq-item.open .faq-answer-wrap {
  grid-template-rows: 1fr;
  opacity: 1;
}

.faq-answer {
  overflow: hidden;
  padding: 0 25px;
  color: #aaa;
  font-family: 'SiteFont', Arial, sans-serif;
  font-size: 15px;
  line-height: 1.6;
  transition: padding 0.55s cubic-bezier(0.25, 0.8, 0.25, 1);
  will-change: padding;
}

.faq-item.open .faq-answer {
  padding: 20px 25px;
}

.faq-arrow {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  position: relative;
  transition: transform 0.55s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.faq-item.open .faq-arrow {
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .faq-answer {
    font-size: 14px;
    padding: 0 18px;
  }

  .faq-item.open .faq-answer {
    padding: 16px 18px;
  }
}