/* Simulateurs « voiture électrique » (/outils/<slug>/) — complète review.css, editorial.css et projet.css (champs, cartes de choix, FAQ). */
.vo-free{color:#d3e0ea;font-size:14px;font-weight:600}
.vo-facts{padding:22px 24px;border:1px solid rgb(255 255 255 / 16%);border-radius:20px;background:rgb(255 255 255 / 6%);color:#fff}
.vo-facts-title{margin:0 0 12px;font-weight:700;font-size:17px;color:#fff}
.vo-facts ul{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.vo-facts li{position:relative;padding-left:26px;color:#e6f1f8;line-height:1.5}
.vo-facts li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:50%;background:#2dc7eb}
.vo-facts-date{margin:14px 0 0;font-size:13px;color:#bfe2f5}
.vo-section{padding:48px 0 64px;background:#f5f9fc;scroll-margin-top:96px}
.vo-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
.vo-form{min-width:0;background:#fff;border:1px solid #d8e6f0;border-radius:20px;padding:32px}
.vo-form h2{margin:0 0 6px;font-size:clamp(1.25rem,2vw,1.5rem);color:#002942}
.vo-form .vp-lead{margin-bottom:22px}
.vo-subtitle{margin:8px 0 14px;font-size:1.05rem;color:#002942}
.vo-form>.vp-field{margin-bottom:22px}
.vo-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px}
.vo-row .vp-field{margin:0;display:flex;flex-direction:column}
.vo-row .vp-field>.vo-unit{margin-top:auto}
.vo-unit{position:relative;display:block}
.vo-unit input{padding-right:64px}
.vo-unit>span{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#4a6377;font-weight:600;pointer-events:none}
.vo-result{position:sticky;top:96px;min-width:0;background:#002942;color:#fff;border-radius:20px;padding:28px}
.vo-result h2{margin:0 0 14px;font-size:1.15rem;color:#fff}
.vo-verdict{margin:0 0 16px;padding:12px 14px;border-radius:12px;font-weight:700;line-height:1.4}
.vo-verdict.is-ok{background:#dcf5e5;color:#0f4d2a}
.vo-verdict.is-ko{background:#fde2df;color:#7a1d15}
.vo-verdict.is-wait{background:#fff1d6;color:#5c3b00}
.vo-figure{margin:0;font-size:clamp(2rem,4vw,2.5rem);font-weight:800;line-height:1.1;color:#fff}
.vo-figure-label{margin:6px 0 18px;font-size:14px;color:#bfe2f5}
.vo-lines{margin:0 0 16px;padding:0;list-style:none}
.vo-lines li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px solid rgb(255 255 255 / 14%);font-size:14px;color:#d3e0ea}
.vo-lines li strong{text-align:right;color:#fff}
.vo-checks{display:grid;gap:9px;margin:0 0 16px;padding:0;list-style:none}
.vo-checks li{position:relative;padding-left:30px;font-size:14px;line-height:1.45;color:#e6f1f8}
.vo-checks li::before{position:absolute;left:0;top:0;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;font-size:12px;font-weight:800}
.vo-checks li.is-ok::before{content:"✓";background:#2fb36b;color:#002942}
.vo-checks li.is-ko::before{content:"✕";background:#ff8a80;color:#002942}
.vo-checks li.is-wait::before{content:"?";background:#f5b73b;color:#002942}
.vo-checks .vo-aide-titre{display:block;margin-bottom:2px;color:#fff}
.vo-note{margin:0;font-size:13px;line-height:1.55;color:#bfe2f5}
.vo-note+.vo-note{margin-top:8px}
.vo-result .ev-button{width:100%;margin-top:18px}
.vo-result a:not(.ev-button){color:#9ee5f7}
.vo-explain{padding:56px 0 24px}
.vo-explain h2{margin:0 0 16px;color:#002942}
.vo-explain h3{margin:28px 0 10px;font-size:1.15rem;color:#002942}
.vo-explain p,.vo-explain li{max-width:78ch;line-height:1.65;color:#35526a}
.vo-table-wrap{overflow-x:auto;margin:12px 0 8px;border:1px solid #d8e6f0;border-radius:14px;background:#fff}
.vo-table{width:100%;border-collapse:collapse;font-size:14px}
.vo-table caption{padding:12px 14px 0;text-align:left;font-weight:700;color:#002942}
.vo-table th,.vo-table td{padding:10px 14px;border-bottom:1px solid #edf2f6;text-align:left;color:#1f4460}
.vo-table th{background:#f2f8fc;font-weight:700;color:#002942}
.vo-sources{margin:0;padding-left:20px}
.vo-sources li{margin:6px 0}
.vo-checked{font-size:13px;color:#4a6377}
.vo-faq{padding-top:32px}
.vo-others{padding:24px 0 64px}
.vo-others h2{margin:0 0 20px;color:#002942}
.vo-related{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:0;padding:0;list-style:none}
.vo-related a{display:flex;flex-direction:column;gap:4px;height:100%;padding:18px;border:1px solid #d8e6f0;border-radius:16px;background:#fff;text-decoration:none;transition:border-color .15s}
.vo-related a:hover{border-color:#0764a3}
.vo-related a:focus-visible{outline:3px solid #dc9105;outline-offset:3px}
.vo-related strong{color:#002942}
.vo-related span{font-size:14px;line-height:1.5;color:#4a6377}
.vo-noscript{margin:0 0 16px;padding:14px 16px;border-radius:12px;background:#fff5e6;color:#5c3b00}
@media (max-width:1023px){.vo-layout{grid-template-columns:1fr}.vo-result{position:static}}
@media (max-width:639px){.vo-section{padding:28px 0 40px}.vo-form{padding:20px 16px;border-radius:16px}.vo-row{grid-template-columns:1fr}.vo-result{padding:22px 18px}.vo-facts{padding:18px}}

.vo-reperes{margin-top:28px}.vo-reperes .vo-facts{background:#002942}.vo-reperes .vo-facts ul{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}@media(max-width:639px){.vo-reperes .vo-facts ul{grid-template-columns:1fr}}

/* Input errors: keep the explanation next to its field and preserve focus visibility. */
.vo-field-error{margin:8px 0 0;color:#9e2525;font-size:.9rem;line-height:1.5}
.vo-form input[aria-invalid="true"]{border-color:#b42318;outline-color:#b42318}
.vo-field-error[hidden]{display:none}

/* Balance the five-option groups; on phones, the final option uses the full row. */
@media (min-width:1100px){
 .vo-form #vo-cv .vp-options,.vo-form #vo-saison .vp-options{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:639px){
 .vo-form #vo-cv .vp-option:last-child,.vo-form #vo-saison .vp-option:last-child{grid-column:1/-1}
 .vo-lines li{flex-direction:column;gap:4px;align-items:flex-start}
 .vo-lines li strong{text-align:left;overflow-wrap:anywhere}
}
