/*
Theme Name: Natura Juice
Theme URI: https://naturajuice.fr
Author: Natura Juice
Description: Le comptoir de pressage, pas la pharmacie. Jus détox, super-aliments, microbiote, plantes, jeûne et naturopathie — mis en relation avec des praticiens par ville.
Version: 1.0.0
Text Domain: naturajuice
*/

@font-face{font-family:'Urbanist';font-style:normal;font-weight:300 800;font-display:swap;src:url('assets/fonts/urbanist-variable.woff2') format('woff2')}
@font-face{font-family:'Ysabeau Office';font-style:normal;font-weight:400 700;font-display:swap;src:url('assets/fonts/ysabeau-office-regular.woff2') format('woff2')}
@font-face{font-family:'Ysabeau Office';font-style:italic;font-weight:400 700;font-display:swap;src:url('assets/fonts/ysabeau-office-italic.woff2') format('woff2')}

:root{
  color-scheme: light;

  --bg:        #FAF7EE; 
  --carte:     #FFFFFF; 
  --encre:     #141D17; 
  --tige:      #56625A; 
  --celeri:    #D3DB8C; 
  --kale:      #2E6A3E; 
  --kale-fonce:#1E4B2B;
  --grenade:   #9E2B25; 

  --pied-bg:   var(--encre);
  --pied-fg:   var(--bg);
  --pied-fg-2: #B9C2B5;
  --pied-titre:var(--celeri);

  --bordure:   rgba(20,29,23,.14);
  --ombre:     0 12px 32px rgba(20,29,23,.10);

  --font-titre: 'Urbanist', 'Century Gothic', 'Avenir Next', system-ui, sans-serif;
  --font-texte: 'Ysabeau Office', Georgia, 'Iowan Old Style', serif;

  --conteneur: 1344px;
  --marge: 48px;
  --rythme: 104px;

  --rayon-photo: 20px;
  --rayon: 0px;

  --transition: 200ms ease;
}

@media (max-width: 782px){
  :root{ --marge: 20px; --rythme: 64px; }
}

*, *::before, *::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } *{ animation-duration:.001ms !important; transition-duration:.001ms !important; } }

body{
  margin:0; background:var(--bg); color:var(--encre);
  font-family:var(--font-texte); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
  
}
html{ overflow-x:clip; }
img{ max-width:100%; display:block; }
svg{ display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; cursor:pointer; background:none; border:0; }
h1,h2,h3,h4{ font-family:var(--font-titre); font-weight:400; margin:0; color:var(--encre); }
p{ margin:0 0 1.1em; }
input,select,textarea{ font:inherit; color:var(--encre); }

:focus-visible{ outline:3px solid var(--kale); outline-offset:2px; }

.nj-container{
  max-width: var(--conteneur);
  margin-inline:auto;
  padding-inline: var(--marge);
}
.nj-visually-hidden{
  position:absolute !important; width:1px;height:1px;overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0; padding:0; margin:-1px;
}
.nj-skip-link{
  position:absolute; left:-999px; top:0; z-index:1000; background:var(--encre); color:var(--bg);
  padding:.8em 1.2em; font-family:var(--font-titre);
}
.nj-skip-link:focus{ left:var(--marge); top:var(--marge); }

section{ position:relative; }

.nj-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  height:52px; padding:0 40px; background:var(--encre); color:var(--bg);
  font-family:var(--font-titre); font-size:16px; font-weight:600;
  border-radius:var(--rayon); border:1.5px solid var(--encre);
  cursor:pointer; transition:background var(--transition), color var(--transition), transform var(--transition);
  white-space:nowrap;
}
.nj-btn:hover, .nj-btn:focus-visible{ background:var(--kale-fonce); border-color:var(--kale-fonce); color:#fff; }
.nj-btn:active{ transform:translateY(1px); }
.nj-btn--outline{ background:transparent; color:var(--encre); border:1.5px solid var(--encre); }
.nj-btn--outline:hover, .nj-btn--outline:focus-visible{ background:var(--encre); color:var(--bg); }
.nj-btn--clair{ background:var(--bg); color:var(--encre); border-color:var(--bg); }
.nj-btn--clair:hover{ background:var(--celeri); border-color:var(--celeri); color:var(--encre); }
.nj-btn--pleine{ width:100%; }
@media (max-width:782px){ .nj-btn{ height:48px; padding:0 28px; font-size:15px; } }

.nj-lien-corps{
  color:var(--kale); text-underline-offset:3px; text-decoration:underline; text-decoration-thickness:2px;
}
.nj-lien-corps:hover{ color:var(--kale-fonce); }

.nj-annonce{
  background:var(--encre); color:var(--pied-fg-2); height:40px;
  display:flex; align-items:center; overflow:hidden;
}
.nj-annonce__piste{
  display:flex; gap:64px; white-space:nowrap; padding-inline:var(--marge);
  animation: nj-defile 28s linear infinite;
}
@media (prefers-reduced-motion: reduce){ .nj-annonce__piste{ animation:none; } }
@keyframes nj-defile{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }
.nj-annonce__item{ font-size:13px; letter-spacing:.02em; }
.nj-annonce__item strong{ color:var(--celeri); font-weight:600; }

.nj-header{
  position:sticky; top:0; z-index:100; background:var(--carte);
  border-bottom:1px solid var(--bordure);
}
.nj-header__inner{
  display:flex; align-items:center; gap:32px; height:80px;
}
.nj-logo{ display:flex; align-items:center; gap:10px; flex-shrink:0; }
.nj-logo svg{ height:34px; width:auto; }
.nj-logo__texte{ font-family:var(--font-titre); font-size:22px; font-weight:600; letter-spacing:-0.02em; }
@media (max-width:480px){ .nj-logo__texte{ font-size:18px; } }

.nj-nav{ display:flex; align-items:center; gap:28px; flex:1; }
.nj-nav ul{ display:flex; align-items:center; gap:18px; flex-wrap:nowrap; }
.nj-nav a{
  font-family:var(--font-titre); font-size:14.5px; font-weight:500; letter-spacing:.01em;
  color:var(--encre); padding:8px 0; border-bottom:2px solid transparent; white-space:nowrap;
  transition:color var(--transition), border-color var(--transition);
}
.nj-nav a:hover, .nj-nav a:focus-visible, .nj-nav .current-menu-item a{ color:var(--kale); border-color:var(--kale); }

.nj-header__droite{ display:flex; align-items:center; gap:16px; margin-left:auto; }
.nj-recherche-btn{ display:flex; align-items:center; justify-content:center; width:40px; height:40px; }
.nj-recherche-btn svg{ width:20px; height:20px; }
.nj-header__cta{ height:44px; padding:0 24px; font-size:14px; }

.nj-burger{ display:none; width:44px; height:44px; align-items:center; justify-content:center; }
.nj-burger svg{ width:24px; height:24px; }

.nj-recherche-panneau{
  display:none; position:absolute; left:0; right:0; top:100%; background:var(--carte);
  border-bottom:1px solid var(--bordure); padding:20px var(--marge);
}
.nj-recherche-panneau.est-ouvert{ display:block; }
.nj-recherche-panneau form{ display:flex; gap:10px; max-width:520px; margin-inline:auto; }
.nj-recherche-panneau input[type=search]{
  flex:1; height:48px; padding:0 16px; border:1.5px solid var(--encre); background:var(--bg);
}

@media (max-width: 960px){
  .nj-nav{ display:none; }
  .nj-burger{ display:flex; }
  .nj-header__cta{ display:none; }
}
.nj-menu-mobile{
  display:none; position:fixed; inset:0; z-index:200; background:var(--bg); overflow-y:auto;
}
.nj-menu-mobile.est-ouvert{ display:block; }
.nj-menu-mobile__entete{ display:flex; justify-content:space-between; align-items:center; height:80px; padding-inline:var(--marge); border-bottom:1px solid var(--bordure); }
.nj-menu-mobile__fermer svg{ width:26px; height:26px; }
.nj-menu-mobile ul{ display:flex; flex-direction:column; padding:24px var(--marge); gap:4px; }
.nj-menu-mobile a{
  display:block; padding:16px 0; font-family:var(--font-titre); font-size:20px; font-weight:500;
  border-bottom:1px solid var(--bordure);
}
.nj-menu-mobile__cta{ padding:0 var(--marge) 32px; }

.nj-hero{
  position:relative; min-height:720px; display:flex; align-items:flex-end;
  background:var(--encre); overflow:hidden;
}
.nj-hero__fond{ position:absolute; inset:0; }
.nj-hero__fond img{ width:100%; height:100%; object-fit:cover; }
.nj-hero__fond--repli{
  background:
    radial-gradient(60% 90% at 12% 100%, rgba(211,219,140,.35), transparent 60%),
    radial-gradient(50% 70% at 90% 10%, rgba(46,106,62,.35), transparent 60%),
    linear-gradient(160deg,#1E4B2B 0%,#141D17 65%);
  width:100%; height:100%;
}
.nj-hero__voile{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(20,29,23,.86) 0%, rgba(20,29,23,.72) 40%, rgba(20,29,23,.15) 62%, transparent 78%);
}
.nj-hero__contenu{
  position:relative; z-index:2; width:100%; padding-block:64px 72px;
  display:grid; grid-template-columns: 1.05fr .95fr; gap:56px; align-items:end;
}
.nj-hero__texte{ max-width:640px; }
.nj-hero h1{
  font-size:52px; line-height:1.1; font-weight:500; color:var(--bg); margin-bottom:20px;
}
.nj-mot-presse{
  background-image: linear-gradient(var(--celeri), var(--celeri));
  background-repeat:no-repeat; background-size:100% 40%; background-position:0 88%;
  padding:0 .08em; box-decoration-break:clone; -webkit-box-decoration-break:clone;
  color:var(--encre);
}
.nj-hero .nj-mot-presse,
.nj-tete-rubrique__titre .nj-mot-presse,
.nj-page-tete--photo .nj-mot-presse{
  background-image:none; color:var(--bg);
  border-bottom:6px solid var(--celeri); padding:0 .04em .04em;
}
.nj-hero__sous-titre{ font-size:18px; line-height:1.6; color:var(--pied-fg-2); margin-bottom:28px; max-width:520px; }
.nj-hero__preuves{ display:flex; gap:32px; flex-wrap:wrap; margin-top:36px; }
.nj-hero__preuve{ color:var(--bg); }
.nj-hero__preuve data, .nj-hero__preuve .nj-chiffre{
  display:block; font-family:var(--font-titre); font-weight:300; font-size:44px; line-height:1; color:var(--celeri);
}
.nj-hero__preuve small{ font-size:13px; color:var(--pied-fg-2); }

.nj-hero__form{
  background:var(--carte); padding:32px; border-radius:var(--rayon); box-shadow:var(--ombre);
  align-self:end;
}
.nj-hero__form h2{ font-size:22px; margin-bottom:6px; }
.nj-hero__form p{ font-size:14px; color:var(--tige); margin-bottom:18px; }

@media (max-width: 1180px){
  .nj-hero__contenu{ grid-template-columns:1fr; }
  .nj-hero__form{ max-width:520px; }
}
@media (max-width: 782px){
  .nj-hero{ min-height:640px; align-items:stretch; }
  .nj-hero__contenu{ padding-block:32px 32px; gap:32px; }
  .nj-hero h1{ font-size:34px; }
  .nj-hero__preuves{ gap:20px; }
  .nj-hero__preuve data,.nj-hero__preuve .nj-chiffre{ font-size:32px; }
  .nj-hero__form{ padding:22px; }
}

.nj-lead{ display:flex; flex-direction:column; gap:14px; }
.nj-lead__ligne{ display:flex; flex-direction:column; gap:6px; }
.nj-lead__ligne--double{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.nj-lead label{ font-family:var(--font-titre); font-size:13px; font-weight:600; color:var(--encre); }
.nj-lead input, .nj-lead select{
  height:48px; padding:0 14px; border:1.5px solid var(--bordure); background:var(--bg);
  transition:border-color var(--transition);
}
.nj-lead input:focus, .nj-lead select:focus{ border-color:var(--kale); }
.nj-lead__radios{ display:flex; flex-wrap:wrap; gap:8px; }
.nj-lead__radio{ position:relative; }
.nj-lead__radio input{ position:absolute; opacity:0; width:1px; height:1px; }
.nj-lead__radio span{
  display:block; padding:10px 16px; border:1.5px solid var(--bordure); font-size:14px; cursor:pointer;
  transition:all var(--transition); min-height:44px; display:flex; align-items:center;
}
.nj-lead__radio input:checked + span{ background:var(--encre); border-color:var(--encre); color:var(--bg); }
.nj-lead__radio input:focus-visible + span{ outline:3px solid var(--kale); outline-offset:2px; }
.nj-lead__consentement{ display:flex; gap:10px; align-items:flex-start; font-size:13px; color:var(--tige); }
.nj-lead__consentement input{ margin-top:3px; width:18px; height:18px; flex-shrink:0; }
.nj-lead__promesse{ font-size:13px; color:var(--tige); line-height:1.5; margin-bottom:4px; }
.nj-lead__erreur{
  display:none; background:#fff; border:2px solid var(--grenade); color:var(--grenade); padding:16px 20px;
  position:fixed; top:50%; left:50%; transform:translate(-50%,-50%); z-index:500; max-width:420px; box-shadow:var(--ombre);
}
.nj-lead__erreur.est-visible{ display:block; }
.nj-lead__champ-honteux{ position:absolute; left:-9999px; }
.nj-lead__confirmation{
  display:none; background:var(--celeri); color:var(--encre); padding:18px 22px; font-family:var(--font-titre); font-weight:600;
}
.nj-lead__confirmation.est-visible{ display:block; }
@media (max-width:600px){ .nj-lead__ligne--double{ grid-template-columns:1fr; } }
.nj-lead fieldset{ border:0; margin:0; padding:0; min-width:0; }
.nj-lead legend{ font-family:var(--font-titre); font-size:13px; font-weight:600; color:var(--encre); padding:0; margin-bottom:6px; width:100%; }
.nj-lead__picto-cards{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); }
.nj-lead__picto-cards .nj-lead__radio span{ flex-direction:column; gap:8px; justify-content:center; text-align:center; padding:14px 10px; height:100%; }
.nj-lead__picto-cards svg{ width:22px; height:22px; }
.nj-lead--compact .nj-lead__promesse{ display:none; }

.nj-reassurance{ display:flex; flex-direction:column; gap:12px; margin-top:28px; }
.nj-reassurance li{ display:flex; gap:10px; align-items:center; color:var(--bg); font-size:15px; }
.nj-reassurance svg{ width:20px; height:20px; flex-shrink:0; color:var(--celeri); }

.nj-villes-grille--large{ grid-template-columns:repeat(5,1fr); }
@media (max-width:1080px){ .nj-villes-grille--large{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .nj-villes-grille--large{ grid-template-columns:repeat(2,1fr); } }

.nj-section{ padding-block:var(--rythme); }
.nj-section__entete{ margin-bottom:40px; max-width:720px; }
.nj-section__entete h2{ font-size:48px; line-height:1.2; }
.nj-section__entete p{ font-size:18px; color:var(--tige); margin-top:12px; }
@media (max-width:782px){ .nj-section__entete h2{ font-size:32px; } }

.nj-objectifs{
  display:grid; grid-template-columns:repeat(3,1fr); gap:24px;
}
.nj-objectif{
  position:relative; aspect-ratio:432/590; overflow:hidden; display:flex; flex-direction:column; justify-content:space-between;
  color:#fff;
}
.nj-objectif__fond{ position:absolute; inset:0; }
.nj-objectif__fond img{ width:100%; height:100%; object-fit:cover; transition:transform 400ms ease; }
.nj-objectif:hover .nj-objectif__fond img{ transform:scale(1.04); }
.nj-objectif__voile{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,29,23,.15) 0%, rgba(20,29,23,.55) 100%); }
.nj-objectif__titre{
  position:relative; z-index:1; padding:24px; font-family:var(--font-titre); font-weight:400; font-size:36px; line-height:1.15;
}
.nj-objectif__lien{
  position:relative; z-index:1; padding:0 24px 24px; font-family:var(--font-titre); font-size:14px; font-weight:600;
  text-decoration:underline; text-underline-offset:4px;
}
@media (max-width:1080px){ .nj-objectifs{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:782px){
  .nj-objectifs{
    display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:8px;
    grid-template-columns:none;
  }
  .nj-objectif{ flex:0 0 78%; scroll-snap-align:start; aspect-ratio:3/4; }
  .nj-objectif__titre{ font-size:26px; }
}

.nj-piliers{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nj-pilier{ text-align:center; }
.nj-pilier__photo{ aspect-ratio:1/1; border-radius:var(--rayon-photo); overflow:hidden; margin-bottom:20px; background:var(--celeri); }
.nj-pilier__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-pilier h3{ font-size:26px; font-weight:500; margin-bottom:8px; }
.nj-pilier p{ color:var(--tige); font-size:15px; margin-bottom:18px; }
@media (max-width:782px){ .nj-piliers{ grid-template-columns:1fr; gap:32px; } }

.nj-bande-photo{
  position:relative; min-height:480px; display:flex; align-items:center; overflow:hidden;
}
.nj-bande-photo__fond{ position:absolute; inset:0; }
.nj-bande-photo__fond img{ width:100%; height:100%; object-fit:cover; }
.nj-bande-photo__fond--repli{ background:linear-gradient(120deg,#2E6A3E,#141D17); width:100%; height:100%; }
.nj-bande-photo__voile{ position:absolute; inset:0; background:rgba(20,29,23,.45); }
.nj-bande-photo__stats{
  position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; width:100%;
}
.nj-stat{ color:#fff; text-align:center; padding:24px; }
.nj-stat data, .nj-stat .sbs_jauge_valeur{
  display:block; font-family:var(--font-titre); font-weight:300; font-size:80px; line-height:1;
}
.nj-stat small{ display:block; font-size:14px; color:var(--pied-fg-2); margin-top:8px; }
@media (max-width:782px){
  .nj-bande-photo{ min-height:auto; padding-block:56px; }
  .nj-bande-photo__stats{ grid-template-columns:1fr; gap:32px; }
  .nj-stat data, .nj-stat .sbs_jauge_valeur{ font-size:56px; }
}

.nj-onglets{
  display:flex; gap:28px; flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch;
  margin-bottom:36px; border-bottom:1px solid var(--bordure); padding-bottom:12px;
}
.nj-onglet{
  font-family:var(--font-titre); font-size:20px; font-weight:600; color:rgba(20,29,23,.4);
  padding-bottom:8px; border-bottom:3px solid transparent; transition:color var(--transition);
  white-space:nowrap; flex:0 0 auto;
}
.nj-onglet[aria-current="true"]{ color:var(--encre); border-color:var(--kale); }
.nj-onglet:hover{ color:var(--encre); }
@media (max-width:782px){ .nj-onglets{ gap:18px; } .nj-onglet{ font-size:16px; } }

.nj-grille-articles{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.nj-grille-articles--3{ grid-template-columns:repeat(3,1fr); }
.nj-carte-article{ background:var(--carte); display:flex; flex-direction:column; }
.nj-carte-article__photo{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--celeri); }
.nj-carte-article__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-pastille{
  position:absolute; top:12px; left:12px; background:var(--encre); color:var(--bg);
  font-family:var(--font-titre); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  padding:6px 12px;
}
.nj-pastille--partenaire{ background:var(--tige); }
.nj-carte-article__corps{ padding:18px 4px; display:flex; flex-direction:column; gap:8px; flex:1; }
.nj-carte-article h3{ font-size:20px; font-weight:500; line-height:1.3; }
.nj-carte-article__meta{ font-size:13px; color:var(--tige); display:flex; gap:10px; }
.nj-carte-article p{ font-size:14px; color:var(--tige); margin:0; }
@media (max-width:1080px){ .nj-grille-articles{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .nj-grille-articles, .nj-grille-articles--3{ grid-template-columns:1fr; } }

.nj-quiz{ background:var(--carte); padding:56px; position:relative; overflow:hidden; }
.nj-quiz__barre{ height:6px; background:var(--bordure); margin-bottom:32px; max-width:520px; }
.nj-quiz__barre__valeur{ height:100%; background:var(--kale); transition:width var(--transition); }
.nj-quiz__etape{ display:none; }
.nj-quiz__etape.est-active{ display:grid; grid-template-columns:1fr 1.3fr; gap:40px; align-items:center; }
.nj-quiz__question{ font-size:28px; margin:0; max-width:none; }
.nj-quiz__tuiles{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px; max-width:none; }
@media (max-width:960px){ .nj-quiz__etape.est-active{ grid-template-columns:1fr; gap:24px; } }
.nj-quiz__tuile{
  background:var(--encre); color:var(--bg); padding:24px; display:flex; flex-direction:column; align-items:center; gap:12px;
  text-align:center; transition:background var(--transition); min-height:120px; justify-content:center;
}
.nj-quiz__tuile svg{ width:32px; height:32px; stroke:var(--bg); }
.nj-quiz__tuile:hover, .nj-quiz__tuile:focus-visible{ background:var(--kale-fonce); }
.nj-quiz__deco{ position:absolute; right:-40px; bottom:-40px; width:260px; opacity:.9; pointer-events:none; }
@media (max-width:960px){ .nj-quiz__deco{ display:none; } }
@media (max-width:782px){
  .nj-quiz{ padding:32px 20px; }
  .nj-quiz__tuiles{ grid-template-columns:1fr 1fr; }
  .nj-quiz__question{ font-size:22px; }
}

.nj-bande-celeri{ background:var(--celeri); padding-block:var(--rythme); }
.nj-bande-celeri .nj-section__entete{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; max-width:none; }
.nj-bande-celeri .nj-section__entete p{ color:var(--encre); opacity:.75; }
.nj-carrousel{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media (max-width:960px){ .nj-carrousel{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .nj-carrousel{ grid-template-columns:1fr; } }
.nj-carte-actu{ display:flex; flex-direction:column; }
.nj-carte-actu__photo{ aspect-ratio:16/11; overflow:hidden; margin-bottom:14px; background:var(--carte); }
.nj-carte-actu__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-carte-actu h3{ font-size:19px; font-weight:500; line-height:1.3; margin-bottom:6px; }
.nj-carte-actu__meta{ font-size:13px; color:var(--encre); opacity:.65; }
@media (max-width:782px){ .nj-bande-celeri .nj-section__entete{ flex-direction:column; align-items:flex-start; } }

.nj-bande-naturopathe{ background:var(--celeri); padding:56px var(--marge); text-align:center; }
.nj-bande-naturopathe h2{ font-size:34px; margin-bottom:12px; }
.nj-bande-naturopathe p{ max-width:560px; margin-inline:auto 24px; color:var(--encre); opacity:.8; }

.nj-carte-france{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
.nj-carte-france__svg{ width:100%; height:auto; }
.nj-carte-france__point{ fill:var(--kale); cursor:pointer; transition:fill var(--transition); }
.nj-carte-france__point:hover, .nj-carte-france__point:focus-visible{ fill:var(--kale-fonce); }
.nj-villes-liste{ display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; }
.nj-villes-liste a{
  display:flex; justify-content:space-between; padding:12px 0; border-bottom:1px solid var(--bordure); font-size:15px;
}
.nj-villes-liste a:hover{ color:var(--kale); }
@media (max-width:960px){ .nj-carte-france{ grid-template-columns:1fr; } }
@media (max-width:480px){ .nj-villes-liste{ grid-template-columns:1fr; } }

.nj-footer{ background:var(--pied-bg); color:var(--pied-fg); padding-top:var(--rythme); }
.nj-footer__newsletter{
  display:flex; justify-content:space-between; align-items:flex-end; gap:32px; padding-bottom:56px;
  border-bottom:1px solid rgba(250,247,238,.15);
}
.nj-footer__newsletter h2{ color:var(--pied-fg); font-size:40px; max-width:480px; }
.nj-footer__newsletter form{ display:flex; gap:0; max-width:420px; width:100%; }
.nj-footer__newsletter input[type=email]{ flex:1; height:52px; padding:0 16px; background:transparent; border:1.5px solid var(--pied-fg); color:var(--pied-fg); }
.nj-footer__newsletter input[type=checkbox]{ width:16px; height:16px; }
.nj-footer__colonnes{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding-block:56px; }
.nj-footer__col h3{ color:var(--pied-titre); font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:20px; }
.nj-footer__col ul{ display:flex; flex-direction:column; gap:12px; }
.nj-footer__col a{ color:var(--pied-fg-2); font-size:15px; transition:color var(--transition); }
.nj-footer__col a:hover{ color:var(--pied-fg); }
.nj-footer__logo{ padding-bottom:24px; }
.nj-footer__logo svg{ height:96px; width:auto; }
.nj-footer__logo .nj-logo__texte{ font-size:96px; color:var(--pied-fg); line-height:1; }
.nj-footer__legale{
  border-top:1px solid rgba(250,247,238,.15); padding-block:24px; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:12px; font-size:13px; color:var(--pied-fg-2);
}
.nj-footer__legale a{ color:var(--pied-fg-2); }
.nj-footer__legale a:hover{ color:var(--pied-fg); }
@media (max-width:960px){
  .nj-footer__colonnes{ grid-template-columns:1fr 1fr; }
  .nj-footer__newsletter{ flex-direction:column; align-items:flex-start; }
  .nj-footer__logo .nj-logo__texte{ font-size:56px; }
}
@media (max-width:600px){ .nj-footer__colonnes{ grid-template-columns:1fr; } }

.nj-barre-mobile{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:150; background:var(--carte);
  border-top:1px solid var(--bordure); padding-bottom:env(safe-area-inset-bottom,0);
}
.nj-barre-mobile ul{ display:flex; }
.nj-barre-mobile li{ flex:1; }
.nj-barre-mobile a, .nj-barre-mobile button{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
  height:60px; width:100%; font-size:11px; color:var(--tige); position:relative;
}
.nj-barre-mobile svg{ width:22px; height:22px; }
.nj-barre-mobile [aria-current="page"]{ color:var(--kale); }
.nj-barre-mobile [aria-current="page"]::before{
  content:''; position:absolute; top:0; left:50%; transform:translateX(-50%); width:24px; height:2px; background:var(--kale);
}
@media (max-width:782px){
  .nj-barre-mobile{ display:block; }
  body{ padding-bottom:60px; }
}

.nj-fil{ display:flex; gap:8px; align-items:center; font-size:13px; color:var(--tige); flex-wrap:wrap; margin-bottom:20px; }
.nj-fil a:hover{ color:var(--kale); }
.nj-fil span[aria-hidden]{ opacity:.5; }

.nj-tete-rubrique{ padding-block:40px; }
.nj-tete-rubrique__bandeau{ position:relative; height:320px; overflow:hidden; margin-bottom:32px; }
.nj-tete-rubrique__bandeau img{ width:100%; height:100%; object-fit:cover; }
.nj-tete-rubrique__bandeau::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,29,23,.05) 0%, rgba(20,29,23,.55) 45%, rgba(20,29,23,.88) 100%); }
.nj-tete-rubrique__titre{ position:absolute; left:0; right:0; bottom:0; padding:32px var(--marge); z-index:1; }
.nj-tete-rubrique__titre h1{ color:#fff; font-size:44px; }
.nj-tete-rubrique__titre p{ color:var(--bg); max-width:640px; margin-top:8px; }
@media (max-width:782px){
  .nj-tete-rubrique__bandeau{ height:220px; }
  .nj-tete-rubrique__titre h1{ font-size:28px; }
}

.nj-rubrique-corps{ display:grid; grid-template-columns:2.3fr 1fr; gap:48px; align-items:start; }
.nj-rubrique-intro{ background:var(--carte); padding:0; }
.nj-rubrique-intro details{ border:1px solid var(--bordure); padding:20px 24px; }
.nj-rubrique-intro summary{ font-family:var(--font-titre); font-weight:600; cursor:pointer; list-style:none; }
.nj-rubrique-intro summary::-webkit-details-marker{ display:none; }
.nj-rubrique-intro summary::after{ content:'+'; float:right; font-size:20px; }
.nj-rubrique-intro details[open] summary::after{ content:'−'; }
.nj-rubrique-intro p{ margin-top:14px; color:var(--tige); font-size:15px; }
@media (max-width:1080px){ .nj-rubrique-corps{ grid-template-columns:1fr; } }

.nj-pagination{ display:flex; justify-content:center; gap:8px; margin-top:48px; }
.nj-pagination a, .nj-pagination span{ min-width:44px; min-height:44px; display:flex; align-items:center; justify-content:center; border:1px solid var(--bordure); }
.nj-pagination .current{ background:var(--encre); color:var(--bg); }

.nj-article-hero{ padding-top:40px; }
.nj-article-hero h1{ font-size:44px; line-height:1.15; margin-bottom:18px; max-width:820px; }
.nj-chapo{ font-family:var(--font-texte); font-style:italic; font-size:21px; line-height:1.5; color:var(--tige); max-width:720px; margin-bottom:24px; }
.nj-article-meta{ display:flex; align-items:center; gap:16px; margin-bottom:28px; flex-wrap:wrap; }
.nj-article-meta__auteur{ display:flex; align-items:center; gap:10px; }
.nj-avatar{ width:36px; height:36px; border-radius:50%; overflow:hidden; flex-shrink:0; background:var(--celeri); }
.nj-avatar img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
.nj-article-meta__texte{ font-size:14px; color:var(--tige); }
.nj-article-meta__texte a{ color:var(--encre); font-weight:600; }
.nj-lecture-restante{ font-size:13px; color:var(--tige); }

.nj-article-une{ max-width:920px; margin-inline:auto; aspect-ratio:16/7; max-height:42vh; overflow:hidden; margin-bottom:16px; }
.nj-article-une img{ width:100%; height:100%; object-fit:cover; }

.nj-progression{ position:fixed; top:0; left:0; height:3px; background:var(--kale); z-index:200; width:0%; }

.nj-article-corps{ display:grid; grid-template-columns:2fr 1fr; gap:40px; align-items:start; padding-block:24px 80px; }
.nj-colonne-texte{ max-width:720px; font-size:18px; line-height:1.65; }
.nj-colonne-texte h2{ font-size:30px; margin-top:56px; margin-bottom:18px; }
.nj-colonne-texte h3{ font-size:22px; margin-top:36px; margin-bottom:14px; font-weight:600; }
.nj-colonne-texte p{ margin-bottom:22px; }
.nj-colonne-texte img{ width:100%; aspect-ratio:3/2; object-fit:cover; margin-block:32px; }
.nj-colonne-texte figure{ margin:32px 0; }
.nj-colonne-texte figcaption{ font-size:13px; color:var(--tige); margin-top:8px; }
.nj-colonne-texte a{ color:var(--kale); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:3px; }
.nj-colonne-texte a:hover{ color:var(--kale-fonce); }
.nj-colonne-texte strong{ font-weight:700; }
.nj-colonne-texte blockquote{
  border-left:3px solid var(--kale); padding-left:24px; margin:32px 0; font-style:italic; color:var(--tige); font-size:20px;
}

.nj-sommaire{ background:var(--carte); border:1px solid var(--bordure); padding:24px; margin-bottom:32px; }
.nj-sommaire h2{ font-family:var(--font-titre); font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; }
.nj-sommaire ol{ counter-reset:som; display:flex; flex-direction:column; gap:8px; }
.nj-sommaire li{ counter-increment:som; font-size:15px; }
.nj-sommaire li::before{ content:counter(som) '. '; color:var(--kale); font-weight:600; }
.nj-sommaire a[aria-current="true"]{ color:var(--kale); font-weight:600; }

.nj-etiquette{ border:1.5px solid var(--encre); padding:24px; margin:32px 0; background:var(--carte); }
.nj-etiquette__entete{ font-family:var(--font-titre); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; border-bottom:1px solid var(--bordure); padding-bottom:12px; margin-bottom:16px; }
.nj-etiquette__ligne{ display:flex; justify-content:space-between; gap:16px; padding:6px 0; font-size:15px; border-bottom:1px dotted var(--bordure); }
.nj-etiquette__ligne dt{ color:var(--tige); font-weight:600; }
.nj-etiquette__ligne dd{ margin:0; text-align:right; }

.nj-precaution{ background:#fff; border:1.5px solid var(--grenade); border-left-width:6px; padding:20px 24px; margin:32px 0; }
.nj-precaution strong{ color:var(--grenade); display:block; margin-bottom:6px; font-family:var(--font-titre); }
.nj-precaution p{ margin:0; font-size:15px; }

sbs-jauges, .sbs_jauges{ display:block; background:var(--carte); border:1px solid var(--bordure); padding:28px; margin:32px 0; }
.sbs_jauges_titre{ display:block; font-family:var(--font-titre); font-size:15px; font-weight:700; margin-bottom:20px; }
sbs-jauge, .sbs_jauge{ display:flex; align-items:center; gap:16px; padding:10px 0; }
.sbs_jauge_libelle{ flex:0 0 160px; font-size:14px; color:var(--tige); }
.sbs_jauge_valeur{ font-family:var(--font-titre); font-weight:600; font-size:22px; }
.sbs_jauge_unite{ color:var(--tige); font-size:13px; }
.sbs_jauge::before{
  content:''; display:block; width:48px; height:64px; flex-shrink:0;
  background:
    linear-gradient(to top, var(--kale) var(--nj-remplissage,50%), transparent var(--nj-remplissage,50%)),
    linear-gradient(var(--bg), var(--bg));
  clip-path: polygon(20% 0, 80% 0, 92% 100%, 8% 100%);
  border:1.5px solid var(--encre); border-top:none;
}
sbs-tarifs, .sbs_tarifs{ display:block; background:var(--carte); border:1px solid var(--bordure); padding:28px; margin:32px 0; }
.sbs_tarifs_titre{ display:block; font-family:var(--font-titre); font-size:15px; font-weight:700; margin-bottom:20px; }
sbs-tarif, .sbs_tarif{ display:flex; align-items:center; gap:16px; padding:10px 0; border-bottom:1px solid var(--bordure); }
.sbs_tarif_libelle{ flex:0 0 200px; font-size:14px; }
.sbs_tarif_barre{ flex:1; height:10px; }
.sbs_tarifs_notes, .sbs_source{ display:block; font-size:12px; color:var(--tige); margin-top:14px; }
sbs-frise, .sbs_frise{ display:block; margin:32px 0; }
sbs-etape, .sbs_etape{ display:flex; gap:20px; padding-bottom:24px; border-left:2px solid var(--celeri); padding-left:20px; margin-left:6px; }
.sbs_etape_date{ font-family:var(--font-titre); font-weight:600; flex:0 0 90px; font-size:13px; color:var(--kale); }
sbs-lieu, .sbs_lieu{ display:block; background:var(--carte); border:1px solid var(--bordure); padding:24px; margin:32px 0; }
.sbs_lieu_nom{ display:block; font-family:var(--font-titre); font-size:18px; margin-bottom:4px; }
.sbs_lieu_adresse{ display:block; font-style:normal; color:var(--tige); font-size:14px; margin-bottom:4px; }
.sbs_lieu_carte{ display:inline-flex; align-items:center; gap:6px; margin-top:10px; color:var(--kale); font-size:14px; text-decoration:underline; }
.sbs_icone_repere{ fill:var(--kale); }

.sbs_tableau{ overflow-x:auto; margin:32px 0; }
.sbs_tableau table{ width:100%; border-collapse:collapse; min-width:480px; }
.sbs_tableau th, .sbs_tableau td{ padding:12px 16px; border:1px solid var(--bordure); text-align:left; font-size:14px; }
.sbs_tableau th{ background:var(--encre); color:var(--bg); font-family:var(--font-titre); font-weight:600; }

.nj-faq{ margin:40px 0; }
.nj-faq h2{ font-size:28px; margin-bottom:20px; }
.nj-faq details{ border-bottom:1px solid var(--bordure); padding:20px 0; }
.nj-faq summary{ font-family:var(--font-titre); font-size:17px; font-weight:600; cursor:pointer; list-style:none; display:flex; justify-content:space-between; gap:16px; }
.nj-faq summary::-webkit-details-marker{ display:none; }
.nj-faq summary::after{ content:'+'; font-size:22px; color:var(--kale); flex-shrink:0; }
.nj-faq details[open] summary::after{ content:'−'; }
.nj-faq p{ margin-top:14px; color:var(--tige); }

.nj-sources{ background:var(--carte); border:1px solid var(--bordure); padding:24px 28px; margin-top:48px; }
.nj-sources h2{ font-family:var(--font-titre); font-size:14px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:14px; }
.nj-sources ol{ display:flex; flex-direction:column; gap:8px; counter-reset:src; }
.nj-sources li{ counter-increment:src; font-size:14px; color:var(--tige); padding-left:24px; position:relative; }
.nj-sources li::before{ content:counter(src) '.'; position:absolute; left:0; color:var(--kale); font-weight:600; }
.nj-sources strong{ font-family:var(--font-titre); color:var(--encre); }

.nj-auteur-box{ display:flex; gap:20px; background:var(--carte); border:1px solid var(--bordure); padding:28px; margin-top:48px; }
.nj-auteur-box .nj-avatar{ width:72px; height:72px; }
.nj-auteur-box h2{ font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--tige); margin-bottom:6px; }
.nj-auteur-box__nom{ font-family:var(--font-titre); font-size:19px; font-weight:600; }
.nj-auteur-box__nom a:hover{ color:var(--kale); }
.nj-auteur-box__role{ font-size:13px; color:var(--kale); margin-bottom:8px; }
.nj-auteur-box p{ font-size:14px; color:var(--tige); margin:0; }

.nj-a-lire-aussi{ margin-top:72px; padding-top:36px; border-top:1px solid var(--bordure); }
.nj-a-lire-aussi h2{ font-size:15px; text-transform:uppercase; letter-spacing:.06em; font-weight:700; margin-bottom:20px; }

.nj-sidebar{
  position:sticky; top:80px; display:flex; flex-direction:column; gap:24px;
  align-self:start; max-height:calc(100vh - 100px); overflow:visible;
}
.nj-sidebar__module{ background:var(--carte); border:1px solid var(--bordure); padding:22px; }
.nj-sidebar__module h3{ font-family:var(--font-titre); font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; margin-bottom:16px; }
.nj-plus-lus{ display:flex; flex-direction:column; gap:14px; }
.nj-plus-lus li{ display:flex; gap:12px; }
.nj-plus-lus__photo{ width:64px; height:64px; flex-shrink:0; overflow:hidden; background:var(--celeri); }
.nj-plus-lus__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-plus-lus h4{ font-size:14px; font-weight:600; line-height:1.35; }
.nj-sidebar__lead{ background:var(--celeri); }
.nj-sidebar__pub{ background:var(--tige); color:var(--bg); text-align:center; padding:32px 22px; font-size:13px; }
@media (max-width:1080px){
  .nj-article-corps{ grid-template-columns:1fr; }
  .nj-sidebar{ position:static; max-height:none; flex-direction:row; overflow-x:auto; }
  .nj-sidebar__module{ min-width:280px; }
}
@media (max-width:600px){ .nj-sidebar{ flex-direction:column; } .nj-sidebar__module{ min-width:0; } }

.nj-page-tete{ padding-block:56px 32px; text-align:center; }
.nj-page-tete h1{ font-size:44px; max-width:760px; margin-inline:auto 16px; }
.nj-page-tete p{ max-width:600px; margin-inline:auto; color:var(--tige); font-size:17px; }
.nj-page-tete--photo{ position:relative; min-height:420px; display:flex; align-items:center; text-align:left; overflow:hidden; }
.nj-page-tete--photo .nj-hero__fond{ position:absolute; inset:0; }
.nj-page-tete--photo::before{ content:''; position:absolute; inset:0; background:linear-gradient(100deg, rgba(20,29,23,.82), rgba(20,29,23,.35)); }
.nj-page-tete--photo .nj-container{ position:relative; z-index:1; }
.nj-page-tete--photo h1, .nj-page-tete--photo p{ color:#fff; margin-inline:0; text-align:left; }
.nj-page-tete--photo p{ color:var(--pied-fg-2); }

.nj-page-colonne{ max-width:760px; margin-inline:auto; font-size:17px; line-height:1.65; padding-block:24px 64px; }
.nj-page-colonne h2{ font-size:26px; margin-top:40px; margin-bottom:14px; }
.nj-page-colonne p{ margin-bottom:20px; color:var(--tige); }
.nj-page-colonne img{ margin-block:28px; aspect-ratio:3/2; object-fit:cover; }

.nj-etapes{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.nj-etape-carte{ text-align:center; }
.nj-etape-carte__photo{ aspect-ratio:4/3; overflow:hidden; margin-bottom:16px; background:var(--celeri); }
.nj-etape-carte__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-etape-carte__numero{ font-family:var(--font-titre); color:var(--kale); font-weight:700; font-size:13px; margin-bottom:6px; }
@media (max-width:782px){ .nj-etapes{ grid-template-columns:1fr; } }

.nj-villes-grille{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.nj-ville-carte{ position:relative; aspect-ratio:1/1; overflow:hidden; }
.nj-ville-carte img{ width:100%; height:100%; object-fit:cover; }
.nj-ville-carte__voile{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,29,23,0), rgba(20,29,23,.7)); }
.nj-ville-carte__texte{ position:absolute; left:0; right:0; bottom:0; padding:18px; color:#fff; z-index:1; }
.nj-ville-carte h3{ font-size:19px; }
.nj-ville-carte small{ color:var(--pied-fg-2); font-size:12px; }
@media (max-width:1080px){ .nj-villes-grille{ grid-template-columns:repeat(2,1fr); } }

.nj-praticiens{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.nj-praticien{ display:flex; gap:16px; background:var(--carte); border:1px solid var(--bordure); padding:20px; }
.nj-praticien__photo{ width:80px; height:80px; flex-shrink:0; overflow:hidden; border-radius:50%; background:var(--celeri); }
.nj-praticien__photo img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }
@media (max-width:600px){ .nj-praticiens{ grid-template-columns:1fr; } }
.nj-praticiens--auteurs{ grid-template-columns:repeat(3,1fr); }
@media (max-width:782px){ .nj-praticiens--auteurs{ grid-template-columns:1fr; } }


.nj-ville-hero__voile{
  position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(20,29,23,.88) 0%, rgba(20,29,23,.8) 55%, rgba(20,29,23,.4) 100%);
}
.nj-ville-hero__grille{
  position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; padding-block:56px;
}
.nj-ville-hero__grille .nj-fil, .nj-ville-hero__grille .nj-fil a{ color:var(--pied-fg-2); }
@media (max-width:900px){ .nj-ville-hero__grille{ grid-template-columns:1fr; padding-block:32px; gap:24px; } }

.nj-article-hero--split{ display:grid; grid-template-columns:1.3fr 1fr; gap:48px; align-items:start; }
.nj-article-hero__image{ aspect-ratio:4/3; overflow:hidden; box-shadow:var(--ombre); border-radius:var(--rayon-photo); }
.nj-article-hero__image img{ width:100%; height:100%; object-fit:cover; }
@media (max-width:900px){
  .nj-article-hero--split{ grid-template-columns:1fr; gap:20px; }
  .nj-article-hero__image{ aspect-ratio:16/9; max-height:280px; }
}

.nj-objectifs--mini{ grid-template-columns:repeat(6,1fr); max-width:900px; margin-inline:auto; margin-top:40px; }
@media (max-width:1080px){ .nj-objectifs--mini{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .nj-objectifs--mini{ grid-template-columns:repeat(2,1fr); } }

.nj-suggestions-rubriques{ display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }

.nj-pastilles-quartiers{ display:flex; flex-wrap:wrap; gap:10px; }
.nj-pastilles-quartiers span{ padding:8px 16px; border:1px solid var(--bordure); font-size:13px; }

.nj-deux-colonnes{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
@media (max-width:960px){ .nj-deux-colonnes{ grid-template-columns:1fr; } }

.nj-contact-infos{ display:flex; flex-direction:column; gap:20px; }
.nj-contact-infos__item{ display:flex; gap:14px; align-items:flex-start; }
.nj-contact-infos__item svg{ width:22px; height:22px; flex-shrink:0; color:var(--kale); }

.nj-404{ text-align:center; padding-block:80px; }
.nj-404__visuel{ max-width:280px; margin-inline:auto 24px; }
.nj-404 h1{ font-size:32px; margin-bottom:8px; }
.nj-404 form{ display:flex; max-width:420px; margin:24px auto; gap:8px; }
.nj-404 input{ flex:1; height:48px; padding:0 16px; border:1.5px solid var(--encre); }

.nj-auteur-hero{ display:flex; gap:28px; align-items:center; padding-block:56px 40px; }
.nj-auteur-hero .nj-avatar{ width:120px; height:120px; }
.nj-auteur-hero h1{ font-size:32px; }
.nj-auteur-hero__role{ color:var(--kale); font-family:var(--font-titre); font-weight:600; margin-bottom:10px; }
@media (max-width:600px){ .nj-auteur-hero{ flex-direction:column; text-align:center; } }

.nj-resultats-liste{ display:flex; flex-direction:column; gap:28px; max-width:820px; }
.nj-resultat{ display:flex; gap:20px; padding-bottom:28px; border-bottom:1px solid var(--bordure); }
.nj-resultat__photo{ width:140px; aspect-ratio:4/3; flex-shrink:0; overflow:hidden; background:var(--celeri); }
.nj-resultat__photo img{ width:100%; height:100%; object-fit:cover; }
.nj-resultat h2{ font-size:20px; margin-bottom:6px; }

.nj-exit{
  position:fixed; inset:0; z-index:400; display:none; align-items:center; justify-content:center;
  background:rgba(20,29,23,.7); padding:20px;
}
.nj-exit.est-visible{ display:flex; }
.nj-exit__panneau{
  background:var(--carte); max-width:820px; width:100%; display:grid; grid-template-columns:1fr 1fr; max-height:90vh; overflow:auto;
}
.nj-exit__photo{ position:relative; min-height:280px; }
.nj-exit__photo img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.nj-exit__photo--repli{ background:linear-gradient(160deg,#2E6A3E,#141D17); position:absolute; inset:0; }
.nj-exit__contenu{ padding:36px; position:relative; }
.nj-exit__fermer{ position:absolute; top:16px; right:16px; width:36px; height:36px; display:flex; align-items:center; justify-content:center; }
.nj-exit__contenu h2{ font-size:26px; margin-bottom:10px; }
.nj-exit__contenu p{ color:var(--tige); font-size:15px; margin-bottom:20px; }
@media (max-width:660px){ .nj-exit__panneau{ grid-template-columns:1fr; } .nj-exit__photo{ min-height:160px; } }

.nj-espace-avant{ margin-top:var(--rythme); }
.nj-histoire__grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:48px;align-items:start}
.nj-histoire__texte p{max-width:62ch;margin:0 0 16px}
@media (max-width:860px){.nj-histoire__grille{grid-template-columns:minmax(0,1fr);gap:16px}}
.nj-villes-grille.nj-villes-grille--large{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1080px){.nj-villes-grille.nj-villes-grille--large{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.nj-villes-grille.nj-villes-grille--large{grid-template-columns:repeat(2,minmax(0,1fr))}}
.nj-objectif__voile{background:linear-gradient(180deg,rgba(20,29,23,.62) 0%,rgba(20,29,23,.12) 45%,rgba(20,29,23,.55) 100%)}
.nj-objectif__titre{text-shadow:0 1px 12px rgba(0,0,0,.35)}
.nj-bande-photo__voile{background:rgba(20,29,23,.62)}
.nj-stat small{color:rgba(255,255,255,.88);font-size:15px}
.nj-ville-carte__voile{background:linear-gradient(180deg,rgba(20,29,23,0) 35%,rgba(20,29,23,.82))}
.nj-ville-carte__texte h3{color:#fff;font-size:20px;line-height:1.2;margin:0}
@media (max-width:900px){.nj-footer__newsletter{flex-direction:column;align-items:stretch;gap:20px}.nj-footer__newsletter>div{max-width:none!important}}
.nj-footer__newsletter form{flex-direction:column;align-items:stretch}
.nj-sommaire ol{list-style:none;padding-left:0;margin:0}
@media (min-width:1081px){.nj-colonne-texte>.nj-sommaire{display:none}}
.nj-page-tete{text-align:left}
.nj-page-tete h1{margin-inline:0;max-width:900px}
.nj-ville-hero__grille{align-items:start}
.nj-ville-hero__grille>div:first-child{padding-top:24px}
.nj-lead__promesse{color:#4a5a4f;opacity:1}
.nj-bande-photo{margin-top:56px}

.nj-nav ul{gap:13px}
.nj-nav a{font-size:12.5px;letter-spacing:0}
.nj-header__inner{gap:18px}
.nj-header__droite{gap:8px;flex-shrink:0}
.nj-header__cta{height:42px;padding:0 16px;font-size:12.5px;white-space:nowrap}
.nj-recherche-btn{width:34px;height:34px}
.nj-nav{min-width:0}

.nj-carte-leaflet,.nj-carte-leaflet-multi{height:360px;width:100%;background:var(--celeri);border:1px solid var(--bordure)}
.leaflet-container{font-family:var(--font-texte)}

.nj-lead__etapes-barre{height:4px;background:var(--bordure);margin-bottom:20px;max-width:100%}
.nj-lead__etapes-barre__valeur{height:100%;width:50%;background:var(--kale);transition:width var(--transition)}
.nj-lead__etape{display:none;flex-direction:column;gap:14px}
.nj-lead__etape.est-active{display:flex}

.nj-encart-ville{background:var(--celeri);padding:24px 28px;margin:32px 0;text-align:center}
.nj-encart-ville h3{font-size:20px;margin-bottom:8px}
.nj-encart-ville p{color:var(--encre);opacity:.8;margin-bottom:16px}
.nj-encart-photo{margin:32px 0}
.nj-encart-photo img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--rayon-photo)}

@media (max-width:960px){
  .nj-deux-colonnes{display:flex;flex-direction:column}
  .nj-deux-colonnes>div:last-child{order:-1}
}
.nj-lead .nj-lead__promesse,.nj-hero__form .nj-lead__promesse{color:#3f4d43!important;opacity:1!important}
.nj-apropos-auteurs,.page-template-page-a-propos .nj-section{margin-top:56px}
