/* Les Enfants et Amis Abadi — formulaires du site (contact, publication, parrainage)
   Chargé uniquement par fr/cto.htm, fr/courrier.html et fr/parrainage.htm. */

.formulaire-site { max-width: var(--mesure); margin: 1rem 0 2rem; }
.formulaire-site .champ { margin: 0 0 1.1rem; }
.formulaire-site label { display: block; font-weight: 600; margin-bottom: .3rem; color: var(--ardoise); }
.formulaire-site .requis { color: #a23b2a; }
.formulaire-site input[type="text"],
.formulaire-site input[type="email"],
.formulaire-site textarea {
  display: block; width: 100%; box-sizing: border-box;
  font: inherit; font-size: 1rem; color: var(--ardoise);
  padding: .55rem .7rem; border: 1px solid #b9bfc7; border-radius: 4px; background: var(--papier);
}
.formulaire-site textarea { min-height: 10rem; resize: vertical; }
.formulaire-site input:focus, .formulaire-site textarea:focus {
  outline: 2px solid var(--bleu); outline-offset: 1px; border-color: var(--bleu);
}
.formulaire-site fieldset { border: 0; border-top: 1px solid var(--filet); margin: 1.5rem 0 0; padding: 1rem 0 0; }
.formulaire-site legend { font: 300 1.25rem/1.25 var(--titre); color: var(--bleu-clair); padding: 0; padding-inline-end: .5rem; }
.formulaire-site .aide { font-size: .9rem; color: var(--galet); margin: .25rem 0 0; }
.formulaire-site .mention { font-size: .9rem; color: var(--galet); }
.formulaire-site .envoyer { text-align: end; margin-top: 1rem; }
.formulaire-site button.bouton { font: inherit; font-weight: 600; border: 0; cursor: pointer; font-size: 1.05rem; padding: .6rem 1.6rem; }

/* Champ piège pour les robots : invisible pour les visiteurs */
.formulaire-site .champ-piege { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; opacity: 0; }

/* Messages après l'envoi (affichés grâce à l'ancre #envoi-ok / #envoi-erreur) */
.message-envoi { display: none; padding: .8rem 1rem; border-radius: 4px; margin: 0 0 1.25rem; font-weight: 600; scroll-margin-top: 6rem; }
.message-envoi:target { display: block; }
.message-envoi.ok { background: #e6f2e8; border-left: 4px solid #2e7d4a; color: #1f5132; }
.message-envoi.erreur { background: #f8e8e5; border-left: 4px solid #a23b2a; color: #6e2318; }
