/* PASISIMPLE 2.8.50.19 — règle non négociable de contraste.
   Aucun texte foncé sur un fond bleu, bleu marine, turquoise ou vert soutenu. */
.public-body :is(a.primary-button,button.primary-button,.big-submit,.promise-primary),
.public-body :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):visited,
.public-body :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):hover,
.public-body :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):focus,
.public-body :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):active,
.mobile-mode :is(a.primary-button,button.primary-button,.big-submit,.promise-primary),
.mobile-mode :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):visited,
.mobile-mode :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):hover,
.mobile-mode :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):focus,
.mobile-mode :is(a.primary-button,button.primary-button,.big-submit,.promise-primary):active {
  color:#fff!important;
}
.public-body :is(a.primary-button,button.primary-button,.big-submit,.promise-primary) :is(span,strong,small,b,em),
.mobile-mode :is(a.primary-button,button.primary-button,.big-submit,.promise-primary) :is(span,strong,small,b,em){color:#fff!important}

/* Les boutons secondaires restent volontairement foncés sur fond clair. */
.public-body :is(a.secondary-button,button.secondary-button),
.mobile-mode :is(a.secondary-button,button.secondary-button){color:#12355b!important}

/* Le Compagnon reprend la même règle quelle que soit la feuille globale chargée avant lui. */
.companion-page :is(.primary-button,.companion-download),
.companion-page :is(.primary-button,.companion-download):visited,
.companion-page :is(.primary-button,.companion-download):hover,
.companion-page :is(.primary-button,.companion-download):focus,
.companion-page :is(.primary-button,.companion-download):active{background:#123b63!important;border-color:#123b63!important;color:#fff!important}
.companion-page :is(.primary-button,.companion-download) *{color:#fff!important}

/* 2.8.50.20 — garde-fou contraste global PASISIMPLE.
   Tout composant à fond sombre connu fixe explicitement ses textes clairs,
   y compris les descendants et les états de liens/boutons. */
.public-body :is(.companion-promise,.psv-home-news-window-head,.psv-chatbot-header,.psv-chatbot-launcher,.promise-card,.update-banner),
.public-body :is(.companion-promise,.psv-home-news-window-head,.psv-chatbot-header,.psv-chatbot-launcher,.promise-card,.update-banner) :is(h1,h2,h3,h4,p,strong,b,span,small,em,label),
.mobile-mode :is(.companion-promise,.psv-home-news-window-head,.psv-chatbot-header,.psv-chatbot-launcher,.promise-card,.update-banner),
.mobile-mode :is(.companion-promise,.psv-home-news-window-head,.psv-chatbot-header,.psv-chatbot-launcher,.promise-card,.update-banner) :is(h1,h2,h3,h4,p,strong,b,span,small,em,label){color:#fff!important}
.public-body .companion-promise .eyebrow,.mobile-mode .companion-promise .eyebrow{color:#8df3e8!important}
.public-body :is(.psv-chatbot-send,.contact-send-button,.danger-button),
.public-body :is(.psv-chatbot-send,.contact-send-button,.danger-button):visited,
.public-body :is(.psv-chatbot-send,.contact-send-button,.danger-button):hover,
.public-body :is(.psv-chatbot-send,.contact-send-button,.danger-button):focus,
.public-body :is(.psv-chatbot-send,.contact-send-button,.danger-button):active,
.mobile-mode :is(.psv-chatbot-send,.contact-send-button,.danger-button),
.mobile-mode :is(.psv-chatbot-send,.contact-send-button,.danger-button):visited,
.mobile-mode :is(.psv-chatbot-send,.contact-send-button,.danger-button):hover,
.mobile-mode :is(.psv-chatbot-send,.contact-send-button,.danger-button):focus,
.mobile-mode :is(.psv-chatbot-send,.contact-send-button,.danger-button):active{color:#fff!important}
.public-body :is(.psv-chatbot-send,.contact-send-button,.danger-button) *,
.mobile-mode :is(.psv-chatbot-send,.contact-send-button,.danger-button) *{color:#fff!important}
/* Le pied de page est sombre : son texte de base doit rester lisible même hors liens. */
.public-body:not(.mobile-mode) .site-footer,.public-body:not(.mobile-mode) .site-footer :is(p,span,strong,small){color:#d8e8f2!important}
