/* Pages de texte : éditoriales et légales */
.prose { max-width: 72ch; }
.prose > * + * { margin-top: 1.1em; }
.prose h2 {
  margin-top: 2em;
  font-size: clamp(24px, 2.6vw, 32px);
  font-stretch: 105%;
}
.prose > h2:first-child { margin-top: 0; }
.prose h3 { margin-top: 1.7em; font-size: 21px; font-weight: 750; font-stretch: 105%; }
.prose h2 + *, .prose h3 + * { margin-top: .7em; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li + li { margin-top: .45em; }
.prose li::marker { color: var(--outremer); font-weight: 700; }
.prose code { font-size: .92em; padding: .1em .35em; border-radius: 6px; background: var(--blanc); }
.prose sup { font-size: .7em; line-height: 0; }

/* Tableaux : défilent dans leur cadre sur petit écran, jamais la page */
.tableau-defile { max-width: 100%; overflow-x: auto; border-radius: 16px; background: var(--blanc); }
.prose table { width: 100%; min-width: 460px; border-collapse: collapse; font-size: 15px; }
.prose th, .prose td { padding: 13px 16px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--filet); }
.prose tbody tr:last-child > * { border-bottom: 0; }
.prose thead th {
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gris);
}
.prose tbody th { font-weight: 700; }
.chiffre { font-variant-numeric: tabular-nums; white-space: nowrap; font-weight: 700; }

/* Fiche (mentions légales) */
.fiche { display: grid; grid-template-columns: minmax(140px, 220px) minmax(0, 1fr); gap: 10px 20px; }
.fiche dt { font-weight: 700; color: var(--gris); }
.fiche dd { margin: 0; }
@media (max-width: 560px) {
  .fiche { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .fiche dd { margin-bottom: 12px; }
}

/* Questions fréquentes */
.faq { border-top: 1px solid var(--filet-fort); }
.faq details { border-bottom: 1px solid var(--filet-fort); }
.faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 64px;
  padding: 14px 0;
  cursor: pointer;
  list-style: none;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary h2 { margin: 0; font-size: 21px; font-weight: 750; font-stretch: 105%; }
.faq summary::after {
  content: "";
  flex: none;
  width: 11px; height: 11px;
  margin-right: 8px;
  border-right: 3px solid var(--outremer);
  border-bottom: 3px solid var(--outremer);
  transform: translateY(-3px) rotate(45deg);
  transition: transform .35s var(--ease-swap);
}
.faq details[open] summary::after { transform: translateY(3px) rotate(-135deg); }
.faq-reponse { padding: 0 0 22px; max-width: 64ch; }
.faq-reponse > * + * { margin-top: .8em; }

.etat h2 { font-size: 22px; font-weight: 750; font-stretch: 105%; margin-bottom: 8px; }
.etat { max-width: 72ch; }
