/* Charger landing pages (/fortistes/ and children). Loaded only where [vev_chargers] is used. */
.vev-chg { max-width: 1280px; margin: 0 auto; color: var(--vev-ink); }
.vev-chg h2 { margin: 2.2rem 0 .8rem; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); line-height: 1.2; }
.vev-chg h3 { margin: 1.4rem 0 .35rem; font-size: 1.1rem; line-height: 1.3; }
.vev-chg p { line-height: 1.65; }
.vev-chg__intro { max-width: 760px; font-size: 1.15rem; color: var(--vev-ink-soft); margin: 0 0 1.2rem; }
.vev-chg__actions { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; margin-bottom: 1.6rem; }
.vev-chg__btn { display: inline-block; padding: .7rem 1.2rem; border-radius: var(--vev-radius); background: var(--vev-electric-text); color: #fff !important; font-weight: 600; text-decoration: none; transition: box-shadow .2s var(--vev-ease), transform .2s var(--vev-ease); }
.vev-chg__btn:hover, .vev-chg__btn:focus-visible { box-shadow: var(--vev-shadow-elevated); transform: translateY(-1px); }
.vev-chg__link { color: var(--vev-electric-text); font-weight: 500; }
.vev-chg__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 0 0 .5rem; }
.vev-chg__stat { background: var(--vev-surface); border: 1px solid var(--vev-border); border-radius: var(--vev-radius-xl); padding: 1rem 1.2rem; box-shadow: var(--vev-shadow-soft); }
.vev-chg__stat strong { display: block; font-size: clamp(1.6rem, 1.2rem + 1.6vw, 2.4rem); line-height: 1.1; color: var(--vev-electric-text); }
.vev-chg__stat span { font-size: .9rem; color: var(--vev-ink-soft); }
.vev-chg__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border: 1px solid var(--vev-border); border-radius: var(--vev-radius-xl); background: var(--vev-surface); }
.vev-chg__table { width: 100%; border-collapse: collapse; font-size: .97rem; }
.vev-chg__table th, .vev-chg__table td { padding: .6rem .9rem; text-align: left; border-bottom: 1px solid var(--vev-border); vertical-align: middle; }
.vev-chg__table thead th { background: var(--vev-muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--vev-ink-soft); white-space: nowrap; }
.vev-chg__table tbody th { font-weight: 500; }
.vev-chg__table tbody tr:last-child > * { border-bottom: 0; }
.vev-chg__table--rows td { text-align: right; }
.vev-chg__table--rows thead th:not(:first-child) { text-align: right; }
.vev-chg__table a { color: var(--vev-electric-text); font-weight: 600; }
.vev-chg__total > * { background: var(--vev-muted); font-weight: 700 !important; }
.vev-chg__bar { display: inline-block; vertical-align: middle; width: min(180px, 40vw); height: 8px; border-radius: 4px; background: var(--vev-accent); position: relative; overflow: hidden; }
.vev-chg__bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w, 0); background: var(--vev-electric); border-radius: 4px; }
.vev-chg__pct { margin-left: .6rem; }
.vev-chg__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; }
.vev-chg__note { font-size: .9rem; color: var(--vev-ink-soft); margin: .6rem 0 0; }
.vev-chg__faq h3 { margin-top: 1.2rem; }
.vev-chg__faq p { margin: 0; max-width: 760px; }
.vev-chg__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.vev-chg__chips a { padding: .35rem .8rem; border-radius: 999px; background: var(--vev-accent); color: var(--vev-ink); text-decoration: none; font-size: .92rem; }
.vev-chg__chips a:hover, .vev-chg__chips a:focus-visible { background: var(--vev-electric-text); color: #fff; }
.vev-chg__stamp { margin-top: 2rem; font-size: .88rem; color: var(--vev-ink-soft); }
@media (max-width: 767px) {
	.vev-chg__stats { grid-template-columns: 1fr; }
	.vev-chg__cols { grid-template-columns: 1fr; }
	.vev-chg__table th, .vev-chg__table td { padding: .55rem .7rem; }
}

/* Colour: the calculator's dark "instrument" read-out for the headline counts; power classes coloured
   from slow (grey) to ultra (volt). Row order of the power table is fixed: <7, 7–22, 23–99, ≥100 kW. */
.vev-chg__stats { background: var(--vev-ink) radial-gradient(rgb(255 255 255 / .06) 1px, transparent 1.5px) 0 0 / 18px 18px; border-radius: var(--vev-radius-2xl); padding: 8px; gap: 8px; }
.vev-chg__stat { background: rgb(255 255 255 / .04); border-color: rgb(255 255 255 / .1); box-shadow: none; }
.vev-chg__stat strong { color: var(--vev-volt); letter-spacing: -.02em; }
.vev-chg__stat span { color: rgb(255 255 255 / .7); }
.vev-chg__scroll { box-shadow: var(--vev-shadow-soft); }
.vev-chg__table thead th { background: var(--vev-accent); color: var(--vev-electric-text); }
.vev-chg__bar { height: 10px; border-radius: 99px; }
.vev-chg__bar::after { border-radius: 99px; }
.vev-chg__table tr:nth-child(1) .vev-chg__bar::after { background: var(--vev-ink-soft); }
.vev-chg__table tr:nth-child(2) .vev-chg__bar::after { background: var(--vev-electric); }
.vev-chg__table tr:nth-child(3) .vev-chg__bar::after { background: var(--vev-gradient-electric); }
.vev-chg__table tr:nth-child(4) .vev-chg__bar::after { background: var(--vev-volt); }
.vev-chg__btn { background: var(--vev-gradient-electric); box-shadow: var(--vev-shadow-glow); }
.vev-chg h2 { position: relative; padding-top: .9rem; }
.vev-chg h2::before { content: ""; position: absolute; top: 0; left: 0; width: 48px; height: 4px; border-radius: 99px; background: var(--vev-gradient-electric); }
