/* VoltVault checkout, 2026-10-23 (YY t_f1e70a44; shorter Card path YY t_e6f2f2e6; 2026-10-24 address form for every order YY t_472abab7). One stylesheet for /checkout, scoped to .vvco.
   Replaces the checkout parts of the inline <style> blob plus checkout-ux.20261009b.css,
   checkout-owner-change.20261014a.css, checkout-picker.20261009.css and vv-pay.20261022d.css.
   Mobile-first (390 px), light and dark through the site tokens (--bg, --panel, --line, --text, --muted,
   --accent, --v4-ink) that styles.*.css switches on html[data-theme]. Header/footer stay on the global styles. */

.vvco { padding-top: clamp(16px, 3vw, 32px); padding-bottom: 56px; color: var(--text); }
.vvco [hidden] { display: none !important; }
.vvco *, .vvco *::before, .vvco *::after { box-sizing: border-box; }
.vvco :focus-visible { outline: 2px solid var(--accent, #0066cc); outline-offset: 2px; }
.vvco a:not(.vvco-btn) { color: var(--accent, #0066cc); text-decoration: underline; text-decoration-color: currentColor; text-underline-offset: 3px; }
.vvco-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- head + step tracker ---------- */
.vvco-head { display: grid; gap: 16px; margin: 0 0 20px; }
.vvco-eyebrow { margin: 0; font-size: 13px; font-weight: 500; color: var(--muted); }
.vvco h1 { margin: 2px 0 8px; font-size: clamp(28px, 7vw, 40px); line-height: 1.08; }
.vvco-lede { margin: 0; max-width: 62ch; font-size: 15px; color: var(--muted); }
.vvco-track { display: flex; gap: 8px; margin: 0; padding: 0; list-style: none; }
.vvco-track li { flex: 1 1 0; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; align-items: center; padding: 9px 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); font-size: 14px; line-height: 1.25; }
.vvco-dot { grid-row: span 2; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; border: 1.5px solid var(--line-2); font-size: 13px; font-weight: 600; color: var(--muted); }
.vvco-track-name { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vvco-track-state { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.vvco-track li.is-current { border-color: var(--text); }
.vvco-track li.is-current .vvco-dot { background: var(--v4-ink, #1d1d1f); border-color: var(--v4-ink, #1d1d1f); color: var(--v4-ink-fg, #fff); }
.vvco-track li.is-complete .vvco-dot { border-color: var(--text); color: var(--text); font-size: 0; }
.vvco-track li.is-complete .vvco-dot::after { content: "✓"; font-size: 14px; }
@media (min-width: 900px) {
  .vvco-head { grid-template-columns: minmax(0, 1fr) minmax(360px, 440px); align-items: end; }
}
/* Narrow phones: the dot shows the state (filled = current, check = complete, outline = next), so the state words
   stay for screen readers only and the step names fit without truncation. */
@media (max-width: 479px) {
  .vvco-track { gap: 6px; }
  .vvco-track li { padding: 8px; column-gap: 6px; }
  .vvco-dot { grid-row: auto; width: 24px; height: 24px; }
  .vvco-track-state { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

/* ---------- layout ---------- */
.vvco-grid { display: grid; gap: 20px; }
@media (min-width: 960px) {
  .vvco-grid { grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; align-items: start; }
  .vvco-summary { position: sticky; top: 88px; }
}

/* ---------- steps (accordion) ---------- */
.vvco-step { margin: 0 0 12px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); scroll-margin-top: 80px; }
.vvco-step.is-open { border-color: var(--line-2); box-shadow: var(--shadow, none); }
.vvco-step-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.vvco-step h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 20px; line-height: 1.2; font-weight: 600; letter-spacing: -.01em; }
.vvco-step h2:focus { outline: none; }
.vvco-num { flex: none; width: 28px; height: 28px; border-radius: 50%; display: inline-grid; place-items: center; border: 1px solid var(--line-2); background: var(--panel-2); font-size: 14px; }
.vvco-step.is-open .vvco-num { background: var(--v4-ink, #1d1d1f); border-color: var(--v4-ink, #1d1d1f); color: var(--v4-ink-fg, #fff); }
.vvco-step:not(.is-open) .vvco-step-body { display: none; }
.vvco-step-body { margin-top: 14px; }
.vvco-recap { margin: 8px 0 0 38px; font-size: 14px; color: var(--muted); overflow-wrap: anywhere; }
.vvco-edit { flex: none; min-height: 36px; padding: 6px 14px; border: 1px solid var(--line-2); border-radius: 999px; background: transparent; color: var(--text); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.vvco-sub { margin: 0 0 12px; font-size: 15px; color: var(--muted); }

/* ---------- buttons ---------- */
.vvco-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; border-radius: 999px; font: inherit; font-size: 16px; font-weight: 600; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer; }
.vvco-btn--primary { width: 100%; background: var(--v4-ink, #1d1d1f); border-color: var(--v4-ink, #1d1d1f); color: var(--v4-ink-fg, #fff); }
.vvco-btn--primary:hover { opacity: .9; }
.vvco-btn--quiet { background: transparent; border-color: var(--line-2); color: var(--text); }
.vvco-btn--quiet:hover { border-color: var(--text); }
.vvco-btn:disabled, .vvco-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }
.vvco-btn--pay { margin: 4px 0 0; min-height: 56px; font-size: 17px; }
.vvco-btn[aria-busy="true"] { opacity: .75; }
.vvco-next { margin-top: 16px; }
.vvco-link { padding: 0; border: 0; background: none; color: var(--accent, #0066cc); font: inherit; text-decoration: underline; text-underline-offset: 3px; text-align: left; cursor: pointer; }

/* ---------- cart lines + costs ---------- */
.vvco-empty { padding: 20px 8px; text-align: center; }
.vvco-empty h3 { margin: 0 0 6px; font-size: 18px; }
.vvco-empty p { margin: 0 0 14px; color: var(--muted); }
.vvco-line { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.vvco-line-name { display: block; font-size: 16px; font-weight: 600; line-height: 1.3; }
.vvco-line-meta { display: block; margin-top: 2px; font-size: 13px; color: var(--muted); }
.vvco-line-meta span { margin-right: 6px; font-weight: 600; color: var(--text); }
.vvco-qty { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.vvco-qty [data-inc], .vvco-qty [data-dec] { width: 40px; height: 40px; border: 1px solid var(--line-2); border-radius: 50%; background: transparent; color: var(--text); font: inherit; font-size: 18px; line-height: 1; cursor: pointer; }
.vvco-qty > span { min-width: 24px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }
.vvco-rm { min-height: 40px; margin-left: 6px; padding: 0 4px; border: 0; background: none; color: var(--muted); font: inherit; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.vvco-line-price { display: grid; align-content: start; gap: 2px; text-align: right; }
.vvco-line-price b { font-size: 16px; font-variant-numeric: tabular-nums; }
.vvco-line-price span { font-size: 13px; color: var(--muted); }
.vvco-costs { display: grid; gap: 6px; padding-top: 12px; font-size: 14.5px; }
.vvco-costs > div { display: flex; justify-content: space-between; gap: 12px; }
.vvco-costs i { font-style: normal; font-size: 12.5px; color: var(--muted); }
.vvco-free { font-weight: 600; color: #1a7f37; }
.vvco-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line-2); font-size: 17px; font-weight: 600; }
.vvco-total b { font-size: 22px; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.vvco-fx { margin: 4px 0 0; font-size: 12.5px; color: var(--muted); }

/* ---------- delivery form ---------- */
.vvco-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vvco-field { display: grid; gap: 6px; grid-column: 1 / -1; font-size: 14px; align-content: start; } /* t_472abab7: a field next to one with a hint keeps its normal height and top edge */
.vvco-field > span { font-weight: 600; }
.vvco-field i { font-style: normal; font-weight: 400; color: var(--muted); }
.vvco-hint { font-size: 13px; color: var(--muted); }
.vvco-field input, .vvco-field select, .vvco-field textarea, .vvco-share input, .vvco-legacy textarea { width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--bg); color: var(--text); font: inherit; font-size: 16px; }
.vvco-field textarea { min-height: 84px; }
.vvco-field input:focus, .vvco-field select:focus, .vvco-field textarea:focus { border-color: var(--accent, #0066cc); outline: none; box-shadow: 0 0 0 3px rgb(var(--accent-rgb, 0 102 204) / .18); }
.vvco-field input::placeholder, .vvco-field textarea::placeholder { color: var(--dim); }
.vvco-field .is-bad { border-color: #d70015; }
@media (min-width: 560px) { .vvco-half { grid-column: span 1; } }
.vvco-check { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; cursor: pointer; }
.vvco-check input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--accent, #0066cc); }
.vvco-more { margin-top: 12px; padding: 0 14px; border: 1px solid var(--line); border-radius: 12px; }
.vvco-more > summary { padding: 12px 0; font-size: 15px; font-weight: 600; cursor: pointer; }
.vvco-more[open] { padding-bottom: 14px; }
.vvco-more > :not(summary) + :not(summary) { margin-top: 10px; }
.vvco-intl, .vvco-eta { margin-top: 12px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); font-size: 14px; }
.vvco-intl p, .vvco-eta p { margin: 0 0 8px; }
.vvco-intl p:last-child, .vvco-eta p:last-child { margin-bottom: 0; }
.vvco-eta ul { margin: 0 0 6px; padding-left: 18px; font-size: 13.5px; }

/* ---------- payment: two equal methods ---------- */
.vvco-methods { display: grid; gap: 10px; margin: 0 0 12px; }
/* Shamil 2026-10-23 11:00Z: Card first, pre-selected and most prominent; Crypto clearly available as the second option. */
.vvco-method[data-method="card"] { padding: 20px 48px 20px 18px; }
.vvco-method[data-method="card"] .vvco-method-ic { width: 48px; height: 48px; border-radius: 12px; }
.vvco-method[data-method="card"] .vvco-method-ic svg { width: 28px; height: 28px; }
.vvco-method[data-method="card"] .vvco-method-txt b { font-size: 19px; }
.vvco-method[data-method="card"] .vvco-method-txt > span { font-size: 15.5px; font-weight: 600; color: var(--text); }
.vvco-method[data-method="card"]::after { top: 22px; right: 18px; }
.vvco-method[data-method="crypto"] { padding: 12px 44px 12px 14px; gap: 10px; }
.vvco-method[data-method="crypto"] .vvco-method-ic { width: 34px; height: 34px; }
.vvco-method[data-method="crypto"] .vvco-method-ic svg { width: 20px; height: 20px; }
.vvco-method[data-method="crypto"] .vvco-method-txt b { font-size: 16px; }
.vvco-method[data-method="crypto"] .vvco-method-txt > span { font-size: 14px; }
.vvco-method[data-method="crypto"]::after { top: 13px; right: 14px; }
.vvco-methods-or { margin: 2px 2px 0; font-size: 13px; color: var(--muted); }
.vvco-method { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; padding: 16px 44px 16px 16px; border: 1.5px solid var(--line-2); border-radius: 14px; background: var(--bg); cursor: pointer; }
.vvco-method input { position: absolute; opacity: 0; pointer-events: none; }
.vvco-method::after { content: ""; position: absolute; top: 16px; right: 16px; width: 20px; height: 20px; border: 1.5px solid var(--line-2); border-radius: 50%; }
.vvco-method.is-on, .vvco-method:has(input:checked) { border-color: var(--accent, #0066cc); box-shadow: inset 0 0 0 1px var(--accent, #0066cc); background: rgb(var(--accent-rgb, 0 102 204) / .06); }
.vvco-method.is-on::after, .vvco-method:has(input:checked)::after { border: 6px solid var(--accent, #0066cc); }
.vvco-method:focus-within { outline: 2px solid var(--accent, #0066cc); outline-offset: 2px; }
.vvco-method-ic { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 10px; background: var(--panel-2); }
.vvco-method-ic svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.vvco-method-txt { display: grid; gap: 2px; }
.vvco-method-txt b { font-size: 17px; }
.vvco-method-txt > span { font-size: 14.5px; }
.vvco-method-txt small { font-size: 13px; line-height: 1.4; color: var(--muted); }
.vvco-pane { margin: 4px 0 0; }
.vvco-route { margin-bottom: 4px; }
.vvco-next-list { display: grid; gap: 10px; margin: 12px 0 0; padding: 0; list-style: none; counter-reset: vvco; }
.vvco-next-list li { position: relative; display: block; min-height: 24px; padding-left: 36px; font-size: 14.5px; line-height: 1.5; counter-increment: vvco; } /* block, not grid: the bold lead and its sentence are separate nodes */
.vvco-next-list li::before { content: counter(vvco); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border: 1px solid var(--line-2); border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 600; color: var(--muted); }

/* ---------- payment: ready panels ---------- */
.vvco-paybox { display: grid; gap: 12px; padding: 16px; border: 1px solid var(--line-2); border-radius: 14px; background: var(--bg); }
.vvco-paybox-k { margin: 0; font-size: 14px; color: var(--muted); overflow-wrap: anywhere; }
.vvco-paybox-k b { color: var(--text); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13.5px; }
.vvco-paybox-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; }
.vvco-paybox-total span { font-size: 15px; }
.vvco-paybox-total b { font-size: 28px; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.vvco-kv { display: grid; gap: 6px; }
.vvco-k { font-size: 13px; font-weight: 600; color: var(--muted); }
.vvco-v { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.vvco-v output { font-size: 24px; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.vvco-v code { flex: 1 1 100%; padding: 9px 10px; border-radius: 8px; background: var(--panel-2); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; line-height: 1.4; word-break: break-all; }
.vvco-copy { min-height: 40px; padding: 8px 14px; border: 1px solid var(--line-2); border-radius: 999px; background: transparent; color: var(--text); font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.vvco-copy:disabled { opacity: .45; cursor: not-allowed; }
.vvco-copy.is-ok { border-color: #1a7f37; color: #1a7f37; }
.vvco-warn { margin: 0; padding: 8px 10px; border-left: 3px solid var(--accent, #0066cc); border-radius: 6px; background: rgb(var(--accent-rgb, 0 102 204) / .08); font-size: 13.5px; }
.vvco-walletlinks { display: flex; flex-wrap: wrap; gap: 8px; }
.vvco-walletlinks .vvco-btn { min-height: 44px; font-size: 15px; }
.vvco-qrbox > summary { font-size: 14px; font-weight: 600; cursor: pointer; }
.vvco-qrwrap { display: grid; justify-items: center; gap: 8px; margin-top: 10px; }
.vvco-qr { width: 208px; max-width: 70vw; padding: 8px; border-radius: 12px; background: #fff; color: #000; }
.vvco-qr svg { display: block; width: 100%; height: auto; }
.vvco-saving { margin: 0 0 10px; font-size: 14px; color: var(--muted); }
.vvco-confirm { display: grid; gap: 10px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.vvco-confirm h3 { margin: 0; font-size: 17px; }
.vvco-confirm .vvco-fine { margin: 0; }
.vvco-status { display: grid; gap: 4px; margin: 0 0 10px; padding: 12px 14px; border: 1px solid var(--line-2); border-left-width: 4px; border-radius: 12px; background: var(--panel-2); font-size: 14.5px; }
.vvco-status.is-wait { border-left-color: var(--accent, #0066cc); }
.vvco-status.is-ok { border-color: #1a7f37; }
.vvco-status.is-bad { border-color: #d70015; }
.vvco-returned .vvco-link, [data-crypto-view="status"] .vvco-link { margin-top: 10px; }
[data-crypto-view="status"] .vvco-btn--primary { margin-top: 10px; }

/* ---------- notices ---------- */
.vvco-fine { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
.vvco-note, .vvco-ok, .vvco-err, .vvco-alert, .vvco-legacy { margin: 0 0 12px; padding: 10px 12px; border: 1px solid; border-radius: 10px; font-size: 14px; color: var(--text); }
.vvco-note { border-color: rgb(var(--accent-rgb, 0 102 204) / .4); background: rgb(var(--accent-rgb, 0 102 204) / .07); }
.vvco-ok { margin-top: 12px; border-color: rgba(26, 127, 55, .45); background: rgba(26, 127, 55, .07); }
.vvco-err, .vvco-alert { border-color: #d70015; background: rgba(215, 0, 21, .05); }
.vvco-err details, .vvco-alert details { margin-top: 8px; }
.vvco-err textarea { width: 100%; margin-top: 6px; }
.vvco-legacy { border-color: #d70015; }
.vvco-legacy p { margin: 0 0 8px; }
.vvco-backup { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.vvco-backup .vvco-fine { flex-basis: 100%; margin: 0; }
.vvco-backup .vvco-btn { min-height: 44px; font-size: 15px; }
.vvco-share { margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; font-size: 14px; }
.vvco-share p { margin: 0 0 8px; }
.vvco-share-btns { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.vvco-share-btns .vvco-btn { min-height: 40px; padding: 8px 14px; font-size: 14px; }
.vvco-help { margin: 14px 0 0; font-size: 14px; }

/* ---------- summary ---------- */
.vvco-card { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); }
.vvco-card h2 { margin: 0 0 8px; font-size: 18px; font-weight: 600; }
.vvco-sline { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; font-size: 14.5px; }
.vvco-sline i { font-style: normal; color: var(--muted); }
.vvco-sum-saved { margin: 12px 0 0; padding: 8px 10px; border-radius: 10px; background: var(--panel-2); font-size: 14px; overflow-wrap: anywhere; }
.vvco-plan { margin: 14px 2px 0; }
.vvco-trust { display: grid; gap: 12px; margin: 16px 0 0; padding: 0 2px; list-style: none; }
.vvco-trust li { display: grid; gap: 2px; font-size: 14px; }
.vvco-trust span { font-size: 13.5px; color: var(--muted); }
.vvco-links { margin: 14px 2px 0; }
@media (max-width: 959px) {
  .vvco-card { display: none; } /* the Cart step carries the items and totals on phones and tablets */
}

/* ---------- mobile sticky bar (class checkout-mobile-bar keeps vv-chat's launcher clear of it) ---------- */
.vvco-bar { display: none; }
@media (max-width: 959px) {
  .vvco-bar:not([hidden]) { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; display: flex; align-items: center; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: var(--bg); }
  .vvco-bar-total { display: grid; margin: 0; font-size: 12px; line-height: 1.2; color: var(--muted); }
  .vvco-bar-total b { font-size: 17px; color: var(--text); font-variant-numeric: tabular-nums; }
  .vvco-bar .vvco-btn { flex: 1 1 auto; width: auto; min-height: 48px; padding: 10px 14px; font-size: 15px; }
  body.vvco-has-bar { padding-bottom: 76px; }
  html:has(body.vvco-has-bar) { scroll-padding-bottom: 96px; }
}

/* ---------- dark theme adjustments (tokens already switch) ---------- */
html[data-theme="dark"] .vvco-free, html[data-theme="dark"] .vvco-copy.is-ok { color: #3fb950; border-color: #3fb950; }
html[data-theme="dark"] .vvco-free { border: 0; }
html[data-theme="dark"] .vvco-ok { border-color: rgba(63, 185, 80, .5); background: rgba(63, 185, 80, .1); }
html[data-theme="dark"] .vvco-err, html[data-theme="dark"] .vvco-alert, html[data-theme="dark"] .vvco-legacy { border-color: #ff6b5a; background: rgba(255, 107, 90, .08); }
html[data-theme="dark"] .vvco-status.is-ok { border-color: #3fb950; }
html[data-theme="dark"] .vvco-status.is-bad, html[data-theme="dark"] .vvco-field .is-bad { border-color: #ff6b5a; }
html[data-theme="dark"] .vvco-method-ic { background: var(--panel-3, #1c1c1f); }

@media (prefers-reduced-motion: reduce) { .vvco * { transition: none !important; scroll-behavior: auto !important; } }
@media print { .vvco-bar, .vvco-legacy button, .vvco-edit { display: none !important; } .vvco-step .vvco-step-body { display: block !important; } }
.vvco-btn--pay.vvco-arming { pointer-events: none; }

/* ---------- shorter Card path (t_e6f2f2e6): email + country, then PayPal collects delivery ---------- */
.vvco-form[data-mode="card"] .vvco-half { grid-column: 1 / -1; }
.vvco-cardnote { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--panel); font-size: 14px; line-height: 1.5; }
.vvco-cardnote p { margin: 0 0 6px; }
.vvco-cardnote p:last-child { margin: 0; }
.vvco-cardnote .vvco-link { font-size: inherit; }
.vvco-advnote { margin: 12px 0 0; }
.vvco-review { margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--bg); }
.vvco-review-h { margin: 0 0 4px; font-size: 13px; font-weight: 600; color: var(--muted); }
.vvco-rv-line { display: flex; justify-content: space-between; gap: 12px; padding: 4px 0; font-size: 14.5px; }
.vvco-rv-line > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.vvco-rv-line > span:last-child { flex: none; font-variant-numeric: tabular-nums; }
.vvco-rv-line i { font-style: normal; color: var(--muted); }
.vvco-rv-total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--line); font-size: 15px; }
.vvco-rv-total b { font-size: 20px; font-weight: 700; letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.vvco-pane [data-card-err] { margin: 12px 0 0; }
.vvco-ppfallback { margin: 10px 0 0; }
.vvco-next.vvco-btn--pay { min-height: 56px; font-size: 17px; }
.vvco-next[aria-busy="true"] { cursor: progress; }
.vvco-card-steps { margin: 18px 0 6px; }
