/* FAQ accueil — accordéon natif <details>, cohérent avec la charte vitrine */
.faq-accueil { padding: 5rem 0; background: #fff; }
.faq-header { max-width: 680px; margin: 0 auto 2.5rem; }
.faq-tag {
  display: inline-block; font-size: .8rem; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: var(--primary, #2563EB);
  background: rgba(37, 99, 235, .08); padding: .35rem .9rem; border-radius: 999px; margin-bottom: 1rem;
}
.faq-header h2 {
  font-size: clamp(1.7rem, 3vw, 2.4rem); font-weight: 800; color: var(--text-main, #0F172A);
  margin: 0 0 .6rem; line-height: 1.15;
}
.faq-header p { color: #64748B; font-size: 1.05rem; margin: 0; }
.faq-list { max-width: 820px; margin: 0 auto; display: flex; flex-direction: column; gap: .85rem; }
.faq-item {
  border: 1px solid rgba(15, 23, 42, .1); border-radius: 16px; background: #fff; overflow: hidden;
  transition: border-color .2s, box-shadow .2s;
}
.faq-item[open] { border-color: rgba(37, 99, 235, .35); box-shadow: 0 8px 30px rgba(15, 23, 42, .06); }
.faq-item summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; padding: 1.25rem 1.5rem; font-weight: 600; font-size: 1.05rem; color: var(--text-main, #0F172A);
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary .material-symbols-rounded { flex: none; color: var(--primary, #2563EB); transition: transform .25s; }
.faq-item[open] summary .material-symbols-rounded { transform: rotate(180deg); }
.faq-answer { padding: 0 1.5rem 1.4rem; color: #475569; line-height: 1.7; }
.faq-answer p { margin: 0; }
@media (max-width: 640px) {
  .faq-accueil { padding: 3.5rem 0; }
  .faq-item summary { padding: 1.1rem 1.2rem; font-size: 1rem; }
  .faq-answer { padding: 0 1.2rem 1.2rem; }
}
