/*
 * nouvelle-vitrine/createurs.css — les pages /createurs et /ambassadeurs (programme créateurs,
 * 17 octobre 2026). Elles reprennent nouvelle-vitrine.css (polices, couleurs, en-tête, pied,
 * boutons, FAQ) ; ce fichier n'ajoute que leur mise en page : une colonne lisible, l'offre en
 * tableau, le formulaire des ambassadeurs et son écran de bienvenue. DA de la charte : crème,
 * noir, violet, lavande, surligneur, chevrons ››.
 */
.programme { max-width: 880px; margin: 0 auto; padding: 44px 24px 72px; color: var(--texte-lecture); }
.programme-haut { padding: 8px 0 18px; }
.programme-titre { margin: 12px 0 18px; font-size: 54px; line-height: 1.06; font-weight: 800; letter-spacing: -0.04em; color: var(--noir); }
.programme-sous { margin: 0 0 22px; font-size: 18px; line-height: 1.6; color: var(--texte-4); max-width: 720px; }
.programme-actions { display: flex; gap: 14px 22px; flex-wrap: wrap; align-items: center; margin: 0; }
.programme-actions .btn, .programme-envoyer { padding: 15px 24px; border-radius: 14px; font-size: 16px; min-height: 52px; }
.programme-section { margin-top: 30px; background: var(--blanc); border: 1px solid var(--bordure); border-radius: 22px; padding: 30px 32px; font-size: 16px; line-height: 1.7; }
.programme-section .t-h2 { margin: 0 0 14px; font-size: 28px; line-height: 1.2; }
.programme-section p { margin: 0 0 12px; }
.programme-section p:last-child { margin-bottom: 0; }
.programme-section a:not(.btn):not(.lien-fort) { color: var(--violet-fonce); text-decoration: underline; text-underline-offset: 2px; }
.programme-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.programme-liste .puce { color: var(--violet); font-weight: 800; }
.programme-etapes { margin: 0; padding-left: 22px; display: grid; gap: 10px; }
.programme-offre { margin: 0; display: grid; gap: 0; border: 1px solid var(--bordure); border-radius: 16px; overflow: hidden; }
.programme-offre-ligne { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 16px; padding: 14px 18px; border-top: 1px solid var(--bordure); }
.programme-offre-ligne:first-child { border-top: 0; }
.programme-offre-ligne:nth-child(odd) { background: var(--fond-clair); }
.programme-offre dt { font-weight: 800; color: var(--noir); }
.programme-offre dd { margin: 0; }
.programme-fondateur { margin-top: 12px; display: inline-block; background: var(--surligne); color: var(--noir); border-radius: 999px; padding: 6px 14px; font-size: 14px; font-weight: 600; }
.programme-fondateurs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.programme-fondateurs li { background: var(--fond-clair); border: 1px solid var(--bordure); border-radius: 14px; padding: 12px 14px; font-size: 15px; }
.programme-fondateurs b { color: var(--noir); }
.programme-faq { display: flex; flex-direction: column; gap: 10px; }
.programme-faq .faq-item { border-radius: 16px; }
.programme-contact { background: var(--noir); color: var(--creme); border-color: var(--noir); }
.programme-contact .t-h2 { color: var(--creme); }
.programme-contact a:not(.lien-fort) { color: var(--surligne) !important; }
.programme-contact .lien-fort { color: var(--creme); }
.a-completer { background: #FFF1C2; color: #5A4300; border-radius: 4px; padding: 0 3px; font-weight: 600; }

/* Le formulaire des ambassadeurs */
.programme-formulaire { display: grid; gap: 14px; }
.programme-champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.programme-champ { display: grid; gap: 6px; }
.programme-champ label { font-size: 14px; font-weight: 700; color: var(--noir); }
.programme-champ input, .programme-champ select {
  min-height: 48px; padding: 0 14px; border: 1.5px solid var(--bordure-2); border-radius: 12px; background: var(--blanc);
  font: inherit; font-size: 16px; color: var(--noir); width: 100%; box-sizing: border-box;
}
.programme-champ input:focus-visible, .programme-champ select:focus-visible { outline: 3px solid var(--violet-doux); outline-offset: 1px; border-color: var(--violet); }
.programme-champ input[aria-invalid="true"], .programme-champ select[aria-invalid="true"] { border-color: #8E1F3F; }
.programme-case { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; cursor: pointer; min-height: 44px; }
.programme-case input { width: 20px; height: 20px; margin: 2px 0 0; flex-shrink: 0; accent-color: var(--violet); }
.programme-message { margin: 0; padding: 12px 14px; border-radius: 12px; background: #FBE3EC; color: #6E1B36; font-size: 15px; font-weight: 600; }
.programme-note { margin: 0; font-size: 13px; color: var(--texte-3); }
.programme-envoyer { justify-self: start; }
.programme-envoyer[aria-busy="true"] { opacity: .7; cursor: progress; }
.programme-bienvenue { background: var(--noir); color: var(--creme); border-radius: 18px; padding: 26px 26px 24px; }
.programme-bienvenue:focus { outline: 3px solid var(--violet-doux); outline-offset: 3px; }
.programme-bienvenue-titre { margin: 0 0 12px; font-size: 24px; font-weight: 800; line-height: 1.25; color: var(--creme); }
.programme-bienvenue p { margin: 0 0 10px; color: var(--creme); }
.programme-bienvenue-lien { display: inline-block; background: var(--surligne); color: var(--noir); border-radius: 10px; padding: 2px 10px; font-weight: 800; }

@media (max-width: 900px) {
  .programme { padding: 26px 16px 56px; }
  .programme-titre { font-size: 36px; }
  .programme-sous { font-size: 16px; }
  .programme-section { padding: 22px 18px; border-radius: 18px; margin-top: 18px; }
  .programme-section .t-h2 { font-size: 24px; }
  .programme-offre-ligne { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .programme-champs { grid-template-columns: minmax(0, 1fr); }
  .programme-envoyer { justify-self: stretch; }
}
