:root{--green:#0a9c80;--dark:#122e38;--muted:#60727b;--bg:#f5f8f8}*{box-sizing:border-box}body{margin:0;background:var(--bg);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--dark)}a{color:inherit}header{background:white;border-bottom:1px solid #e4eded}nav{max-width:1100px;margin:auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}nav a{text-decoration:none;margin-left:14px;font-size:14px}.brand{font-weight:900;letter-spacing:.04em;font-size:22px;color:var(--green)}main{max-width:1100px;margin:30px auto;padding:0 20px;min-height:65vh}.hero{background:linear-gradient(125deg,#123a42,#087e71);border-radius:22px;color:white;padding:46px 34px;margin-bottom:24px}.hero h1{font-size:clamp(30px,5vw,52px);line-height:1.1;margin:0 0 12px}.hero p{max-width:650px;color:#e3f4ef}.btn,button{display:inline-block;border:0;border-radius:10px;padding:11px 17px;background:var(--green);color:white;text-decoration:none;font:inherit;font-weight:700;cursor:pointer}.btn.secondary{background:#e8f5f1;color:#086955}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:18px}.card{background:white;border:1px solid #e1e9e8;border-radius:16px;padding:22px;box-shadow:0 4px 18px #123a4208}.card h3{margin-top:0}.muted,small{color:var(--muted)}label{display:block;font-weight:650;margin:12px 0 5px}input,select,textarea{width:100%;border:1px solid #cbd8d6;border-radius:9px;padding:11px;font:inherit;background:white}textarea{min-height:95px}form .btn,form button{margin-top:15px}.narrow{max-width:570px;margin:auto}.flash{padding:14px 18px;background:#e5f8ee;border:1px solid #9fd9b6;border-radius:10px;margin-bottom:18px}.error{background:#fff0ed;border-color:#ffb7ab}.pill{display:inline-block;border-radius:50px;padding:4px 10px;background:#e6f4ef;color:#137b63;font-size:12px;font-weight:700}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions form{display:inline}.actions button{margin:0}.danger{background:#a84d46}.map{height:430px;border-radius:16px;overflow:hidden;margin-bottom:22px;border:1px solid #d5e2df}footer{text-align:center;padding:28px;color:var(--muted);font-size:13px}table{width:100%;border-collapse:collapse;background:white}th,td{text-align:left;padding:12px;border-bottom:1px solid #e2e9e8}th{font-size:13px} .table-wrap{overflow:auto}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}@media(max-width:600px){nav a{margin-left:8px}.hero{padding:30px 22px}.map{height:340px}}

/* Identité officielle MYVOLTERA — turquoise, cyan et bleu nuit */
:root{--green:#007bd1;--dark:#06254a;--muted:#60738a;--bg:#f5f9fd;--cyan:#04d6d0;--navy:#062d59}
body{color:var(--dark);background:var(--bg)}
header{background:#fff;border-bottom:1px solid #e3edf5;box-shadow:0 2px 12px #07385b0a}
nav{max-width:1320px;min-height:88px;padding:10px 24px}
nav a:not(.brand){font-weight:600;color:#173657}
nav a:not(.brand):hover{color:#007bd1}
.brand{display:flex;align-items:center;margin:0;max-width:210px}
.brand img{display:block;width:190px;max-width:100%;height:68px;object-fit:contain;object-position:left center}
main{max-width:1320px;margin:24px auto;padding:0 24px}
.hero{min-height:390px;border-radius:20px;background:linear-gradient(90deg,rgba(2,24,52,.88) 0%,rgba(4,36,71,.72) 40%,rgba(3,31,59,.03) 100%),url('myvoltera-banniere.jpeg') center center/cover no-repeat;display:flex;align-items:center;padding:45px 50px;box-shadow:0 12px 32px #062d5922}
.hero-content{max-width:650px}
.hero h1{font-size:clamp(36px,5vw,62px);letter-spacing:-.045em;color:white;margin:18px 0 4px;font-weight:850}
.hero h1 span{color:#00d9e9}
.hero h2{font-size:clamp(23px,3vw,34px);line-height:1.18;margin:0 0 16px;color:white;font-weight:650}
.hero h2 em{font-style:normal;color:#04e3e5}
.hero p{max-width:520px;font-size:16px;color:#f0f8ff}
.hero .pill{background:#e4fbff;color:#07516d}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}
.btn,button{background:linear-gradient(135deg,#007bd1,#0758a5);border-radius:10px;box-shadow:0 3px 10px #0762b51a}
.btn:hover,button:hover{filter:brightness(1.08)}
.btn.secondary{background:#e8faff;color:#07516d}
.card{border:1px solid #e1eaf3;box-shadow:0 5px 20px #092e520b}
.pill{background:#dff9fb;color:#006c88}
.section-heading{text-align:center;padding:8px 0 14px}
.section-heading h2{font-size:30px;margin:0}
.section-heading p{color:var(--muted);margin:5px 0}
.map{border-color:#d6e8f4}
input:focus,select:focus,textarea:focus{outline:2px solid #00a8d9;outline-offset:1px}
@media(max-width:700px){nav{padding:8px 14px;gap:6px}nav>div{display:flex;gap:6px;flex-wrap:wrap}nav a:not(.brand){margin-left:0;font-size:12px}.brand img{width:145px;height:54px}main{padding:0 12px;margin:14px auto}.hero{min-height:390px;padding:30px 22px;background-position:58% center;background-image:linear-gradient(90deg,rgba(2,24,52,.94),rgba(2,30,60,.7)),url('myvoltera-banniere.jpeg')}.hero h1{font-size:38px}.hero h2{font-size:25px}.hero p{font-size:14px}.hero-actions .btn{width:100%;text-align:center}.section-heading h2{font-size:24px}}

/* Questionnaire MYVOLTERA V3 */
.lead-intro{text-align:center;max-width:780px;margin:24px auto}.lead-intro h1{font-size:clamp(28px,4vw,42px);margin:12px 0}.lead-intro p{color:var(--muted)}.lead-card{max-width:820px;margin:0 auto 36px}.steps{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.step{flex:1;min-width:130px;padding:10px;text-align:center;border-radius:12px;background:#eef5fa;color:#63778a;font-size:13px;font-weight:700}.step.active{background:#d6f8fa;color:#006e92}.lead-step{border:0;padding:0;margin:0;min-width:0}.lead-step[hidden]{display:none}.lead-step legend{font-size:23px;font-weight:750;margin-bottom:16px}.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.choice{margin:0;cursor:pointer}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice-body{display:flex;flex-direction:column;gap:6px;border:2px solid #d9e7f0;border-radius:14px;padding:18px;min-height:104px;background:#fff}.choice-body small{font-weight:400}.choice input:checked+.choice-body{border-color:#008ad5;background:#e8faff}.choice input:focus-visible+.choice-body{outline:3px solid #04d6d0}.lead-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.lead-actions .secondary{background:#e8faff;color:#07516d}.privacy-check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:13px;line-height:1.5}.privacy-check input{width:20px;flex:0 0 20px;margin-top:4px}.hidden-field{position:absolute;left:-9999px}.lead-step textarea{min-height:120px}@media(max-width:600px){.choice-grid{grid-template-columns:1fr}.steps{gap:5px}.step{min-width:0;font-size:11px;padding:8px 4px}.lead-actions button{flex:1}}

/* Correctif V10 : carte Leaflet mobile et état de chargement */
.map-shell{position:relative;min-width:0;margin-bottom:22px}
.map-shell .map{height:clamp(350px,55vh,590px);min-height:350px;width:100%;margin-bottom:0;background:#e7f2f6;isolation:isolate;z-index:0;touch-action:pan-x pan-y}
.map-shell .leaflet-container{font:inherit;z-index:0}
.map-shell .leaflet-popup-content{line-height:1.6}
.map-loading{padding:18px;color:#60738a}
.map-notice{padding:12px 15px;background:#fff6da;border:1px solid #e8cf8e;border-radius:10px;margin-top:10px;color:#6b511c;font-size:14px}
.map-notice[hidden]{display:none}
@media(max-width:700px){.map-shell .map{height:440px;min-height:340px}}

/* MYVOLTERA V10 — mobile, prise et abonnements */
nav>div{display:flex;align-items:center;flex-wrap:wrap;gap:10px}nav a:not(.brand){margin-left:0}.plug-badge{font-size:13px}.plug-symbol{font-size:25px;color:#0088c4;background:#e7f8ff;border-radius:10px;padding:8px}.connector-visual{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #cfe4f1;background:#f2fbff;border-radius:12px;margin:18px 0}.plan{display:flex;flex-direction:column;gap:8px}.plan h2{margin:0}.plan p{flex:1}.plan-price{font-size:28px;font-weight:800;color:#006baa}.plan-price small{font-size:13px;font-weight:400}.plan button{width:100%}@media(max-width:700px){nav{align-items:flex-start;gap:8px}nav>div{width:100%;display:flex;gap:9px 14px}nav a:not(.brand){font-size:14px}.brand img{width:115px;height:64px}.card{padding:20px}.card h1{font-size:clamp(23px,6vw,32px)}.topline h1{font-size:30px}form button{max-width:100%}.map-shell .map{min-height:380px}}
/* MYVOLTERA V11 - parcours propriétaire guidé */
.charger-editor{max-width:850px;margin:auto}.wizard-progress{font-weight:700;color:#087eac;padding:14px 0;border-bottom:4px solid #1ab8cd;margin-bottom:20px}.wizard-step{border:0;margin:0;padding:0;min-width:0}.wizard-step[hidden],#wizard-prev[hidden],#wizard-next[hidden],#wizard-submit[hidden]{display:none!important}.wizard-step legend{font-size:1.35rem;font-weight:800;margin-bottom:18px}.wizard-controls{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.weekday-grid{display:grid;grid-template-columns:1fr;gap:9px}.weekday{display:grid;grid-template-columns:minmax(100px,1fr) 125px 125px;align-items:center;gap:10px;padding:10px;border:1px solid #cde4ed;border-radius:12px}.weekday label{margin:0}.weekday input[type=time]{max-width:100%;padding:8px}.connector-visual{display:flex;gap:8px;align-items:center;background:#e7faff;padding:10px;border-radius:12px}@media(max-width:600px){.weekday{grid-template-columns:1fr 1fr;gap:8px}.weekday label:first-child{grid-column:1/-1}.charger-editor{padding:18px}.wizard-controls button{flex:1}}

/* V12 — identité visuelle bleue, bannière sans double texte et navigation mobile */
:root{--green:#078ac8;--dark:#08294f;--bg:#f2f8fd}
.hero{background:#092c50;position:relative;isolation:isolate;overflow:hidden;min-height:420px}
.hero::before{content:"";position:absolute;z-index:-1;inset:0 0 0 45%;background:url('hero-voiture.jpeg') center right/cover no-repeat}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#08274a 0%,#092e53 39%,rgba(9,46,83,.76) 56%,rgba(9,46,83,.04) 88%)}
.hero-content{position:relative;max-width:580px}.hero h1{font-size:clamp(36px,4.4vw,58px)}
.hero-actions .btn{min-height:45px}.mobile-nav-toggle{display:none}
.primary-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.primary-links a{margin-left:0!important}.primary-links form{margin:0}
.connector-visual{border:1px solid #c8e7fa;background:#edfaff}.plug-symbol{font-size:24px}
@media(max-width:760px){
 nav{display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:8px 16px}
 .brand img{width:115px;height:64px}
 .mobile-nav-toggle{display:block;width:auto;margin:0;background:#087cbb;color:white;border-radius:10px;padding:9px 15px;font-size:15px}
 .primary-links{display:none!important;position:relative;flex-basis:100%;width:100%;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid #e0edf7;padding-top:8px}
 .primary-links.nav-open{display:flex!important}.primary-links a{display:block;padding:10px;border-bottom:1px solid #e5eff6;font-size:15px!important}
 .primary-links form{padding:12px}.primary-links form button{width:100%}
 .hero{padding:36px 22px;min-height:440px;background:#092c50}
 .hero::before{inset:0;background:url('hero-voiture.jpeg') center right/cover no-repeat;opacity:.4}
 .hero::after{background:linear-gradient(90deg,rgba(6,29,57,.98),rgba(6,29,57,.7))}
 .hero h1{font-size:40px}.hero h2{font-size:25px}
 .hero-actions{display:grid;grid-template-columns:1fr;gap:10px}
 .hero-actions .btn{display:block;max-width:100%}.section-heading{text-align:left}
 .card{overflow-wrap:anywhere}.map-shell .map{width:100%;height:430px}
}

/* CGV, tarifs et revenus V12.3 */
.earn-hero{border-radius:22px;padding:38px;background:linear-gradient(110deg,#06294d,#087dba);color:white;display:grid;grid-template-columns:1.5fr 1fr;gap:25px;margin-bottom:25px;align-items:center}.earn-hero h1{font-size:clamp(30px,4vw,50px);line-height:1.15;margin:16px 0}.earn-hero p{max-width:620px;color:#e8faff}.earn-hero-stat{background:#ffffff1f;border:1px solid #ffffff50;border-radius:20px;padding:25px;display:grid;gap:8px}.earn-hero-stat strong{font-size:clamp(28px,3.4vw,43px);color:#74f4e4}.earn-hero-stat small{color:#e3f8ff}.earn-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-bottom:22px}.earn-form input[type=range]{accent-color:#0088bd;padding:0;height:32px}.earn-form output{float:right;color:#007bad}.earn-results{display:flex;flex-direction:column;gap:18px}.earn-main{display:grid;gap:8px}.earn-main small{color:#63788a}.earn-main strong{font-size:clamp(32px,4vw,48px);color:#07856b}.earn-main strong.negative{color:#bc4545}.earn-results dl{margin:0}.earn-results dl>div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #e6eef5;padding:10px 0}.earn-results dd{margin:0;font-weight:750;text-align:right}.earn-results dt{color:#4a6075}.earn-note,.legal-warning{background:#eef8ff;border-radius:12px;padding:14px;color:#486579;font-size:14px}.earn-secondary{text-align:center;color:#0873ad;font-weight:650}.legal-page{max-width:980px;margin:0 auto}.legal-page h1{font-size:clamp(28px,4vw,42px)}.legal-page h2{margin-top:30px;padding-top:10px;border-top:1px solid #e7f0f7}.legal-page p{line-height:1.8}.legal-warning{border-left:4px solid #0886ba}@media(max-width:760px){.earn-hero,.earn-layout{grid-template-columns:1fr}.earn-hero{padding:24px}.earn-results{gap:14px}}

/* Support ticket conversation */
.support-message{margin:12px 0;padding:12px;border:1px solid #dbe6eb;border-radius:12px;background:#f7fbfd;overflow-wrap:anywhere}.support-message p{white-space:normal}.support-status-form{margin-top:24px;padding-top:12px;border-top:1px solid #ddd}
