/* 11 — FAQ */
.faq {
  background: var(--color-purple-01);
  border-top-right-radius: 200px;
  padding: 80px 0 32px;
}

.faq__deco {
  position: absolute;
  top: -102px;
  right: -109px;
  width: 361px;
  height: 506px;
  max-width: none;
  object-fit: cover;
  object-position: bottom;
  pointer-events: none;
}

.faq__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: calc(1240px + var(--gutter) * 2);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.faq__title { margin-bottom: 34px; text-align: center; color: var(--color-purple-02); }

.faq__list { display: flex; flex-direction: column; gap: var(--space-1); list-style: none; }

.faq__item {
  padding: var(--space-3);
  border: 1px solid var(--color-purple-02);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.53);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.faq__trigger {
  display: flex;
  align-items: flex-start;
  width: 100%;
  text-align: left;
  color: var(--color-primary);
  font-size: var(--fs-body-lg);
  font-weight: var(--fw-bold);
  line-height: var(--lh-body);
  cursor: pointer;
}
.faq__num { display: flex; flex: 0 0 30px; justify-content: flex-end; padding-right: 6px; white-space: nowrap; }
.faq__question { flex: 1 1 auto; min-width: 0; }
.faq__accent { color: var(--color-purple-02); }
.faq__chevron { flex: none; width: 28px; height: 28px; margin-left: var(--space-2); transition: transform var(--transition); }
.faq__trigger[aria-expanded="true"] .faq__chevron { transform: rotate(180deg); }
.faq__trigger:focus-visible { outline: 2px solid var(--color-purple-02); outline-offset: 6px; border-radius: var(--radius-sm); }

.faq__panel { padding-top: var(--space-2); }
.faq__panel[hidden] { display: none; }
.faq__answer { font-size: var(--fs-body-lg); font-weight: var(--fw-light); line-height: var(--lh-body); color: var(--color-black); }

@media (max-width: 1024px) {
  .faq { border-top-right-radius: 120px; padding-top: 64px; }
  .faq__deco { width: 240px; height: 336px; right: -80px; }
}
@media (max-width: 640px) {
  .faq { border-top-right-radius: 64px; padding: 48px 0 24px; }
  .faq__deco { width: 160px; height: 224px; right: -60px; top: -60px; }
  .faq__title { margin-bottom: var(--space-3); }
  .faq__item { padding: var(--space-2); }
  .faq__trigger { font-size: 18px; }
  .faq__num { flex-basis: 26px; }
  .faq__answer { font-size: 18px; }
}
@media (prefers-reduced-motion: reduce) { .faq__chevron { transition: none; } }

/* Lista dentro de uma resposta */
.faq__answer-list { margin: 8px 0 0; padding-left: 24px; list-style: disc; font-size: var(--fs-body-lg); font-weight: var(--fw-light); line-height: var(--lh-body); color: var(--color-black); }
@media (max-width: 640px) { .faq__answer-list { font-size: 18px; } }
.faq__answer-list li + li { margin-top: 4px; }
.faq__answer-list strong { font-weight: var(--fw-bold); }
