/* vendremonsurplus.fr — feuille unique.
   Charte et code couleur du site mandat-energie.fr (jetons de la refonte) :
   bleus profonds, jaune signal, vert, fond bleu très pâle, Poppins + Manrope.
   Tout est en jetons : la passe Claude Design ne touche que cette section. */

/* ---------- 1. Jetons ---------- */
:root{
  --ink-950:#0b2431; --ink-900:#103449; --ink-800:#144a68; --ink-700:#176e97;
  --ink-600:#1a85b8; --ink-500:#2f9ccd; --ink-100:#d9eef7; --ink-50:#eef7fb;

  --sun:#ffe93d; --sun-600:#e2be0a; --sun-ink:#4a3d00; --sun-soft:#fffae0;
  --leaf:#80c030; --leaf-600:#4d7f14; --leaf-soft:#eef7e6;
  --amber:#946312; --amber-soft:#f7efdd;
  --red:#a3261f; --red-soft:#fdeceb;

  --ink:#0f2430; --muted:#4a6675; --line:#d7e6ee; --white:#fff; --paper:#eef7fb;

  --font-display:'Poppins',system-ui,-apple-system,sans-serif;
  --font-sans:'Manrope',system-ui,-apple-system,sans-serif;

  --text-hero:clamp(31px,4vw,58px); --text-h1:clamp(27px,3.2vw,45px);
  --text-h2:clamp(23px,2.6vw,35px); --text-h3:clamp(18px,1.5vw,21px);
  --text-lead:clamp(16.5px,1.35vw,19px);
  --tracking-display:-.025em; --tracking-eyebrow:.14em;
  --lh-display:1.06; --lh-body:1.65;

  --radius:18px; --radius-lg:26px; --radius-sm:12px; --radius-pill:999px;
  --shadow:0 10px 28px rgba(16,52,73,.12);
  --lift:0 24px 56px rgba(16,52,73,.20);
  --shadow-sun:0 10px 24px rgba(226,190,10,.45);

  --section-y:84px; --content-max:1180px; --measure:700px;
  --ease:cubic-bezier(.22,.61,.36,1); --dur:.22s;

  /* --- Ajouts refonte 2026 (Claude Design) --- */
  --space-2:8px; --space-3:14px; --space-4:22px; --space-5:34px; --space-6:52px;
  --surface-cream:var(--sun-soft);
  --surface-schema:#f6fbfd;
  --text-figure:clamp(38px,5vw,64px);
  --text-figure-sm:clamp(24px,2.6vw,36px);
  --shadow-xs:0 2px 8px rgba(16,52,73,.08);
  --shadow-md:0 16px 40px rgba(16,52,73,.16);
  --field-ring:0 0 0 4px rgba(26,133,184,.22);
  --grad-bleu:linear-gradient(160deg,var(--ink-600) 0%,var(--ink-700) 34%,var(--ink-800) 72%,var(--ink-900) 100%);
  --grad-bleu-texte:linear-gradient(160deg,var(--ink-700) 0%,var(--ink-800) 58%,var(--ink-900) 100%);
}

/* ---------- 2. Base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);
     line-height:var(--lh-body);font-size:17px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;height:auto}
img{display:block}
::selection{background:var(--sun);color:var(--sun-ink)}
a{color:var(--ink-700);text-decoration:none;transition:color var(--dur) var(--ease)}
a:hover{color:var(--ink-600);text-decoration:underline;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--ink-600);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;color:var(--ink-900);
            letter-spacing:var(--tracking-display);line-height:var(--lh-display);text-wrap:balance}
h1{font-size:var(--text-h1)}
h2{font-size:var(--text-h2);margin-bottom:.55em}
h3{font-size:var(--text-h3);letter-spacing:-.015em;line-height:1.28;margin-bottom:.4em}
p{margin-bottom:1em;text-wrap:pretty}
ul,ol{margin:0 0 1em 1.15em}
li{margin-bottom:.4em}
section{padding:var(--section-y) 0}
table{border-collapse:collapse;width:100%}
.skip{position:absolute;left:-6000px;top:0;background:var(--ink-900);color:#fff;padding:12px 20px;border-radius:0 0 12px 0;z-index:200}
.skip:focus{left:0}

/* ---------- 3. Utilitaires ---------- */
.wrap{max-width:var(--content-max);margin:0 auto;padding:0 22px}
.narrow{max-width:820px}
.lead{font-size:var(--text-lead);color:#31485a;max-width:var(--measure)}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.smallprint{color:var(--muted);font-size:.85rem;line-height:1.55}
.kicker{display:flex;align-items:center;gap:10px;color:var(--ink-700);font-weight:800;
        text-transform:uppercase;letter-spacing:var(--tracking-eyebrow);font-size:12.5px;margin-bottom:14px}
.kicker::before{content:"";width:9px;height:9px;background:var(--sun);transform:rotate(45deg);flex:none}
.center .kicker{justify-content:center}
.hl{background:linear-gradient(transparent 58%,var(--sun) 58%,var(--sun) 95%,transparent 95%);padding:0 .08em}
.alt{background:var(--white)}
.dark{background:linear-gradient(168deg,var(--ink-800) 0%,var(--ink-900) 55%,var(--ink-950) 100%);color:#dcebf2}
.bleu{background:var(--grad-bleu-texte);color:#e4f2f8}
.bleu h2,.bleu h3{color:#fff}
.bleu .lead{color:#d9ecf5}
.bleu .kicker{color:#bfe0ee}
.bleu a{color:#e4f2f8}
.dark h2,.dark h3{color:#fff}
.dark .lead{color:#bdd3dc}
.dark .kicker{color:#93bbc9}
.dark a{color:#cde5ee}
.dark .hl,.hero .hl,.bleu .hl{background:linear-gradient(transparent 6%,var(--sun) 6%,var(--sun) 95%,transparent 95%);color:var(--sun-ink)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.mb0{margin-bottom:0}

/* ---------- 4. En-tête ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(238,247,251,.94);
             backdrop-filter:saturate(1.6) blur(10px);border-bottom:1px solid var(--line)}
.header-in{display:flex;align-items:center;gap:22px;min-height:72px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink-900);text-decoration:none;flex:none}
.brand:hover{text-decoration:none}
.brand-mark{width:34px;height:34px;flex:none}
.brand-name{font-family:var(--font-display);font-weight:700;font-size:1.06rem;letter-spacing:-.02em;line-height:1.1}
.brand-name em{font-style:normal;color:var(--ink-600)}
.site-nav{display:flex;gap:20px;margin-left:auto;align-items:center;flex-wrap:wrap}
.site-nav a{color:var(--ink-800);font-weight:600;font-size:.94rem;text-decoration:none}
.site-nav a:hover,.site-nav a.active{color:var(--ink-600)}
.site-header{border-bottom:3px solid var(--ink-600)}
.site-nav a.active{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;
                   text-decoration-color:var(--sun-600)}
.header-cta{flex:none}
.nav-toggle{display:none;background:var(--ink-900);color:#fff;border:0;border-radius:var(--radius-pill);
            padding:9px 16px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}
@media(max-width:980px){
  .site-nav{display:none;order:3;width:100%;flex-direction:column;align-items:flex-start;gap:12px;padding-bottom:16px}
  .site-nav.open{display:flex}
  .nav-toggle{display:block;margin-left:auto}
  .header-cta{display:none}
  .header-in{flex-wrap:wrap}
}

/* ---------- 5. Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;
     font-family:var(--font-display);font-weight:700;font-size:1rem;line-height:1;
     padding:15px 26px;border-radius:var(--radius-pill);border:2px solid transparent;
     cursor:pointer;text-decoration:none;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-sun{background:var(--sun);color:var(--sun-ink);box-shadow:var(--shadow-sun)}
.btn-sun:hover{background:#fff06b;color:var(--sun-ink)}
.btn-primary{background:var(--ink-700);color:#fff;box-shadow:0 10px 24px rgba(23,110,151,.35)}
.btn-primary:hover{background:var(--ink-600);color:#fff}
.btn-ghost{background:transparent;color:var(--ink-800);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink-600);color:var(--ink-700)}
.dark .btn-ghost{color:#dceaef;border-color:rgba(255,255,255,.3)}
.btn-block{width:100%}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:26px}
.center .actions{justify-content:center}

/* ---------- 6. Hero ---------- */
.hero{background:var(--grad-bleu-texte);
      color:#e4f2f8;padding:66px 0 78px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-160px;top:-160px;width:520px;height:520px;border-radius:50%;
             background:radial-gradient(circle,rgba(255,233,61,.22),transparent 66%);pointer-events:none}
.hero::before{content:"";position:absolute;left:-120px;bottom:-200px;width:420px;height:420px;border-radius:50%;
              background:radial-gradient(circle,rgba(128,192,48,.18),transparent 66%);pointer-events:none}
.hero h1{color:#fff;font-size:var(--text-hero);max-width:15ch}
.hero .lead{color:#d9ecf5;margin-top:18px}
.hero .kicker{color:#bfe0ee}
.badge{display:inline-flex;align-items:center;gap:9px;background:rgba(255,233,61,.13);
       border:1px solid rgba(255,233,61,.42);color:var(--sun);border-radius:var(--radius-pill);
       padding:7px 16px;font-size:.87rem;font-weight:700;margin-bottom:20px}

/* ---------- 7. LA BARRE ---------- */
.barre{background:var(--white);color:var(--ink);border-radius:var(--radius-lg);
       box-shadow:var(--lift);padding:26px 26px 22px;margin-top:38px;position:relative;z-index:2}
.barre-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.barre-head h2{font-size:1.22rem;margin:0}
.barre-head .step-note{color:var(--muted);font-size:.87rem}
.barre-grid{display:grid;grid-template-columns:1fr 1fr .82fr;gap:20px;align-items:start}
.bloc{border:1px solid var(--line);border-radius:var(--radius);padding:16px 16px 12px;background:#fbfdfe}
.bloc>legend,.bloc>.bloc-t{display:flex;align-items:center;gap:8px;font-family:var(--font-display);
       font-weight:700;font-size:.83rem;text-transform:uppercase;letter-spacing:.09em;
       color:var(--ink-700);margin-bottom:12px;padding:0}
.bloc>legend .n,.bloc>.bloc-t .n{display:inline-flex;align-items:center;justify-content:center;
       width:21px;height:21px;border-radius:50%;background:var(--ink-900);color:var(--sun);
       font-size:.76rem;font-weight:800;flex:none}
.champ{margin-bottom:11px}
.champ label{display:block;font-size:.82rem;font-weight:600;color:var(--ink-800);margin-bottom:5px}
.champ input,.champ select,.champ textarea{
  width:100%;font:inherit;font-size:.97rem;color:var(--ink);background:#fff;
  border:1px solid var(--line);border-radius:var(--radius-sm);padding:11px 13px;transition:border-color var(--dur)}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--ink-600);box-shadow:var(--field-ring);outline:none}
.champ input::placeholder{color:#9ab0ba}
.champ .aide{display:block;color:var(--muted);font-size:.78rem;margin-top:4px}
.champ-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.prix-ligne{display:flex;align-items:center;gap:8px}
.prix-ligne button{width:40px;height:44px;flex:none;border:1px solid var(--line);background:#fff;
                   border-radius:var(--radius-sm);font-size:1.2rem;font-weight:700;color:var(--ink-700);cursor:pointer;line-height:1}
.prix-ligne button:hover{border-color:var(--ink-600);color:var(--ink-900)}
.prix-ligne input{text-align:center;font-weight:700;font-size:1.15rem}
.prix-unite{font-weight:700;color:var(--ink-700);font-size:.92rem;flex:none}
.prix-verdict{margin-top:10px;background:var(--sun-soft);border:1px solid #efe3a0;border-radius:var(--radius-sm);
              padding:10px 12px;font-size:.86rem;color:var(--sun-ink);line-height:1.45}
.prix-verdict strong{font-size:1.05rem}
.prix-verdict.neutre{background:var(--ink-50);border-color:var(--ink-100);color:var(--ink-800)}

.barre-pied{margin-top:18px;padding-top:16px;border-top:1px solid var(--line);
            display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.84rem;color:var(--muted);line-height:1.5}
.consent input{margin-top:3px;width:17px;height:17px;flex:none;accent-color:var(--ink-700)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
@media(max-width:1020px){.barre-grid{grid-template-columns:1fr 1fr}.bloc-prix{grid-column:1/-1}}
@media(max-width:720px){
  .barre{padding:20px 18px 18px;border-radius:var(--radius)}
  .barre-grid{grid-template-columns:1fr}
  .barre-pied{grid-template-columns:1fr}
  .barre-pied .btn{width:100%}
}

/* ---------- 8. Bandeau preuve ---------- */
.preuve{background:linear-gradient(90deg,var(--ink-800),var(--ink-900));color:#d6e8f0;padding:0}
.preuve .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0 22px}
.preuve .cell{padding:30px 24px;border-right:1px solid rgba(255,255,255,.12)}
.preuve .cell:last-child{border-right:0}
.preuve .v{font-family:var(--font-display);font-weight:800;font-size:var(--text-figure-sm);letter-spacing:-.02em;color:var(--sun);line-height:1.12}
.preuve .l{font-size:.9rem;color:#a9c4cf;margin-top:6px}
.preuve .s{font-size:.76rem;color:#7e9ba7;margin-top:8px}
@media(max-width:1020px){.preuve .wrap{grid-template-columns:1fr 1fr}
  .preuve .cell{border-bottom:1px solid rgba(255,255,255,.12)}
  .preuve .cell:nth-child(2n){border-right:0}
  .preuve .cell:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:640px){.preuve .wrap{grid-template-columns:1fr}
  .preuve .cell{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}
  .preuve .cell:last-child{border-bottom:0}}

/* ---------- 9. Cartes, étapes, listes ---------- */
.cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px}
.cartes-2{grid-template-columns:repeat(2,1fr)}
.carte{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.carte h3{margin-bottom:.5em}
.carte p:last-child{margin-bottom:0}
.carte .num{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
            border-radius:50%;background:var(--sun);color:var(--sun-ink);font-family:var(--font-display);
            font-weight:700;font-size:1rem;margin-bottom:14px}
@media(max-width:900px){.cartes,.cartes-2,.duo{grid-template-columns:1fr}}

.etapes{counter-reset:et;margin:30px 0 0;padding:0;list-style:none}
.etapes li{position:relative;padding-left:56px;margin-bottom:26px}
.etapes li::before{counter-increment:et;content:counter(et);position:absolute;left:0;top:-2px;
  width:38px;height:38px;border-radius:50%;background:var(--ink-900);color:var(--sun);
  font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center}
.etapes h3{margin-bottom:.25em}
.etapes p{margin-bottom:0;color:#31485a}

.encadre{background:var(--sun-soft);border:1px solid #efe3a0;border-left:5px solid var(--sun-600);
         border-radius:var(--radius-sm);padding:20px 22px;margin:26px 0}
.encadre.info{background:var(--ink-50);border-color:var(--ink-100);border-left-color:var(--ink-600)}
.encadre.ok{background:var(--leaf-soft);border-color:#cfe8b7;border-left-color:var(--leaf)}
.encadre.alerte{background:var(--amber-soft);border-color:#e8d9b6;border-left-color:var(--amber)}
.encadre p:last-child,.encadre ul:last-child{margin-bottom:0}
.encadre h3{font-size:1.02rem;margin-bottom:.45em}

.tab{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:24px 0}
.tab table{font-size:.94rem}
.tab th,.tab td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.tab th{background:var(--ink-50);font-family:var(--font-display);font-weight:700;color:var(--ink-900);font-size:.88rem}
.tab tr:last-child td{border-bottom:0}
.tab-scroll{overflow-x:auto}

details.q{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-sm);
          padding:0;margin-bottom:12px}
details.q>summary{cursor:pointer;padding:16px 20px;font-family:var(--font-display);font-weight:700;
                  color:var(--ink-900);list-style:none;position:relative;padding-right:48px}
details.q>summary::-webkit-details-marker{display:none}
details.q>summary::after{content:"+";position:absolute;right:20px;top:14px;font-size:1.3rem;color:var(--ink-600);font-weight:400}
details.q[open]>summary::after{content:"\2013"}
details.q .rep{padding:0 20px 18px}
details.q .rep p:last-child,details.q .rep ul:last-child{margin-bottom:0}

/* ---------- 10. Espace, invitation, statuts ---------- */
.esp-head{background:var(--grad-bleu-texte);color:#fff;padding:20px 0}
.esp-head .wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.esp-head h1{font-size:1.28rem;color:#fff;margin:0}
.esp-head .brand-name{color:#fff}
.esp-head .brand-name em{color:var(--sun)}
.esp-quit{margin-left:auto;color:#bcd4dd;font-size:.9rem}
.bandeau{padding:11px 16px;text-align:center;font-size:.9rem}
.bandeau.demo{background:#f3e6cb;color:#6b5518}
.bandeau.ok{background:var(--leaf-soft);color:#3f6d0f}
.bandeau.err{background:var(--red-soft);color:var(--red)}

.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}
.panel h2{font-size:1.12rem;margin-bottom:14px}
.panel-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;align-items:start}
@media(max-width:900px){.panel-grid{grid-template-columns:1fr}}

.statut{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-pill);
        padding:4px 13px;font-size:.82rem;font-weight:700}
.statut::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.st-attente{background:var(--sun-soft);color:#7a5c00}
.st-ok{background:var(--leaf-soft);color:#3f6d0f}
.st-refus{background:var(--red-soft);color:var(--red)}
.st-cours{background:var(--ink-50);color:var(--ink-700)}

.fil{list-style:none;margin:0;padding:0}
.fil li{position:relative;padding:0 0 22px 32px;border-left:2px solid var(--line);margin-left:8px}
.fil li:last-child{border-left-color:transparent;padding-bottom:0}
.fil li::before{content:"";position:absolute;left:-9px;top:3px;width:16px;height:16px;border-radius:50%;
                background:#fff;border:2px solid var(--line)}
.fil li.fait::before{background:var(--leaf);border-color:var(--leaf)}
.fil li.encours::before{background:var(--sun);border-color:var(--sun-600)}
.fil .t{font-family:var(--font-display);font-weight:700;color:var(--ink-900);display:block;line-height:1.3}
.fil .d{color:var(--muted);font-size:.86rem}

.depot{border:2px dashed var(--line);border-radius:var(--radius);padding:22px;background:#fbfdfe}
.depot.fait{border-style:solid;border-color:#cfe8b7;background:var(--leaf-soft)}
.depot input[type=file]{width:100%;font:inherit;font-size:.92rem;margin:12px 0}
.piece{display:flex;align-items:center;gap:10px;font-size:.92rem;color:var(--ink-800);margin-bottom:6px}
.piece .nom{font-weight:600;word-break:break-all}

.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0}
.kpi{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.kpi .v{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--ink-900);line-height:1.15}
.kpi .l{color:var(--muted);font-size:.86rem;margin-top:3px}
@media(max-width:760px){.kpis{grid-template-columns:1fr}}

/* ---------- 11. Pied de page ---------- */
.site-footer{background:var(--ink-950);color:#a9c4cf;padding:60px 0 26px}
.foot-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:44px}
.site-footer a{color:#cde5ee}
.foot-brand{font-family:var(--font-display);font-weight:700;font-size:1.3rem;color:#fff;letter-spacing:-.02em}
.foot-brand em{font-style:normal;color:var(--sun)}
.foot-base{color:var(--sun);font-weight:600;margin:6px 0 12px;font-size:.95rem}
.foot-note{font-size:.87rem;color:#8fadb9;line-height:1.6}
.foot-title{font-family:var(--font-display);font-weight:700;color:#fff;margin-bottom:12px;font-size:.98rem}
.site-footer ul{list-style:none;margin:0 0 14px;padding:0}
.site-footer li{margin-bottom:7px;font-size:.92rem}
.foot-legal{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12)}
.foot-legal p{font-size:.8rem;color:#7e9ba7;margin:0}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr;gap:30px}}

/* ---------- 12. Bandeau consentement ---------- */
.consent-banner{position:fixed;left:0;right:0;bottom:0;z-index:300;background:var(--ink-950);color:#dceaef;
                box-shadow:0 -8px 30px rgba(0,0,0,.3)}
.cb-in{max-width:var(--content-max);margin:0 auto;padding:18px 22px;display:flex;gap:20px;
       align-items:center;justify-content:space-between;flex-wrap:wrap}
.cb-in p{margin:0;font-size:.9rem;max-width:720px}
.cb-actions{display:flex;gap:10px;flex-wrap:wrap}
.cb-actions .btn{padding:11px 20px;font-size:.92rem}

/* ---------- 13. Apparition au défilement ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .btn:hover{transform:none}
  html{scroll-behavior:auto}
}

/* ---------- 14. Impression ---------- */
@media print{
  .site-header,.site-footer,.consent-banner,.nav-toggle,.actions{display:none}
  body{background:#fff;font-size:12pt}
  .panel,.carte{box-shadow:none;border-color:#bbb}
}


/* --- Formulaire d'entrée : deux colonnes sur écran large, une sur mobile --- */
.barre-2col{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.barre-2col .col{display:flex;flex-direction:column;gap:14px}
@media(max-width:820px){.barre-2col{grid-template-columns:1fr;gap:18px}}


/* --- Carte du périmètre de 2 km (espace producteur) --- */
.carte-perimetre{height:340px;border-radius:14px;border:1px solid #d7e6ee;margin:14px 0 10px;
                 background:#eef7fb;z-index:0}
@media(max-width:620px){.carte-perimetre{height:260px}}


/* --- Espace producteur : carte 2/3 à gauche, prix + invitation empilés à droite --- */
.esp-2col{display:grid;grid-template-columns:2fr 1fr;gap:22px;align-items:start;margin-bottom:22px}
.esp-2col .esp-col-carte,
.esp-2col .esp-col-cote{display:flex;flex-direction:column;gap:22px;min-width:0}
@media(max-width:980px){.esp-2col{grid-template-columns:1fr;gap:18px}
  .esp-2col .esp-col-carte,.esp-2col .esp-col-cote{gap:18px}}


/* --- Les deux bornes du prix (espace producteur) --- */
.bornes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 12px}
.bornes .borne{border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.bornes .borne-bas{background:#fdf6e3;border:1px solid #f0e2b6}
.bornes .borne-haut{background:#eef7fb;border:1px solid #d7e6ee}
.bornes .borne .v{font-size:22px;font-weight:700;color:#103449;line-height:1.1}
.bornes .borne .l{font-size:13px;font-weight:600;color:#2c4a5a}
.bornes .borne .s{font-size:11.5px;color:#7d8f9b;line-height:1.45}
@media(max-width:520px){.bornes{grid-template-columns:1fr}}

/* ---- Espace : navigation par onglets ---------------------------------- */
.esp-nav{position:sticky;top:0;z-index:40;display:flex;flex-wrap:wrap;gap:6px;
         background:rgba(255,255,255,.94);backdrop-filter:blur(8px);
         border:1px solid var(--line);border-radius:var(--radius-pill);
         padding:6px;margin:0 0 26px}
.esp-ong{position:relative;display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;
         font:inherit;font-size:.93rem;font-weight:600;color:var(--ink-700);
         background:transparent;border-radius:var(--radius-pill);padding:10px 18px;
         transition:background .16s,color .16s}
.esp-ong:hover{background:var(--ink-50);color:var(--ink-900)}
.esp-ong[aria-current="true"]{background:var(--ink-900);color:#fff}
.esp-ong:focus-visible{outline:3px solid rgba(23,110,151,.4);outline-offset:2px}
.esp-ong .pastille{width:8px;height:8px;border-radius:50%;background:var(--sun);
                   box-shadow:0 0 0 3px var(--sun-soft)}
.esp-ong[aria-current="true"] .pastille{box-shadow:0 0 0 3px rgba(255,233,61,.22)}
.onglet[hidden]{display:none}

/* ---- Espace : FAQ ------------------------------------------------------ */
.faq-esp h3{font-family:var(--font-display);font-size:.82rem;font-weight:700;
            text-transform:uppercase;letter-spacing:.09em;color:var(--muted);
            margin:26px 0 10px}
.faq-esp h3:first-child{margin-top:0}
.faq-esp details{border-bottom:1px solid var(--line)}
.faq-esp details:first-of-type{border-top:1px solid var(--line)}
.faq-esp summary{cursor:pointer;list-style:none;padding:15px 34px 15px 0;position:relative;
                 font-weight:600;color:var(--ink-900);line-height:1.45}
.faq-esp summary::-webkit-details-marker{display:none}
.faq-esp summary::after{content:"";position:absolute;right:8px;top:22px;width:9px;height:9px;
                        border-right:2px solid var(--ink-700);border-bottom:2px solid var(--ink-700);
                        transform:rotate(45deg);transition:transform .18s var(--ease)}
.faq-esp details[open] summary::after{transform:rotate(-135deg);top:25px}
.faq-esp summary:hover{color:var(--sea, #176e97)}
.faq-esp .rep{padding:0 34px 18px 0;color:var(--ink-700);font-size:.95rem;line-height:1.65}
.faq-esp .rep p{margin:0 0 10px}
.faq-esp .rep p:last-child{margin-bottom:0}
.faq-esp .rep ul{margin:0 0 10px;padding-left:20px}
.faq-esp .rep li{margin-bottom:5px}

@media (max-width:700px){
  .esp-nav{border-radius:14px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .esp-ong{white-space:nowrap;padding:10px 14px;font-size:.88rem}
}


/* ---------- 15. Refonte 2026 — schémas, chiffres, cartes, respirations ---------- */
.creme{background:var(--surface-cream)}
.creme .kicker{color:var(--amber)}

figure.schema{background:var(--surface-schema);border:1px solid var(--line);border-radius:var(--radius);
       padding:24px 22px 18px;margin:28px 0}
figure.schema svg{display:block;width:100%;max-width:560px;height:auto;margin:0 auto}
figure.schema figcaption{margin-top:12px;font-size:.85rem;color:var(--muted);line-height:1.5;text-align:center}
.dark figure.schema{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.16)}
.dark figure.schema figcaption{color:#a9c4cf}

.duo-schema{display:grid;grid-template-columns:1.02fr .98fr;gap:44px;align-items:center}
.duo-schema figure.schema{margin:0}
@media(max-width:900px){.duo-schema{grid-template-columns:1fr;gap:24px}}

.figures{display:flex;gap:14px 48px;flex-wrap:wrap;margin:26px 0 8px}
.figure .v{display:block;font-family:var(--font-display);font-weight:800;font-size:var(--text-figure);
           line-height:1.05;letter-spacing:-.02em;color:var(--ink-900)}
.figure .l{display:block;margin-top:6px;font-size:.95rem;color:var(--muted);max-width:26ch}
.dark .figure .v{color:#fff}
.dark .figure.accent .v{color:var(--sun)}
.dark .figure .l{color:#bdd3dc}

.etapes-cartes{display:grid;grid-template-columns:1fr 1fr;gap:22px;counter-reset:et;margin-top:30px}
.etapes-cartes li{position:relative;margin:0;padding:22px 24px 22px 74px;background:var(--white);
                  border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-xs)}
.etapes-cartes li::before{left:22px;top:22px}
@media(max-width:820px){.etapes-cartes{grid-template-columns:1fr}}

.kpi-vide{border-style:dashed;background:#fbfdfe}
.kpi-vide .v{color:var(--muted);font-weight:600;font-size:1.15rem}

figure.photo{margin:30px auto;max-width:440px}
figure.photo.paysage{max-width:620px}
figure.photo img{display:block;width:100%;height:auto;border-radius:var(--radius);box-shadow:var(--shadow-md)}
figure.photo figcaption{margin-top:10px;font-size:.85rem;color:var(--muted);text-align:center}
.duo-photo{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
.duo-photo figure.photo{margin:0;max-width:none}
@media(max-width:900px){.duo-photo{grid-template-columns:1fr;gap:24px}.duo-photo figure.photo{max-width:440px}}

.hero-duo{display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center}
.hero-duo figure.photo{margin:0;max-width:none}
.hero-duo figure.photo img{box-shadow:0 26px 60px rgba(8,27,38,.45);border-radius:var(--radius-lg)}
@media(max-width:900px){.hero-duo{grid-template-columns:1fr;gap:26px}.hero-duo figure.photo{max-width:440px}}

/* Rythme de couleurs : respirations vert tendre et crème, kickers assortis */
.verte{background:linear-gradient(180deg,var(--leaf-soft),#f6fbef)}
.verte .kicker{color:var(--leaf-600)}
.verte .kicker::before{background:var(--leaf)}
.creme .kicker::before{background:var(--sun-600)}
.encadre.ok h3{color:var(--leaf-600)}
.verte .carte,.creme .carte{border-top:5px solid var(--leaf)}
.creme .carte{border-top-color:var(--sun-600)}

/* Pastilles d'étapes : on alterne encre, bleu, vert pour casser le monochrome */
.etapes-cartes li:nth-child(3n+2)::before{background:var(--ink-700)}
.etapes-cartes li:nth-child(3n)::before{background:var(--leaf-600)}

/* Photos mieux assises dans la page */
figure.photo{position:relative}
figure.photo::after{content:"";position:absolute;inset:14px -14px -14px 14px;border-radius:var(--radius);
  background:linear-gradient(140deg,var(--ink-100),transparent 70%);z-index:-1}
.dark figure.photo::after,.hero figure.photo::after{background:linear-gradient(140deg,rgba(255,233,61,.25),transparent 70%)}

.dark .btn-sun,.bleu .btn-sun,.hero .btn-sun,.verte .btn-sun,.creme .btn-sun{color:var(--sun-ink)}
.dark .btn-sun:hover,.bleu .btn-sun:hover,.hero .btn-sun:hover{color:var(--sun-ink)}
.dark .btn-primary,.bleu .btn-primary,.hero .btn-primary{color:#fff}
.dark .btn-primary:hover,.bleu .btn-primary:hover,.hero .btn-primary:hover{color:#fff}

/* Mobile : rythme resserré, heros compacts, schémas pleine largeur */
@media(max-width:640px){
  :root{--section-y:56px}
  .hero{padding:44px 0 54px}
  figure.schema{padding:16px 12px 12px;margin:22px -4px}
  figure.photo{max-width:100%;margin:22px auto}
  figure.photo::after{display:none}
  .figures{gap:10px 28px}
  .actions .btn{width:100%}
}

/* Cartes : filet supérieur en rotation bleu / vert / ambre (rythme ME) */
.cartes .carte{border-top:5px solid var(--ink-600)}
.cartes .carte:nth-child(3n+2){border-top-color:var(--leaf)}
.cartes .carte:nth-child(3n){border-top-color:var(--sun-600)}
.cartes .carte{transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
.cartes .carte:hover{transform:translateY(-6px);box-shadow:var(--lift)}
@media(prefers-reduced-motion:reduce){.cartes .carte:hover{transform:none}}
