/* =========================================================================
   NOURRIR by Pencil – socle commun à toutes les pages
   Jetons et composants repris de docs/maquettes/accueil.html ;
   règles responsive de docs/04_regles-de-construction.md.
   Préfixe nr- partout ; aucune classe d'interface WordPress n'est stylée (contrat Pencil).
   ========================================================================= */

/* ====== Polices auto-hébergées (ADR-0005, licence OFL dans assets/fonts/) ====== */
@font-face{font-family:"Poppins";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/poppins-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/poppins-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/poppins-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Poppins";font-style:normal;font-weight:800;font-display:swap;src:url("../fonts/poppins-latin-800-normal.woff2") format("woff2")}
@font-face{font-family:"Roboto";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/roboto-latin-wght-normal.woff2") format("woff2")}
@font-face{font-family:"Roboto";font-style:italic;font-weight:100 900;font-display:swap;src:url("../fonts/roboto-latin-wght-italic.woff2") format("woff2")}

/* ====== Jetons de la charte (ADR-0005) ====== */
:root{
  --nr-nuit:#0A111B;
  --nr-bleu:#003894;
  --nr-rameau:#6FA315;
  --nr-vert:#0CB472;
  --nr-vert-fonce:#06704A; /* ≥ 4,5:1 en petit texte sur les fonds crème (ADR-0014) */
  --nr-ciel:#6098E8;
  --nr-texte:#0A111B;
  --nr-texte-2:#4A5668;
  --nr-texte-clair:#C9D4E3;
  --nr-trait:#DCE2EA;
  --nr-trait-fort:#8A94A3; /* bordure des champs : ≥ 3:1 sur blanc */
  --nr-fond:#FFFFFF;
  --nr-fond-2:#F5F7FA;
  --nr-pousse:#F4FAEC;
  --nr-rayon:32px;
  --nr-rayon-s:16px;
  --nr-ombre:0 12px 32px rgba(10,17,27,.14);
  --nr-ombre-s:0 4px 16px rgba(10,17,27,.08); /* ombre légère de l'en-tête */
  --nr-titres:"Poppins",system-ui,sans-serif;
  --nr-corps:"Roboto",system-ui,sans-serif;
  --nr-large:1200px;
  --nr-gouttiere:2rem; /* 32 px : gouttière des grilles de cartes (règles « site aéré » § 2) */
  --nr-entete-h:96px; /* hauteur réservée sous l'en-tête flottant (24 px d'écart + pilule de 72 px) */
  /* Tailles de police (docs/04_regles-de-construction.md § 3) */
  --nr-fs-t1:clamp(3rem, 2.5385rem + 2.0513vw, 4rem);
  --nr-fs-t2:clamp(2.4rem, 2.1231rem + 1.2308vw, 3rem);
  --nr-fs-t3:clamp(2.1rem, 1.9154rem + 0.8205vw, 2.5rem);
  --nr-fs-t4:clamp(1.8rem, 1.7077rem + 0.4103vw, 2rem);
  --nr-fs-t5:clamp(1.6rem, 1.5308rem + 0.3077vw, 1.75rem);
  --nr-fs-t6:clamp(1.4rem, 1.3538rem + 0.2051vw, 1.5rem);
  --nr-fs-t7:clamp(1.2rem, 1.1769rem + 0.1026vw, 1.25rem);
  --nr-fs-soustitre:1.2rem;
  --nr-fs-texte:1rem;
  --nr-fs-grand:1.125rem;
  --nr-fs-petit:0.875rem;
  /* Espacements (docs/04_regles-de-construction.md § 2) */
  --nr-pad-s:clamp(1rem, 0.7692rem + 1.0256vw, 1.5rem);
  --nr-pad-m:clamp(1.5rem, 1.2692rem + 1.0256vw, 2rem);
  --nr-pad-l:clamp(2rem, 1.5385rem + 2.0513vw, 3rem);
  --nr-pad-v-s:clamp(1.5rem, 1.0385rem + 2.0513vw, 2.5rem);
  --nr-pad-v-m:clamp(4rem, 3.5385rem + 2.0513vw, 5rem);
  --nr-pad-v-l:clamp(7rem, 6.5385rem + 2.0513vw, 8rem);
  /* Espace à l'intérieur des composants, base 4 px (.claude/rules/04-site-aere.md § 2) */
  --nr-e-1:0.25rem;  /* 4 px : décalages fins */
  --nr-e-2:0.5rem;   /* 8 px : icône ↔ libellé, liens d'une liste */
  --nr-e-3:0.75rem;  /* 12 px : surtitre ↔ titre */
  --nr-e-4:1rem;     /* 16 px : titre ↔ texte, boutons voisins */
  --nr-e-6:1.5rem;   /* 24 px : zones d'une carte */
  --nr-e-8:2rem;     /* 32 px : texte ↔ boutons, gouttière des grilles de cartes */
  --nr-e-10:2.5rem;  /* 40 px : texte ↔ boutons (grands blocs) */
  --nr-e-12:3rem;    /* 48 px : en-tête de section ↔ contenu */
  /* Accueil v2 (ADR-0014) : fonds chauds, grands rayons, titre géant, mouvement */
  --nr-creme:#F6F2E8;
  --nr-creme-2:#ECE6D6;
  --nr-rayon-xl:3rem; /* 48 px : coins des grands panneaux qui se recouvrent */
  --nr-fs-geant:clamp(2.5rem, 0.5rem + 8.5vw, 8.5rem); /* T0 : titre du hero */
  --nr-fs-appel:clamp(2.5rem, 1rem + 6vw, 6rem); /* titre du bloc d'appel de l'accueil */
  --nr-fs-chiffre:clamp(4.5rem, 3rem + 5vw, 7.5rem); /* valeurs des chiffres clés empilés */
  --nr-fs-bandeau:clamp(2.5rem, 1.25rem + 5vw, 5.5rem); /* titre des bandeaux des pages intérieures */
  --nr-fs-pilier:clamp(2.25rem, 1rem + 4.5vw, 5rem); /* titre de l'en-tête des pages piliers */
  --nr-fs-accroche:clamp(1.25rem, 1.0769rem + 0.7692vw, 1.75rem);
  --nr-serre:-0.035em; /* approche des grands titres */
  --nr-ease:cubic-bezier(.5,0,0,1);
  --nr-ease-ressort:cubic-bezier(.17,.67,.3,1.33);
  --nr-duree-1:.2s;
  --nr-duree-2:.4s;
  --nr-duree-3:.8s;
}
/* Sous 767 px, le grand padding vertical est ramené à 80 px (règles « site aéré » § 9) */
@media(max-width:767px){:root{--nr-pad-v-l:5rem;--nr-rayon-xl:2rem}}

/* ====== Utilitaires (docs/04_regles-de-construction.md) ====== */
.nr-ligne{display:flex;flex-wrap:wrap;gap:var(--nr-gouttiere)}
.nr-ligne>*{flex:1 1 var(--nr-base,100%);min-width:0}
.nr-ligne--6{--nr-base:13.5%}.nr-ligne--5{--nr-base:16.5%}.nr-ligne--4{--nr-base:20%}.nr-ligne--3{--nr-base:25%}.nr-ligne--2{--nr-base:35%}
@media(max-width:1024px){.nr-ligne--6,.nr-ligne--5{--nr-base:25%}.nr-ligne--4,.nr-ligne--3{--nr-base:35%}.nr-ligne--2{--nr-base:100%}}
@media(max-width:767px){.nr-ligne--6,.nr-ligne--5{--nr-base:35%}.nr-ligne--4,.nr-ligne--3,.nr-ligne--2{--nr-base:100%}}
.nr-col-2{flex:0 1 15%}.nr-col-3{flex:0 1 24%}.nr-col-4{flex:0 1 32%}.nr-col-5{flex:0 1 41%}.nr-col-6{flex:0 1 49%}.nr-col-7{flex:0 1 58%}.nr-col-8{flex:0 1 66%}.nr-col-9{flex:0 1 75%}.nr-col-10{flex:0 1 83%}.nr-col-reste{flex:1 1 0}
@media(max-width:767px){[class*="nr-col-"]{flex:1 1 100%}}
.nr-pad-s{padding:var(--nr-pad-s)}.nr-pad-m{padding:var(--nr-pad-m)}.nr-pad-l{padding:var(--nr-pad-l)}
.nr-pad-tb-s{padding:var(--nr-pad-v-s) 0}.nr-pad-tb-m{padding:var(--nr-pad-v-m) 0}.nr-pad-tb-l{padding:var(--nr-pad-v-l) 0}
.nr-pad-t-s{padding-top:var(--nr-pad-v-s)}.nr-pad-t-m{padding-top:var(--nr-pad-v-m)}.nr-pad-t-l{padding-top:var(--nr-pad-v-l)}
.nr-pad-b-s{padding-bottom:var(--nr-pad-v-s)}.nr-pad-b-m{padding-bottom:var(--nr-pad-v-m)}.nr-pad-b-l{padding-bottom:var(--nr-pad-v-l)}
.nr-t1{font-size:var(--nr-fs-t1)}.nr-t2{font-size:var(--nr-fs-t2)}.nr-t3{font-size:var(--nr-fs-t3)}.nr-t4{font-size:var(--nr-fs-t4)}.nr-t5{font-size:var(--nr-fs-t5)}.nr-t6{font-size:var(--nr-fs-t6)}.nr-t7{font-size:var(--nr-fs-t7)}
.nr-masque{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ====== Base (réinitialisations sûres uniquement : contrat Pencil) ====== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--nr-creme);color:var(--nr-texte);font:var(--nr-fs-texte)/1.6 var(--nr-corps)}
img{max-width:100%;height:auto}
/* Styles d'éléments limités aux zones du thème (:where = sans poids) : la fenêtre Médiathèque que Pencil
   ouvre sur la page garde l'apparence de WordPress. */
:where(.nr-entete,.nr-contenu,.nr-pied) a{color:var(--nr-bleu)}
:where(.nr-entete,.nr-contenu,.nr-pied) a:hover{color:var(--nr-vert-fonce)}
:where(.nr-entete,.nr-contenu,.nr-pied,.nr-avant-pied,.nr-evitement,.nr-whatsapp) :focus-visible,:where(.nr-evitement,.nr-whatsapp):focus-visible{outline:3px solid var(--nr-vert);outline-offset:3px}
/* Titres : famille et casse seulement ; la taille vient des classes .nr-t1…t7 (règles § 3.3) */
:where(.nr-entete,.nr-contenu,.nr-pied,.nr-avant-pied) :is(h1,h2,h3,h4,h5,h6){font-family:var(--nr-titres);text-transform:none;line-height:1.2;margin:0 0 var(--nr-e-4);letter-spacing:var(--nr-serre);color:var(--nr-nuit)}
/* h2 à h6 : texte tel que saisi, première lettre du titre en capitale (demande du 2026-10-28) */
:where(.nr-entete,.nr-contenu,.nr-pied) :is(h2,h3,h4,h5,h6){text-transform:none}
:where(.nr-entete,.nr-contenu,.nr-pied,.nr-avant-pied) :is(h1,h2,h3,h4,h5,h6)::first-letter{text-transform:uppercase}
:where(.nr-entete,.nr-contenu,.nr-pied,.nr-avant-pied) p{margin:0 0 1em}
.nr-conteneur{max-width:var(--nr-large);margin:0 auto;padding:0 24px}
@media(max-width:767px){.nr-conteneur{padding:0 16px}}
.nr-section--gris{background:var(--nr-creme-2)}
/* Entre deux sections : seulement leur padding (nr-pad-tb-m, nr-pad-tb-l pour les sections clés) ; les fonds alternés
   font le reste. Pas de marge en plus : elle doublait le blanc entre deux sections (règles « site aéré » § 3 et 6). */
.nr-centre{text-align:center}
/* Filet → vague verte animée (ADR-0014) : .nr-sep (hr des pages) et .nr-vague (span) */
.nr-sep,.nr-vague{display:block;position:relative;width:7.5rem;height:12px;margin:var(--nr-e-4) auto var(--nr-e-8);border:0;padding:0;overflow:hidden;background:none}
.nr-vague{margin-left:0}
.nr-sep::after,.nr-vague::after{content:"";position:absolute;inset:0 -24px 0 0;background:var(--nr-rameau);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M0 6 Q6 0 12 6 T24 6' fill='none' stroke='black' stroke-width='3'/%3E%3C/svg%3E") repeat-x 0 0/24px 12px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M0 6 Q6 0 12 6 T24 6' fill='none' stroke='black' stroke-width='3'/%3E%3C/svg%3E") repeat-x 0 0/24px 12px;animation:nr-ondule 1.2s linear 4}
@keyframes nr-ondule{to{transform:translateX(-24px)}}
.nr-sep--gauche{margin-left:0}
.nr-surtitre{font:700 var(--nr-fs-petit)/1 var(--nr-titres);letter-spacing:.14em;text-transform:uppercase;color:var(--nr-vert-fonce);margin-bottom:var(--nr-e-3);display:block}
.nr-chapo{font-size:var(--nr-fs-soustitre);color:var(--nr-texte-2);max-width:65ch;margin:0 auto 1em}

/* Lien d'évitement : visible seulement au clavier */
.nr-evitement{position:absolute;left:16px;top:-100px;z-index:100;background:var(--nr-nuit);color:#fff;font:700 var(--nr-fs-texte)/1 var(--nr-titres);padding:14px 20px;border-radius:100px;text-decoration:none}
.nr-evitement:focus{top:16px;color:#fff}

/* ====== Boutons (ADR-0014) : pastille arrondie, libellé tel que saisi, rond fléché, léger rebond ====== */
.nr-btn,.nr-pastille{display:inline-flex;align-items:center;justify-content:center;gap:var(--nr-e-4);min-height:48px;padding:var(--nr-e-2) var(--nr-e-2) var(--nr-e-2) var(--nr-e-6);border-radius:var(--nr-rayon-s);font:600 var(--nr-fs-texte)/1.2 var(--nr-titres);text-decoration:none;background:var(--nr-fond);color:var(--nr-nuit);transition:transform var(--nr-duree-2) var(--nr-ease-ressort),background-color var(--nr-duree-1) var(--nr-ease)}
/* Rond fléché : balise .nr-btn__rond (pastilles) ou pseudo-élément (boutons .nr-btn des pages) */
.nr-btn__rond,.nr-btn::after{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--nr-vert);color:#fff;font:600 var(--nr-fs-texte)/1 var(--nr-titres);transition:transform var(--nr-duree-2) var(--nr-ease-ressort)}
.nr-btn::after{content:"→"}
.nr-btn:hover,.nr-pastille:hover{transform:translateY(-2px)}
.nr-btn:hover::after,.nr-pastille:hover .nr-btn__rond{transform:translateX(4px) scale(1.12)}
:where(.nr-contenu,.nr-pied,.nr-avant-pied,.nr-entete) :is(.nr-btn,.nr-pastille),:where(.nr-contenu,.nr-pied,.nr-avant-pied,.nr-entete) :is(.nr-btn,.nr-pastille):hover{color:var(--nr-nuit)}
.nr-btn--plein,.nr-btn--plein:hover,.nr-pastille--vert,.nr-pastille--vert:hover{background:var(--nr-vert-fonce);color:#fff!important}
.nr-btn--plein::after,.nr-pastille--vert .nr-btn__rond{background:#fff;color:var(--nr-vert-fonce)}
.nr-btn--contour-sombre,.nr-btn--contour-sombre:hover,.nr-pastille--bleu,.nr-pastille--bleu:hover{background:var(--nr-bleu);color:#fff!important}
.nr-btn--contour-sombre::after,.nr-pastille--bleu .nr-btn__rond{background:#fff;color:var(--nr-bleu)}
.nr-pastille--nuit,.nr-pastille--nuit:hover{background:var(--nr-nuit);color:#fff!important}
.nr-btn--contour,.nr-btn--contour:hover{background:var(--nr-fond)}
.nr-btn--texte{background:none;padding-left:0}
/* Boutons sans rond : petits boutons de filtre et boutons de formulaire (input) */
.nr-btn--petit{padding:var(--nr-e-3) var(--nr-e-6)}
.nr-btn--petit::after{display:none}
input.nr-btn{padding:var(--nr-e-3) var(--nr-e-6)}
.nr-actions{display:flex;flex-wrap:wrap;gap:var(--nr-e-4)}
.nr-lien,.nr-lien-fleche{display:inline-flex;align-items:center;gap:var(--nr-e-2);min-height:44px;font:600 var(--nr-fs-texte)/1.2 var(--nr-titres);text-decoration:none;color:var(--nr-bleu)}
.nr-lien::after{content:"→";transition:transform var(--nr-duree-2) var(--nr-ease-ressort)}
.nr-lien-fleche>[aria-hidden]{transition:transform var(--nr-duree-2) var(--nr-ease-ressort)}
.nr-lien:hover::after,.nr-lien-fleche:hover>[aria-hidden]{transform:translateX(4px)}
.nr-lien:hover{color:var(--nr-bleu)}

/* ====== Logo (en-tête et pied de page) ====== */
.nr-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;flex-shrink:0}
.nr-logo:hover{color:#fff}
.nr-logo__cadre{display:block;width:52px;height:52px;flex-shrink:0}
.nr-logo__cadre img{display:block;width:100%;height:100%;object-fit:contain}
.nr-logo__textes strong{display:block;font:800 var(--nr-fs-t7)/1 var(--nr-titres);letter-spacing:.04em}
.nr-logo__textes em{display:block;font:italic var(--nr-fs-petit)/1.3 var(--nr-corps);color:#B9C7DA}

/* ====== En-tête flottant (ADR-0014) : pilule blanche + pastille « Faire un don », sur toutes les pages ====== */
.nr-entete{position:fixed;top:var(--nr-e-6);left:0;right:0;z-index:20;pointer-events:none;transition:transform var(--nr-duree-2) var(--nr-ease)}
.admin-bar .nr-entete{top:56px}
.nr-entete__in{position:relative;max-width:var(--nr-large);margin:0 var(--nr-e-6);display:flex;align-items:stretch;gap:var(--nr-e-3)}
.nr-entete__in>*{pointer-events:auto}
@media(min-width:1248px){.nr-entete__in{margin:0 auto}}
.nr-pilule{flex:1;min-width:0;display:flex;align-items:center;gap:var(--nr-e-6);padding:10px 12px 10px var(--nr-e-6);border-radius:var(--nr-rayon-s);background:var(--nr-fond);color:var(--nr-nuit);box-shadow:var(--nr-ombre-s)}
.nr-don{flex-shrink:0;box-shadow:var(--nr-ombre-s)}
.nr-entete .nr-logo,.nr-entete .nr-logo:hover{color:var(--nr-nuit)}
.nr-entete .nr-logo__textes em{color:var(--nr-texte-2)}
.nr-menu{flex:1;justify-content:center;display:flex;align-items:center;gap:var(--nr-e-6)} /* centré dans l'espace à droite du logo */
.nr-menu__liste{display:flex;list-style:none;margin:0;padding:0;gap:2px}
.nr-menu__element{position:relative}
.nr-menu__liste>.nr-a-sous{display:flex;align-items:center}
.nr-menu__lien{display:block;white-space:nowrap;color:var(--nr-nuit);text-decoration:none;font:600 var(--nr-fs-texte)/1 var(--nr-titres);padding:14px 11px;transition:color var(--nr-duree-1) var(--nr-ease)}
:where(.nr-entete) .nr-menu__lien{color:var(--nr-nuit)}
:where(.nr-entete) :is(.nr-menu__lien:hover,.nr-menu__lien:focus-visible,.nr-est-actif>.nr-menu__lien){color:var(--nr-bleu)}
.nr-menu__liste>.nr-a-sous>.nr-menu__lien{padding-right:2px}
.nr-sous-bascule{display:flex;align-items:center;justify-content:center;width:24px;height:44px;margin-right:6px;padding:0;background:none;border:0;color:var(--nr-nuit);cursor:pointer;border-radius:100px}
.nr-sous-bascule::before{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);transition:transform var(--nr-duree-1) var(--nr-ease)}
.nr-sous-bascule[aria-expanded="true"]::before{transform:translateY(2px) rotate(-135deg)}
.nr-sous{display:none;position:absolute;top:100%;left:0;z-index:2;min-width:260px;list-style:none;margin:0;padding:var(--nr-e-2);background:var(--nr-fond);border-radius:var(--nr-rayon-s);box-shadow:var(--nr-ombre)}
.nr-sous .nr-menu__lien{font-size:var(--nr-fs-texte);padding:10px 14px}
.nr-a-sous:hover>.nr-sous,.nr-a-sous:focus-within>.nr-sous,.nr-a-sous.nr-ouvert>.nr-sous{display:block}
/* Menu complet : autant d'espace après « Contact » qu'avant le logo (24 px, padding gauche de la pilule) ; liens et
   flèches resserrés pour que le menu tienne et reste centré, sans déborder sur ce padding */
@media(min-width:1181px){.nr-pilule{padding-right:var(--nr-e-6)}.nr-menu__lien{padding-left:8px;padding-right:8px}.nr-sous-bascule{margin-right:0}}
/* Entre 1181 et 1340 px (palier propre à l'en-tête : la pilule partage la ligne avec le bouton don), le slogan est
   masqué pour que le menu complet tienne */
@media(min-width:1181px) and (max-width:1340px){.nr-entete .nr-logo__textes em{display:none}.nr-pilule{gap:var(--nr-e-4)}.nr-menu__liste{gap:0}}
.nr-burger{display:none;margin-left:auto;background:none;border:0;color:var(--nr-nuit);cursor:pointer;padding:10px;min-width:46px;min-height:44px}
.nr-burger__trait{display:block;width:26px;height:3px;background:currentColor;border-radius:3px;margin:5px 0}
@media(max-width:1180px){ /* menu mobile : sous 1181 px le menu complet ne tient pas dans la pilule */
  .nr-burger{display:block}
  .nr-menu{display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;background:var(--nr-fond);border-radius:var(--nr-rayon-s);padding:var(--nr-e-4);box-shadow:var(--nr-ombre);flex-direction:column;align-items:stretch;gap:10px;max-height:calc(100vh - 140px);overflow-y:auto}
  .nr-menu.nr-ouvert{display:flex}
  .nr-menu__liste{flex-direction:column}
  /* Parents seuls ; la flèche déplie le sous-menu de son parent (accordéon, cf. socle.js) */
  .nr-menu__liste>.nr-a-sous{flex-wrap:wrap}
  .nr-menu__liste>.nr-a-sous>.nr-menu__lien{flex:1 1 0;padding-right:11px}
  .nr-sous-bascule{width:44px;margin-right:0}
  .nr-sous{position:static;flex-basis:100%;box-shadow:none;background:transparent;padding:0 0 6px 14px;min-width:0}
  .nr-a-sous:hover>.nr-sous,.nr-a-sous:focus-within>.nr-sous{display:none}
  .nr-a-sous.nr-ouvert>.nr-sous{display:block}
  .nr-sous .nr-menu__lien{color:var(--nr-texte-2)}
}
@media(max-width:782px){.admin-bar .nr-entete{top:70px}} /* barre d'administration plus haute (46 px) */
@media(max-width:767px){
  .nr-entete{top:var(--nr-e-4)}
  .admin-bar .nr-entete{top:62px}
  .nr-entete__in{margin:0 var(--nr-e-4);gap:var(--nr-e-2)}
  .nr-pilule{padding:8px 8px 8px var(--nr-e-4);gap:var(--nr-e-3)}
  .nr-logo{flex-shrink:1;min-width:0}
  .nr-logo__cadre{width:44px;height:44px}
  .nr-don{padding:var(--nr-e-2)}
  .nr-don .pencil-button__text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
@media(max-width:400px){.nr-entete .nr-logo__textes em{display:none}} /* palier propre au logo : le slogan ne tient pas */

/* En-tête collant (socle.js) : .nr-cache en descendant, .nr-colle dès qu'on quitte le haut de page */
.nr-entete.nr-cache{transform:translateY(calc(-100% - 120px))}
.nr-entete.nr-colle :is(.nr-pilule,.nr-don){box-shadow:var(--nr-ombre)}

/* ====== Bandeau de titre des pages intérieures (ADR-0014) : bleu plein, grand titre ; le contenu qui suit
   remonte dessus en panneau crème aux coins arrondis ====== */
/* Collé en haut (comme le hero de l'accueil) : les blocs suivants, opaques et au-dessus, le recouvrent */
.nr-bandeau{position:sticky;top:0;z-index:0;background:var(--nr-bleu);color:#fff;padding:calc(var(--nr-entete-h) + var(--nr-pad-v-m)) 0 calc(var(--nr-pad-v-m) + var(--nr-rayon-xl));overflow:hidden}
.nr-contenu .nr-bandeau__titre{color:#fff;font-size:var(--nr-fs-bandeau);line-height:1.05;letter-spacing:-0.045em;max-width:18ch;margin:0;overflow-wrap:break-word}
.nr-bandeau .nr-conteneur{position:relative;z-index:1}
.nr-js .nr-bandeau .nr-conteneur{animation:nr-monte var(--nr-duree-3) var(--nr-ease) both}
/* Le titre recule et pâlit pendant que le panneau le recouvre (Chrome, Edge ; ailleurs il reste tel quel) */
@supports (animation-timeline: scroll()){
  .nr-js .nr-bandeau .nr-conteneur{animation:nr-monte var(--nr-duree-3) var(--nr-ease) both,nr-recule linear both;animation-timeline:auto,scroll(root);animation-range:normal,0 60vh}
  @keyframes nr-recule{to{opacity:.25;transform:scale(.94)}}
}
@keyframes nr-monte{from{opacity:0;transform:translateY(24px)}}
/* Feuilles du rameau, en décor à droite (jamais sous le titre : masquées sur mobile) */
.nr-bandeau::before,.nr-bandeau::after{content:"";position:absolute;width:2rem;aspect-ratio:1;background:var(--nr-rameau);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M4 28C4 14 14 4 28 4c0 14-10 24-24 24Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath d='M4 28C4 14 14 4 28 4c0 14-10 24-24 24Z'/%3E%3C/svg%3E") center/contain no-repeat;animation:nr-flotte 6s ease-in-out 4 alternate;z-index:1}
.nr-bandeau::before{right:12%;top:38%}
.nr-bandeau::after{right:22%;top:62%;width:1.25rem;background:var(--nr-ciel);animation-delay:-3s}
@keyframes nr-flotte{to{transform:translateY(-12px) rotate(14deg)}}
@media(max-width:1024px){.nr-bandeau::before,.nr-bandeau::after{display:none}}
/* Version haute (pages, archives, 404) : 200 px de plus, titre en bas, à 50 px du bord visible du bandeau */
.nr-bandeau--haut{padding-top:calc(var(--nr-entete-h) + 2 * var(--nr-pad-v-m) + 150px);padding-bottom:calc(50px + var(--nr-rayon-xl))}
/* Image mise en avant de la Page derrière le bleu, teintée pour la lisibilité du titre */
.nr-bandeau__fond{position:absolute;inset:0}
.nr-bandeau__media{height:100%}
.nr-bandeau__fond img{display:block;width:100%;height:100%;object-fit:cover}
.nr-bandeau__fond::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,56,148,.55) 0%,rgba(0,56,148,.75) 60%,rgba(0,56,148,.9) 100%);pointer-events:none}
/* Le premier bloc après le bandeau remonte en panneau */
/* Tous les blocs qui suivent le bandeau passent au-dessus, sur fond opaque (crème par défaut, sans écraser le fond
   propre d'une section : :where = sans poids) ; le premier remonte en panneau arrondi */
:where(.nr-bandeau,.nr-hero-pilier)~*{position:relative;z-index:1}
:where(.nr-bandeau,.nr-hero-pilier)~:where(*){background-color:var(--nr-creme)}
:is(.nr-bandeau,.nr-hero-pilier)+*{margin-top:calc(-1 * var(--nr-rayon-xl));border-radius:var(--nr-rayon-xl) var(--nr-rayon-xl) 0 0}
.nr-bandeau+.nr-section--gris{background-color:var(--nr-creme-2)}

/* ====== Texte courant des pages (contenu Pencil) ====== */
.nr-texte-page{max-width:850px}
.nr-texte>:last-child{margin-bottom:0}
.nr-texte ul,.nr-texte ol{margin:0 0 1em;padding-left:1.4em}
.nr-texte li{margin-bottom:.4em}
.nr-texte-page .nr-btn{margin-top:var(--nr-e-8)}
/* Longueur de ligne : 65 caractères au plus (règles « site aéré » § 4) */
.nr-texte-page :is(p,li),.nr-chapo-texte p,.nr-contenu-riche :is(p,li){max-width:65ch}
.nr-liste-simple{list-style:none;margin:0;padding:0}
.nr-liste-simple__element{padding:var(--nr-pad-s) 0;border-bottom:1px solid var(--nr-trait)}
.nr-liste-simple__element h2{margin:0}
.nr-liste-simple__element a{text-decoration:none}
.nr-pagination{margin-top:var(--nr-pad-m);font:700 var(--nr-fs-texte)/1 var(--nr-titres)}
.nr-pagination a,.nr-pagination span{display:inline-block;padding:12px 16px;text-decoration:none}

/* ====== Bloc d'appel à agir (blocs/appel.php) : accueil et au-dessus du pied des autres pages ====== */
.nr-avant-pied{padding:var(--nr-pad-v-m) 0 calc(var(--nr-pad-v-m) + var(--nr-rayon-xl))}
.nr-appel{position:relative;margin:0 var(--nr-e-4);padding:var(--nr-pad-v-l) var(--nr-e-6) var(--nr-pad-v-m);border-radius:var(--nr-rayon-xl);background:var(--nr-bleu);color:#fff;text-align:center}
.nr-avant-pied .nr-appel{max-width:calc(var(--nr-large) + 6rem);margin:0 auto}
@media(max-width:1295px){.nr-avant-pied .nr-appel{margin:0 var(--nr-e-4)}} /* largeur du bloc (1200 px + 6rem) + marges */
:where(.nr-contenu,.nr-avant-pied) .nr-appel__titre{color:#fff;font-size:var(--nr-fs-appel);line-height:1;letter-spacing:-0.045em;max-width:12ch;margin:0 auto var(--nr-e-8)}
.nr-appel__texte{font-size:var(--nr-fs-grand);color:var(--nr-texte-clair);max-width:40ch;margin:0 auto var(--nr-e-10)}
.nr-appel .nr-actions{justify-content:center}
.nr-appel__points{display:flex;flex-wrap:wrap;justify-content:space-around;gap:var(--nr-e-4) var(--nr-e-8);max-width:var(--nr-large);margin:var(--nr-pad-v-m) auto 0;padding:0;list-style:none;font:400 var(--nr-fs-petit)/1.4 var(--nr-titres);color:var(--nr-texte-clair)}
.nr-appel__points li::before{content:"";display:inline-block;width:8px;height:8px;margin-right:var(--nr-e-2);border-radius:50%;background:var(--nr-rameau)}

/* ====== Pied de page (ADR-0014) : bleu nuit, coins arrondis, signature géante ====== */
.nr-pied{position:relative;z-index:1;margin-top:calc(-1 * var(--nr-rayon-xl));border-radius:var(--nr-rayon-xl) var(--nr-rayon-xl) 0 0;background:var(--nr-nuit);color:var(--nr-texte-clair);font-size:var(--nr-fs-texte)}
.nr-pied .nr-conteneur{position:relative}
.nr-pied :is(h2,a){color:#fff}
.nr-pied a:hover{color:var(--nr-vert)}
.nr-pied-grille{--nr-gouttiere:var(--nr-e-10)}
.nr-pied__titre{font:600 var(--nr-fs-petit)/1 var(--nr-titres);letter-spacing:.14em;text-transform:uppercase;margin-bottom:var(--nr-e-4)}
:where(.nr-pied) .nr-pied__titre{color:var(--nr-rameau)}
.nr-pied__titre::first-letter{text-transform:uppercase}
.nr-pied__liste,.nr-reseaux{list-style:none;padding:0;margin:0}
.nr-pied__liste li{margin-bottom:var(--nr-e-2)}
.nr-pied__lien,.nr-reseaux__lien{text-decoration:none}
.nr-pied__adresse{font-style:normal}
.nr-pied__adresse p{margin:0}
.nr-pied .nr-logo{margin-bottom:var(--nr-e-4)}
.nr-pied .nr-logo,.nr-pied .nr-logo:hover{color:#fff}
.nr-pied .nr-logo__textes em{color:var(--nr-texte-clair)}
.nr-reseaux{display:flex;flex-wrap:wrap;gap:var(--nr-e-2) var(--nr-e-4);margin-top:var(--nr-e-4);font:600 var(--nr-fs-petit)/1.4 var(--nr-titres)}
.nr-reseaux li:empty{display:none}
.nr-pied__signature{margin:var(--nr-pad-v-m) 0 var(--nr-e-2);font:600 var(--nr-fs-geant)/1 var(--nr-titres);letter-spacing:-0.05em;color:#fff;overflow-wrap:break-word}
.nr-vague--pied{width:min(32rem,70%);height:16px;margin:0 0 var(--nr-pad-v-s)}
.nr-pied-bas{border-top:1px solid rgba(255,255,255,.12);padding-top:var(--nr-e-6);display:flex;justify-content:space-between;gap:var(--nr-e-4);flex-wrap:wrap;font:var(--nr-fs-petit) var(--nr-titres)}
.nr-pied-bas__droits{margin:0}
.nr-pied-bas__liste{display:flex;flex-wrap:wrap;gap:var(--nr-e-2) var(--nr-e-6);list-style:none;margin:0;padding:0}
.nr-pied-bas__lien{text-decoration:none}

/* Blocs partagés par l'accueil et les pages intérieures (mêmes champs Pencil) */
/* ====== Partenaires ====== */
.nr-partenaires{--nr-gouttiere:var(--nr-e-6);margin:var(--nr-e-12) 0 0;list-style:none;padding:0}
.nr-partenaire{display:flex;flex-direction:column;gap:8px}
.nr-partenaire__cadre{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:var(--nr-pad-s);background:var(--nr-fond);border-radius:var(--nr-rayon-s);overflow:hidden;transition:transform var(--nr-duree-2) var(--nr-ease-ressort)}
.nr-partenaire:hover .nr-partenaire__cadre{transform:translateY(-4px)}
.nr-partenaire__cadre img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1);opacity:.75;transition:filter .2s,opacity .2s}
.nr-partenaire:hover .nr-partenaire__cadre img{filter:none;opacity:1}
.nr-partenaire__nom{font:600 var(--nr-fs-petit)/1.3 var(--nr-titres);color:var(--nr-texte-2)}

/* ====== Bouton WhatsApp flottant ====== */
.nr-whatsapp{position:fixed;right:20px;bottom:28px;z-index:30;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:var(--nr-ombre)}
.nr-whatsapp:hover{background:#1EBE5A}
.nr-whatsapp__icone{display:block;width:30px;height:30px;background:#fff;-webkit-mask:url("../svg/whatsapp.svg") center/contain no-repeat;mask:url("../svg/whatsapp.svg") center/contain no-repeat}
.nr-whatsapp .pencil-button__text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

/* ====== Apparition au scroll (légère, sans bibliothèque) ======
   Masquage seulement si le JavaScript tourne (classe nr-js posée dans le <head>). */
.nr-js .nr-apparition{opacity:0;transform:translateY(32px);transition:opacity var(--nr-duree-3) var(--nr-ease),transform var(--nr-duree-3) var(--nr-ease-ressort)}
.nr-js .nr-apparition.nr-vu{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .nr-js .nr-apparition{opacity:1;transform:none;transition:none}
  .nr-sep::after,.nr-vague::after,.nr-bandeau::before,.nr-bandeau::after,.nr-js .nr-bandeau .nr-conteneur,.nr-js .nr-hero-pilier__grille,.nr-js .nr-hero-pilier__calque,.nr-js .nr-hero-pilier__titre,.nr-js .nr-hero-pilier__visuel,.nr-js .nr-hero-pilier__description{animation:none!important}
  [class*="nr-"]{transition:none!important}
}
