/* Moteur : popup « rapport gratuit » (newsletter_popup.html.twig) et son formulaire (.nlf, aussi sur /inscription/).
   Même rendu sur tous les sites, volontairement indépendant du thème : couleurs fixes, police système, pas de mode
   sombre (la carte reste blanche pour trancher). Chargée par popup.js à l'ouverture, ou par la page /inscription/. */
.cwp-popup{width:min(800px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);margin:auto;padding:0;border:0;border-radius:16px;background:#fff;color:#1a1a1a;box-shadow:0 24px 64px rgb(0 0 0 / .45);overflow:auto;font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color-scheme:light}
.cwp-popup::backdrop{background:rgb(10 12 18 / .7)}
.cwp-popup-corps{display:grid;grid-template-columns:minmax(0,38%) minmax(0,1fr)}
.cwp-popup-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 40%;border-radius:16px 0 0 16px}
.cwp-popup-texte{position:relative;padding:44px 40px 28px}
.cwp-popup h2{margin:0 0 8px;font-size:clamp(1.6rem,4vw,2.15rem);line-height:1.1;font-weight:800;letter-spacing:-.01em;color:#111}
.cwp-popup-sous{margin:0 0 22px;font-size:1.15rem;color:#6b6b6b}
.cwp-popup-fermer{position:absolute;top:8px;right:8px;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#333;font-size:30px;line-height:1;cursor:pointer}
.cwp-popup-fermer:hover{background:#f1f1f1}
.cwp-popup-fermer:focus-visible{outline:2px solid #111;outline-offset:-4px}
.cwp-popup .nlf-mention{color:#6b6b6b}
.cwp-popup .nlf-mention a{color:#444}
.nlf{display:grid;gap:14px;max-width:34rem;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.nlf-champ{display:grid;gap:6px;font-weight:600;font-size:.95rem}
.nlf-champ input{box-sizing:border-box;width:100%;min-height:48px;padding:10px 20px;border:1.5px solid #cfcfcf;border-radius:999px;background:#fff;color:#111;font:inherit;font-weight:400;font-size:1rem}
.nlf-champ input:focus-visible{outline:3px solid #ffb3b3;outline-offset:1px;border-color:#e3000f}
.nlf-piege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.nlf-accord{display:flex;gap:10px;align-items:flex-start;font-size:.9rem}
.nlf-accord input{width:20px;height:20px;margin:2px 0 0;accent-color:#e3000f}
.nlf-bouton{min-height:56px;margin-top:6px;padding:14px 22px;border:0;border-radius:999px;background:#e3000f;color:#fff;font:inherit;font-size:1.15rem;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:0 6px 0 #a3000b;transition:transform .1s,box-shadow .1s}
.nlf-bouton:hover{background:#f01020}
.nlf-bouton:active{transform:translateY(3px);box-shadow:0 3px 0 #a3000b}
.nlf-bouton:focus-visible{outline:3px solid #111;outline-offset:3px}
.nlf-mention{margin:4px 0 0;font-size:.8rem;line-height:1.4}
@media (max-width:640px){
  .cwp-popup-corps{grid-template-columns:1fr}
  .cwp-popup-photo{display:none}
  .cwp-popup-texte{padding:44px 20px 20px}
}
@media (prefers-reduced-motion:reduce){.nlf-bouton{transition:none}}
