/* Accessibilité : contrastes (WCAG 2.1 AA), focus visible, lien d'évitement.
   Chargé en dernier : corrige les couleurs trop faibles sans toucher aux autres feuilles. */

/* Texte sombre sur les boutons orange (le blanc ne donnait que ~2,3:1) */
.quote-primary-button,
.solid-button,
.quote-button,
.quote-step.is-current .quote-step__number { color: #0b0c0e; }

/* Textes secondaires et placeholders trop pâles sur fond sombre */
.account-form input::placeholder { color: #8a9097; }
.account-soon { color: #8d949b; }
.wf-media-slot__content { color: #9a9c9c; }
.preview-placeholder { color: #9aa0a6; }
.catalogue-placeholder { color: #a0a0a0; }
.qr-pack-card button { color: #a3a9ae; }
.legal-hero small { color: #a6a7a7; }

/* Lien d'évitement : visible uniquement au clavier */
.skip-link {
  position: absolute; left: 12px; top: -64px; z-index: 10000;
  padding: 12px 18px; border-radius: 8px;
  background: #ffb32b; color: #0b0c0e; font-weight: 800; text-decoration: none;
}
.skip-link:focus { top: 12px; }

/* Focus clavier toujours visible */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline: 3px solid #ffb32b; outline-offset: 3px;
}

/* Respect de la préférence « réduire les animations » */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Cases de consentement (inscription, paiement) */
.legal-consent { display: flex; gap: 12px; align-items: flex-start; margin: 14px 0; color: #e9e6df; font-size: .92rem; line-height: 1.5; cursor: pointer; text-align: left; }
.legal-consent input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 2px; accent-color: #ff9900; }
.legal-consent a, .legal-consent-note a { color: #ffb32b; text-decoration: underline; }
.legal-consent-note { margin: 0 0 18px; color: #b9b5ae; font-size: .85rem; line-height: 1.5; }

/* Sous-titres des pages légales */
.legal-card h3 { margin: 20px 0 6px; font-size: 1rem; color: #ffb32b; }
.legal-card ul { padding-left: 20px; }
.legal-card code { padding: 1px 6px; border-radius: 4px; background: rgba(255,255,255,.1); font-size: .9em; }

/* Pied de page : les liens légaux passent à la ligne au lieu de déborder de l'écran */
.wf-footer__right,.wf-footer__legal{flex-wrap:wrap}
.wf-footer__legal{row-gap:8px}
@media (max-width:1600px){
  .wf-footer__inner{flex-direction:column;align-items:flex-start;padding:22px 0;row-gap:16px}
  .wf-footer__contact,.wf-footer__right{width:100%}
  .wf-footer__right{justify-content:space-between}
}
@media (max-width:560px){
  .wf-footer__legal a{padding:6px 14px 6px 0;margin-right:0;border-right:0;white-space:normal}
}
