/* Opt-in components: cg-* classes avoid changing existing EV pages. */
.cg-section { padding-block: clamp(32px, 5vw, 72px); }
.cg-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; flex-wrap:wrap; margin-bottom:24px; }
.cg-section-heading__copy { max-width:740px; }
.cg-section-heading__eyebrow { display:block; color:var(--cg-accent); font-size:12px; font-weight:700; letter-spacing:.12em; margin-bottom:10px; text-transform:uppercase; }
.cg-section-heading__title { font:800 clamp(26px,3vw,42px)/1.14 var(--cg-font-heading); margin:0; color:var(--cg-text); }
.cg-section-heading__description { color:var(--cg-muted); margin:12px 0 0; }
.cg-card { background:var(--cg-surface); border:1px solid var(--cg-border); border-radius:var(--cg-radius-md); padding:clamp(16px,2vw,28px); }
.cg-card--interactive { transition:transform var(--cg-duration-normal) var(--cg-ease),border-color var(--cg-duration-normal) var(--cg-ease),box-shadow var(--cg-duration-normal) var(--cg-ease); }
.cg-card--interactive:hover { transform:translateY(-3px); border-color:var(--cg-accent); box-shadow:0 12px 32px #0003; }
.cg-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:clamp(20px,4vw,56px); padding-block:clamp(32px,6vw,80px); }
.cg-hero__title { font:800 clamp(36px,5vw,68px)/1.08 var(--cg-font-heading); letter-spacing:-.04em; margin:0 0 18px; }
.cg-hero__description { color:var(--cg-muted); max-width:620px; font-size:clamp(16px,1.6vw,19px); }
.cg-hero__media img { width:100%; height:auto; object-fit:contain; }
.cg-cta { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px; padding:clamp(24px,4vw,48px); background:linear-gradient(130deg,#11382b,var(--cg-surface)); border:1px solid var(--cg-border); border-radius:var(--cg-radius-lg); }
.cg-cta__content { max-width:670px; }
.cg-cta__title { margin:0 0 8px; }
.cg-cta__description { margin:0; color:var(--cg-muted); }
.cg-field { display:grid; gap:8px; }
.cg-field__label { font-weight:650; }
.cg-field__control { width:100%; min-height:46px; padding:12px 14px; color:var(--cg-text); background:var(--cg-surface); border:1px solid var(--cg-border); border-radius:var(--cg-radius-sm); font:inherit; }
.cg-field__control:focus-visible { outline:2px solid var(--cg-accent); outline-offset:2px; }
.cg-stack { display:grid; gap:var(--cg-space-4); }
.cg-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:var(--cg-space-6); }
@media(max-width:760px) { .cg-hero { grid-template-columns:1fr; } .cg-cta { align-items:stretch; } }
@media(prefers-reduced-motion:reduce) { .cg-card--interactive { transition:none; } .cg-card--interactive:hover { transform:none; } }

/* Opt-in blocks for approved calculator, wizard, comparison and directory designs. */
.cg-result-panel { padding:clamp(20px,3vw,36px);border:1px solid var(--cg-border);border-radius:var(--cg-radius-lg);background:linear-gradient(135deg,var(--cg-surface),#103027); }
.cg-result-panel__title {margin:0 0 16px;color:var(--cg-text);}
.cg-step-progress {display:grid;gap:10px;}
.cg-step-progress__meta {display:flex;justify-content:space-between;gap:12px;color:var(--cg-muted);font-size:13px;}
.cg-step-progress__meta strong {color:var(--cg-text);}
.cg-step-progress progress {display:block;width:100%;height:8px;border:0;border-radius:999px;overflow:hidden;accent-color:var(--cg-accent);}
.cg-step-progress progress::-webkit-progress-bar {background:var(--cg-surface-raised);}
.cg-step-progress progress::-webkit-progress-value {background:var(--cg-accent);border-radius:999px;}
.cg-empty-state {padding:clamp(24px,4vw,50px);border:1px dashed var(--cg-border);border-radius:var(--cg-radius-lg);text-align:center;background:var(--cg-surface);}
.cg-empty-state p {color:var(--cg-muted);max-width:540px;margin:12px auto 24px;}
.cg-choice-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;}
.cg-choice {position:relative;display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--cg-border);border-radius:var(--cg-radius-md);background:var(--cg-surface);cursor:pointer;transition:border-color var(--cg-duration-normal),background var(--cg-duration-normal);}
.cg-choice:has(input:checked) {border-color:var(--cg-accent);background:#123629;}
.cg-choice:focus-within {outline:2px solid var(--cg-accent);outline-offset:2px;}
.cg-choice input {accent-color:var(--cg-accent);}
.cg-comparison-scroll {overflow-x:auto;max-width:100%;scrollbar-width:thin;}
.cg-stat-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));gap:16px;}
.cg-stat {padding:18px;border:1px solid var(--cg-border);border-radius:var(--cg-radius-md);background:var(--cg-surface);}
.cg-stat__label {display:block;font-size:13px;color:var(--cg-muted);}
.cg-stat__value {display:block;font:750 clamp(20px,2.5vw,30px)/1.25 var(--cg-font-heading);color:var(--cg-accent);margin-top:8px;}
@media(prefers-reduced-motion:reduce){.cg-choice{transition:none;}}

/* Find Your EV — isolated redesign; no impact on other page layouts. */
.cg-wizard-shell {max-width:1060px;margin:28px auto 70px;}
.cg-wizard-intro{text-align:center;max-width:780px;margin:0 auto 32px}
.cg-wizard-intro .eyebrow{justify-content:center}
.cg-wizard-intro h2{font-size:clamp(30px,4vw,50px);line-height:1.15;margin:8px 0 16px}
.cg-wizard-intro p{color:var(--cg-muted);font-size:17px}
.ev-guide .cg-wizard.panel{padding:clamp(24px,4vw,52px);border:1px solid #31584b;background:radial-gradient(circle at 92% 0%,#134c3b60,transparent 38%),linear-gradient(130deg,#10221f,#0a181a);border-radius:22px;box-shadow:0 24px 75px #0004}
.cg-wizard-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:12px}
.cg-wizard-top .quiz-progress{font-weight:750;color:var(--cg-accent);margin:0}
.cg-wizard-counter{font-size:11px;letter-spacing:.16em;color:var(--cg-muted)}
.cg-wizard-progress{width:100%;height:8px;accent-color:var(--cg-accent);border:0;display:block;margin:0 0 38px;border-radius:100px;overflow:hidden}
.cg-wizard-progress::-webkit-progress-bar{background:#263b38}
.cg-wizard-progress::-webkit-progress-value{background:var(--cg-accent);border-radius:100px}
.ev-guide .cg-wizard-step{border:0;padding:0;margin:0;min-width:0}
.cg-wizard-step legend{font:750 clamp(23px,3vw,35px)/1.22 var(--cg-font-heading);color:var(--cg-text);padding:0;width:100%}
.cg-wizard-step-number{display:block;color:var(--cg-accent);font:700 12px/1.6 var(--cg-font-body);letter-spacing:.16em;margin-bottom:10px}
.cg-wizard-help{color:var(--cg-muted);margin:12px 0 24px}
.cg-wizard-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0;pointer-events:none}
.cg-wizard-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cg-wizard-choice{width:100%;min-height:88px;display:flex;align-items:center;text-align:left;gap:16px;padding:20px;border:1px solid #355048;border-radius:15px;background:#112422;color:var(--cg-text);font:650 15px/1.4 var(--cg-font-body);transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.cg-wizard-choice:hover{border-color:#64cba3;transform:translateY(-2px)}
.cg-wizard-choice[aria-pressed=true]{background:#124638;border-color:var(--cg-accent);box-shadow:inset 0 0 0 1px #18eab550,0 0 24px #12d89c12}
.cg-wizard-choice-icon{flex:none;width:40px;height:40px;display:grid;place-items:center;background:#203e34;border-radius:12px;color:var(--cg-accent);font-weight:800;font-size:12px}
.cg-wizard-check{margin-left:auto;color:var(--cg-accent);opacity:0;font-size:22px}
.cg-wizard-choice[aria-pressed=true] .cg-wizard-check{opacity:1}
.cg-budget-control{max-width:530px}
.cg-budget-control label{display:block;font-weight:650;margin-bottom:10px}
.cg-budget-input{display:flex;align-items:center;gap:16px;border:1px solid #557265;border-radius:14px;background:#0a1c19;padding:0 20px}
.cg-budget-input span{font-weight:750;color:var(--cg-accent)}
.cg-budget-input input{flex:1;width:100%;min-width:0;background:transparent;border:0;color:white;font-size:26px;font-weight:750;padding:16px 0;outline:none}
.cg-wizard-budget-presets{display:flex;flex-wrap:wrap;gap:10px}
.cg-wizard-budget-presets button{border:1px solid #395449;padding:11px 17px;border-radius:100px;background:#152a25;color:var(--cg-text)}
.cg-wizard-budget-presets button:hover,.cg-wizard-budget-presets button[aria-pressed=true]{border-color:var(--cg-accent);background:#174635;color:var(--cg-accent)}
.cg-wizard-footer{display:flex;align-items:center;gap:12px;margin-top:36px;padding-top:24px;border-top:1px solid #31463f;flex-wrap:wrap}
.cg-wizard-flex{flex:1}
.cg-wizard-restart{font-size:13px;color:var(--cg-muted);text-decoration:underline;text-underline-offset:4px}
.cg-wizard-note{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;color:var(--cg-muted);font-size:13px}
.cg-wizard-note span{padding:8px 0}
@media(max-width:680px){.cg-wizard-choices{grid-template-columns:1fr}.cg-wizard-choice{min-height:74px;padding:14px}.cg-wizard-top{align-items:flex-start}.cg-wizard-counter{display:none}.cg-wizard-footer .btn{flex:1}.cg-wizard-restart{width:100%;text-align:center;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.cg-wizard-choice{transition:none}.cg-wizard-choice:hover{transform:none}}
