/* Adaptation locale de LAY-34 : questionnaire, score et familles de pratiques. */
.fp-report-shell { padding-bottom: 64px; }
.fp-report-shell .rr-hero { padding-top: 54px; }
.fp-report-shell .rr-hero-title { max-width: 18ch; }
.fp-report-shell .rr-hero-sub { max-width: 65ch; }
.fp-personal-report { --rr-color: var(--ds-blue); --rr-text: var(--ds-text); overflow-wrap: anywhere; }
.fp-report-form { max-width: 920px; margin: 42px auto 64px; }
.fp-report-form h2, .fp-report-results h2 { font-size: var(--ds-fs-7); line-height: 1.15; letter-spacing: -.03em; }
.fp-report-form > p, .fp-report-results p { color: var(--ds-text-3); line-height: 1.6; }
.fp-report-progress { font-family: var(--ds-font-mono); font-size: var(--ds-fs-1); margin: 24px 0; }
.fp-report-question { min-width: 0; padding: 24px 0; border: 0; border-top: 1px solid var(--ds-line); scroll-margin-top: 110px; }
.fp-report-question legend { padding: 12px 0 0; font-size: var(--ds-fs-4); font-weight: 600; line-height: 1.4; }
.fp-report-question legend > span { font-family: var(--ds-font-mono); color: var(--ds-blue); margin-right: 10px; font-size: var(--ds-fs-1); }
.fp-report-options { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.fp-report-options label { display: flex; gap: 9px; align-items: center; padding: 13px 15px; border: 1px solid var(--ds-line); border-radius: 8px; cursor: pointer; font-size: var(--ds-fs-2); }
.fp-report-options label:has(input:checked) { background: var(--ds-blue-soft); border-color: var(--ds-blue); }
.fp-report-options label:focus-within { outline: 2px solid var(--ds-blue); outline-offset: 3px; }
.fp-report-options input { accent-color: var(--ds-blue); width: 18px; height: 18px; flex: none; }
.fp-report-controls { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.fp-report-privacy { font-size: var(--ds-fs-1); }
.fp-report-results { padding-top: 30px; border-top: 1px solid var(--ds-line); scroll-margin-top: 110px; }
.fp-report-results:focus-visible { outline: 2px solid var(--ds-blue); outline-offset: 8px; }
.fp-report-update { font-size: var(--ds-fs-1); margin-bottom: 24px; }
.fp-report-result-grid { align-items: center; }
.fp-report-families { margin: 36px 0; }
.fp-report-families .rd-crit-card { padding: 24px; min-width: 0; }
.fp-report-families h3 { font-size: var(--ds-fs-5); line-height: 1.2; }
.fp-report-families progress { width: 100%; accent-color: var(--ds-blue); height: 9px; margin: 18px 0 10px; }
.fp-report-families span { font-family: var(--ds-font-mono); font-size: var(--ds-fs-1); }
.fp-report-priority-title { font-size: var(--ds-fs-6); margin-top: 36px; }
.fp-report-priorities { padding-left: 24px; }
.fp-report-priorities li { padding: 16px 0 20px 8px; border-bottom: 1px solid var(--ds-line); }
.fp-report-priorities p { margin: 0 0 7px; }
.fp-report-priorities a { color: var(--ds-blue); text-decoration: underline; text-underline-offset: 3px; }
.fp-report-clear { padding: 24px; background: var(--ds-bg-soft); }
.fp-personal-report .rr-cta-band { margin-top: 48px; }
.fp-report-fallback { margin: 32px 0; padding: 24px; border: 1px solid var(--ds-line); }
@media (max-width: 640px) {
  .fp-report-shell .rr-hero-title { font-size: var(--ds-fs-7); }
  .fp-report-options { flex-direction: column; }
  .fp-report-options label { min-height: 48px; }
  .fp-report-families { grid-template-columns: 1fr; }
  .fp-personal-report .rr-gauge-row { flex-wrap: wrap; }
  .fp-personal-report .rr-score-card-body { padding: 20px; }
  .fp-personal-report .rr-cta-band { grid-template-columns: 1fr; }
  .fp-personal-report .rr-cta-title { font-size: var(--ds-fs-6); }
}
