/* coup de pinceau jaune derriere le mot d'accroche (signature REIMO) */
.brush-wrap .brush-fill{ fill:#fdc300; }
.brush-wrap em{ color:#111111; font-style:normal; }

/* ===== Jetons de couleur Eco Campers — source unique =====
   Huit valeurs. Tous les anciens noms pointent dessus : le rendu est
   inchange, mais il n'y a plus qu'un endroit ou changer une couleur. */
:root{
  --ec-fond:        #ffffff;   /* fond de page et cartes            */
  --ec-fond-2:      #f5f5f5;   /* fond secondaire, emplacements     */
  --ec-filet:       #e5e5e5;   /* bordures et separateurs           */
  --ec-gris:        #6e6e6e;   /* texte secondaire                  */
  --ec-gris-fonce:  #4a4a4a;   /* texte courant sur fond clair      */
  --ec-texte:       #111111;   /* titres et texte fort              */
  --ec-noir:        #000000;   /* bandeaux pleins                   */
  --ec-accent:      #fdc300;   /* jaune : etiquette, bouton, icone  */
  --ec-accent-f:    #e3ae00;   /* jaune survol                      */

  /* correspondances heritees — ne plus utiliser dans le nouveau code */
  --paper:var(--ec-fond); --card:var(--ec-fond); --white:var(--ec-fond);
  --paper-alt:var(--ec-fond-2); --grey-050:var(--ec-fond-2);
  --line:var(--ec-filet); --grey-200:var(--ec-filet);
  --ink-faint:var(--ec-gris); --grey-500:var(--ec-gris);
  --ink-soft:var(--ec-gris-fonce); --grey-700:var(--ec-gris-fonce);
  --ink:var(--ec-texte); --pine:var(--ec-texte); --black:var(--ec-texte);
  --terracotta-deep:var(--ec-texte);
  --pine-deep:var(--ec-noir);
  --gold:var(--ec-accent); --terracotta:var(--ec-accent);
  --terracotta-light:var(--ec-accent); --accent:var(--ec-accent);
  --accent-dark:var(--ec-accent-f);
  --accent-soft:rgba(253,195,0,.22);
}


/* ===== En-tete a deux niveaux : bandeau noir + barre blanche ===== */
.ec-bandeau{ background:var(--ec-noir,#000000); color:rgba(255,255,255,.80); }
.ec-bandeau-in{ max-width:1280px; margin:0 auto; display:flex; align-items:center;
  gap:1.5rem; flex-wrap:wrap;
  padding:.46rem clamp(1.2rem,4vw,3rem);
  font-family:"Montserrat",-apple-system,sans-serif; font-size:.74rem; letter-spacing:.015em;
  line-height:1.5; }
.ec-bandeau .ecb{ display:inline-flex; align-items:center; gap:.42rem; white-space:nowrap; }
.ec-bandeau .ecb svg{ width:13px; height:13px; flex:0 0 auto; fill:none; stroke:currentColor;
  stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; opacity:.7; }
.ec-bandeau .ecb-cle{ color:#ffffff; font-weight:600; }
.ec-bandeau .ecb-cle svg{ color:var(--ec-accent,#fdc300); opacity:1; }
.ec-bandeau .ecb-fin{ margin-left:auto; }
@media (max-width:1040px){ .ec-bandeau .ecb-fin{ margin-left:0; } }
@media (max-width:780px){
  .ec-bandeau-in{ justify-content:center; gap:.9rem; font-size:.7rem; }
  .ec-bandeau .ecb-opt{ display:none; }
}
/* la barre blanche ne porte plus le filet du haut, le bandeau fait la separation */
header.top .nav-wrap{ padding-top:clamp(.9rem,2vw,1.25rem); }


/* ===== Barre de menu pleine largeur sur toutes les pages (07/10/2026) ===== */
@media (min-width:941px){
  .nav-wrap{ max-width:100% !important; }
  .ec-bandeau-in{ max-width:100% !important; }
}


/* ===== Bandeau : l'adresse ouvre un itineraire ===== */
.ec-bandeau a.ecb{ color:inherit; text-decoration:none; transition:color .18s ease; }
.ec-bandeau a.ecb:hover{ color:#ffffff; text-decoration:underline; text-underline-offset:3px; }
.ec-bandeau a.ecb .ecb-fleche{ font-size:.85em; opacity:.65; margin-left:.1rem; }


/* ======================================================================
   Le site est concu en clair : on neutralise le theme sombre.
   Sans cela, l'affichage sombre repeignait les cartes en noir sous des
   textes noirs. Le catalogue papier est en clair, le site aussi.
   ====================================================================== */
:root, :root[data-theme="dark"], :root[data-theme="light"]{
  color-scheme:light;
  --ec-fond:#ffffff; --ec-fond-2:#f5f5f5; --ec-filet:#e5e5e5;
  --ec-gris:#6e6e6e; --ec-gris-fonce:#4a4a4a; --ec-texte:#111111;
  --ec-noir:#000000; --ec-accent:#fdc300; --ec-accent-f:#e3ae00;
  --paper:#ffffff; --paper-alt:#f5f5f5; --card:#ffffff; --white:#ffffff;
  --line:#e5e5e5; --grey-050:#f5f5f5; --grey-200:#e5e5e5;
  --ink:#111111; --ink-soft:#4a4a4a; --ink-faint:#6e6e6e;
  --grey-500:#6e6e6e; --grey-700:#4a4a4a;
  --pine:#111111; --pine-deep:#000000; --black:#111111;
  --gold:#fdc300; --terracotta:#fdc300; --terracotta-light:#fdc300;
  --terracotta-deep:#111111; --accent:#fdc300; --accent-dark:#e3ae00;
  --accent-soft:rgba(253,195,0,.22);
  --shadow:0 1px 2px rgba(0,0,0,.06), 0 18px 40px -20px rgba(0,0,0,.28);
}
:root[data-theme="dark"] body, body{ background-color:#ffffff; color:#111111; }

/* --- le pied de page : plus de filet au-dessus, plus de mention en bas -- */
footer{ border-top:none !important; margin-top:0 !important; }
.foot-bottom{ display:none !important; }


/* ======================================================================
   Socle catalogue — 14/10/2026
   Transposition du parti valide sur la page d'accueil.
   ====================================================================== */

:root{
  --ec-serif:"Spectral",Georgia,"Times New Roman",serif;
  --ec-titre:#3a3a3a;
  --ec-filet-2:#d8d8d8;
}

/* --- les gris de lecture remontent ------------------------------------- */
:root, :root[data-theme="dark"], :root[data-theme="light"]{
  --ec-gris-fonce:#2f2f2f; --ink-soft:#2f2f2f; --grey-700:#2f2f2f;
  --ec-gris:#5a5a5a;       --ink-faint:#5a5a5a; --grey-500:#5a5a5a;
}

/* --- la serif prend le corps du texte ---------------------------------- */
main p, main li, main td, main blockquote, main figcaption,
main .lead, main .mt, main .bx, main .fa, main dd{
  font-family:var(--ec-serif);
}
main p{ font-size:1.02rem; line-height:1.72; }
main li{ line-height:1.6; }
main .btn, main .eyebrow, main .discover, main .arrow, main .ac-tag, main .rl,
main .bd, main th, main .quick-specs span, main .spec-group h3, main .mn-tag,
main .metier-sub, main .tab, main .pill, main .chip, main .nv, main .num,
main .big-num, main .hero-stats b, main .hero-stats span{
  font-family:"Montserrat",sans-serif;
}

/* --- les titres en gris, un mot en jaune -------------------------------- */
main h2, .section-head h2{ color:var(--ec-titre); letter-spacing:-.01em; }
main h2 em.jm{ font-style:normal; color:var(--ec-accent,#fdc300); }
.page-hero h1 em.jm, .cta-band h2 em.jm, .photo-band h2 em.jm,
.config-banner h2 em.jm{ color:var(--ec-accent,#fdc300); }

/* --- l'etiquette jaune du catalogue : rectangle ------------------------ */
.eyebrow, .section-head .eyebrow{
  padding:.4rem .72rem .36rem !important; letter-spacing:.1em !important;
}

/* --- plus aucun angle arrondi ------------------------------------------ */
body *{ border-radius:0 !important; }

/* --- le chapeau de section passe sous le titre, en italique ------------- */
.section-head{ display:block !important; margin-bottom:2.6rem; }
.section-head > p, .section-head > div + p{
  max-width:74ch !important; margin:.7rem 0 0 !important;
  font-family:"Montserrat",sans-serif !important; font-style:italic; font-weight:500;
  font-size:1.02rem !important;
}

/* --- les boutons au gabarit du catalogue -------------------------------- */
main .btn, main a.discover, main .arrow{
  font-family:"Montserrat",sans-serif !important; font-weight:700 !important;
  text-transform:uppercase; letter-spacing:.07em; font-size:.78rem;
  padding:.86rem 1.8rem;
}

/* --- les listes de donnees passent au filet ----------------------------- */
main .model-specs li, main .quick-specs li{
  border-bottom:1px solid var(--ec-filet-2,#d8d8d8); padding:.55rem 0; align-items:center;
}
main .sp-i{ color:#111111; }

/* --- le pied de page, deja corrige, garde ses contrastes ---------------- */
footer .foot-grid p{ font-family:"Montserrat",sans-serif !important; font-size:.88rem !important; }


/* ===== Configurateur v3 (15/10/2026) ===== */
#ecconf{
    --jaune:#fdc300; --jaune-f:#e3ae00; --noir:#111111; --g700:#4a4a4a; --g500:#6e6e6e;
    --g200:#e5e5e5; --g100:#f0f0f0; --g050:#f6f6f6; --blanc:#ffffff; --page:#ffffff;
    --ok:#1f7a3d; --ok-bg:#eef7f0; --alerte:#8a2424; --alerte-bg:#fbeeee;
  }
#ecconf *{ box-sizing:border-box; }
#ecconf{ margin:0; background:var(--page); color:var(--noir); line-height:1.6;
        font-family:"Montserrat",-apple-system,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
#ecconf .cadre{ max-width:1240px; margin:0 auto; padding:2.4rem clamp(1rem,4vw,2rem) 4rem; }
#ecconf .bandeau-info{ border:1px solid var(--g200); border-radius:14px; padding:1.1rem 1.25rem;
    margin-bottom:2rem; display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; align-items:baseline; }
#ecconf .etiq{ background:var(--jaune); color:#111; font-weight:700; font-size:.66rem; letter-spacing:.09em;
         text-transform:uppercase; padding:.3rem .55rem .26rem; border-radius:4px; line-height:1; }
#ecconf .bandeau-info p{ margin:0; font-size:.9rem; color:var(--g700); flex:1 1 320px; max-width:80ch; }
#ecconf .bandeau-info b{ color:var(--noir); }
#ecconf h1{ font-weight:800; font-size:clamp(1.6rem,3.6vw,2.35rem); letter-spacing:-.025em; margin:0 0 1.5rem; }
#ecconf .etapes{ display:flex; flex-wrap:wrap; gap:.2rem 1.6rem; list-style:none; margin:0 0 1.9rem;
           padding:0; border-bottom:1px solid var(--g200); }
#ecconf .etape{ display:flex; align-items:center; gap:.55rem; padding:.55rem 0 .75rem; background:none;
    border:0; border-bottom:2px solid transparent; margin-bottom:-1px; border-radius:0;
    cursor:pointer; text-align:left; font-family:inherit; color:var(--g500); }
#ecconf .etape:hover{ color:var(--noir); }
#ecconf .etape.on{ border-bottom-color:var(--noir); color:var(--noir); }
#ecconf .etape:focus-visible{ outline:3px solid var(--jaune); outline-offset:2px; }
#ecconf .e-num{ font-size:.64rem; font-weight:700; letter-spacing:.08em; color:var(--g500);
          border:1px solid var(--g200); border-radius:999px; padding:.2rem .45rem; line-height:1; }
#ecconf .etape.on .e-num{ color:#111; background:var(--jaune); border-color:var(--jaune); }
#ecconf .e-lib{ font-weight:700; font-size:.92rem; }
@media (max-width:620px){
  #ecconf .etapes{ gap:.2rem .9rem; }
  #ecconf .etape:not(.on) .e-lib{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
}
#ecconf .scene{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:1.2rem 2.4rem;
          align-items:center; margin:.4rem 0 2.4rem; }
#ecconf .scene[hidden]{ display:none; }
#ecconf .scene > *{ min-width:0; }
@media (max-width:900px){
  #ecconf .scene{ grid-template-columns:1fr; gap:1rem; }
  #ecconf .photo{ height:auto; width:100%; }
}
#ecconf .photo{ position:relative; height:clamp(150px,24vh,230px); aspect-ratio:760/485; max-width:100%;
    margin:0 auto; overflow:hidden; }
#ecconf .photo::before{ content:''; position:absolute; left:14%; right:14%; bottom:14%; height:7%;
    border-radius:50%; background:radial-gradient(50% 50% at 50% 50%,
      rgba(0,0,0,.19) 0%, rgba(0,0,0,.10) 45%, rgba(0,0,0,0) 72%); }
#ecconf .photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; display:block;
    opacity:0; transition:opacity .28s ease; }
#ecconf .photo img.on{ opacity:1; }
@media (prefers-reduced-motion:reduce){
  #ecconf .photo img{ transition:none; }
}
#ecconf .opts.teintes{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.1rem .5rem; }
@media (max-width:420px){
  #ecconf .opts.teintes{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
#ecconf .opts.teintes .opt{ display:flex; flex-direction:column; align-items:center; gap:.5rem;
                      padding:.2rem; text-align:center; border:0; background:none; border-radius:6px; }
#ecconf .opts.teintes .opt:hover:not(:disabled){ border:0; }
#ecconf .opts.teintes .opt:hover .past{ transform:scale(1.06); }
#ecconf .opts.teintes .past{ width:3rem; height:3rem; flex:0 0 auto; border:0;
    box-shadow:0 0 0 1px rgba(0,0,0,.14), 0 2px 5px rgba(0,0,0,.10);
    transition:transform .16s ease, box-shadow .16s ease; }
#ecconf .opts.teintes .opt.on{ box-shadow:none; border-color:transparent; }
#ecconf .opts.teintes .opt.on .past{ box-shadow:0 0 0 2px var(--page), 0 0 0 4px var(--noir); }
#ecconf .t-lib{ font-weight:600; font-size:.78rem; line-height:1.25; }
#ecconf .opts.teintes .opt.on .t-lib{ font-weight:700; }
#ecconf .t-prix{ font-size:.72rem; color:var(--g500); font-variant-numeric:tabular-nums; display:block; }
#ecconf .scene-lib{ text-align:center; margin:.4rem 0 0; line-height:1.5; }
#ecconf .scene-nom{ font-weight:700; font-size:1.02rem; letter-spacing:-.01em; display:block; }
#ecconf .scene-sous{ font-size:.8rem; color:var(--g500); }
#ecconf .scene-note{ max-width:44ch; margin:.6rem auto 0; text-align:center; font-size:.78rem;
    color:var(--g700); background:var(--g050); border:1px solid var(--g200);
    border-radius:10px; padding:.45rem .8rem; }
#ecconf .barre{ position:sticky; bottom:0; z-index:20; background:var(--blanc);
    border:1px solid var(--g200); border-radius:16px 16px 0 0; margin-top:1.4rem;
    box-shadow:0 -10px 28px rgba(0,0,0,.07); }
#ecconf .barre-in{ display:flex; align-items:center; gap:.7rem 1.1rem; flex-wrap:wrap;
             padding:.85rem clamp(.9rem,2vw,1.4rem); }
#ecconf .barre-prix{ margin-right:auto; display:flex; align-items:baseline; gap:.55rem; }
#ecconf .barre-lib{ font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--g500); }
#ecconf .barre-prix strong{ font-weight:800; font-size:clamp(1.25rem,2.6vw,1.6rem); letter-spacing:-.02em;
                      font-variant-numeric:tabular-nums; }
#ecconf .lien-detail{ font-family:inherit; color:var(--g700); background:none; border:0; cursor:pointer;
    font-size:.8rem; font-weight:600; text-decoration:underline; text-underline-offset:3px; padding:.2rem 0; }
#ecconf .lien-detail:focus-visible{ outline:3px solid var(--jaune); outline-offset:2px; }
#ecconf .chev{ display:inline-block; transition:transform .18s ease; }
#ecconf .lien-detail[aria-expanded="true"] .chev{ transform:rotate(180deg); }
#ecconf .tiroir[hidden]{ display:none; }
#ecconf .tiroir{ border-bottom:1px solid var(--g200); padding:1rem clamp(.9rem,2vw,1.4rem);
           display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:1.4rem; align-items:start; }
@media (max-width:700px){
  #ecconf .tiroir{ grid-template-columns:1fr; }
}
#ecconf .recap{ list-style:none; margin:0 0 .9rem; padding:0; font-size:.84rem; max-height:20rem; overflow:auto; }
#ecconf .recap li{ display:flex; justify-content:space-between; gap:.8rem; padding:.36rem 0; border-bottom:1px solid var(--g200); }
#ecconf .recap li:last-child{ border-bottom:0; }
#ecconf .recap .k{ color:var(--g500); }
#ecconf .recap .v{ font-weight:600; text-align:right; }
#ecconf .recap .sup{ font-size:.78rem; color:var(--g500); padding-left:.8rem; }
#ecconf .prix{ border-top:2px solid var(--noir); padding-top:.8rem; }
#ecconf .prix-ligne{ display:flex; justify-content:space-between; font-size:.83rem; color:var(--g500); padding:.14rem 0; }
#ecconf .prix-ligne b{ color:var(--noir); font-weight:600; font-variant-numeric:tabular-nums; }
#ecconf .prix-total{ display:flex; justify-content:space-between; align-items:baseline; margin-top:.55rem;
    padding-top:.55rem; border-top:1px solid var(--g200); }
#ecconf .prix-total span{ font-size:.67rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--g500); }
#ecconf .prix-total strong{ font-weight:800; font-size:clamp(1.3rem,2.6vw,1.75rem); letter-spacing:-.02em;
                      font-variant-numeric:tabular-nums; }
#ecconf .panneau{ padding:0; }
#ecconf .volet{ display:none; }
#ecconf .volet.on{ display:block; }
#ecconf #volet1.on{ display:block; }
#ecconf #volet1 .groupe + .groupe{ margin-top:2.1rem; padding-top:2.1rem; border-top:1px solid var(--g200); }
#ecconf #volet2 .groupe + .groupe{ margin-top:2.1rem; padding-top:2.1rem; border-top:1px solid var(--g200); }
#ecconf .g-entete{ display:flex; justify-content:space-between; align-items:baseline; gap:1rem; margin-bottom:.55rem; }
#ecconf .g-titre{ font-size:.7rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; margin:0;
            color:var(--g500); }
#ecconf .g-choix{ font-size:.86rem; font-weight:600; text-align:right; }
#ecconf .g-aide{ font-size:.8rem; color:var(--g500); margin:.2rem 0 .7rem; }
#ecconf .opts{ display:flex; flex-wrap:wrap; gap:.55rem; }
#ecconf .opts.cartes{ display:grid; grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); }
#ecconf .opts.liste{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,max(340px,33.3%)),1fr)); gap:.5rem; }
#ecconf .opt{ font-family:inherit; color:inherit; cursor:pointer; background:var(--blanc);
        border:1px solid var(--g200); border-radius:12px;
        transition:border-color .16s ease, box-shadow .16s ease; }
#ecconf .opt:hover:not(:disabled){ border-color:var(--g500); }
#ecconf .opt.on{ border-color:var(--noir); box-shadow:inset 0 0 0 1px var(--noir); }
#ecconf .opt:disabled{ opacity:.45; cursor:not-allowed; }
#ecconf .opt:focus-visible{ outline:3px solid var(--jaune); outline-offset:2px; }
#ecconf .opts.pastilles .opt{ width:2.8rem; height:2.8rem; border-radius:50%; padding:.2rem; display:grid; place-items:center; }
#ecconf .past{ width:100%; height:100%; border-radius:50%; display:block; border:1px solid rgba(0,0,0,.14); }
#ecconf .opts.vignettes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr));
                   gap:.7rem; max-width:560px; }
#ecconf .opts.vignettes .opt{ padding:.5rem .5rem .6rem; display:block; text-align:left; }
#ecconf .vig{ display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:none;
        border-radius:8px; margin-bottom:.5rem; }
#ecconf .v-lib{ font-weight:600; font-size:.8rem; line-height:1.3; display:block; }
#ecconf .l-logo{ width:2.1rem; height:2.1rem; object-fit:contain; flex:0 0 auto; margin-right:.75rem;
           background:#fff; border-radius:7px; padding:2px; box-sizing:border-box; }
#ecconf .opts.cartes .opt{ display:flex; flex-direction:column; align-items:flex-start; gap:.14rem;
                     padding:.75rem .9rem .8rem; text-align:left; }
#ecconf .opts.cartes .opt > .o-note:last-child{ margin-top:auto; padding-top:.3rem;
                     font-weight:600; color:var(--noir); font-variant-numeric:tabular-nums; }
#ecconf .opts.liste .opt{ display:flex; justify-content:space-between; align-items:center; gap:1rem;
                    width:100%; padding:.72rem .95rem; text-align:left; }
#ecconf .o-lib{ font-weight:700; font-size:.9rem; line-height:1.3; }
#ecconf .o-note{ font-size:.76rem; color:var(--g500); }
#ecconf .o-prix{ font-weight:700; font-size:.86rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
#ecconf .sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
#ecconf .packs{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }
@media (max-width:860px){
  #ecconf .packs{ grid-template-columns:1fr; }
}
#ecconf .pack{ font-family:inherit; color:inherit; text-align:left; cursor:pointer; background:var(--blanc);
         border:1px solid var(--g200); border-radius:14px; padding:1rem 1.05rem 1.1rem;
         display:flex; flex-direction:column; gap:.45rem;
         transition:border-color .16s ease, box-shadow .16s ease; }
#ecconf .pack:hover{ border-color:var(--g500); }
#ecconf .pack.on{ border-color:var(--noir); box-shadow:inset 0 0 0 1px var(--noir); }
#ecconf .pack-haut{ display:flex; justify-content:space-between; align-items:baseline; gap:.6rem; }
#ecconf .pack-nom{ font-weight:800; font-size:1.02rem; }
#ecconf .pack-prix{ font-weight:700; font-size:.87rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
#ecconf .pack-liste{ list-style:none; margin:0; padding:0; font-size:.81rem; color:var(--g700); }
#ecconf .pack-liste li{ padding:.14rem 0 .14rem 1.05rem; position:relative; }
#ecconf .pack-liste li::before{ content:"·"; position:absolute; left:.3rem; color:var(--jaune); font-weight:800;
                          font-size:1.2em; line-height:1; }
#ecconf .eco{ font-size:.74rem; font-weight:700; color:var(--ok); background:var(--ok-bg); padding:.18rem .45rem;
        border-radius:3px; align-self:flex-start; }
#ecconf .axes{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.1rem; }
@media (max-width:900px){
  #ecconf .axes{ grid-template-columns:1fr; }
}
#ecconf .axes .groupe{ margin:0; }
#ecconf #volet2 .axes .groupe + .groupe{ margin-top:0; padding-top:0; border-top:0; }
#ecconf .axes .g-titre{ border-bottom-width:2px; }
#ecconf .axes .opts.cartes{ grid-template-columns:1fr; }
#ecconf .etat{ margin-top:.9rem; padding:.85rem 1rem; border-radius:10px; background:var(--g050);
         border:1px solid var(--g200); font-size:.85rem; }
#ecconf .etat.modifie{ background:#fff8e0; border-color:var(--jaune); }
#ecconf .etat ul{ margin:.4rem 0 0; padding-left:1.1rem; color:var(--g700); }
#ecconf .lien{ background:none; border:0; padding:0; font:inherit; font-weight:700; color:var(--noir);
         text-decoration:underline; text-decoration-color:var(--jaune); text-decoration-thickness:2px;
         text-underline-offset:3px; cursor:pointer; }
#ecconf .famille{ border:1px solid var(--g200); border-radius:12px; margin-bottom:.7rem; overflow:hidden; background:var(--blanc); }
#ecconf .fam-tete{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem;
    padding:.8rem 1rem; background:none; border:0; cursor:pointer; font-family:inherit;
    color:inherit; text-align:left; }
#ecconf .fam-tete:hover{ background:var(--g050); }
#ecconf .fam-nom{ font-weight:700; font-size:.92rem; }
#ecconf .fam-compte{ font-size:.75rem; color:var(--g500); font-weight:600; white-space:nowrap; }
#ecconf .fam-corps{ padding:.7rem 1rem .8rem; }
#ecconf .famille.replie .fam-corps{ display:none; }
#ecconf .chev{ display:inline-block; transition:transform .2s ease; }
#ecconf .famille.replie .chev{ transform:rotate(-90deg); }
#ecconf .ligne{ display:flex; align-items:flex-start; gap:.7rem; padding:.55rem 0; border-bottom:1px solid var(--g100); }
#ecconf .ligne:last-child{ border-bottom:0; }
#ecconf .ligne input[type=checkbox]{ margin-top:.28rem; width:1.02rem; height:1.02rem; accent-color:var(--jaune);
                               cursor:pointer; flex-shrink:0; }
#ecconf .ligne input:disabled{ cursor:not-allowed; }
#ecconf .l-texte{ flex:1 1 auto; }
#ecconf .l-nom{ font-weight:600; font-size:.9rem; display:block; }
#ecconf .l-detail{ font-size:.77rem; color:var(--g500); display:block; }
#ecconf .l-prix{ font-weight:700; font-size:.84rem; white-space:nowrap; font-variant-numeric:tabular-nums; }
#ecconf .badge{ font-size:.66rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
          padding:.16rem .4rem; border-radius:3px; white-space:nowrap; }
#ecconf .badge.inclus{ color:var(--ok); background:var(--ok-bg); }
#ecconf .badge.bloque{ color:var(--alerte); background:var(--alerte-bg); }
#ecconf .ligne.off{ opacity:.55; }
#ecconf .variante{ margin-top:.35rem; font-size:.82rem; padding:.3rem .5rem; border:1px solid var(--g200);
             border-radius:6px; background:var(--blanc); color:inherit; font-family:inherit; }
#ecconf .intro-etape{ font-size:.92rem; color:var(--g700); margin:0 0 1.1rem; max-width:64ch; }
#ecconf .nav{ display:flex; justify-content:space-between; gap:.8rem; margin-top:1.7rem; padding-top:1.1rem;
        border-top:1px solid var(--g200); }
#ecconf .btn{ font-family:inherit; font-weight:700; font-size:.92rem; padding:.7rem 1.45rem; border-radius:99px;
        border:2px solid transparent; cursor:pointer; }
#ecconf .btn.prim{ background:var(--jaune); border-color:var(--jaune); color:#111; }
#ecconf .btn.prim:hover:not(:disabled){ background:var(--jaune-f); border-color:var(--jaune-f); }
#ecconf .btn.ghost{ background:transparent; border-color:var(--noir); color:var(--noir); }
#ecconf .btn.ghost:hover:not(:disabled){ background:var(--noir); color:var(--page); }
#ecconf .btn:disabled{ opacity:.35; cursor:not-allowed; }
#ecconf .devis-faux{ border:1px dashed var(--jaune); background:#fff8e0; border-radius:10px; padding:1rem 1.1rem; font-size:.88rem; }
#ecconf .devis{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; align-items:start; }
@media (max-width:820px){
  #ecconf .devis{ grid-template-columns:1fr; }
}
#ecconf .devis .g-titre{ margin-bottom:.6rem; }
#ecconf .faux-form{ display:grid; gap:.5rem; margin-top:.9rem; }
#ecconf .faux-form input{ font-family:inherit; font-size:.9rem; padding:.6rem .8rem; border-radius:9px;
    border:1px solid var(--g200); background:var(--g050); color:var(--g500); }
#ecconf .champs{ width:100%; border-collapse:collapse; font-size:.8rem; }
#ecconf .champs td{ padding:.45rem .2rem; border-bottom:1px solid var(--g100); vertical-align:top; }
#ecconf .champs td:first-child{ white-space:nowrap; color:var(--g500); padding-right:.9rem;
    font-family:ui-monospace,Menlo,Consolas,monospace; font-size:.74rem; }
#ecconf .champs td:last-child{ font-weight:600; overflow-wrap:anywhere; }
#ecconf .champs tr:last-child td{ border-bottom:0; }
#ecconf .champs .lien-conf{ font-weight:500; font-family:ui-monospace,Menlo,Consolas,monospace;
    font-size:.72rem; color:var(--g700); }
#ecconf .recap-texte{ width:100%; margin-top:1.1rem; font-family:ui-monospace,Menlo,Consolas,monospace;
    font-size:.78rem; line-height:1.55; padding:.8rem .9rem; border:1px solid var(--g200);
    border-radius:10px; background:var(--g050); color:var(--g700); resize:vertical; }
#ecconf .notes{ margin-top:2.4rem; padding-top:1.3rem; border-top:1px solid var(--g200); font-size:.87rem;
          color:var(--g700); max-width:80ch; }
#ecconf .notes h2{ font-size:1.02rem; font-weight:800; margin:1.4rem 0 .5rem; color:var(--noir); }
#ecconf .notes h2:first-child{ margin-top:0; }
#ecconf .notes p{ margin:0 0 .7rem; }
#ecconf .notes ul{ margin:0 0 .9rem; padding-left:1.2rem; }
#ecconf .notes li{ margin-bottom:.35rem; }
@media (prefers-reduced-motion:reduce){
  #ecconf *{ transition:none !important; }
}
/* ===== Configurateur v3 — raccords avec le socle du site (15/10/2026) ===== */
#ecconf{ font-family:"Montserrat",-apple-system,"Segoe UI",sans-serif; line-height:1.6; }
#ecconf .cadre{ max-width:none; margin:0; padding:0; }
#ecconf h2.cfg-titre{
  font-family:"Montserrat",sans-serif; font-weight:800; letter-spacing:-.025em;
  font-size:clamp(1.5rem,3.2vw,2.1rem); margin:0 0 1.4rem; color:var(--ink);
}
@media (max-width:760px){ #ecconf .barre{ bottom:62px; } }

/* le choix du modele, en tete du parcours */
.cfg-modeles{ display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 1.8rem;
  padding-bottom:1.4rem; border-bottom:1px solid var(--line); }
.cfg-mod{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:.86rem;
  padding:.55rem 1.05rem; border:1.5px solid var(--line); background:#ffffff;
  color:var(--ink); cursor:pointer; display:inline-flex; align-items:center; gap:.5rem;
  transition:border-color .16s ease, background .16s ease; }
.cfg-mod:hover{ border-color:var(--ink); }
.cfg-mod[aria-pressed="true"]{ background:var(--ink); border-color:var(--ink); color:#ffffff; }
.cfg-mod .cfg-etat{ font-size:.64rem; font-weight:700; letter-spacing:.07em;
  text-transform:uppercase; padding:.14rem .36rem; background:var(--gold); color:#111111; }
.cfg-mod[aria-pressed="true"] .cfg-etat{ background:#ffffff; color:#111111; }
.cfg-mod .cfg-etat.attente{ background:var(--paper-alt); color:var(--ink-faint);
  border:1px solid var(--line); }
.cfg-mod[aria-pressed="true"] .cfg-etat.attente{ background:transparent; color:#ffffff;
  border-color:rgba(255,255,255,.45); }

/* le panneau des modeles qui attendent leurs visuels */
.cfg-attente{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(1.6rem,4vw,3rem);
  align-items:center; padding:clamp(1.6rem,4vw,2.4rem) 0; }
.cfg-attente[hidden], #ecconf[hidden]{ display:none !important; }
@media (max-width:820px){ .cfg-attente{ grid-template-columns:1fr; } }
.cfg-attente-vue{ aspect-ratio:760/485; background:var(--paper-alt);
  border:1px dashed var(--line); display:grid; place-items:center; text-align:center;
  padding:1.5rem; }
.cfg-attente-vue span{ font-family:"Montserrat",sans-serif; font-size:.7rem; font-weight:700;
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); max-width:24ch;
  line-height:1.7; }
.cfg-attente h3{ font-family:"Montserrat",sans-serif; font-weight:800;
  font-size:clamp(1.15rem,2.4vw,1.5rem); margin:0 0 .8rem; letter-spacing:-.02em; }
.cfg-attente p{ font-family:var(--ec-serif,Georgia,serif); font-size:1rem; line-height:1.8;
  color:var(--ink-soft); margin:0 0 1rem; }
.cfg-attente ul{ margin:0 0 1.4rem; padding-left:1.1rem; font-size:.9rem; color:var(--ink-soft); }
.cfg-attente li{ margin-bottom:.3rem; }
.cfg-attente .cfg-liens{ display:flex; flex-wrap:wrap; gap:.7rem; }
.cfg-attente a, .cfg-attente button{ font-family:"Montserrat",sans-serif; font-weight:700;
  font-size:.86rem; padding:.75rem 1.4rem; text-decoration:none; display:inline-flex;
  align-items:center; cursor:pointer; }
.cfg-attente .cfg-devis{ background:var(--ink); color:#ffffff; border:1.5px solid var(--ink); }
.cfg-attente .cfg-devis:hover{ background:var(--gold); border-color:var(--gold); color:#111111; }
.cfg-attente .cfg-fiche{ border:1.5px solid var(--ink); color:var(--ink); background:#ffffff; }
.cfg-attente .cfg-fiche:hover{ background:var(--ink); color:#ffffff; }

/* etape 3 : le vrai formulaire, et le recapitulatif en face */
#ecconf .cfg-duo{ display:grid; grid-template-columns:1.15fr .85fr;
  gap:clamp(1.8rem,4vw,3.2rem); align-items:start; }
@media (max-width:900px){ #ecconf .cfg-duo{ grid-template-columns:1fr; } }
#ecconf .cfg-form{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem 1.1rem; }
#ecconf .cfg-form .large{ grid-column:1 / -1; }
@media (max-width:620px){ #ecconf .cfg-form{ grid-template-columns:1fr; } }
#ecconf .cfg-form > div > label{ display:block; font-family:"Montserrat",sans-serif;
  font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-faint); margin-bottom:.35rem; }
#ecconf .cfg-form input, #ecconf .cfg-form textarea{
  width:100%; font-family:inherit; font-size:.92rem; padding:.72rem .9rem;
  border:1.5px solid var(--line); background:#ffffff; color:var(--ink); }
#ecconf .cfg-form input:focus, #ecconf .cfg-form textarea:focus{
  outline:3px solid var(--gold); outline-offset:1px; border-color:var(--ink); }
#ecconf .cfg-consent{ grid-column:1 / -1; display:flex; gap:.7rem; align-items:flex-start;
  font-family:"Montserrat",sans-serif; font-size:.8rem; font-weight:400; letter-spacing:0;
  text-transform:none; color:var(--ink-soft); line-height:1.6; margin:.4rem 0 0; }
#ecconf .cfg-consent input{ width:auto; margin-top:.25rem; accent-color:var(--gold);
  flex:0 0 auto; }
/* La case facultative — 20/10/2026. Volontairement plus discrète que la
   case obligatoire juste au-dessus : deux consentements de nature
   différente ne doivent pas se ressembler au point d'être cochés ensemble
   sans y penser. */
#ecconf .cfg-facultatif{ color:var(--ink-faint); font-size:.78rem;
  margin-top:0; }
#ecconf .cfg-envoi{ grid-column:1 / -1; font-family:"Montserrat",sans-serif; font-weight:700;
  font-size:.92rem; padding:.9rem 1.8rem; background:var(--ink); color:#ffffff;
  border:0; cursor:pointer; justify-self:start; }
#ecconf .cfg-envoi:hover{ background:var(--gold); color:#111111; }
#ecconf .recap-texte{ font-family:var(--ec-serif,Georgia,serif); font-size:.88rem;
  line-height:1.75; background:var(--paper-alt); border:1px solid var(--line);
  color:var(--ink-soft); }
#ecconf .notes{ display:none; }

/* ===== Configurateur — le contenu autour de l'outil (15/10/2026) ===== */
.cfg-bande{ margin-left:calc(50% - 50vw); width:100vw; padding:clamp(3.4rem,7vw,5.4rem) 0; }
.cfg-bande-in{ max-width:1280px; margin:0 auto; padding:0 clamp(1.2rem,4vw,3rem); }
.cfg-bande h2{ font-family:"Montserrat",sans-serif; font-weight:800; letter-spacing:-.025em;
  font-size:clamp(1.5rem,3.4vw,2.2rem); margin:0 0 .9rem; }
.cfg-bande > .cfg-bande-in > p.cfg-chapo{
  font-family:var(--ec-serif,Georgia,serif); font-size:1.05rem; line-height:1.85;
  max-width:62ch; margin:0 0 clamp(2rem,4vw,2.8rem); }
.cfg-jour{ background:var(--paper-alt); color:var(--ink); }
.cfg-jour .cfg-chapo{ color:var(--ink-soft); }
.cfg-nuit{ background:var(--pine-deep); color:#f1f1f1; }
.cfg-nuit h2{ color:#ffffff; }
.cfg-nuit .cfg-chapo{ color:#c2c2c2; }

/* ce que comprend le prix : quatre colonnes */
.cfg-prix4{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.4rem,3vw,2.4rem); }
@media (max-width:980px){ .cfg-prix4{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .cfg-prix4{ grid-template-columns:1fr; } }
.cfg-prix4 > div{ border-top:2px solid var(--ink); padding-top:1rem; }
.cfg-prix4 h3{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:.98rem;
  margin:0 0 .5rem; letter-spacing:-.01em; }
.cfg-prix4 p{ font-family:var(--ec-serif,Georgia,serif); font-size:.94rem; line-height:1.8;
  color:var(--ink-soft); margin:0; }

/* apres l'envoi : quatre temps sur fond sombre */
.cfg-suite{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(1.4rem,3vw,2.4rem); }
@media (max-width:980px){ .cfg-suite{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .cfg-suite{ grid-template-columns:1fr; } }
.cfg-suite > div{ border-top:1px solid rgba(255,255,255,.26); padding-top:1.1rem; }
.cfg-suite .cfg-num{ display:block; font-family:"Montserrat",sans-serif; font-size:.68rem;
  font-weight:800; letter-spacing:.12em; color:var(--gold); margin-bottom:.6rem; }
.cfg-suite h3{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:.98rem;
  margin:0 0 .5rem; color:#ffffff; letter-spacing:-.01em; }
.cfg-suite p{ font-family:var(--ec-serif,Georgia,serif); font-size:.94rem; line-height:1.8;
  color:#c2c2c2; margin:0; }

/* reprise, depot-vente, financement */
.cfg-trois{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.4rem,3vw,2.2rem);
  margin-bottom:clamp(2rem,4vw,2.8rem); }
@media (max-width:860px){ .cfg-trois{ grid-template-columns:1fr; } }
.cfg-trois > div{ background:#ffffff; border:1px solid var(--line);
  padding:clamp(1.4rem,3vw,1.9rem); }
.cfg-trois h3{ font-family:"Montserrat",sans-serif; font-weight:800; font-size:1.1rem;
  margin:0 0 .7rem; letter-spacing:-.015em; }
.cfg-trois p{ font-family:var(--ec-serif,Georgia,serif); font-size:.95rem; line-height:1.8;
  color:var(--ink-soft); margin:0; }
.cfg-cta{ background:var(--ink); color:#ffffff; padding:clamp(1.6rem,4vw,2.4rem);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between;
  gap:1.4rem; }
.cfg-cta p{ font-family:var(--ec-serif,Georgia,serif); font-size:1.02rem; line-height:1.75;
  margin:0; max-width:56ch; color:#e4e4e4; }
.cfg-cta a{ font-family:"Montserrat",sans-serif; font-weight:700; font-size:.88rem;
  background:var(--gold); color:#111111; padding:.95rem 1.8rem; text-decoration:none;
  white-space:nowrap; }
.cfg-cta a:hover{ background:#ffffff; }

/* ===== Configurateur v4 — le second niveau du sélecteur (15/10/2026) ===== */
#ecconf .l-logo{ width:2.2rem; height:2.2rem; object-fit:contain; margin:0 0 .4rem;
  background:#ffffff; }
#ecconf [data-porteur]{ min-height:7rem; }

/* Une etape retiree du parcours (la deco sur Camp 2 et Weekender 2) : le
   display:flex du socle l'emporterait sur l'attribut hidden. */
#ecconf .etape[hidden]{ display:none !important; }

/* ===== Meuble et sol en photo, sans encadré (16/10/2026) =====
   Les vignettes d'origine font 130 x 101 px et 142 x 81 px : au-delà de
   160 px de large elles pixellisent. La colonne est calée sur cette
   largeur et la photo garde ses proportions. */
#ecconf .meubles{ display:grid; grid-template-columns:repeat(auto-fill,152px);
  justify-content:start; gap:1.3rem 1.2rem; margin:.2rem 0 0; }
#ecconf .meuble{ width:152px; padding:0; background:none; border:0;
  display:flex; flex-direction:column; text-align:left; cursor:pointer;
  font-family:inherit; color:var(--noir); }
#ecconf .meuble img{ display:block; width:100%; height:auto; transition:opacity .18s; }
#ecconf .meuble .m-aplat{ display:block; width:100%; height:0; padding-bottom:70%; }
#ecconf .meuble .m-lib{ display:block; font-weight:700; font-size:.95rem; margin:.7rem 0 0;
  padding-bottom:.35rem; border-bottom:2px solid transparent; }
#ecconf .meuble .m-note{ display:block; font-size:.78rem; color:var(--g500);
  margin-top:auto; padding-top:.3rem; }
#ecconf .groupe .meubles{ margin-bottom:.9rem; }
#ecconf .meuble:hover img, #ecconf .meuble:hover .m-aplat{ opacity:1; }
#ecconf .meuble.on .m-lib{ border-bottom-color:var(--jaune); }
#ecconf .meuble.on .m-note{ color:var(--noir); }
#ecconf .meuble:not(.on) img, #ecconf .meuble:not(.on) .m-aplat{ opacity:.74; }
#ecconf .meuble:focus-visible{ outline:3px solid var(--jaune); outline-offset:3px; }

/* ===== « Je veux personnaliser » (16/10/2026) ===== */
#ecconf .perso{ margin:1.8rem 0 2.2rem; border-top:1px solid var(--g200); }
#ecconf .perso-bascule{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.2rem .8rem;
  width:100%; padding:1rem 0 .9rem; background:none; border:0; cursor:pointer;
  font-family:inherit; text-align:left; color:var(--noir); }
#ecconf .perso-bascule .p-lib{ font-weight:700; font-size:1rem;
  text-decoration:underline; text-decoration-color:var(--jaune);
  text-decoration-thickness:2px; text-underline-offset:4px; }
#ecconf .perso-bascule .p-note{ font-size:.85rem; color:var(--g500); }
#ecconf .perso-bascule:hover .p-note{ color:var(--noir); }
#ecconf .perso-bascule:focus-visible{ outline:3px solid var(--jaune); outline-offset:2px; }
#ecconf .perso .groupe:first-of-type{ margin-top:.4rem; }

/* ===== Rappel conseiller, copie du lien, blocages (15/10/2026) ===== */
#ecconf .cfg-rappel{ font-size:.8rem; font-weight:600; color:var(--ink-faint);
  text-decoration-color:var(--line); white-space:nowrap; }
#ecconf .cfg-rappel:hover{ color:var(--ink); text-decoration-color:var(--gold); }
#ecconf .cfg-copier{ display:block; margin-top:.9rem; font-size:.8rem; font-weight:600; }
.cfg-bloques{ font-family:var(--ec-serif,Georgia,serif); font-size:.88rem; line-height:1.6;
  color:var(--ink-soft); background:var(--paper-alt); border-left:3px solid var(--gold);
  padding:.65rem .9rem; margin:-.8rem 0 1.4rem; }
@media (max-width:760px){ #ecconf .cfg-rappel{ order:9; width:100%; white-space:normal;
  text-align:left; } }

/* ===== Départs guidés et fil des choix (15/10/2026) ===== */
.cfg-departs{ margin:0 0 1.6rem; }
.cfg-departs-tete{ font-family:var(--ec-serif,Georgia,serif); font-size:.95rem;
  color:var(--ink-faint); margin:0 0 .8rem; }
.cfg-dep-grille{ display:grid; grid-template-columns:repeat(3,1fr); gap:.8rem; }
@media (max-width:820px){ .cfg-dep-grille{ grid-template-columns:1fr; } }
.cfg-dep{ font-family:"Montserrat",sans-serif; text-align:left; cursor:pointer;
  background:#ffffff; border:1.5px solid var(--line); padding:.9rem 1rem 1rem;
  display:flex; flex-direction:column; gap:.3rem; transition:border-color .16s ease; }
.cfg-dep:hover{ border-color:var(--ink); }
.cfg-dep.on{ border-color:var(--ink); box-shadow:inset 0 0 0 1px var(--ink); }
.dep-nom{ font-weight:800; font-size:.95rem; }
.dep-prix{ font-weight:700; font-size:.88rem; color:var(--ink-soft);
  font-variant-numeric:tabular-nums; }
.dep-texte{ font-family:var(--ec-serif,Georgia,serif); font-size:.86rem; line-height:1.6;
  color:var(--ink-faint); }

.cfg-fil{ display:flex; flex-wrap:wrap; gap:.4rem; margin:0 0 1.6rem;
  padding-bottom:1.2rem; border-bottom:1px solid var(--line); }
.fil-item{ font-family:"Montserrat",sans-serif; cursor:pointer; background:var(--paper-alt);
  border:1px solid var(--line); padding:.3rem .6rem; display:inline-flex; gap:.45rem;
  align-items:baseline; transition:border-color .16s ease, background .16s ease; }
.fil-item:hover{ border-color:var(--ink); background:#ffffff; }
.fil-cle{ font-size:.62rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-faint); }
.fil-val{ font-size:.82rem; font-weight:600; color:var(--ink); }
.cfg-perdus{ font-family:var(--ec-serif,Georgia,serif); font-size:.88rem; line-height:1.6;
  color:var(--ink-soft); background:#fff8e0; border:1px solid var(--gold);
  padding:.7rem .9rem; margin:-.8rem 0 1.4rem; }

/* ===== Les niveaux d'aménagement en colonnes comparatives (15/10/2026) ===== */
#ecconf .niveaux{ grid-template-columns:repeat(4,1fr); }
@media (max-width:1040px){ #ecconf .niveaux{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px){ #ecconf .niveaux{ grid-template-columns:1fr; } }
#ecconf .niv-manque{ margin-top:auto; padding-top:.5rem; font-style:italic;
  color:var(--ink-faint); }
#ecconf .niv-note{ margin:.9rem 0 0; max-width:72ch; }

/* ===== Les options : recherche, familles repliees (15/10/2026) ===== */
.opt-barre{ display:flex; flex-wrap:wrap; gap:.7rem 1.2rem; align-items:center;
  margin:0 0 1.1rem; }
#ecconf .opt-q{ flex:1 1 260px; font-family:inherit; font-size:.9rem; padding:.62rem .85rem;
  border:1.5px solid var(--line); background:#ffffff; color:var(--ink); min-width:0; }
#ecconf .opt-q:focus{ outline:3px solid var(--gold); outline-offset:1px; border-color:var(--ink); }
.opt-bascule{ display:inline-flex; align-items:center; gap:.45rem; font-family:"Montserrat",sans-serif;
  font-size:.8rem; color:var(--ink-faint); cursor:pointer; white-space:nowrap; }
#ecconf .opt-bascule input{ width:1rem; height:1rem; accent-color:var(--gold); cursor:pointer; }
#ecconf .fam-compte b{ color:var(--ink); font-weight:700; }
#ecconf .fam-caches{ margin:.6rem 0 0; }
#ecconf .fam-caches .lien{ font-size:inherit; }
#ecconf .famille + .famille{ margin-top:.55rem; }

/* ===== Pastilles et vignettes (15/10/2026) ===== */
#ecconf .ec-sw{ display:block; width:100%; height:3.4rem; margin-bottom:.6rem;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.14); object-fit:cover; flex:0 0 auto; }
#ecconf .opt.on .ec-sw{ box-shadow:inset 0 0 0 1px rgba(0,0,0,.28); }
#ecconf .ec-sw--mini{ width:2.5rem; height:2.5rem; margin:.1rem .25rem 0 0; }
#ecconf .ec-sw--roue{ background:none; box-shadow:none; display:grid; place-items:center; }
#ecconf .ec-sw--roue svg{ width:3.1rem; height:3.1rem; display:block; }
#ecconf .ec-sw--mini.ec-sw--roue svg{ width:2.3rem; height:2.3rem; }
#ecconf .ligne{ align-items:center; }
#ecconf .opts.cartes .opt{ padding-top:.6rem; }
@media (max-width:620px){ #ecconf .ec-sw{ height:2.8rem; } }
#ecconf .opts.cartes .opt > .o-note{ font-weight:400; color:var(--ink-faint); }
#ecconf .opts.cartes .opt > .o-note:last-child{ font-weight:700; color:var(--ink); }
#ecconf .famille{ margin-bottom:.7rem; }
#ecconf .groupe .famille:last-child{ margin-bottom:0; }

/* =====================================================================
   Passe de design du 16/10/2026 — titres lisibles, colonne de droite,
   mouvement mesuré. Les tokens ne changent pas : jaune de reperage, noir
   d'encre, angles droits.
   ===================================================================== */

/* 1. Le titre de l'ecran et la barre d'etapes, qui suit la lecture */
#ecconf .cfg-titre{ font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.05;
  letter-spacing:-.035em; margin:0 0 1.3rem; text-wrap:balance; }
#ecconf .etapes{ position:sticky; top:0; z-index:18; background:var(--blanc);
  padding-top:.7rem; margin-bottom:1.4rem; }
#ecconf .etapes::after{ content:''; position:absolute; left:0; right:0; bottom:-13px;
  height:12px; background:linear-gradient(var(--blanc),rgba(255,255,255,0));
  pointer-events:none; }
#ecconf .e-lib{ font-size:.95rem; }

/* 2. Les titres de bloc : noirs, en corps de lecture, sous un filet jaune */
#ecconf .g-entete{ align-items:flex-end; margin-bottom:.8rem; }
#ecconf .g-titre{ font-size:1.22rem; font-weight:800; letter-spacing:-.022em;
  text-transform:none; color:var(--noir); line-height:1.2; }
#ecconf .g-titre::before{ content:''; display:block; width:1.9rem; height:3px;
  background:var(--jaune); margin:0 0 .6rem; }
#ecconf .g-choix{ font-size:.9rem; font-weight:700; color:var(--noir);
  padding-bottom:.15rem; }
#ecconf .g-aide{ font-size:.86rem; max-width:62ch; }
#ecconf .intro-etape{ font-size:1rem; line-height:1.65; max-width:60ch;
  margin:0 0 1.6rem; }
#ecconf #volet1 .groupe + .groupe, #ecconf #volet2 .groupe + .groupe{
  margin-top:2.6rem; padding-top:2.4rem; }
#ecconf .volet .groupe + .groupe{ margin-top:2.4rem; }

/* 3. Deux colonnes : les choix defilent, le van et le prix restent sous les
      yeux. En dessous de 1100 px on revient a la pile d'avant, la barre de
      prix collee en bas de l'ecran. */
@media (min-width:1100px){
  #ecconf .conf{ display:grid; grid-template-columns:minmax(0,1fr) 22rem;
    gap:0 3.2rem; align-items:start; }
  #ecconf .cote{ position:sticky; top:4.9rem; display:flex; flex-direction:column;
    max-height:calc(100vh - 6rem); overflow:auto; scrollbar-width:thin; }
  #ecconf .scene{ display:block; margin:0; background:var(--g050);
    padding:1.2rem 1rem .9rem; }
  #ecconf .scene-choix{ display:none; }
  #ecconf .photo{ height:auto; width:100%; }
  #ecconf .barre{ position:static; z-index:auto; background:none; box-shadow:none;
    border-top:0; display:flex; flex-direction:column; }
  /* le prix et les deux boutons avant le detail : ils doivent rester sous les
     yeux meme quand le recapitulatif est deplie */
  #ecconf .barre-in{ order:0; }
  #ecconf .tiroir{ order:1; }
  #ecconf .barre-in{ flex-wrap:wrap; gap:.7rem; padding:1.1rem 0 0; }
  #ecconf .barre-prix{ flex:1 0 100%; margin:0; justify-content:space-between;
    align-items:baseline; }
  #ecconf .lien-detail, #ecconf .cfg-rappel{ flex:1 0 100%; text-align:left;
    white-space:normal; }
  #ecconf .tiroir{ grid-template-columns:1fr; padding:1rem 0; border-bottom:0;
    border-top:1px solid var(--g200); margin-top:1rem; }
  #ecconf .cfg-duo{ grid-template-columns:1fr; }
}
@media (max-width:1099px){
  #ecconf .cote, #ecconf .colg{ display:contents; }
  #ecconf .conf{ display:flex; flex-direction:column; }
  #ecconf .scene{ order:-1; }
  #ecconf .panneau{ order:0; }
  #ecconf .nav-etape{ order:1; }
  #ecconf .barre{ order:2; }
  /* en une colonne, le van pousserait tout vers le bas a chaque etape :
     il ne se montre qu'a la premiere, la ou la teinte se choisit. */
  #ecconf:not([data-vue="1"]) .scene{ display:none; }
}

/* 3 bis. Precedent et Continuer au bas des options, pas dans la colonne */
#ecconf .nav-etape{ display:flex; flex-wrap:wrap; gap:.8rem; align-items:center;
  margin-top:2.8rem; padding-top:1.6rem; border-top:1px solid var(--g200); }
#ecconf .nav-etape .btn{ min-width:9.5rem; }
#ecconf .nav-etape #suiv{ margin-left:auto; }

/* 4. Le mouvement. Tout s'arrete si le visiteur a demande moins d'animations. */
@keyframes cfgMonte{ from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:no-preference){
  #ecconf .volet.cascade > *{ animation:cfgMonte .36s cubic-bezier(.2,.7,.3,1) both; }
  #ecconf .volet.cascade > *:nth-child(1){ animation-delay:0ms; }
  #ecconf .volet.cascade > *:nth-child(2){ animation-delay:40ms; }
  #ecconf .volet.cascade > *:nth-child(3){ animation-delay:80ms; }
  #ecconf .volet.cascade > *:nth-child(4){ animation-delay:120ms; }
  #ecconf .volet.cascade > *:nth-child(5){ animation-delay:160ms; }
  #ecconf .volet.cascade > *:nth-child(6){ animation-delay:200ms; }
  #ecconf .volet.cascade > *:nth-child(n+7){ animation-delay:240ms; }
  #ecconf .opt{ transition:border-color .16s ease, box-shadow .16s ease,
    transform .16s ease; }
  #ecconf .opt:hover:not(:disabled){ transform:translateY(-2px); }
  #ecconf .meuble img, #ecconf .meuble .m-aplat{ transition:opacity .2s ease,
    transform .2s ease; }
  #ecconf .meuble:hover img, #ecconf .meuble:hover .m-aplat{ transform:scale(1.02); }
}
/* 5. « Apres l'envoi » : etiquette de section et quatre temps a icone */
.cfg-etiquette{ display:inline-block; font-family:"Montserrat",sans-serif;
  font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:#111; background:var(--gold); padding:.4rem .7rem .34rem; margin:0 0 1rem; }
.cfg-suite .cfg-tete{ display:flex; align-items:center; gap:.75rem; margin:0 0 .9rem; }
.cfg-suite .cfg-ico{ width:2.7rem; height:2.7rem; flex:0 0 auto; display:grid;
  place-items:center; background:var(--gold); color:#111; }
.cfg-suite .cfg-ico svg{ width:1.45rem; height:1.45rem; display:block; }
.cfg-suite .cfg-tete .cfg-num{ margin:0; font-size:1.45rem; letter-spacing:-.02em;
  color:#ffffff; }
.cfg-suite > div{ padding-top:1.3rem; }

/* 6. Niveaux et packs : se regler sur la colonne, pas sur l'ecran.
      Depuis le passage en deux colonnes, la zone des choix fait 700 px la ou
      l'ecran en fait 1280 : les media queries d'origine laissaient quatre
      cartes cote a cote, qui debordaient sous la colonne de droite. Les
      requetes de conteneur mesurent la bonne largeur. */
#ecconf .panneau{ container-type:inline-size; container-name:cfgcol; }
#ecconf .packs{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
#ecconf .niveaux{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
@container cfgcol (max-width:900px){
  #ecconf .niveaux{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container cfgcol (max-width:980px){
  #ecconf .packs{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container cfgcol (max-width:440px){
  #ecconf .niveaux, #ecconf .packs{ grid-template-columns:minmax(0,1fr); }
}
/* le nom du pack prend la ligne, le prix passe dessous plutot que de serrer */
#ecconf .pack{ padding:1.1rem 1.15rem 1.2rem; gap:.55rem; }
#ecconf .pack-haut{ flex-wrap:wrap; align-items:baseline; row-gap:.15rem; }
#ecconf .pack-nom{ flex:1 1 auto; line-height:1.25; }
#ecconf .pack-prix{ flex:0 0 auto; margin-left:auto; }
#ecconf .pack-liste{ line-height:1.55; }
#ecconf .pack-liste li{ padding-top:.2rem; padding-bottom:.2rem; }

/* le prix se surligne pendant qu'il defile */
#ecconf .barre-prix strong{ transition:background-size .22s ease;
  background-image:linear-gradient(var(--jaune),var(--jaune));
  background-repeat:no-repeat; background-position:0 92%; background-size:0 .34em; }
#ecconf .barre-prix strong.compte{ background-size:100% .34em; }
/* ===== menu : entrees cliquables 16/10/2026 ===== */
.nv-volet-tete{ grid-column:1/-1; display:inline-flex; align-items:center; gap:.4rem;
  font-family:"Montserrat",sans-serif; font-weight:800; font-size:.78rem;
  letter-spacing:.03em; text-transform:uppercase; color:#111; text-decoration:none;
  padding:0 0 .75rem; margin:0 0 1rem; border-bottom:1px solid #e5e5e5; }
.nv-volet-tete:hover{ text-decoration:underline; text-decoration-color:#fdc300;
  text-decoration-thickness:2px; text-underline-offset:3px; }
.nvp-sous .nvp-page{ font-weight:800; }
/* ===== volet « visuel pilote » 16/10/2026 ===== */
/* Le volet n'est plus un panneau blanc a moitie vide : liens a gauche, photo a
   droite qui suit le survol. Les angles redeviennent droits.

   FOND CLAIR (choix du client, 16/10) : le noir plein coupait la page en deux.
   Le panneau reste dans le gris tres clair de la page. En contrepartie, plus
   rien ne dirait que le menu est ouvert : c'est l'ombre portee et les filets
   qui s'en chargent, et c'est la photo qui porte la couleur. */
.nv-volet.nv-v2{ padding:0; border:0; border-radius:0 !important; background:#f4f4f4;
  border-top:1px solid #e0e0e0; border-bottom:1px solid #e0e0e0;
  box-shadow:0 22px 38px -24px rgba(0,0,0,.42); overflow:hidden; }
.nv-volet.nv-v2 .nv-volet-in{ display:grid; max-width:none; margin:0;
  grid-template-columns:minmax(0,1fr) 40%; gap:0; }
.nv-v2 .v2-liens{ padding:2rem clamp(1.2rem,4vw,3rem) 2.2rem; display:grid;
  grid-template-columns:repeat(var(--cols,2),minmax(0,1fr)); gap:1.5rem 2.2rem;
  align-content:start; }
@media (max-width:1000px){ .nv-v2 .v2-liens{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.nv-v2 .v2-page{ grid-column:1/-1; display:inline-flex; align-items:center; gap:.45rem;
  font-family:"Montserrat",sans-serif; font-size:.72rem; font-weight:800;
  letter-spacing:.16em; text-transform:uppercase; color:#111;
  text-decoration:none; justify-self:start; }
.nv-v2 .v2-page:hover{ text-decoration:underline; text-underline-offset:4px;
  text-decoration-thickness:2px; text-decoration-color:#fdc300; }
.nv-v2 .v2-groupe h4{ font-family:"Montserrat",sans-serif; font-size:.64rem;
  font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#6e6e6e;
  margin:0 0 .75rem; padding-bottom:.5rem; border-bottom:1px solid #dcdcdc;
  /* deux lignes possibles : les filets des colonnes restent alignes */
  display:flex; align-items:flex-end; min-height:2.7em; line-height:1.35; }
.nv-v2 .v2-groupe a{ display:block; font-family:"Montserrat",sans-serif;
  font-size:.92rem; font-weight:600; color:#111; text-decoration:none;
  padding:.4rem 0; transition:color .18s ease; }
.nv-v2 .v2-groupe a .sous{ display:block; font-family:var(--ec-serif,Georgia,serif);
  font-weight:400; font-size:.8rem; color:#6e6e6e; margin-top:.05rem; }
/* Sur fond clair, le jaune en texte serait illisible. Inutile d'inventer un
   repere : la barre de menu souligne deja ses liens en jaune au survol
   (un ::after de 2 px), et ce soulignement marche aussi bien ici. */
.nv-v2 .v2-groupe a:hover, .nv-v2 .v2-groupe a:focus-visible{ color:#000; }
.nv-v2 .v2-groupe a:hover .sous{ color:#4a4a4a; }
.nv-v2 .v2-vue{ position:relative; overflow:hidden; background:#000; min-height:290px; }
.nv-v2 .v2-im{ position:absolute; inset:0; background:#000 center/cover no-repeat;
  opacity:0; transition:opacity .4s ease; }
.nv-v2 .v2-im.on{ opacity:1; }
.nv-v2 .v2-pied{ position:absolute; left:0; right:0; bottom:0; display:flex;
  align-items:flex-end; gap:1rem; padding:2.2rem 1.5rem 1.3rem;
  background:linear-gradient(to top,rgba(0,0,0,.86),rgba(0,0,0,0)); }
.nv-v2 .v2-legende{ margin:0; min-width:0; font-family:"Montserrat",sans-serif;
  font-size:1.02rem; font-weight:700; color:#fff; letter-spacing:-.01em; }
.nv-v2 .v2-legende em{ display:block; font-family:var(--ec-serif,Georgia,serif);
  font-style:normal; font-weight:400; font-size:.84rem; line-height:1.5;
  color:#cfcfcf; margin-top:.2rem; }
.nv-v2 .v2-cta{ margin-left:auto; flex:0 0 auto; background:#fdc300; color:#111;
  font-family:"Montserrat",sans-serif; font-size:.78rem; font-weight:800;
  text-decoration:none; padding:.62rem .95rem; white-space:nowrap; }
.nv-v2 .v2-cta:hover{ background:#fff; }
@media (max-width:1180px){ .nv-volet.nv-v2 .nv-volet-in{ grid-template-columns:minmax(0,1fr) 36%; } }
/* le panneau de photo retreci : la legende s'efface avant de se hacher */
@media (max-width:1180px){ .nv-v2 .v2-legende em{ display:none; } }
@media (max-width:1040px){ .nv-v2 .v2-legende{ display:none; }
  .nv-v2 .v2-pied{ padding:1.6rem 1.2rem 1.1rem; } }
/* sous 940 px le menu passe au burger : filet de securite */
@media (max-width:940px){
  .nv-volet.nv-v2 .nv-volet-in{ grid-template-columns:1fr; }
  .nv-v2 .v2-vue{ display:none; }
}

/* ---------- le panneau mobile, repris dans le meme esprit ----------

   Avant : onze liens gris de meme poids, sans regroupement, sans photo, et
   l'appel au configurateur noye parmi eux. Maintenant : le meme fond clair que
   le volet PC, les memes intitules de groupe, une vignette devant chaque
   modele et chaque prestation, et le bouton d'action en jaune. */
.nv-panneau .nvp-sous.nvp-v2{ background:#f4f4f4; border-top:1px solid #e0e0e0;
  margin:0 -1.1rem; padding:.1rem 1.1rem 1rem; }
.nvp-v2 a.nvp-page{ display:flex; align-items:center; justify-content:space-between;
  gap:.6rem; font-family:"Montserrat",sans-serif; font-size:.68rem; font-weight:800;
  letter-spacing:.14em; text-transform:uppercase; color:#111; text-decoration:none;
  padding:.85rem 0; border-bottom:1px solid #dcdcdc; }
.nvp-v2 .nvp-groupe{ font-family:"Montserrat",sans-serif; font-size:.6rem;
  font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#6e6e6e;
  margin:.95rem 0 .3rem; }
.nvp-v2 a.nvp-ligne{ display:flex; align-items:center; gap:.75rem; padding:.4rem 0;
  text-decoration:none; color:#111; }
.nvp-v2 .nvp-ph{ width:66px; height:42px; flex:0 0 auto;
  background:#e5e5e5 center/cover no-repeat; }
.nvp-v2 .nvp-t{ font-family:"Montserrat",sans-serif; font-size:.89rem; font-weight:700;
  line-height:1.25; color:#111; }
.nvp-v2 .nvp-s{ display:block; font-family:var(--ec-serif,Georgia,serif);
  font-weight:400; font-size:.78rem; color:#6e6e6e; margin-top:.05rem; }
.nvp-v2 a.nvp-texte{ display:block; font-family:"Montserrat",sans-serif;
  font-size:.87rem; font-weight:600; color:#111; text-decoration:none; padding:.4rem 0; }
.nvp-v2 a.nvp-cta{ display:block; text-align:center; background:#fdc300; color:#111;
  font-family:"Montserrat",sans-serif; font-size:.82rem; font-weight:800;
  text-decoration:none; padding:.78rem .8rem; margin-top:1rem; }
/* le repli ouvert se repere depuis son intitule */
.nvp-item:has(.nvp-sous:not([hidden])) > .nvp-tete{ box-shadow:inset 3px 0 0 #fdc300;
  padding-left:.75rem; }
/* le bouton d'appel etait le seul angle arrondi du site */
.nv-panneau .nvp-tel{ border-radius:0 !important; border-width:2px; }
/* les vignettes du menu, declarees une seule fois */
:root{
  --im-atelier:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-26e1785fa663.jpg");
  --im-banquette:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-3dd34f639273.jpg");
  --im-camp2:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-cfd3a0776f45.jpg");
  --im-equipe:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-b4deda47b810.jpg");
  --im-littoral:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-5348c10ed40a.jpg");
  --im-loc-triostyle:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-d850d1595ae2.jpg");
  --im-mobilier:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-d777a8bd81f9.jpg");
  --im-multistyle:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-afdf1e428aa8.jpg");
  --im-palan:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-6ebde20fec66.jpg");
  --im-pyrenees:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-6a2431956a20.jpg");
  --im-services:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-ee9303d42940.jpg");
  --im-suspensions:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-49f4751585be.jpg");
  --im-toit:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-334249912d6c.jpg");
  --im-triostyle:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-0e960bc82194.jpg");
  --im-variocharge:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-1d183d6c65d6.jpg");
  --im-vignoble:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-09f1e351262a.jpg");
  --im-weekender:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-0e6dd996926b.jpg");
  --im-weekender2:url("/wp-content/themes/ecocampers-divi-child/assets/img/im-53384cb8ac27.jpg");
}
/* ===== pied de page : plus de debordement 16/10/2026 ===== */
.foot-grid .social-icons{ flex-wrap:wrap; }
.foot-grid > *{ min-width:0; }
/* ===== le jaune se fait rare — 16/10/2026 ===== */
/* 1. Les surtitres perdent leur pastille jaune.
   Ils portent une douzaine de noms de classe selon les pages (.eyebrow,
   .mv-eyebrow, .bcf-eyebrow, .hero-eyebrow...), chacun avec sa propre regle
   plus specifique que la regle generale : on les attrape tous par le nom. */
main [class*="eyebrow"][class*="eyebrow"][class*="eyebrow"]{
  display:inline-flex !important; align-items:center; gap:.6rem;
  background:transparent !important; color:#6e6e6e !important;
  padding:0 !important; font-size:.68rem; font-weight:800;
  letter-spacing:.18em; text-transform:uppercase; }
main [class*="eyebrow"][class*="eyebrow"]::before{ content:""; width:22px; height:2px; background:#c9c9c9;
  flex:0 0 auto; }

/* Sur les sections sombres, le gris moyen ne passe pas. */
main .photo-band [class*="eyebrow"][class*="eyebrow"], main .config-banner [class*="eyebrow"][class*="eyebrow"],
main .cta-band [class*="eyebrow"][class*="eyebrow"], main .intercalaire [class*="eyebrow"][class*="eyebrow"],
main .gamme [class*="eyebrow"][class*="eyebrow"], main .bloc-config [class*="eyebrow"][class*="eyebrow"]{
  color:#b4b4b4 !important; }
main .photo-band [class*="eyebrow"]::before, main .config-banner [class*="eyebrow"]::before,
main .cta-band [class*="eyebrow"]::before, main .intercalaire [class*="eyebrow"]::before,
main .gamme [class*="eyebrow"]::before, main .bloc-config [class*="eyebrow"]::before{
  background:rgba(255,255,255,.4); }

/* Le surtitre du hero fait exception : il appartient au bloc du H1, avec le
   coup de pinceau. Une signature par page, au meme endroit. */
main .page-hero [class*="eyebrow"][class*="eyebrow"], main .hero [class*="eyebrow"][class*="eyebrow"]{
  color:#fdc300 !important; }

/* 2. Le mot d'accroche des H2 cesse d'etre jaune.
   Le coup de pinceau du H1 reste : c'est la signature, et elle ne vaut que
   si elle est seule. */
main h2 em.jm, main h3 em.jm,
main .cta-band h2 em.jm, main .photo-band h2 em.jm,
main .config-banner h2 em.jm, main .intercalaire h2 em.jm,
main .bloc-config h2 em.jm,
main .intercalaire h2 em, main .bloc-config h2 em{ color:inherit; }

/* 3. Les filets et bordures d'accent passent au gris. */
main .spec-group h3{ border-bottom-color:#e5e5e5; }
/* les liens « En savoir plus » etaient en jaune plein texte : le jaune
   designe une action, pas un lien de lecture. */
main a.sp-lien{ color:#111111; }
main a.sp-lien:hover{ text-decoration:underline; text-decoration-color:#fdc300;
  text-decoration-thickness:2px; text-underline-offset:3px; }
main .chassis-carte{ border-color:#e5e5e5; }

/* 4. Les etiquettes de theme du blog : cinq pastilles jaunes dans une seule
   section. Elles redeviennent ce qu'elles sont, des etiquettes. */
main .blog-theme, main .bvi-theme, main .bv-theme.bv-theme{
  background:transparent !important; color:#6e6e6e !important;
  border:1px solid #e5e5e5; padding:.2rem .5rem; font-weight:700; }

/* 5. Numeros, pastilles et jetons decoratifs : le noir dit la meme chose
   sans crier, et les icones reprennent la couleur du texte. */
main .u-num.u-num{ background:#111111 !important; color:#ffffff !important; }
main .mod-vedette.mod-vedette{ background:#111111 !important; color:#ffffff !important; }
main .mb-icone.mb-icone{ background:#111111 !important; color:#ffffff !important; }
main .mb-icone svg{ stroke:#ffffff; }
main .ti, main .ti svg{ color:#111111 !important; stroke:#111111 !important; }

/* 6. Le sous-titre du H1 etait jaune sous un mot deja jaune : deux signatures
   dans le meme titre. Il passe au blanc, le pinceau reste seul. */
main .hero-copy .h1-sous{ color:#ffffff !important; }

/* Ce qui garde le jaune, et rien d'autre :
   le bloc du H1 — coup de pinceau et surtitre de hero,
   les boutons d'action (.btn.primary, a.discover, .bcf-lien, .itc-primaire),
   la bande d'abonnement, qui est l'appel a l'action de la page,
   la colonne mise en avant du tableau comparatif. */
/* ===== fin du bloc « jaune rare » ===== *//* ===== bandeau de bascule de pack — 16/10/2026 ===== */
#ecconf .cfg-pack{ display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem;
  margin:.7rem 0 0; padding:.7rem .9rem; background:#f4f4f4;
  border-left:3px solid #fdc300; font-family:"Montserrat",sans-serif;
  font-size:.82rem; line-height:1.55; color:#4a4a4a; }
#ecconf .cfg-pack-k{ font-weight:800; color:#111111; }
#ecconf .cfg-pack-non{ font:inherit; font-size:.76rem; font-weight:700;
  background:none; border:0; border-bottom:2px solid #c9c9c9; color:#111111;
  padding:0 0 1px; cursor:pointer; }
#ecconf .cfg-pack-non:hover{ border-bottom-color:#111111; }
/* ===== prix a confirmer — 18/10/2026 ===== */
/* Un prix qui manque se voit, sans crier : la ligne reste lisible, mais elle
   est grisée et porte son badge. Le ton ambre la distingue d'une option
   comprise (vert) comme d'une option indisponible (rouge). */
#ecconf .badge.acompleter{ color:#6b5200; background:#fdf4d8; }
#ecconf .ligne.acompleter .l-nom{ color:var(--g500,#6e6e6e); }
#ecconf .opt.acompleter,
#ecconf .pack.acompleter,
#ecconf .meuble.acompleter{ opacity:.72; }
#ecconf .opt.acompleter .o-note:last-child,
#ecconf .pack.acompleter .pack-prix,
#ecconf .meuble.acompleter .m-note{ color:#6b5200; font-weight:700; }