/* =========================================================
   FAQ — accordéon accessible
   ========================================================= */

.faq__list {
  border-top: 1px solid var(--color-border);
}

.faq__item { border-bottom: 1px solid var(--color-border); }

.faq__heading { margin: 0; }

.faq__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  width: 100%;
  min-height: 64px;
  padding-block: var(--space-sm);
  text-align: left;
  color: var(--color-ink);
  transition: color var(--duration-fast) var(--ease-out);
}

.faq__trigger:hover { color: var(--color-green-deep); }

.faq__question {
  font-family: var(--font-body);
  font-size: var(--text-body);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-snug);
}

.faq__icon {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  color: var(--color-green);
  transition: transform var(--duration-base) var(--ease-out);
}

.faq__trigger[aria-expanded="true"] .faq__icon { transform: rotate(45deg); }

.faq__panel[hidden] { display: none; }

.faq__answer {
  padding-bottom: var(--space-md);
  max-width: 62ch;
}

/* Ouverture animée sans hauteur fixe */
.faq__panel:not([hidden]) {
  animation: faq-open var(--duration-base) var(--ease-out);
}

@keyframes faq-open {
  from { opacity: 0; transform: translateY(-4px); }
  to   { opacity: 1; transform: translateY(0); }
}