.faq {
  margin-top: 47px;
}

.faq-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26px;
}

.faq-intro {
  display: flex;
  flex-direction: column;
  gap: 31px;
}

.faq-intro-title {
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  color: var(--color-text-primary);
}

.faq-intro-description {
  font-size: 16px;
  font-weight: 500;
  line-height: 2.17;
  color: var(--color-text-secondary);
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 25px;
  align-items: flex-end;
}

.faq-accordion-item {
  background: linear-gradient(to bottom, #a67cff, #793bfc);
  border-radius: 18px;
  padding: 30px;
  cursor: pointer;
  transition: all 0.3s ease;
}

.faq-accordion-header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 11px;
  align-items: center;
}

.faq-accordion-icon {
  width: 23px;
  height: 23px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.3s ease;
}

.faq-accordion-icon svg {
  width: 100%;
  height: 100%;
}

.faq-accordion-item.active .faq-accordion-icon {
  transform: rotate(180deg);
}

.faq-accordion-question {
  font-family: var(--font-secondary);
  font-size: 22.5px;
  font-weight: 900;
  line-height: 1.35;
  color: var(--color-text-primary);
}

.faq-accordion-answer {
  font-family: var(--font-secondary);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.66;
  color: var(--color-text-primary);
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease, padding-top 0.3s ease;
  padding-left: 50px;
}

.faq-accordion-item.active .faq-accordion-answer {
  max-height: 500px;
  padding-top: 18px;
}

@media (max-width: 1024px) {
  .faq-wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .faq-accordion-item {
    width: 100%;
  }
}

@media (max-width: 768px) {
  .faq {
    margin-top: 30px;
  }

  .faq-intro-title {
    font-size: 36px;
  }

  .faq-accordion-question {
    font-size: 18px;
  }

  .faq-accordion-answer {
    font-size: 16px;
    padding-left: 34px;
  }
}
