#contact-presse .prwrap{display:grid;grid-template-columns:1.4fr .9fr;gap:26px;align-items:start}
#contact-presse .shead .eyebrow{color:#8FB0FF}
#contact-presse .shead h2{color:#EAF0FF}
#contact-presse .prsub{color:#94A2C4;margin-top:8px;max-width:520px}
#contact-presse .prform label{display:block;font-size:13px;font-weight:700;color:#CDD8EE;margin-top:15px}
#contact-presse .prform input,#contact-presse .prform textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:9px;font:inherit;font-size:15px;margin-top:6px;background:#fff;color:#0B1524;box-sizing:border-box}
#contact-presse .prform input::placeholder,#contact-presse .prform textarea::placeholder{color:#8794AC}
#contact-presse .prform textarea{min-height:110px;resize:vertical}
#contact-presse .prrow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#contact-presse .practions{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap}
#contact-presse .prnote{font-size:12px;color:#94A2C4}
#contact-presse .prok{margin-top:14px;background:rgba(25,211,203,.12);border:1px solid rgba(25,211,203,.35);color:#CFF7F3;border-radius:12px;padding:12px 14px;font-size:13.5px}
#contact-presse .prcard{background:#fff;border:1px solid #E3EAF6;border-radius:16px;padding:20px}
#contact-presse .prcard + .prcard{margin-top:16px}
#contact-presse .prcard h3{font-size:16px;font-weight:800;color:#0B1524;margin:0}
#contact-presse .prcard h4{font-size:13px;font-weight:800;color:#0B1524;margin:0}
#contact-presse .prcard .checklist{margin-top:12px}
#contact-presse .prmail{display:inline-block;margin-top:8px;font-weight:800;color:#2450E0}
#contact-presse .prkit{display:block;margin-top:12px;font-weight:700;color:#5B6576}
@media(max-width:820px){#contact-presse .prwrap{grid-template-columns:1fr}#contact-presse .prrow{grid-template-columns:1fr}}

/* ══ TEXTE EN DÉGRADÉ — RETIRÉ DE TOUT CE QUI PORTE DE L'INFORMATION ══════
   Historique, parce qu'il explique la décision :

   31/07, 23 h 59 — le prix « 0 € » de Share Free s'affiche en vert foncé sur
   un pavé bleu-turquoise. Cause : `background-clip:text` non appliqué, le
   dégradé peint donc un rectangle.
   1er/08 — après avoir mis la règle sous `@supports`, le prix ne s'affiche
   plus DU TOUT : le pavé reste seul. Ce second état est instructif — la règle
   protégée s'est appliquée, donc le moteur a répondu OUI au test de prise en
   charge, tout en ne découpant rien.

   Un test de fonctionnalité qui répond oui à tort ne protège de rien. Il n'y
   a donc pas de garde-fou possible pour cette technique, et deux tentatives
   ont suffi à l'établir. On la retire de tout ce qui doit être LU : prix,
   chiffres clés, mots de titre.

   Le moyen retenu est le seul qui ne dépende d'aucune prise en charge :
   `-webkit-text-fill-color: currentColor` — l'encre suit toujours `color`,
   quoi qu'il arrive au fond — et le dégradé est supprimé. Les blocs
   @supports plus haut deviennent inertes ; ils sont laissés en place, sans
   effet, pour que l'historique reste lisible dans le fichier.

   Ce qu'on perd : un effet de dégradé sur une dizaine de mots et de chiffres.
   Ce qu'on gagne : un prix qui s'affiche sur tous les navigateurs. */
.kz h1 .g,.kz .g,body.fcmq .g,.fcnum,.kz .stat b,.kz .zl .stat b,
.hero h1 .u,.stat .v,.kz .tier .price,.fcgp .tier .price{
  background-image:none !important;
  -webkit-text-fill-color:currentColor !important;
}
/* Chaque contexte garde une encre pleine lisible. */
.kz h1 .g,.kz .g{color:#6D9BFF}
body.fcmq .g,.kz .zl .g{color:#2E5BF6}
body.fcmq .hero .g,body.fcmq .ohero .g,body.fcmq .blk.dark .g,body.fcmq .blk.final .g{color:#6D9BFF}
.fcnum{color:#2E5BF6}
.kz .stat b{color:#EAF0FF}
.kz .zl .stat b{color:#0B1524}
.hero h1 .u,.stat .v{color:#2E5BF6}
/* Les prix payants gardent l'encre foncée du dessin d'origine ; seul le
   « 0 € » de l'offre gratuite est en turquoise, comme il l'était (en dégradé)
   avant. Ma première neutralisation les avait tous teintés — une correction
   ne doit pas emporter avec elle ce qui n'était pas cassé. */
.kz .tier .price,.fcgp .tier .price{color:#0B1524}
.kz .tier .price-free,.fcgp .tier .price-free{color:#075E5A}
.kz .tier .price small,.fcgp .tier .price small{color:#54637E}

/* ── Lien d'évitement ──────────────────────────────────────────────────────
   Il doit être invisible sans être retiré de l'ordre de tabulation :
   `display:none` ou `visibility:hidden` le rendraient inatteignable au
   clavier, ce qui est exactement l'inverse du but. On le sort donc du cadre,
   et il revient au premier coup de tabulation. */
.fc-evitement,.kz a.fc-evitement,body a.fc-evitement{
  position:absolute;left:-9999px;top:0;z-index:10000;
  background:#0B1524;color:#FFFFFF;padding:12px 20px;border-radius:0 0 10px 0;
  font-size:14px;font-weight:700;text-decoration:none}
.fc-evitement:focus,.kz a.fc-evitement:focus{left:0}
/* La cible reçoit le focus par programme (tabindex="-1") : sans cette règle,
   certains navigateurs y dessinent un contour permanent. */
main#contenu:focus{outline:none}

/* ── Focus visible ─────────────────────────────────────────────────────────
   `:focus-visible` ne s'affiche qu'à la navigation au clavier — la souris ne
   déclenche donc aucun contour, et l'usage au doigt non plus. */
.kz a:focus-visible,.kz button:focus-visible,.kz input:focus-visible,
.kz select:focus-visible,.kz textarea:focus-visible,.kz summary:focus-visible{
  outline:3px solid #6D9BFF;outline-offset:2px;border-radius:4px}
