/* =====================================================================
   cns-blocks.css - composants transverses du site Constellation.
   Extrait des <style> inline qui etaient dupliques a l'identique sur
   110 pages : pied de page complet, CTA newsletter et modale
   d'inscription. A charger APRES navbar-cns.css.
   ===================================================================== */

/* ---- Pied de page + CTA newsletter ---- */
.footer{background:var(--c-footer-bg,#0e123e);color:#DDE1E3;padding:56px 0 32px;margin-top:0;font-family:inherit;}.footer .container{max-width:1180px;margin:0 auto;padding:0 24px;}.footer a{color:#fff;text-decoration:none;}.footer a:hover{text-decoration:underline;}.footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:36px;}.footer .cols>*{min-width:0;}.footer .muted,.footer .foot-legal a{overflow-wrap:anywhere;}@media (max-width:900px){.footer .cols{grid-template-columns:1fr;gap:28px;}}@media (max-width:560px){.footer .cols{grid-template-columns:1fr;gap:24px;}.footer .etoiles{flex-wrap:wrap;justify-content:flex-start;gap:12px 14px;}.footer .bottom{gap:8px 18px;}.footer .foot-news{max-width:100%;}.footer .foot-legal{gap:12px 18px;}}.footer h4{color:#fff;font-size:17px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}.footer ul{list-style:none;margin:0;padding:0;}.footer li{margin-bottom:9px;font-size:15px;}.footer .muted{color:#9AA0A4;font-size:14px;}.footer .etoiles{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;margin:30px 0 22px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);}.footer .etoiles img{height:26px;width:auto;display:block;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;opacity:.95;}.footer .bottom{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;justify-content:space-between;margin-top:8px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:13px;}.foot-news input::placeholder{color:rgba(255,255,255,.6);}.foot-social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.10);color:#fff!important;transition:background .2s;}.foot-social a:hover{background:rgba(255,255,255,.22);text-decoration:none;}.foot-social svg{width:18px;height:18px;display:block;}.footer .foot-news{margin-top:22px;max-width:360px;}.footer .foot-news-cta{display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:15px;font-weight:600;line-height:1.3;text-align:left;cursor:pointer;padding:11px 20px;border-radius:7px;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08);color:#fff;transition:background .2s,border-color .2s;}.footer .foot-news-cta:hover{background:var(--nlm-acc,#5551CF);border-color:var(--nlm-acc,#5551CF);color:var(--nlm-ink,#fff);}.footer .foot-news-cta:focus-visible{outline:2px solid #fff;outline-offset:2px;}.footer .foot-news-cta svg{width:16px;height:16px;flex:none;}

/* ---- Modale d'inscription newsletter ---- */
.nlm,.footer .foot-news-cta{--nlm-acc:var(--c-primary,#5551CF);--nlm-ink:var(--c-btn-on-primary,#fff);--nlm-acc-h:var(--c-primary-hover,var(--c-primary,#5551CF));}
.nlm{font-family:'Poppins', sans-serif;position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px 16px;}
.nlm[hidden],.nlm:not(.nlm-open){display:none;}/* CSN-NLM3 : la classe pilote l'affichage, hidden peut etre perdu a la conversion en props React */
.nlm-back{position:absolute;inset:0;background:rgba(10,14,32,.62);}
.nlm-panel{position:relative;width:100%;max-width:620px;max-height:calc(100vh - 48px);overflow:auto;
  background:#fff;border:1px solid #E4E7EC;border-radius:7px;padding:30px 30px 26px;
  box-shadow:var(--shadow-raised);
  color:#141F39;font-family:inherit;line-height:1.5;text-align:left;
  animation:nlm-in .18s ease-out;}
@keyframes nlm-in{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.nlm-panel{animation:none;}}
.nlm-panel *,.nlm-panel *::before,.nlm-panel *::after{box-sizing:border-box;}
.nlm-x{position:absolute;top:14px;right:14px;width:36px;height:36px;display:inline-flex;
  align-items:center;justify-content:center;border:0;border-radius:50%;background:#F2F4F7;
  color:#141F39;cursor:pointer;transition:background .2s;}
.nlm-x:hover{background:#E4E7EC;}
.nlm-x svg{width:18px;height:18px;}
.nlm-t{margin:0 34px 8px 0;font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.25;
  color:#141F39;text-transform:none;}
.nlm-d{margin:0 0 22px;font-size:14px;color:#5a6478;}
.nlm-form{display:flex;flex-direction:column;gap:18px;}
.nlm-fs{margin:0;padding:0;border:0;}
.nlm-fs .ctv2-lbl{padding:0;}
.nlm-choices{display:grid;gap:10px;margin-top:9px;}
.nlm-choice{display:flex;align-items:flex-start;gap:11px;padding:13px 15px;cursor:pointer;
  border:1px solid #D5DAE2;border-radius:7px;background:#fff;transition:border-color .2s,background .2s;}
.nlm-choice:hover{border-color:var(--nlm-acc,#5551CF);background:#F7F8FB;}
.nlm-choice input{margin:2px 0 0;flex:none;width:auto;height:auto;accent-color:var(--nlm-acc,#5551CF);}
.nlm-choice:has(input:checked){border-color:var(--nlm-acc,#5551CF);background:#F7F8FB;}
.nlm-choice:focus-within{outline:2px solid var(--nlm-acc,#5551CF);outline-offset:2px;}
.nlm-choice-b{display:block;}
.nlm-choice-n{display:block;font-size:14px;font-weight:600;color:#141F39;}
.nlm-choice-x{display:block;margin-top:3px;font-size:15px;color:#5a6478;}
.nlm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.nlm-cancel{font:inherit;font-size:14px;font-weight:600;color:#5a6478;background:none;border:0;
  padding:13px 6px;cursor:pointer;text-decoration:underline;}
.nlm-note{margin:0;font-size:14px;color:#5a6478;}
.nlm-ok{text-align:center;padding:14px 0 6px;}
.nlm-ok .nlm-t,.nlm-ok .nlm-d{margin-right:0;}
.nlm-ok-ico{width:56px;height:56px;margin:0 auto 16px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--nlm-acc,#5551CF);color:var(--nlm-ink,#fff);}
.nlm-ok-ico svg{width:26px;height:26px;}
/* --- champs : declarations reprises du bloc contact CTV2, scopees ---------- */
.nlm-panel .ctv2-lbl{display:block;font-size:15px;font-weight:600;color:#141F39;margin-bottom:7px;}
.nlm-panel .ctv2-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.nlm-panel .ctv2-form input[type=text],.nlm-panel .ctv2-form input[type=email]{width:100%;font:inherit;
  font-size:14px;color:#141F39;background:#fff;border:1px solid #D5DAE2;border-radius:7px;
  padding:12px 14px;margin:0;height:auto;box-shadow:none;text-transform:none;letter-spacing:normal;}
.nlm-panel .ctv2-form input:focus{outline:none;border-color:var(--nlm-acc,#5551CF);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--nlm-acc,#5551CF) 22%,transparent);}
.nlm-panel .ctv2-err{color:#C0392B;font-size:15px;margin-top:5px;display:none;}
.nlm-panel .ctv2-consent{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5;
  color:#5a6478;cursor:pointer;}
.nlm-panel .ctv2-consent input{margin-top:3px;flex:none;width:auto;accent-color:var(--nlm-acc,#5551CF);}
.nlm-panel .ctv2-consent a{color:var(--nlm-acc,#5551CF);text-decoration:underline;}
.nlm-panel .ctv2-submit{align-self:flex-start;background:var(--nlm-acc,#5551CF);
  color:var(--nlm-ink,#fff);border:0;border-radius:7px;font:inherit;font-size:15px;
  font-weight:600;padding:13px 24px;display:inline-flex;align-items:center;gap:9px;cursor:pointer;}
.nlm-panel .ctv2-submit:hover{background:var(--nlm-acc-h,var(--nlm-acc,#5551CF));}
/* --- mode sombre ---------------------------------------------------------- */
[data-theme="dark"] .nlm-panel{background:#141F39;border-color:rgba(255,255,255,.16);color:#F2F4F5;}
[data-theme="dark"] .nlm-t,[data-theme="dark"] .nlm-choice-n,
[data-theme="dark"] .nlm-panel .ctv2-lbl{color:#F2F4F5;}
[data-theme="dark"] .nlm-d,[data-theme="dark"] .nlm-choice-x,[data-theme="dark"] .nlm-note,
[data-theme="dark"] .nlm-cancel,[data-theme="dark"] .nlm-panel .ctv2-consent{color:#C6CACB;}
[data-theme="dark"] .nlm-x{background:rgba(255,255,255,.10);color:#F2F4F5;}
[data-theme="dark"] .nlm-x:hover{background:rgba(255,255,255,.20);}
[data-theme="dark"] .nlm-choice{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18);}
[data-theme="dark"] .nlm-choice:hover,[data-theme="dark"] .nlm-choice:has(input:checked){background:rgba(255,255,255,.10);}
[data-theme="dark"] .nlm-panel .ctv2-form input[type=text],
[data-theme="dark"] .nlm-panel .ctv2-form input[type=email]{background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.22);color:#F2F4F5;}
[data-theme="dark"] .nlm-panel .ctv2-form input::placeholder{color:rgba(255,255,255,.5);}
[data-theme="dark"] .nlm-panel .ctv2-err{color:#FF8A7A;}
@media(max-width:640px){
  .nlm{font-family:'Poppins', sans-serif;padding:0;}
  .nlm-panel{max-width:none;max-height:100vh;min-height:100vh;border:0;border-radius:0;padding:26px 20px 30px;}
  .nlm-panel .ctv2-row{grid-template-columns:1fr;}
  .nlm-t{font-size:20px;}
}
