/* Assistant « Mon projet de borne » (/mon-projet/) — complète review.css (en-tête, héros, bandeau, pied de page). */
.vp-js .vp-step:not(.is-current),.vp-js [data-for]:not(.is-active){display:none}
.vp-hero{padding-bottom:0}.vp-hero .ev-container{padding-bottom:40px}
/* Héros : texte et appel à l’action à côté de la photo sur ordinateur. */
.vp-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin:28px 0 0}
.vp-hero-phone{color:#d3e0ea;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.vp-hero-phone:hover{color:#fff}
.vp-section{padding:48px 0 64px;background:#f5f9fc}
.vp-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}
.vp-main{min-width:0}
#vp-projet,.vp-main,.vp-success{scroll-margin-top:96px}
.vp-progress{display:flex;gap:8px;margin:0 0 24px;padding:0;list-style:none;counter-reset:none}
.vp-progress li{flex:1;display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:#fff;border:1px solid #d8e6f0;color:#5b7285;font-weight:600;font-size:15px;line-height:1.3}
.vp-progress li span{display:inline-grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:#e8f1f8;color:#0764a3;font-size:14px;font-weight:700}
.vp-progress li.is-current{border-color:#0764a3;color:#002942}.vp-progress li.is-current span{background:#0764a3;color:#fff}
.vp-progress li.is-done span{background:#1f8a4c;color:#fff}
.vp-form{background:#fff;border:1px solid #d8e6f0;border-radius:20px;padding:32px}
.vp-step h3{font-size:clamp(1.25rem,2vw,1.5rem);margin:0 0 8px;color:#002942}.vp-step h3:focus{outline:none}
.vp-lead{color:#4a6377;margin-bottom:24px}
.vp-group{border:0;margin:0 0 28px;padding:0;min-width:0}
.vp-group legend,.vp-field label{display:block;padding:0;margin-bottom:6px;font-weight:700;color:#002942;font-size:16px}
.vp-req{color:#b42318}.vp-opt{font-weight:500;color:#56697a;font-size:14px}
.vp-hint{margin:0 0 12px;color:#5b7285;font-size:14px;line-height:1.55}
.vp-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.vp-compact .vp-options{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.vp-option{position:relative;display:flex;align-items:flex-start;gap:12px;padding:16px;border:1.5px solid #d3e1ec;border-radius:14px;background:#fff;cursor:pointer;line-height:1.4;transition:border-color .15s,background-color .15s}
.vp-compact .vp-option{align-items:center;padding:12px 14px}
.vp-option:hover{border-color:#8fb8d6}
.vp-option input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.vp-option:has(input:checked){border-color:#0764a3;background:#eaf4fb;box-shadow:inset 0 0 0 1px #0764a3}
.vp-option:has(input:focus-visible){outline:3px solid #dc9105;outline-offset:3px}
.vp-option:has(input:disabled){display:none}
.vp-option-text{min-width:0;overflow-wrap:anywhere;display:flex;flex-direction:column;gap:2px}.vp-option-text strong{color:#002942;font-weight:650}.vp-option-text span{color:#4f6577;font-size:14px}
.vp-option::after{content:"";flex:0 0 18px;height:18px;margin-left:auto;border-radius:50%;border:2px solid #b7cddd;align-self:center}
.vp-option:has(input[type=checkbox])::after{border-radius:5px}
.vp-option:has(input:checked)::after{border-color:#0764a3;background:#0764a3 radial-gradient(circle,#fff 0 3px,transparent 3.5px)}
.vp-option:has(input[type=checkbox]:checked)::after{background:#0764a3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat}
.vp-card-icon{flex:0 0 36px;width:36px;height:36px;padding:6px;border-radius:10px;background:#e8f1f8;color:#0764a3}
.vp-option:has(input:checked) .vp-card-icon{background:#0764a3;color:#fff}
.vp-fields{display:grid;gap:18px;margin-bottom:28px}.vp-grid{grid-template-columns:1fr 1fr}.vp-wide{grid-column:1/-1}
.vp-field input,.vp-field textarea{width:100%;min-height:48px;padding:11px 14px;border:1.5px solid #c9dae7;border-radius:12px;background:#fff;color:#173449;font:inherit;line-height:1.4}
.vp-field textarea{min-height:110px;resize:vertical}
.vp-field input:focus-visible,.vp-field textarea:focus-visible{outline:3px solid #dc9105;outline-offset:2px;border-color:#0764a3}
.vp-field [aria-invalid=true],.vp-choices:has([aria-invalid=true]) .vp-option{border-color:#b42318}
.vp-field-error{margin:8px 0 0;color:#b42318;font-size:14px;font-weight:600}
.vp-why{margin:0 0 24px;padding:14px 16px;border-radius:12px;background:#eef6fb;color:#1f4460;font-size:15px;line-height:1.55}
.vp-photos .vp-upload{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 18px;border:1.5px dashed #8fb8d6;border-radius:12px;color:#0764a3;font-weight:700;cursor:pointer;background:#fff}
.vp-photos .vp-upload input{position:absolute;opacity:0;width:1px;height:1px}
.vp-photos .vp-upload:has(input:focus-visible){outline:3px solid #dc9105;outline-offset:3px}
.vp-photos .vp-upload.is-full{display:none}
.vp-thumbs{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;list-style:none}
.vp-thumbs li{position:relative}.vp-thumbs img{display:block;width:96px;height:72px;object-fit:cover;border-radius:10px;border:1px solid #d3e1ec}
.vp-thumbs button{position:absolute;top:-8px;right:-8px;width:26px;height:26px;border:0;border-radius:50%;background:#002942;color:#fff;font-size:16px;line-height:1;cursor:pointer}
.vp-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.vp-privacy{font-size:13px;color:#5b7285;margin:0 0 8px}
.vp-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;padding-top:24px;border-top:1px solid #e3edf4}
.vp-nav .ev-button{min-width:200px}.vp-nav .vp-next,.vp-nav .vp-submit{margin-left:auto}
.vp-back{min-height:48px;padding:10px 4px;border:0;background:none;color:#0764a3;font-weight:700;cursor:pointer}
.vp-note{margin:14px 0 0;text-align:right;color:#5b7285;font-size:14px}
.vp-errors{margin:0 0 24px;padding:16px 18px;border:1.5px solid #b42318;border-radius:12px;background:#fff5f4;color:#7a1d15}
.vp-errors:focus{outline:3px solid #dc9105;outline-offset:3px}
.vp-errors-title{margin:0 0 6px;font-weight:700}.vp-errors ul{margin:0;padding-left:20px}.vp-errors a{color:#7a1d15}
.vp-summary{position:sticky;top:96px;background:#fff;border:1px solid #d8e6f0;border-radius:20px;padding:24px}
.vp-summary h2{font-size:1.2rem;margin:0 0 14px;color:#002942}
.vp-recap{margin:0 0 16px}.vp-recap div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf2f6;font-size:14px}
.vp-recap dt{color:#5b7285}.vp-recap dd{margin:0;text-align:right;font-weight:650;color:#002942}
.vp-recap .vp-recap-empty{display:block;border:0;color:#5b7285}.vp-recap .vp-recap-empty dd{text-align:left;font-weight:500;color:#5b7285}
.vp-tips{margin:0 0 16px;padding:16px;border-radius:14px;background:#f2f8fc}
.vp-tips h3{margin:0 0 8px;font-size:1rem;color:#002942}.vp-tips ul{margin:0;padding-left:18px;font-size:14px;line-height:1.55;color:#1f4460}.vp-tips li+li{margin-top:8px}
.vp-reassure{margin:0 0 14px;padding:0;list-style:none;font-size:14px;color:#1f4460}
.vp-reassure li{position:relative;padding:4px 0 4px 26px}
.vp-reassure li::before{content:"";position:absolute;left:0;top:8px;width:16px;height:16px;border-radius:50%;background:#1f8a4c url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3.5'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center/10px no-repeat}
.vp-call{margin:0;font-weight:600;color:#002942}.vp-call a{white-space:nowrap}
.vp-success{background:#fff;border:1px solid #d8e6f0;border-radius:20px;padding:40px 32px;text-align:center}
.vp-success h3{font-size:1.75rem;margin:12px 0 8px;color:#002942}.vp-success h3:focus{outline:none}
.vp-success-icon{display:inline-grid;place-items:center;width:64px;height:64px;margin:0;border-radius:50%;background:#1f8a4c;color:#fff;font-size:32px;font-weight:700}
.vp-ref{display:inline-flex;align-items:center;gap:10px;margin:8px 0 24px;padding:10px 14px;border-radius:12px;background:#f2f8fc}
.vp-ref code{font-size:1.15rem;font-weight:700;color:#002942;letter-spacing:.04em}
.vp-copy{border:1px solid #b7cddd;border-radius:8px;background:#fff;color:#0764a3;font-weight:700;padding:6px 10px;cursor:pointer}
.vp-success .vp-steps{text-align:left;max-width:620px;margin:0 auto 24px}
.vp-success-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:0}
.ev-button-outline{background:#fff;color:#0764a3;border:1.5px solid #0764a3}.ev-button-outline:hover{background:#eaf4fb;color:#055184}
.vp-after,.vp-faq{padding:56px 0}.vp-faq{padding-top:0}
.vp-after h2,.vp-faq h2{margin:0 0 24px;color:#002942}
.vp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none;counter-reset:vp}
.vp-steps li{counter-increment:vp;position:relative;padding:20px;border:1px solid #d8e6f0;border-radius:16px;background:#fff}
.vp-steps li::before{content:counter(vp);display:inline-grid;place-items:center;width:32px;height:32px;margin-bottom:10px;border-radius:50%;background:#0764a3;color:#fff;font-weight:700}
.vp-steps strong{display:block;color:#002942;margin-bottom:4px}.vp-steps span{display:block;color:#4a6377;font-size:15px;line-height:1.55}
.vp-steps-compact{grid-template-columns:1fr}.vp-steps-compact li{display:grid;grid-template-columns:40px 1fr;column-gap:12px;padding:14px 16px}
.vp-steps-compact li::before{grid-row:1/3;margin:0}
.vp-faq details{border:1px solid #d8e6f0;border-radius:14px;background:#fff;margin-bottom:12px}
.vp-faq summary{cursor:pointer;padding:16px 20px;font-weight:650;color:#002942;list-style-position:inside}
.vp-faq details p{margin:0;padding:0 20px 18px;color:#35526a}
.vp-noscript{margin-top:16px;padding:14px 16px;border-radius:12px;background:#fff5e6;color:#5c3b00}
@media (max-width:1023px){.vp-layout{grid-template-columns:1fr}.vp-summary{position:static}.vp-steps{grid-template-columns:1fr 1fr}}
@media (max-width:639px){.vp-section{padding:28px 0 40px}
.vp-form{padding:20px 16px;border-radius:16px}
.vp-progress{gap:6px}.vp-progress li{flex-direction:column;align-items:center;gap:6px;padding:10px 6px;font-size:12.5px;text-align:center}
.vp-grid{grid-template-columns:1fr}.vp-options{grid-template-columns:1fr}.vp-compact .vp-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr))}
.vp-nav{flex-wrap:wrap}.vp-nav .ev-button{flex:1 1 100%;min-width:0}.vp-back{order:2}.vp-note{text-align:center}
.vp-steps{grid-template-columns:1fr}.vp-success{padding:28px 18px}}

/* Photos éditoriales : proportions natives, sans recadrage. */
.vlt-tool-photo{margin:0;min-width:0;width:100%;overflow:hidden;border-radius:22px;background:#eaf2f7}
.vlt-tool-photo img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain}
.vp-hero .vlt-tool-photo{margin:0;max-width:none;align-self:center}
@media(max-width:639px){.vlt-tool-photo{border-radius:16px}}

/* Champs facultatifs : disclosure natif, fermé dès le premier rendu, accessible au clavier. */
.vp-optional{margin:0 0 28px;border:1px solid #d3e1ec;border-radius:14px;background:#f5f9fc;min-width:0}
.vp-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 16px;color:#0764a3;font-weight:700;line-height:1.45;cursor:pointer;list-style:none}
.vp-optional>summary::-webkit-details-marker{display:none}
.vp-optional>summary::after{content:"+";flex:none;font-size:24px;line-height:1}
.vp-optional[open]>summary::after{content:"−"}
.vp-optional>summary:hover{background:#eaf4fb;border-radius:14px}
.vp-optional>summary:focus-visible{outline:3px solid #dc9105;outline-offset:3px;border-radius:14px}
.vp-optional-content{padding:4px 16px 20px}
.vp-optional-content>.vp-field{margin-bottom:28px}
.vp-optional-content>:last-child{margin-bottom:0}
@media(max-width:639px){.vp-optional-content{padding-inline:12px}.vp-optional>summary{padding-inline:12px}}
