/* Responsive overrides */

/* FAQ accordion */
.faq { background: var(--bg); }
.faq-list { display: flex; flex-direction: column; gap: 4px; }
.faq-item {
  border-bottom: 1px solid var(--border);
}
.faq-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 4px;
  text-align: left;
  font-family: var(--ff-display);
  font-size: clamp(1.05rem, 2.2vw, 1.2rem);
  color: var(--text);
  font-weight: 500;
}
.faq-chevron {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--accent-soft);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  transition: transform var(--t-base), background var(--t-fast);
  position: relative;
}
.faq-chevron::before,
.faq-chevron::after {
  content: "";
  position: absolute;
  background: var(--accent);
  border-radius: 2px;
}
.faq-chevron::before { width: 12px; height: 1.5px; }
.faq-chevron::after { width: 1.5px; height: 12px; transition: transform var(--t-base); }
.faq-trigger[aria-expanded="true"] .faq-chevron::after { transform: rotate(90deg); }
.faq-trigger[aria-expanded="true"] .faq-chevron { background: var(--accent); }
.faq-trigger[aria-expanded="true"] .faq-chevron::before,
.faq-trigger[aria-expanded="true"] .faq-chevron::after { background: #fff; }
.faq-answer {
  padding: 0 4px 22px;
  font-size: 0.96rem;
  color: var(--text-2);
  max-width: 64ch;
}

/* Mobile spacing fix : burger en haut a droite, jamais a gauche */
@media (max-width: 767px) {
  .nav-desk { display: none; }
  /* Le header montre seulement logo + burger fixed */
  .site-header__inner { padding-right: 70px; }
}

/* Anti scroll horizontal — sentinel */
img, iframe, video { max-width: 100%; }

/* wf-noxoverflow : reveal vertical (le slide horizontal deborde la largeur sur mobile) */
[data-reveal]:not(.in){ transform: translateY(18px) !important; }
