/* ===== FAQ — layout 2 colonnes (migration fidèle) ===== */
.faq { position: relative; background-color: var(--blanc-ivoire); padding: 6rem 6rem; overflow: hidden; }
.faq__inner { max-width: var(--max-width); margin: 0 auto; }
.faq__layout { display: grid; grid-template-columns: 1fr 1.3fr; gap: 5rem; align-items: start; }

.faq__header { display: flex; flex-direction: column; gap: 1.5rem; position: sticky; top: 6rem; }
.faq__title { font-family: var(--font-titre); color: var(--noir-onyx); font-size: clamp(2rem, 4vw, 3rem); line-height: 1; font-weight: 400; letter-spacing: 0.3px; }
.faq__title-mark { color: var(--bleu-cobalt); }
.faq__intro { color: var(--noir-onyx); max-width: 420px; text-align: justify; }

.faq__more {
    display: inline-flex; align-items: center; justify-content: center; gap: var(--btn-gap);
    padding: var(--btn-padding-y) var(--btn-padding-x); border-radius: var(--btn-radius); border: 2px solid transparent;
    background-color: var(--bleu-cobalt); color: var(--blanc-ivoire);
    font-family: var(--font-corps); font-weight: var(--btn-font-weight); font-size: var(--btn-font-size);
    text-transform: uppercase; letter-spacing: var(--btn-letter-spacing); line-height: var(--btn-line-height);
    text-decoration: none; align-self: flex-start; transition: var(--btn-transition);
}
.faq__more svg { width: var(--btn-icon-svg); height: var(--btn-icon-svg); }
.faq__more:hover { background-color: var(--noir-onyx); color: var(--blanc-ivoire); }

.faq__list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid rgba(31,31,31,0.15); transition: border-color 0.3s ease; }
.faq-item:first-child { border-top: 1px solid rgba(31,31,31,0.15); }
.faq-item__question {
    display: flex; justify-content: space-between; gap: 1.5rem; padding: 1.4rem 0; cursor: var(--cursor-link); list-style: none;
    font-family: var(--font-titre); font-size: clamp(1rem, 1.5vw, 1.15rem); color: var(--noir-onyx); line-height: 1.3; font-weight: 400; letter-spacing: 0.3px; transition: color 0.2s ease;
}
.faq-item__question::-webkit-details-marker { display: none; }
.faq-item:hover .faq-item__question { color: var(--bleu-cobalt); }
.faq-item__icon { width: 24px; height: 24px; flex-shrink: 0; color: var(--noir-onyx); display: inline-flex; align-items: center; justify-content: center; transition: color 0.2s ease; }
.faq-item__icon svg { width: 100%; height: 100%; }
.faq-item__icon-minus { display: none; }
.faq-item[open] .faq-item__icon-plus { display: none; }
.faq-item[open] .faq-item__icon-minus { display: block; }
.faq-item[open] .faq-item__question { color: var(--noir-onyx); }
.faq-item__answer { padding: 0 0 1.5rem; animation: faqSlideDown 0.3s ease; }
.faq-item__answer p { color: var(--noir-onyx); max-width: 620px; margin: 0 0 0.6rem; text-align: justify; }
.faq-item__answer ul, .faq-item__answer ol { margin: 0.4rem 0 0.8rem; }
@keyframes faqSlideDown { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 1024px) {
    .faq__layout { grid-template-columns: 1fr; gap: 3rem; }
    .faq__header { position: static; }
}
@media (max-width: 640px) {
    .faq { padding: 4rem 1.25rem; }
    .faq-item__question { padding: 1.1rem 0; gap: 1rem; }
}
