/* Harmonie v4 (30/10/2026, chantier conversion b) : les pages interieures prennent le style
   haut de gamme de l'accueil (haut de page sombre, cartes soignees, pied sombre).
   Se charge APRES allolib.css et harmonie-v3.css. Aucun texte change.
 */
.nv2{--v4-nuit:#07121F;--v4-nuit2:#0D2236;--v4-menthe:#5EDCC8;--v4-action:#0B7A6B;--v4-ligne:#E3E9EF;
  font-feature-settings:"ss01","cv11";letter-spacing:-.003em}
.nv2 h1,.nv2 h2,.nv2 h3{font-weight:750;letter-spacing:-.025em}

/* En-tete verre depoli */
.nv2 .entete{background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(7,18,31,.07)}
.nv2 .btn{border-radius:14px;font-weight:700;letter-spacing:-.01em}
.nv2 .btn--vif,.nv2 a.btn--vif,.nv2 .btn-or,.nv2 a.btn-or{box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 24px -10px rgba(11,122,107,.75);transition:transform .15s,background .15s}
.nv2 .btn--vif:hover,.nv2 .btn-or:hover{transform:translateY(-1px)}

/* Haut de page sombre */
.nv2 :is(.hero,.hero-simple){position:relative;overflow:hidden;color:#CFDCE8;
  background:radial-gradient(900px 480px at 85% -10%,rgba(40,190,168,.26),transparent 60%),radial-gradient(700px 420px at -10% 30%,rgba(30,90,160,.32),transparent 60%),linear-gradient(180deg,#0D2236 0%,#07121F 100%)}
.nv2 :is(.hero,.hero-simple)::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 85%);mask-image:linear-gradient(180deg,#000,transparent 85%)}
.nv2 :is(.hero,.hero-simple)>*{position:relative;z-index:1}
.nv2 :is(.hero,.hero-simple) h1,.nv2 :is(.hero,.hero-simple) h2,.nv2 :is(.hero,.hero-simple) h3{color:#fff}
.nv2 :is(.hero,.hero-simple) h1{letter-spacing:-.035em;line-height:1.05}
.nv2 :is(.hero,.hero-simple) p,.nv2 :is(.hero,.hero-simple) li,.nv2 :is(.hero,.hero-simple) .sous,.nv2 :is(.hero,.hero-simple) .wrap>p,.nv2 .hero__sous{color:#D5E1EC}
.nv2 :is(.hero,.hero-simple) .note,.nv2 :is(.hero,.hero-simple) .wrap>p.note{color:#B9CADA;font-family:inherit;font-size:.98rem}
.nv2 :is(.hero,.hero-simple) .note strong{color:#fff}
.nv2 :is(.hero,.hero-simple) label,.nv2 :is(.hero,.hero-simple) small{color:#E3ECF4}
.nv2 :is(.hero,.hero-simple) a:not(.btn){color:var(--v4-menthe);text-decoration-color:rgba(94,220,200,.5)}
.nv2 :is(.hero,.hero-simple) .oeil,.nv2 :is(.hero,.hero-simple) .eyebrow{color:var(--v4-menthe)}
.nv2 :is(.hero,.hero-simple) .coche{color:var(--v4-menthe)}
.nv2 .hero__preuves{border-top:1px solid rgba(255,255,255,.14)}
.nv2 .hero__preuves li{color:#B9CADA}
.nv2 :is(.hero,.hero-simple) .badge{background:rgba(94,220,200,.12);border:1px solid rgba(94,220,200,.35);color:var(--v4-menthe)}
.nv2 :is(.hero,.hero-simple) .badge .horaire{color:#fff}
.nv2 .sector-breadcrumb,.nv2 .sector-breadcrumb span{color:#B9CADA}
.nv2 .sector-breadcrumb span[aria-current]{color:#fff;font-weight:600}
.nv2 .sector-breadcrumb a{color:var(--v4-menthe)}
.nv2 :is(.hero,.hero-simple) input,.nv2 :is(.hero,.hero-simple) select,.nv2 :is(.hero,.hero-simple) textarea{background:#fff;color:#0B1A2E;border:1px solid #9FB2C4}
.nv2 :is(.hero,.hero-simple) .btn-ghost,.nv2 :is(.hero,.hero-simple) .btn--fantome{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}
.nv2 :is(.hero,.hero-simple) .btn-ghost:hover,.nv2 :is(.hero,.hero-simple) .btn--fantome:hover{background:rgba(255,255,255,.08);border-color:#fff}
.nv2 :is(.hero,.hero-simple) :focus-visible{outline-color:#fff}
.nv2 .hero-form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:20px;margin-block:18px}
.nv2 .hero-form__note{color:#B9CADA;font-size:.92rem}
.nv2 :is(.hero,.hero-simple) .telephone{background:#fff;color:#2A3846}
.nv2 :is(.hero,.hero-simple) .telephone :is(p,li,span,div,small){color:#2A3846}
.nv2 :is(.hero,.hero-simple) .telephone :is(h1,h2,h3,strong){color:#0B1A2E}

/* Sections et cartes soignees */
.nv2 .section{padding-block:56px}
@media (min-width:900px){.nv2 .section{padding-block:92px}}
.nv2 .section-alt{background:linear-gradient(180deg,#F5F8FB 0%,#EEF3F8 100%)}
.nv2 .eyebrow{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--v4-action)}
.nv2 .eyebrow::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor;flex:0 0 auto}
.nv2 .card{border:1px solid var(--v4-ligne);border-radius:20px;box-shadow:0 1px 2px rgba(7,18,31,.04),0 10px 30px -14px rgba(7,18,31,.18);transition:transform .2s,box-shadow .2s}
.nv2 a.card:hover,.nv2 .card:hover{transform:translateY(-2px);box-shadow:0 2px 6px rgba(7,18,31,.06),0 20px 40px -16px rgba(7,18,31,.28)}
.nv2 .card .ic{background:#E3F3F0;color:var(--v4-action);border-radius:14px}
.nv2 .inclus li{padding-block:8px}
.nv2 details{border:1px solid var(--v4-ligne);border-radius:14px;background:#fff}
.nv2 details summary{min-height:48px;font-weight:650}

/* Bandes finales et pied sombres */
.nv2 .essai,.nv2 .cta-final,.nv2 .cta-band,.nv2 .final{background:linear-gradient(180deg,#0D2236 0%,#07121F 100%)}
.nv2 .pied{background:#07121F;color:#B9CADA;border-top:0}
.nv2 .pied .logo .sombre{display:none}
.nv2 .pied .logo .clair{display:block}
.nv2 .pied__baseline,.nv2 .pied__legal{color:#9FB2C4;border-top-color:rgba(255,255,255,.12)}
.nv2 .pied a,.nv2 .pied__liens a{color:#D5E1EC}
.nv2 .pied a:hover,.nv2 .pied__liens a:hover{color:var(--v4-menthe)}
.nv2 .pied :focus-visible{outline-color:#fff}

/* Barre collee en bas sur telephone (meme mecanisme que l'accueil, cachee quand un formulaire est a l'ecran) */
.nv2 .barre-essai{position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(7,18,31,.97);border-top:1px solid rgba(255,255,255,.12);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .2s}
.nv2 .barre-essai.visible{transform:none}
.nv2 .barre-essai__duo{display:grid;grid-template-columns:auto 1fr;gap:8px;max-width:520px;margin-inline:auto}
.nv2 .barre-essai .btn{min-height:48px;padding:0 14px;font-size:16px;box-shadow:none}
.nv2 .barre-essai .btn--sobre{background:#fff;color:#0B1A2E;border:0}
.nv2 .barre-essai .btn--vif{background:#0B7A6B;color:#fff}
.nv2.avec-barre{padding-bottom:76px}
@media (min-width:960px){.nv2 .barre-essai{display:none}.nv2.avec-barre{padding-bottom:0}}
@media (prefers-reduced-motion:reduce){.nv2 .card,.nv2 .btn{transition:none}}

/* Bandeau de titre des pages interieures (hero-simple) */
.nv2 .hero-simple{padding-block:clamp(44px,6vw,72px) clamp(36px,5vw,60px)}
.nv2 .hero-simple :is(.chapeau,p){color:#D5E1EC}
.nv2 .hero-simple .oeil{color:var(--v4-menthe)}
.nv2 .hero-simple h1{max-width:24ch}
.nv2 :is(.hero,.hero-simple) nav[aria-label*="Fil"] a,.nv2 :is(.hero,.hero-simple) .fil a{color:var(--v4-menthe)}
.nv2 :is(.hero,.hero-simple) nav[aria-label*="Fil"] span,.nv2 :is(.hero,.hero-simple) .fil{color:#C5D3E0}

/* Cartes claires a l'interieur d'un haut de page sombre : on rend leur texte sombre */
.nv2 :is(.hero,.hero-simple) :is(.price-card,.sommaire-legal,.encart,details,.mx-scenario,.pub-carte,.hero-card,.carte,.telephone,.hero-form.form-clair,.form-clair){color:#2A3846}
.nv2 :is(.hero,.hero-simple) :is(.price-card,.sommaire-legal,.encart,details,.mx-scenario,.pub-carte,.hero-card,.carte,.telephone,.form-clair) :is(p,li,span,div,small,label,dd,dt,td,th,summary,.note,.sous){color:#2A3846}
.nv2 :is(.hero,.hero-simple) :is(.price-card,.sommaire-legal,.encart,details,.mx-scenario,.pub-carte,.hero-card,.carte,.telephone,.form-clair) :is(h1,h2,h3,h4,strong,b){color:#0B1A2E}
.nv2 :is(.hero,.hero-simple) :is(.price-card,.sommaire-legal,.encart,details,.mx-scenario,.pub-carte,.hero-card,.carte,.form-clair) a:not(.btn){color:#0A6E61}
.nv2 :is(.hero,.hero-simple) :is(.price-card,.pub-carte,.hero-card,.encart,.form-clair) .btn--vif,.nv2 :is(.hero,.hero-simple) :is(.price-card,.pub-carte,.hero-card,.encart,.form-clair) .btn-or{color:#fff}
.nv2 :is(.hero,.hero-simple) .form-clair .hero-form{background:transparent;border:0;padding:0}

/* Puces de sommaire (fond blanc) dans le bandeau sombre */
.nv2 :is(.hero,.hero-simple) .sommaire a:not(.btn){color:#0A6E61;font-weight:600}
.nv2 :is(.hero,.hero-simple) .sommaire a:hover{background:#E3F3F0}

/* Audit 30/10 (c) : cartes passees en fond blanc, textes remis en sombre */
.nv2 .offre--phare .offre__pour,
.nv2 .offre--phare .offre__liste li{color:rgb(11,26,46)}
.nv2 .offre--phare .offre__unite,
.nv2 .offre__unite{color:rgb(10,110,97)}
.nv2 .offre--phare details p{color:rgb(11,26,46)}
.nv2 .offre--phare .offre__liste li.exclu .coche{color:rgb(10,110,97)}
.nv2-metier .carte-form .rgpd,
.nv2-metier .carte-form .rgpd.souscrire-seul{color:#4a5568}
.nv2-metier .carte-form .rgpd a{color:rgb(10,110,97);text-decoration:underline}
.nv2-metier .carte-form .lead-minimum{color:#4a5568}
/* Tableau Contenu de l'offre : une seule colonne de valeur, empilee en mobile */
@media (max-width:760px){
  .nv2 table.comparatif tr:not(.groupe){grid-template-columns:minmax(0,1fr)}
  .nv2 table.comparatif td{grid-column:1/-1}
  .nv2 table.comparatif .col-offre{min-height:0}
}
/* Bouton plein dans une carte du bandeau : texte blanc sur fond vert */
body.nv2 :is(.hero,.hero-simple) a.button:not(.button-secondary):not(.btn),
body.nv2 :is(.hero,.hero-simple) a.button:not(.button-secondary):not(.btn):hover{color:#fff}
/* Mention RGPD et aide du formulaire final (carte blanche) */
body.nv2 .final-cta p.rgpd,body.nv2 .final-cta p.lead-minimum,
body.nv2 .cta-final p.rgpd,body.nv2 .cta-band p.rgpd{color:#4a5568}
body.nv2 .final-cta p.rgpd a,body.nv2 .cta-final p.rgpd a{color:rgb(10,110,97);text-decoration:underline}
body.nv2 .cta-final p.lead-minimum,body.nv2 .cta-band p.lead-minimum,body.nv2 .lead-minimum{color:#4a5568}
