/* ==========================================================================
   Natura Juice — retours Roxane du 28/09/2026
   Chargée après style.css. Même palette, mêmes polices : on arrondit, on aère,
   on met en forme ; on ne change pas d'identité.
   ========================================================================== */
:root{
  --r-carte: 20px;
  --r-bloc: 24px;
  --r-btn: 14px;
  --ombre-douce: 0 1px 2px rgba(20,29,23,.05), 0 8px 24px rgba(20,29,23,.07);
  --ombre-survol: 0 2px 4px rgba(20,29,23,.06), 0 18px 40px rgba(20,29,23,.12);
  --celeri-clair: #EEF1D2;
  --kale-clair: #E3EDE5;
}

/* ---------- Petits communs ------------------------------------------------ */
.nj-naturo__sur{ font-family:var(--font-titre); font-size:12.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--kale); margin:0 0 12px; }
.nj-naturo__btn, .nj-colonne-texte a.nj-naturo__btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:52px; padding:0 26px;
  background:var(--encre); color:var(--bg); border-radius:var(--r-btn); text-decoration:none;
  font-family:var(--font-titre); font-weight:600; font-size:15.5px; border:0; cursor:pointer;
  transition:background var(--transition), transform var(--transition);
}
.nj-naturo__btn:hover, .nj-naturo__btn:focus-visible{ background:var(--kale-fonce); color:#fff; }
.nj-naturo__btn:active{ transform:translateY(1px); }
.nj-lien-fleche{ font-family:var(--font-titre); font-weight:600; font-size:15px; color:var(--kale); display:inline-flex; gap:6px; align-items:center; }
.nj-lien-fleche span{ transition:transform var(--transition); }
.nj-lien-fleche:hover span{ transform:translateX(3px); }
.nj-section-tete{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:28px; }
.nj-section-tete h2{ font-size:34px; line-height:1.15; }
.nj-section-tete--centre{ flex-direction:column; align-items:center; text-align:center; }
.nj-section-tete__texte{ max-width:640px; color:var(--tige); font-size:17px; }
.nj-section-tete__texte p{ margin:0; }
.nj-puces{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.nj-puces li{ padding:7px 14px; border-radius:999px; background:var(--kale-clair); color:var(--kale-fonce); font-family:var(--font-titre); font-size:13.5px; font-weight:600; }
.nj-puces--liens li{ padding:0; background:none; }
.nj-puces--liens a{ display:block; padding:8px 16px; border-radius:999px; border:1.5px solid var(--bordure); background:var(--carte); font-family:var(--font-titre); font-size:14px; font-weight:600; transition:border-color var(--transition), background var(--transition); }
.nj-puces--liens a:hover{ border-color:var(--kale); background:var(--kale-clair); }

/* ---------- Cartes article (rubriques, actualité, à lire aussi, auteurs) -- */
.nj-cartes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.nj-cartes--rubrique{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.nj-carte{
  position:relative; display:flex; flex-direction:column; min-width:0;
  background:var(--carte); border-radius:var(--r-carte); overflow:hidden;
  box-shadow:var(--ombre-douce); transition:box-shadow .25s ease, transform .25s ease;
}
.nj-carte:hover{ box-shadow:var(--ombre-survol); transform:translateY(-3px); }
.nj-carte__photo{ display:block; aspect-ratio:3/2; overflow:hidden; background:var(--celeri-clair); }
.nj-carte__photo img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.nj-carte:hover .nj-carte__photo img{ transform:scale(1.045); }
.nj-carte__corps{ display:flex; flex-direction:column; gap:10px; padding:20px 22px 22px; flex:1; }
.nj-carte__rubrique{ align-self:flex-start; padding:5px 11px; border-radius:999px; background:var(--kale-clair); color:var(--kale-fonce); font-family:var(--font-titre); font-size:12px; font-weight:700; letter-spacing:.03em; }
.nj-carte__titre{ font-size:20px; font-weight:500; line-height:1.28; }
.nj-carte__titre a::after{ content:''; position:absolute; inset:0; }  /* toute la carte est cliquable */
.nj-carte__titre a:focus-visible{ outline:none; }
.nj-carte:focus-within{ outline:3px solid var(--kale); outline-offset:3px; }
.nj-carte__extrait{ font-size:15px; line-height:1.55; color:var(--tige); margin:0; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.nj-carte__meta{ margin:auto 0 0; padding-top:6px; font-size:13px; color:var(--tige); display:flex; gap:8px; flex-wrap:wrap; }
/* carte « à la une » de la page 1 d'une rubrique : photo à gauche, texte à droite */
.nj-carte--une{ grid-column:1 / -1; flex-direction:row; }
.nj-carte--une .nj-carte__photo{ flex:0 0 58%; aspect-ratio:16/10; }
.nj-carte--une .nj-carte__corps{ justify-content:center; padding:40px 44px; gap:14px; }
.nj-carte--une .nj-carte__titre{ font-size:34px; line-height:1.15; }
.nj-carte--une .nj-carte__extrait{ font-size:17px; -webkit-line-clamp:4; }
@media (max-width:1080px){
  .nj-cartes, .nj-cartes--rubrique{ grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
  .nj-carte--une .nj-carte__corps{ padding:28px; }
  .nj-carte--une .nj-carte__titre{ font-size:26px; }
}
@media (max-width:680px){
  .nj-cartes, .nj-cartes--rubrique{ grid-template-columns:minmax(0,1fr); gap:18px; }
  .nj-carte--une{ flex-direction:column; }
  .nj-carte--une .nj-carte__photo{ flex:none; aspect-ratio:3/2; }
  .nj-carte--une .nj-carte__corps{ padding:20px 22px 22px; }
  .nj-carte--une .nj-carte__titre{ font-size:23px; }
}

/* ---------- Pagination (R20 : plus rien ne se superpose) ----------------- */
.nj-pages{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:8px; margin:48px 0 8px; }
.nj-pages .page-numbers{
  display:inline-flex; align-items:center; justify-content:center; gap:6px; min-width:46px; height:46px; padding:0 14px;
  border-radius:12px; background:var(--carte); border:1.5px solid var(--bordure);
  font-family:var(--font-titre); font-weight:600; font-size:15px; color:var(--encre); white-space:nowrap;
  transition:border-color var(--transition), background var(--transition);
}
.nj-pages a.page-numbers:hover{ border-color:var(--kale); background:var(--kale-clair); }
.nj-pages .page-numbers.current{ background:var(--encre); border-color:var(--encre); color:var(--bg); }
.nj-pages .page-numbers.dots{ background:none; border:0; min-width:24px; }
@media (max-width:480px){ .nj-pages .prev, .nj-pages .next{ flex-basis:100%; order:2; } }

/* ---------- Rubrique : onglet, « ce que couvre », encart avis ------------- */
.nj-tete-rubrique__bandeau{ border-radius:0; }
.nj-rubrique-apropos{ margin:56px 0 72px; background:var(--carte); border-radius:var(--r-carte); box-shadow:var(--ombre-douce); }
.nj-rubrique-apropos summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 26px; font-family:var(--font-titre); font-size:18px; font-weight:600; }
.nj-rubrique-apropos summary::-webkit-details-marker{ display:none; }
.nj-rubrique-apropos__plus{ width:34px; height:34px; border-radius:50%; background:var(--kale-clair); position:relative; flex-shrink:0; }
.nj-rubrique-apropos__plus::before, .nj-rubrique-apropos__plus::after{ content:''; position:absolute; left:50%; top:50%; width:14px; height:2px; background:var(--kale-fonce); transform:translate(-50%,-50%); transition:transform var(--transition); }
.nj-rubrique-apropos__plus::after{ transform:translate(-50%,-50%) rotate(90deg); }
.nj-rubrique-apropos[open] .nj-rubrique-apropos__plus::after{ transform:translate(-50%,-50%) rotate(0); }
.nj-rubrique-apropos__texte{ padding:0 26px 24px; color:var(--tige); font-size:16px; max-width:880px; }
body.category .nj-container > .nj-pages + .nj-rubrique-apropos, body.category .nj-cartes + .nj-rubrique-apropos{ margin-top:56px; }
body.category .nj-cartes{ margin-bottom:0; }
body.category .nj-container:has(> .nj-cartes){ padding-bottom:72px; }

/* Encart « Besoin d'un avis personnalisé ? » — pleine largeur, centré (R17/R18) */
.nj-avis{ background:var(--celeri); padding:88px 0; }
.nj-avis__grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,480px); gap:64px; align-items:center; }
.nj-avis__texte h2{ font-size:44px; line-height:1.1; margin-bottom:16px; }
.nj-avis__texte > p{ font-size:18px; color:var(--encre); max-width:560px; }
.nj-avis .nj-naturo__sur{ color:var(--kale-fonce); }
.nj-avis__points{ display:flex; flex-direction:column; gap:14px; margin:26px 0 22px; padding:0; list-style:none; }
.nj-avis__points li{ display:flex; align-items:center; gap:14px; font-family:var(--font-titre); font-size:16px; font-weight:500; }
.nj-avis__points span{ flex-shrink:0; width:34px; height:34px; border-radius:50%; background:var(--encre); color:var(--celeri); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
.nj-avis__form{ background:var(--carte); border-radius:var(--r-bloc); padding:32px; box-shadow:0 24px 60px rgba(20,29,23,.16); }
.nj-avis__form .nj-lead h2, .nj-avis__form .nj-lead h3{ font-size:24px; }
@media (max-width:960px){
  .nj-avis{ padding:56px 0; }
  .nj-avis__grille{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .nj-avis__texte h2{ font-size:32px; }
  .nj-avis__form{ padding:24px 20px; }
}

/* ---------- Formulaire de lead : cartes arrondies ------------------------- */
.nj-lead input, .nj-lead select, .nj-lead textarea{ border-radius:12px; }
.nj-lead__radio span{ border-radius:14px; }
.nj-lead .nj-btn, .nj-lead button[type=submit]{ border-radius:var(--r-btn); }
.nj-lead textarea{ width:100%; padding:14px 16px; border:1.5px solid var(--bordure); background:var(--bg); font:inherit; resize:vertical; }
.nj-lead textarea:focus{ border-color:var(--kale); outline:none; }

/* ---------- Accueil : sélecteur de ville (R1) ----------------------------- */
#nj-hero-ville{
  -webkit-appearance:none; appearance:none; cursor:pointer; border-radius:var(--r-btn) !important;
  padding:0 52px 0 46px !important; font-family:var(--font-titre); font-size:16px;
  background-color:rgba(250,247,238,.1) !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FAF7EE' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D3DB8C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat, no-repeat;
  background-position:16px 50%, calc(100% - 18px) 50%;
  background-size:20px 20px, 18px 18px;
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
}
#nj-hero-ville:focus-visible{ outline:3px solid var(--celeri); outline-offset:2px; }
#nj-hero-ville option{ color:var(--encre); background:#fff; }
#nj-hero-ville + button, #nj-hero-ville ~ button, #nj-hero-ville ~ .nj-btn{ border-radius:var(--r-btn); }

/* ==========================================================================
   ARTICLE
   ========================================================================== */
.nj-pastille--statique{ position:static !important; display:inline-block; margin-bottom:14px; border-radius:999px; padding:6px 13px; }
.nj-article-meta__auteur{ display:flex; align-items:center; gap:12px; }
.nj-article-meta__auteur .nj-avatar{ width:48px; height:48px; }
.nj-article-meta__texte{ display:flex; flex-direction:column; font-size:14px; line-height:1.4; color:var(--tige); }
.nj-article-meta__texte strong{ color:var(--encre); font-weight:600; }
.nj-article-meta__auteur:hover strong{ color:var(--kale); }
.nj-lecture-restante{ padding:6px 12px; border-radius:999px; background:var(--kale-clair); color:var(--kale-fonce); font-size:13px; font-family:var(--font-titre); font-weight:600; }

/* Barre latérale (R14) : aucun max-height, la colonne s'étire sur la hauteur de l'article,
   seul le dernier bloc (formulaire + pub) est collant → plus rien ne déborde sur le pied. */
.nj-article-corps{ grid-template-columns:minmax(0,1fr) 340px; gap:64px; padding-block:40px 96px; }
.nj-colonne-texte{ max-width:740px; }
.nj-sidebar{ position:static !important; max-height:none !important; overflow:visible !important; align-self:stretch !important; top:auto !important; }
.nj-sidebar__module{ border-radius:var(--r-carte); border:0; box-shadow:var(--ombre-douce); }
.nj-sidebar__collant{ position:sticky; top:96px; display:flex; flex-direction:column; gap:24px; }
.nj-sidebar .nj-sommaire{ margin:0; padding:22px; }
.nj-sidebar .nj-sommaire ol{ display:flex; flex-direction:column; gap:4px; counter-reset:som; }
.nj-sidebar .nj-sommaire li{ font-size:14px; line-height:1.35; }
.nj-sidebar .nj-sommaire li::before{ display:none; }
.nj-sidebar .nj-sommaire a{ display:block; padding:7px 10px 7px 12px; border-left:2px solid var(--bordure); color:var(--tige); transition:color var(--transition), border-color var(--transition); }
.nj-sidebar .nj-sommaire a:hover{ color:var(--encre); }
.nj-sidebar .nj-sommaire a[aria-current="true"]{ color:var(--kale-fonce); border-left-color:var(--kale); font-weight:600; background:var(--kale-clair); border-radius:0 8px 8px 0; }
.nj-plus-lus__photo{ border-radius:12px; }
.nj-sidebar__lead{ background:var(--celeri); }
.nj-sidebar__pub{ border-radius:var(--r-carte); background:var(--kale-clair); color:var(--tige); box-shadow:none; border:1.5px dashed rgba(46,106,62,.3); }
@media (max-height:780px){ .nj-sidebar__collant{ position:static; } }
@media (max-width:1080px){
  .nj-article-corps{ grid-template-columns:minmax(0,1fr); gap:40px; }
  .nj-sidebar{ display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; flex-direction:initial; }
  .nj-sidebar .nj-sommaire, .nj-sidebar__pub{ display:none; }
  .nj-sidebar__collant{ position:static; }
  .nj-sidebar__module{ min-width:0 !important; }
}
@media (max-width:680px){ .nj-sidebar{ grid-template-columns:minmax(0,1fr); } }

/* Sommaire unique (R5) : dans la colonne sous 1080 px seulement, replié */
.nj-sommaire--mobile{ background:var(--carte); border:0; border-radius:var(--r-carte); box-shadow:var(--ombre-douce); padding:0; margin:0 0 32px; }
.nj-sommaire--mobile summary{ list-style:none; cursor:pointer; padding:18px 22px; display:flex; justify-content:space-between; align-items:center; font-family:var(--font-titre); font-weight:700; font-size:14px; letter-spacing:.06em; text-transform:uppercase; }
.nj-sommaire--mobile summary::-webkit-details-marker{ display:none; }
.nj-sommaire--mobile summary span{ font-weight:600; text-transform:none; letter-spacing:0; color:var(--tige); font-size:13px; }
.nj-sommaire--mobile ol{ padding:0 22px 18px; }
.nj-colonne-texte .nj-sommaire--mobile a{ color:var(--encre); text-decoration:none; }
@media (min-width:1081px){ .nj-colonne-texte > .nj-sommaire--mobile{ display:none; } }

/* Corps : titres, listes, images */
.nj-colonne-texte h2{ font-size:32px; line-height:1.2; margin-top:64px; scroll-margin-top:100px; }
.nj-colonne-texte h3{ scroll-margin-top:100px; }
.nj-colonne-texte > ul, .nj-colonne-texte > ol{ margin:0 0 24px; padding-left:0; display:flex; flex-direction:column; gap:10px; }
.nj-colonne-texte > ul li{ position:relative; padding-left:26px; }
.nj-colonne-texte > ul li::before{ content:''; position:absolute; left:4px; top:.62em; width:9px; height:9px; border-radius:50%; background:var(--celeri); box-shadow:0 0 0 2px var(--kale); }
.nj-colonne-texte > ol{ counter-reset:li; }
.nj-colonne-texte > ol li{ counter-increment:li; position:relative; padding-left:38px; }
.nj-colonne-texte > ol li::before{ content:counter(li); position:absolute; left:0; top:.1em; width:26px; height:26px; border-radius:50%; background:var(--encre); color:var(--celeri); font-family:var(--font-titre); font-size:13px; font-weight:700; display:flex; align-items:center; justify-content:center; }
.nj-colonne-texte img{ border-radius:var(--r-carte); height:auto; }
.nj-colonne-texte figure{ margin:40px 0; }
.nj-figure{ margin:44px 0 !important; }
.nj-figure img{ width:100%; aspect-ratio:16/10 !important; object-fit:cover; border-radius:var(--r-bloc) !important; margin:0 !important; box-shadow:var(--ombre-douce); }
.nj-figure figcaption{ margin-top:12px; font-size:14px; color:var(--tige); display:flex; gap:10px; flex-wrap:wrap; justify-content:space-between; }
.nj-figure figcaption span{ font-size:12px; opacity:.8; }

/* « Le saviez-vous ? » (R8) */
.nj-saviez{ display:flex; gap:22px; align-items:flex-start; margin:44px 0; padding:28px 30px; border-radius:var(--r-bloc); background:var(--celeri-clair); position:relative; overflow:hidden; }
.nj-saviez::after{ content:''; position:absolute; right:-40px; top:-40px; width:150px; height:150px; border-radius:50%; background:var(--celeri); opacity:.55; }
.nj-saviez > *{ position:relative; z-index:1; }
.nj-saviez__icone{ flex-shrink:0; width:56px; height:56px; border-radius:18px; background:var(--encre); color:var(--celeri); display:flex; align-items:center; justify-content:center; }
.nj-saviez__icone svg{ width:30px; height:30px; }
.nj-saviez__label{ font-family:var(--font-titre); font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--kale-fonce); margin:2px 0 8px !important; }
.nj-saviez__texte{ font-family:var(--font-titre); font-size:21px; line-height:1.45; color:var(--encre); margin:0 !important; }
@media (max-width:600px){ .nj-saviez{ flex-direction:column; gap:14px; padding:22px; } .nj-saviez__texte{ font-size:18px; } }

/* Infographie (R6) */
.nj-info{ margin:48px 0 !important; padding:34px 32px 26px; border-radius:var(--r-bloc); background:var(--encre); color:var(--bg); }
.nj-colonne-texte .nj-info__titre, .nj-info__titre{ display:flex; flex-direction:column; gap:6px; font-family:var(--font-titre); font-size:24px; line-height:1.25; color:var(--bg) !important; margin:0 0 26px !important; }
.nj-info__titre span{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--celeri); }
.nj-info__liste{ list-style:none !important; margin:0 !important; padding:0 !important; display:grid !important; gap:14px !important; grid-template-columns:repeat(2,minmax(0,1fr)); counter-reset:none !important; }
.nj-info--n3 .nj-info__liste{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.nj-info--n4.nj-info--chiffres .nj-info__liste{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.nj-info__item{ padding:20px 18px !important; border-radius:18px; background:rgba(250,247,238,.07); border:1px solid rgba(211,219,140,.18); min-width:0; }
.nj-info__item::before{ display:none !important; }
.nj-info__verre{ width:30px; height:42px; color:var(--celeri); margin-bottom:12px; }
.nj-info__pulpe{ fill:var(--celeri); opacity:.85; }
.nj-info__valeur{ font-family:var(--font-titre); font-size:34px; line-height:1.05; font-weight:500; color:var(--celeri); margin:0 0 8px !important; overflow-wrap:anywhere; }
.nj-info__valeur small{ font-size:15px; margin-left:5px; color:var(--bg); font-weight:600; }
.nj-info__libelle{ font-size:14.5px; line-height:1.45; color:#D6DDD3; margin:0 !important; }
.nj-info__num{ width:34px; height:34px; border-radius:50%; background:var(--celeri); color:var(--encre); display:flex; align-items:center; justify-content:center; font-family:var(--font-titre); font-weight:700; margin-bottom:14px; }
.nj-info__etape{ font-family:var(--font-titre); font-size:17px; font-weight:600; color:var(--bg); margin:0 0 6px !important; line-height:1.3; }
.nj-info--etapes .nj-info__item{ position:relative; }
.nj-info__note{ margin:18px 0 0 !important; font-size:12.5px; color:#AAB5A8; }
@media (max-width:900px){ .nj-info--n4.nj-info--chiffres .nj-info__liste, .nj-info--n3 .nj-info__liste{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:520px){ .nj-info{ padding:26px 18px 20px; } .nj-info__liste, .nj-info--n3 .nj-info__liste, .nj-info--n4.nj-info--chiffres .nj-info__liste{ grid-template-columns:minmax(0,1fr); } .nj-info__valeur{ font-size:30px; } }

/* Sources (R9) */
.nj-sources{ margin:64px 0 0; padding:32px; border-radius:var(--r-bloc); background:var(--carte); box-shadow:var(--ombre-douce); border:0; }
.nj-sources__tete{ display:flex; gap:16px; align-items:center; margin-bottom:22px; }
.nj-sources__icone{ flex-shrink:0; width:48px; height:48px; border-radius:14px; background:var(--kale-clair); color:var(--kale-fonce); display:flex; align-items:center; justify-content:center; }
.nj-sources__icone svg{ width:24px; height:24px; }
.nj-colonne-texte .nj-sources h2, .nj-sources h2{ font-size:22px !important; margin:0 0 2px !important; text-transform:none; letter-spacing:0; }
.nj-sources__tete p{ margin:0 !important; font-size:14px; color:var(--tige); }
.nj-sources__liste{ list-style:none !important; margin:0 !important; padding:0 !important; display:flex !important; flex-direction:column; gap:0 !important; counter-reset:none; }
.nj-sources__item{ display:flex; gap:16px; padding:16px 0 !important; border-top:1px solid var(--bordure); }
.nj-sources__item::before{ display:none !important; }
.nj-sources__num{ flex-shrink:0; font-family:var(--font-titre); font-weight:700; font-size:14px; color:var(--kale); padding-top:2px; width:24px; }
.nj-sources__texte{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.nj-sources__org{ font-family:var(--font-titre); font-weight:700; font-size:15.5px; color:var(--encre); }
.nj-sources__titre{ font-size:15px; line-height:1.45; color:var(--encre); overflow-wrap:anywhere; }
.nj-sources__meta{ font-size:12.5px; color:var(--tige); }
@media (max-width:600px){ .nj-sources{ padding:22px 18px; } }

/* Signature auteur (R10) */
.nj-signature{ display:flex; gap:26px; align-items:flex-start; margin-top:56px; padding:30px; border-radius:var(--r-bloc); background:var(--carte); box-shadow:var(--ombre-douce); }
.nj-signature__photo{ flex-shrink:0; width:112px; height:112px; border-radius:50%; overflow:hidden; background:var(--celeri); box-shadow:0 0 0 5px var(--celeri-clair); }
.nj-signature__photo img{ width:100%; height:100%; object-fit:cover; margin:0 !important; border-radius:50% !important; aspect-ratio:1/1 !important; }
.nj-signature__label{ font-family:var(--font-titre); font-size:12.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--kale); margin:0 0 4px !important; }
.nj-signature__nom{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 10px !important; font-family:var(--font-titre); font-size:24px; }
.nj-colonne-texte .nj-signature__nom a{ color:var(--encre); text-decoration:none; }
.nj-signature__role{ font-size:12.5px; font-weight:600; padding:5px 11px; border-radius:999px; background:var(--kale-clair); color:var(--kale-fonce); }
.nj-signature__bio{ font-size:16px; line-height:1.6; color:var(--tige); margin:0 0 16px !important; }
.nj-signature__pied{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 20px; margin:0 !important; padding-top:14px; border-top:1px solid var(--bordure); font-size:13.5px; color:var(--tige); }
.nj-colonne-texte .nj-signature__pied a{ font-family:var(--font-titre); font-weight:600; color:var(--kale); text-decoration:none; }
@media (max-width:600px){ .nj-signature{ flex-direction:column; align-items:center; text-align:center; padding:24px 20px; } .nj-signature__nom{ justify-content:center; } .nj-signature__pied{ justify-content:center; } }

/* À lire aussi (R11) : pleine largeur, cartes photo */
.nj-a-lire{ background:var(--celeri-clair); padding:80px 0; }
.nj-a-lire .nj-section-tete h2{ font-size:36px; }
@media (max-width:680px){ .nj-a-lire{ padding:56px 0; } .nj-a-lire .nj-section-tete h2{ font-size:28px; } }

/* Bande naturopathe (R12/R13) : pleine largeur, céleri (procédé 6 de la DA), bouton encre texte crème */
.nj-naturo{ background:var(--celeri); color:var(--encre); padding:88px 0; overflow:hidden; }
.nj-naturo__grille{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:64px; align-items:center; }
.nj-naturo .nj-naturo__sur{ color:var(--kale-fonce); }
.nj-naturo h2{ color:var(--encre); font-size:44px; line-height:1.1; margin-bottom:16px; }
.nj-naturo__texte > p{ color:var(--encre); font-size:18px; max-width:600px; }
.nj-naturo__villes{ display:flex; flex-wrap:wrap; gap:8px; margin:26px 0 28px; padding:0; list-style:none; }
.nj-naturo__villes a{ display:block; padding:9px 16px; border-radius:999px; background:rgba(255,255,255,.55); color:var(--encre); font-family:var(--font-titre); font-size:14.5px; font-weight:600; transition:background var(--transition), color var(--transition); }
.nj-naturo__villes a:hover{ background:var(--encre); color:var(--bg); }
.nj-naturo__note{ margin:18px 0 0; font-size:13.5px; color:var(--encre); opacity:.75; }
.nj-naturo__photo{ border-radius:28px; overflow:hidden; aspect-ratio:4/3; box-shadow:0 30px 60px rgba(20,29,23,.22); }
.nj-naturo__photo img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:960px){
  .nj-naturo{ padding:56px 0; }
  .nj-naturo__grille{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .nj-naturo h2{ font-size:32px; }
  .nj-naturo__photo{ aspect-ratio:16/9; order:-1; }
}

/* ==========================================================================
   PAGES VILLE (R2, R3, R4)
   ========================================================================== */
.nj-ville-hero{ min-height:0 !important; }
.nj-ville-hero__grille{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) !important; gap:64px !important; align-items:center !important; padding-block:72px !important; }
.nj-ville-hero__grille > div:first-child{ padding-top:0 !important; }
.nj-ville-hero__sur{ font-family:var(--font-titre); font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--celeri); margin:18px 0 12px; }
.nj-ville-hero h1{ font-size:60px; line-height:1.04; color:var(--bg); margin-bottom:20px; }
.nj-ville-hero__ville{ display:block; color:var(--celeri); }
.nj-ville-hero__chapo{ font-size:19px; line-height:1.55; color:#E4E9E1; max-width:560px; margin-bottom:30px; }
.nj-ville-hero__atouts{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0 0 24px; padding:0; list-style:none; max-width:580px; }
.nj-ville-hero__atouts li{ padding:16px 16px 14px; border-radius:16px; background:rgba(250,247,238,.08); border:1px solid rgba(211,219,140,.25); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); }
.nj-ville-hero__atouts strong{ display:block; font-family:var(--font-titre); font-size:24px; font-weight:600; color:var(--celeri); line-height:1.1; margin-bottom:4px; }
.nj-ville-hero__atouts span{ font-size:13.5px; line-height:1.35; color:#E4E9E1; }
.nj-ville-hero__rgpd{ display:flex; gap:10px; align-items:flex-start; font-size:14px; color:#C9D2C6; max-width:560px; margin:0; }
.nj-ville-hero__rgpd svg{ width:20px; height:20px; flex-shrink:0; color:var(--celeri); margin-top:1px; }
.nj-ville-hero .nj-hero__form{ border-radius:var(--r-bloc); padding:30px 30px 26px; box-shadow:0 30px 70px rgba(0,0,0,.35); }
.nj-ville-hero .nj-hero__form .nj-lead__promesse{ font-size:13px; line-height:1.5; }
@media (max-width:1080px){ .nj-ville-hero h1{ font-size:46px; } .nj-ville-hero__grille{ gap:40px !important; } }
@media (max-width:900px){
  .nj-ville-hero__grille{ grid-template-columns:minmax(0,1fr) !important; padding-block:36px !important; }
  .nj-ville-hero h1{ font-size:40px; }
  .nj-ville-hero__atouts{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .nj-ville-hero .nj-hero__form{ max-width:none; padding:22px 18px; }
}
@media (max-width:480px){ .nj-ville-hero__atouts{ gap:8px; } .nj-ville-hero__atouts li{ padding:12px 10px; } .nj-ville-hero__atouts strong{ font-size:19px; } .nj-ville-hero__atouts span{ font-size:12px; } }

.nj-ville-corps{ display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:56px; align-items:start; padding-block:72px 40px; }
.nj-ville-contenu{ min-width:0; font-size:17px; line-height:1.65; }
.nj-ville-contenu p{ color:var(--encre); }
.nj-ville-intro{ font-family:var(--font-titre); font-size:22px; line-height:1.5; margin-bottom:36px; }
.nj-ville-intro p{ margin:0; }
.nj-ville-bloc{ position:relative; background:var(--carte); border-radius:var(--r-bloc); box-shadow:var(--ombre-douce); padding:34px 36px 20px; margin-bottom:24px; }
.nj-ville-bloc__tete{ display:flex; justify-content:space-between; align-items:center; margin-bottom:16px; }
.nj-ville-bloc__icone{ width:52px; height:52px; border-radius:16px; background:var(--kale-clair); color:var(--kale-fonce); display:flex; align-items:center; justify-content:center; }
.nj-ville-bloc__icone svg{ width:26px; height:26px; }
.nj-ville-bloc__num{ font-family:var(--font-titre); font-size:40px; font-weight:300; color:var(--celeri); line-height:1; }
.nj-ville-bloc h2{ font-size:28px; line-height:1.2; margin:0 0 14px; }
.nj-ville-bloc__corps p{ margin:0 0 16px; }
.nj-ville-bloc--alerte{ background:#FBF3F1; box-shadow:none; border:1.5px solid rgba(158,43,37,.18); }
.nj-ville-bloc--alerte .nj-ville-bloc__icone{ background:rgba(158,43,37,.1); color:var(--grenade); }
.nj-ville-bloc--alerte .nj-ville-bloc__num{ color:rgba(158,43,37,.25); }
.nj-ville-bloc--tarifs{ background:var(--celeri-clair); box-shadow:none; }
.nj-ville-bloc--seance .nj-ville-bloc__corps{ counter-reset:etape; }
.nj-ville-bloc--seance .nj-ville-bloc__corps p{ counter-increment:etape; position:relative; padding-left:48px; }
.nj-ville-bloc--seance .nj-ville-bloc__corps p::before{ content:counter(etape); position:absolute; left:0; top:0; width:32px; height:32px; border-radius:50%; background:var(--encre); color:var(--celeri); font-family:var(--font-titre); font-weight:700; font-size:14px; display:flex; align-items:center; justify-content:center; }
.nj-ville-contenu .nj-sources{ margin:24px 0; }
.nj-ville-faq{ margin:40px 0; }
.nj-ville-faq h2{ font-size:30px; margin-bottom:18px; }
.nj-ville-faq .nj-faq{ margin:0; display:flex; flex-direction:column; gap:12px; }
.nj-ville-faq .nj-faq details{ background:var(--carte); border:0; border-radius:18px; padding:20px 24px; box-shadow:var(--ombre-douce); }
.nj-ville-faq .nj-faq details p{ color:var(--tige); }
.nj-ville-zone{ margin:40px 0 24px; }
.nj-ville-zone h2{ font-size:24px; margin-bottom:16px; }
.nj-ville-zone .nj-carte-leaflet{ border-radius:var(--r-bloc); overflow:hidden; border:0; box-shadow:var(--ombre-douce); }
.nj-precaution--ville{ display:flex !important; gap:16px; align-items:flex-start; margin:24px 0 0 !important; max-width:none !important; padding:22px 26px !important; border:0 !important; border-radius:var(--r-carte); background:#FBF3F1 !important; }
.nj-precaution--ville svg{ width:26px; height:26px; flex-shrink:0; color:var(--grenade); }
.nj-precaution--ville strong{ margin-bottom:4px; }
.nj-ville-aside{ position:sticky; top:96px; display:flex; flex-direction:column; gap:20px; }
.nj-ville-aside__carte{ background:var(--encre); color:var(--bg); border-radius:var(--r-bloc); padding:28px; }
.nj-ville-aside__carte .nj-naturo__sur{ color:var(--celeri); }
.nj-ville-aside__titre{ font-family:var(--font-titre); font-size:24px; line-height:1.2; margin:0 0 18px; }
.nj-ville-aside__etapes{ list-style:none; margin:0 0 22px; padding:0; counter-reset:e; display:flex; flex-direction:column; gap:12px; }
.nj-ville-aside__etapes li{ counter-increment:e; position:relative; padding-left:40px; font-size:15px; line-height:1.4; color:#D6DDD3; }
.nj-ville-aside__etapes li::before{ content:counter(e); position:absolute; left:0; top:-2px; width:28px; height:28px; border-radius:50%; background:var(--celeri); color:var(--encre); font-family:var(--font-titre); font-weight:700; font-size:13px; display:flex; align-items:center; justify-content:center; }
.nj-ville-aside__carte .nj-naturo__btn{ width:100%; background:var(--celeri); color:var(--encre); }
.nj-ville-aside__villes{ background:var(--carte); border-radius:var(--r-bloc); padding:22px 24px; box-shadow:var(--ombre-douce); }
.nj-ville-aside__sous{ font-family:var(--font-titre); font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; margin:0 0 12px; }
.nj-ville-aside__villes ul{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.nj-ville-aside__villes a{ display:block; padding:7px 13px; border-radius:999px; background:var(--kale-clair); color:var(--kale-fonce); font-family:var(--font-titre); font-size:13.5px; font-weight:600; }
.nj-ville-aside__villes a:hover{ background:var(--celeri); color:var(--encre); }
@media (max-width:1080px){
  .nj-ville-corps{ grid-template-columns:minmax(0,1fr); gap:32px; padding-block:48px 24px; }
  .nj-ville-aside{ position:static; }
}
@media (max-width:600px){
  .nj-ville-bloc{ padding:24px 20px 10px; }
  .nj-ville-bloc h2{ font-size:23px; }
  .nj-ville-intro{ font-size:19px; }
}

/* ==========================================================================
   À PROPOS (R22)
   ========================================================================== */
.nj-apropos-hero{ padding:40px 0 72px; background:linear-gradient(180deg, var(--bg) 0%, var(--celeri-clair) 100%); }
.nj-apropos-hero__grille{ display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:64px; align-items:center; }
.nj-apropos-hero .nj-fil{ margin-bottom:28px; }
.nj-apropos-hero h1{ font-size:58px; line-height:1.06; margin-bottom:22px; }
.nj-apropos-hero__chapo p{ font-size:19px; line-height:1.6; color:var(--encre); margin:0 0 12px; }
.nj-apropos-hero__cta{ display:flex; flex-wrap:wrap; gap:20px; align-items:center; margin-top:28px; }
.nj-apropos-hero__photo{ position:relative; }
.nj-apropos-hero__photo img{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:28px; box-shadow:0 30px 70px rgba(20,29,23,.22); }
.nj-apropos-hero__badge{ position:absolute; left:-28px; bottom:36px; margin:0; padding:18px 22px; border-radius:18px; background:var(--carte); box-shadow:var(--ombre-survol); font-size:14px; color:var(--tige); max-width:210px; }
.nj-apropos-hero__badge strong{ display:block; font-family:var(--font-titre); font-size:36px; color:var(--kale); line-height:1; margin-bottom:4px; }
.nj-apropos-chiffres{ background:var(--encre); padding:44px 0; }
.nj-apropos-chiffres ul{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; margin:0; padding:0; list-style:none; }
.nj-apropos-chiffres li{ display:flex; flex-direction:column; gap:4px; padding-left:20px; border-left:2px solid rgba(211,219,140,.35); }
.nj-apropos-chiffres strong{ font-family:var(--font-titre); font-size:46px; font-weight:400; color:var(--celeri); line-height:1; }
.nj-apropos-chiffres span{ color:#D6DDD3; font-size:15px; }
.nj-apropos-mission{ padding:96px 0; }
.nj-apropos-mission__grille{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; }
.nj-apropos-mission h2{ font-size:42px; line-height:1.12; }
.nj-apropos-mission__texte p{ font-size:18px; line-height:1.7; margin:0 0 18px; }
.nj-apropos-mission__texte p:first-child::first-letter{ font-family:var(--font-titre); float:left; font-size:64px; line-height:.9; padding:6px 10px 0 0; color:var(--kale); }
.nj-apropos-valeurs{ padding:88px 0; background:var(--carte); }
.nj-apropos-valeurs h2{ font-size:42px; }
.nj-valeurs{ display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:22px; margin:44px 0 0; padding:0; list-style:none; }
.nj-valeurs li{ grid-column:span 2; padding:30px 28px; border-radius:var(--r-bloc); background:var(--bg); transition:transform .25s ease, box-shadow .25s ease; }
.nj-valeurs li:nth-child(4){ grid-column:2 / span 2; }
.nj-valeurs li:hover{ transform:translateY(-3px); box-shadow:var(--ombre-douce); }
.nj-valeurs__icone{ width:54px; height:54px; border-radius:16px; background:var(--encre); color:var(--celeri); display:flex; align-items:center; justify-content:center; margin-bottom:20px; }
.nj-valeurs__icone svg{ width:26px; height:26px; }
.nj-valeurs h3{ font-size:21px; font-weight:600; margin-bottom:10px; }
.nj-valeurs p{ font-size:15.5px; line-height:1.6; color:var(--tige); margin:0; }
.nj-apropos-methode{ padding:96px 0; }
.nj-apropos-methode__grille{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; align-items:center; }
.nj-apropos-methode__photo img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:28px; }
.nj-apropos-methode h2{ font-size:42px; margin-bottom:28px; }
.nj-methode{ list-style:none; margin:0; padding:0; counter-reset:m; display:flex; flex-direction:column; gap:0; }
.nj-methode li{ counter-increment:m; position:relative; padding:0 0 26px 64px; }
.nj-methode li::before{ content:counter(m); position:absolute; left:0; top:0; width:44px; height:44px; border-radius:50%; background:var(--celeri); color:var(--encre); font-family:var(--font-titre); font-weight:700; font-size:18px; display:flex; align-items:center; justify-content:center; }
.nj-methode li::after{ content:''; position:absolute; left:21px; top:48px; bottom:4px; width:2px; background:var(--bordure); }
.nj-methode li:last-child::after{ display:none; }
.nj-methode strong{ display:block; font-family:var(--font-titre); font-size:19px; margin:8px 0 4px; }
.nj-methode span{ color:var(--tige); font-size:16px; }
.nj-apropos-limites{ padding:0 0 88px; }
.nj-apropos-limites__carte{ display:flex; gap:22px; padding:32px 36px; border-radius:var(--r-bloc); background:#FBF3F1; border:1.5px solid rgba(158,43,37,.15); }
.nj-apropos-limites__carte svg{ width:32px; height:32px; flex-shrink:0; color:var(--grenade); }
.nj-apropos-limites__carte h2{ font-size:26px; margin-bottom:10px; }
.nj-apropos-limites__carte p{ margin:0; font-size:17px; line-height:1.65; }
.nj-apropos-equipe{ padding:96px 0; background:var(--celeri-clair); }
.nj-apropos-equipe h2{ font-size:42px; }
.nj-equipe{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:44px; }
.nj-equipe__carte{ background:var(--carte); border-radius:var(--r-bloc); padding:32px 28px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px; box-shadow:var(--ombre-douce); }
.nj-equipe__photo{ width:132px; height:132px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 6px var(--celeri-clair); margin-bottom:8px; }
.nj-equipe__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-equipe__role{ font-family:var(--font-titre); font-size:12.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--kale); margin:0; }
.nj-equipe__carte h3{ font-size:24px; }
.nj-equipe__bio{ font-size:15px; line-height:1.55; color:var(--tige); margin:0 0 6px; }
.nj-equipe .nj-puces{ justify-content:center; margin-bottom:8px; }
.nj-apropos-fin{ padding:88px 0; }
.nj-apropos-fin__grille{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.nj-apropos-fin__carte{ padding:40px; border-radius:var(--r-bloc); background:var(--carte); box-shadow:var(--ombre-douce); display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.nj-apropos-fin__carte h2{ font-size:30px; }
.nj-apropos-fin__carte p{ margin:0 0 10px; font-size:16.5px; line-height:1.6; color:var(--tige); }
.nj-apropos-fin__carte .nj-naturo__btn{ margin-top:auto; }
.nj-apropos-fin__carte--celeri{ background:var(--celeri); box-shadow:none; }
.nj-apropos-fin__carte--celeri p{ color:var(--encre); }
@media (max-width:1080px){
  .nj-apropos-hero h1{ font-size:44px; }
  .nj-valeurs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nj-valeurs li, .nj-valeurs li:nth-child(4){ grid-column:auto; }
  .nj-valeurs li:nth-child(5){ grid-column:1 / -1; }
  .nj-equipe{ grid-template-columns:minmax(0,1fr); max-width:520px; margin-inline:auto; }
}
@media (max-width:900px){
  .nj-apropos-hero__grille, .nj-apropos-mission__grille, .nj-apropos-methode__grille, .nj-apropos-fin__grille{ grid-template-columns:minmax(0,1fr); gap:36px; }
  .nj-apropos-hero__photo img{ aspect-ratio:16/11; }
  .nj-apropos-hero__badge{ left:16px; bottom:16px; }
  .nj-apropos-chiffres ul{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nj-apropos-mission, .nj-apropos-valeurs, .nj-apropos-methode, .nj-apropos-equipe, .nj-apropos-fin{ padding:60px 0; }
  .nj-apropos-mission h2, .nj-apropos-valeurs h2, .nj-apropos-methode h2, .nj-apropos-equipe h2{ font-size:32px; }
}
@media (max-width:560px){
  .nj-apropos-hero h1{ font-size:36px; }
  .nj-valeurs{ grid-template-columns:minmax(0,1fr); }
  .nj-apropos-chiffres strong{ font-size:36px; }
  .nj-apropos-limites__carte, .nj-apropos-fin__carte{ padding:26px 22px; flex-direction:column; }
}

/* ==========================================================================
   FICHE AUTEUR (R23)
   ========================================================================== */
.nj-auteur-tete{ padding:36px 0 64px; background:linear-gradient(180deg, var(--bg) 0%, var(--celeri-clair) 100%); }
.nj-auteur-tete__grille{ display:grid; grid-template-columns:260px minmax(0,1fr); gap:56px; align-items:center; margin-top:32px; }
.nj-auteur-tete__photo{ width:260px; height:260px; border-radius:50%; overflow:hidden; box-shadow:0 0 0 10px var(--carte), 0 30px 60px rgba(20,29,23,.18); }
.nj-auteur-tete__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-auteur-tete h1{ font-size:56px; line-height:1.05; margin-bottom:16px; }
.nj-auteur-tete__bio{ font-size:18.5px; line-height:1.65; max-width:760px; margin-bottom:20px; }
.nj-auteur-tete__chiffres{ display:flex; flex-wrap:wrap; gap:14px; margin:26px 0 0; padding:0; list-style:none; }
.nj-auteur-tete__chiffres li{ padding:14px 20px; border-radius:16px; background:var(--carte); box-shadow:var(--ombre-douce); display:flex; flex-direction:column; }
.nj-auteur-tete__chiffres strong{ font-family:var(--font-titre); font-size:24px; font-weight:600; color:var(--kale); line-height:1.1; }
.nj-auteur-tete__chiffres span{ font-size:13px; color:var(--tige); }
.nj-auteur-corps{ padding-block:56px 88px; }
.nj-auteur-rubriques{ display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-bottom:48px; }
.nj-auteur-rubriques__label{ margin:0; font-family:var(--font-titre); font-weight:700; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.nj-auteur-note{ margin-top:56px; padding:24px 28px; border-radius:var(--r-carte); background:var(--carte); box-shadow:var(--ombre-douce); }
.nj-auteur-note p{ margin:0; display:flex; flex-wrap:wrap; gap:6px 12px; align-items:center; }
@media (max-width:900px){
  .nj-auteur-tete__grille{ grid-template-columns:minmax(0,1fr); gap:28px; justify-items:center; text-align:center; }
  .nj-auteur-tete__photo{ width:190px; height:190px; }
  .nj-auteur-tete h1{ font-size:40px; }
  .nj-auteur-tete .nj-puces, .nj-auteur-tete__chiffres{ justify-content:center; }
}

/* ==========================================================================
   CONTACT (R24) — tient dans le premier écran
   ========================================================================== */
.nj-contact{ padding:40px 0 80px; background:linear-gradient(180deg, var(--bg) 0%, var(--celeri-clair) 100%); }
.nj-contact__grille{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,520px); gap:64px; align-items:start; }
.nj-contact .nj-fil{ margin-bottom:24px; }
.nj-contact h1{ font-size:52px; line-height:1.06; margin-bottom:16px; }
.nj-contact__chapo{ font-size:18.5px; line-height:1.6; max-width:560px; margin-bottom:28px; }
.nj-contact__motifs{ display:flex; flex-direction:column; gap:12px; margin:0; padding:0; list-style:none; }
.nj-contact__motifs li{ display:flex; gap:16px; align-items:flex-start; padding:16px 18px; border-radius:18px; background:var(--carte); box-shadow:var(--ombre-douce); }
.nj-contact__motifs li > span{ flex-shrink:0; width:42px; height:42px; border-radius:12px; background:var(--kale-clair); color:var(--kale-fonce); display:flex; align-items:center; justify-content:center; }
.nj-contact__motifs li:last-child > span{ background:rgba(158,43,37,.1); color:var(--grenade); }
.nj-contact__motifs svg{ width:22px; height:22px; }
.nj-contact__motifs strong{ font-family:var(--font-titre); font-size:16px; }
.nj-contact__motifs p{ margin:2px 0 0; font-size:14.5px; line-height:1.5; color:var(--tige); }
.nj-contact__motifs a{ color:var(--kale); text-decoration:underline; text-underline-offset:2px; }
.nj-contact__carte{ background:var(--carte); border-radius:var(--r-bloc); padding:34px 32px; box-shadow:0 24px 60px rgba(20,29,23,.12); position:sticky; top:96px; }
.nj-contact__carte-titre{ font-family:var(--font-titre); font-size:24px; margin:0 0 20px; }
.nj-contact__form textarea{ min-height:150px; }
.nj-contact__envoyer{ width:100%; }
@media (max-width:960px){
  .nj-contact__grille{ grid-template-columns:minmax(0,1fr); gap:32px; }
  .nj-contact__carte{ position:static; padding:24px 20px; }
  .nj-contact h1{ font-size:38px; }
}

/* Correctifs après recette visuelle (28/09) */
.nj-contact__form .nj-lead__ligne--double{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.nj-contact__form input:not([type=checkbox]):not([type=radio]), .nj-contact__form textarea{ width:100%; min-width:0; }
@media (max-width:600px){ .nj-contact__form .nj-lead__ligne--double{ grid-template-columns:minmax(0,1fr); } }
.nj-apropos-hero__photo img, .nj-apropos-methode__photo img, .nj-naturo__photo img, .nj-equipe__photo img, .nj-auteur-tete__photo img{ height:auto; }
.nj-apropos-hero__photo img{ aspect-ratio:5/4; }
.nj-apropos-methode__photo img{ aspect-ratio:4/5; max-height:620px; }
.nj-naturo__photo img, .nj-equipe__photo img, .nj-auteur-tete__photo img{ height:100%; }
.nj-hub-corps{ max-width:960px; padding-block:72px 24px; }
.nj-etapes{ gap:24px; }
.nj-etape-carte{ background:var(--bg); border-radius:var(--r-bloc); padding:32px 30px; box-shadow:none; }
.nj-etape-carte__photo{ display:none; }
.nj-etape-carte__icone{ width:60px; height:60px; border-radius:18px; background:var(--encre); color:var(--celeri); display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
.nj-etape-carte__icone svg{ width:28px; height:28px; }
.nj-etape-carte__numero{ font-family:var(--font-titre); font-size:12.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--kale); }
.nj-villes-grille .nj-ville-carte{ border-radius:var(--r-carte); }
.nj-carte-leaflet-multi{ border-radius:var(--r-bloc); overflow:hidden; border:0 !important; box-shadow:var(--ombre-douce); }
/* Recette kit 28/09 : jamais de long texte centré, jamais de marge haute nulle */
.nj-section-tete--centre .nj-section-tete__texte{ text-align:left; max-width:760px; }
.nj-equipe__carte{ text-align:left; align-items:flex-start; }
.nj-equipe .nj-puces{ justify-content:flex-start; }
.nj-apropos-limites{ padding:72px 0 88px; }
.nj-apropos-equipe .nj-section-tete--centre{ align-items:flex-start; text-align:left; }
