/* Formulaire de la lettre — posé sur le bloc sombre de l'accueil comme sur
   le pied de page clair : les couleurs viennent des jetons du thème, avec
   un repli si la feuille du thème n'est pas chargée. */
.nm-nl{margin:0;--nl-a:var(--sapin,#1F4D43);--nl-a2:var(--sapin-fonce,#163A32);--nl-b:var(--filet,#D7DAD5);--nl-f:var(--fond,#F3F3F0);--nl-t:var(--encre,#1E2322)}
.nm-nl-ligne{display:flex;gap:.5rem;flex-wrap:wrap}
.nm-nl-ligne[hidden]{display:none}
.nm-nl input[type="email"]{flex:1;min-width:190px;padding:.85rem 1rem;font-size:.95rem;
  color:var(--nl-t);background:#fff;border:1px solid var(--nl-b);border-radius:2px}
.nm-nl input[type="email"]:focus{outline:2px solid var(--nl-a);outline-offset:1px}
.nm-nl input[aria-invalid="true"]{border-color:#9A3B2E;background:#F6ECEA}
.nm-nl-b{position:relative;padding:.85rem 1.5rem;font-size:.95rem;color:#fff;cursor:pointer;
  background:var(--nl-a);border:1px solid var(--nl-a);border-radius:2px;
  transition:background .2s ease,border-color .2s ease}
.nm-nl-b:hover{background:var(--nl-a2);border-color:var(--nl-a2)}
.nm-nl-b.est-occupe{color:transparent}
.nm-nl-b.est-occupe::after{content:"";position:absolute;inset:0;margin:auto;width:15px;height:15px;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
  animation:nm-nl-tourne .62s linear infinite}
@keyframes nm-nl-tourne{to{transform:rotate(360deg)}}
.nm-nl-mention{margin:.7rem 0 0;font-size:.74rem;line-height:1.5;opacity:.72}
.nm-nl-mention[hidden]{display:none}
.nm-nl-retour{margin:.8rem 0 0;font-size:.88rem;line-height:1.5}
.nm-nl-retour[hidden]{display:none}
.nm-nl-retour.est-refus{color:#E7B9B1}

/* Sur le bloc sombre de l'accueil, le bouton doit trancher sur le fond sombre. */
.nm-news .nm-nl-b{background:#fff;border-color:#fff;color:#1E2322}
.nm-news .nm-nl-b:hover{background:#E7E9E5;border-color:#E7E9E5;color:#1E2322}
.nm-news .nm-nl-b.est-occupe::after{border-color:rgba(30,35,34,.3);border-top-color:#1E2322}
.nm-news .nm-nl input[type="email"]{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28);color:#fff}
.nm-news .nm-nl input[type="email"]::placeholder{color:rgba(255,255,255,.55)}
.nm-news .nm-nl-mention,.nm-news .nm-nl-retour{color:rgba(255,255,255,.75)}

.nm-nl-bandeau{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:100160;
  background:#1E2322;color:#fff;padding:.85rem 1.4rem;border-radius:2px;font-size:.9rem;
  box-shadow:0 18px 40px -22px rgba(0,0,0,.6)}
