/* ═══════════════════════════════════════════════════════════════════════
   COPY 16 — "CARVAULT"  ·  White / clean · blue accent · Inter · rounded
   Loaded AFTER bloom.css. Flips every design token so all var-based views
   adopt the CarVault look. Per-page CARVAULT layouts (.cv-*, .ch-*) carry
   their own colours and are unaffected.
   ═══════════════════════════════════════════════════════════════════════ */
:root, [data-theme] {
    /* surfaces */
    --paper:#f8fafc; --paper-deep:#f1f5f9; --bg:#f1f5f9; --bg-soft:#eef2f7;
    --surface:#ffffff; --surface-raise:#f8fafc;
    --hero-dark:#0f172a; --hero-overlay:rgba(15,23,42,.6);
    /* ink */
    --ink:#0f172a; --ink-soft:#475569; --ink-mute:#64748b; --ink-faint:#94a3b8;
    --on-dark:#ffffff; --on-dark-soft:rgba(255,255,255,.8); --on-brand:#ffffff; --brand-ink:#0f172a;
    /* lines */
    --border:#e5e7eb; --border-soft:#f1f5f9; --border-dark:#cbd5e1;
    /* accent — blue primary; gold/clay mapped to blue so warm accents go blue */
    --brand:#2563eb; --brand-dark:#1d4ed8; --brand-soft:#eff6ff;
    --gold:#2563eb; --gold-dark:#1d4ed8; --gold-soft:#eff6ff;
    --sage-l:#3b82f6; --clay:#2563eb;
    /* semantic */
    --live:#dc2626; --cta:#2563eb; --won:#16a34a; --info:#2563eb;
    /* type */
    --font-display:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    --font-body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    --font-mono:'Inter',ui-monospace,monospace;
    /* rhythm */
    --radius-sm:10px; --radius:14px; --radius-lg:18px; --radius-pill:10px;
    --shadow-card:0 12px 30px -18px rgba(15,23,42,.18);
    --shadow-hover:0 18px 40px -20px rgba(15,23,42,.26);
    --ease-out:cubic-bezier(.16,1,.3,1); --ease-expo:cubic-bezier(.16,1,.3,1);
}

/* ── base ── */
html{ background:#f8fafc; }
body{ background:#f8fafc; color:var(--ink); font-family:var(--font-body); -webkit-font-smoothing:antialiased; }
h1,h2,h3,h4,h5,.font-display{ font-family:var(--font-display); letter-spacing:-.02em; color:var(--ink); font-weight:700; }
a{ color:var(--brand); } a:hover{ color:var(--brand-dark); }
/* CARVAULT link-buttons must keep readable text on hover (global a:hover would recolour them) */
.ch-btn:hover,.hw-btn:hover,.ab-btn:hover,.cva-btn:hover{ color:#fff !important; }
.hw-btn--ghost:hover,.ab-btn--ghost:hover,.ch-btn--ghost:hover{ color:#2563eb !important; }
::selection{ background:rgba(37,99,235,.16); }
:focus-visible{ outline:2px solid var(--brand); outline-offset:2px; border-radius:6px; }
::-webkit-scrollbar-thumb{ background:#cbd5e1; }

/* ── shared components → CarVault ── */
.btn-primary,.btn.btn-primary{ background:var(--brand) !important; color:#fff !important; border-color:var(--brand) !important; border-radius:10px !important; }
.btn-primary:hover{ background:var(--brand-dark) !important; }
.btn-gold,.btn.btn-gold{ background:var(--brand) !important; color:#fff !important; border-color:var(--brand) !important; border-radius:10px !important; }
.btn-gold:hover{ background:var(--brand-dark) !important; }
.btn-ghost,.btn.btn-ghost{ background:#fff !important; color:var(--brand) !important; border:1.5px solid var(--border) !important; border-radius:10px !important; }
.btn-ghost:hover{ border-color:var(--brand) !important; color:var(--brand) !important; background:#eff6ff !important; }
.btn-ghost-ink,.btn-ghost-light{ border-radius:10px !important; }
.btn{ border-radius:10px !important; }
.card{ background:var(--surface); border:1px solid var(--border); border-radius:14px; box-shadow:none; }
.pill,.pill-gold,.pill-live,.pill-soon,.pill-closed,.pill-outline{ border-radius:999px !important; }
.pill-gold{ background:#eff6ff !important; color:var(--brand) !important; }
input,select,textarea{ border-radius:10px !important; }
input:focus,select:focus,textarea:focus{ border-color:var(--brand) !important; box-shadow:0 0 0 3px rgba(37,99,235,.12) !important; }
.eyebrow,.index-label,.italic-wonk{ color:var(--brand); }
.italic-wonk{ font-style:normal !important; font-variation-settings:normal !important; }

/* preloader dot + accents → blue (bloom-boot uses brand vars, already flips) */

/* ═══ auth (login / register) ═══ */
.cva{ display:flex; align-items:center; justify-content:center; min-height:calc(100vh - 64px); padding:2.5rem 1.25rem; }
.cva-card{ display:grid; grid-template-columns:1fr; width:100%; max-width:460px; background:#fff; border:1px solid #e5e7eb; border-radius:20px; overflow:hidden; box-shadow:0 30px 60px -35px rgba(15,23,42,.35); }
@media(min-width:820px){ .cva-card{ grid-template-columns:.9fr 1.1fr; max-width:900px; } .cva-card--wide{ grid-template-columns:.75fr 1.25fr; } }
.cva-side{ position:relative; overflow:hidden; background:linear-gradient(160deg,#2563eb,#1e3a8a); color:#fff; padding:2.6rem; display:none; flex-direction:column; justify-content:space-between; gap:2rem; }
@media(min-width:820px){ .cva-side{ display:flex; } }
.cva-side__blob{ position:absolute; width:360px; height:360px; border-radius:50%; background:radial-gradient(circle,rgba(255,255,255,.18),transparent 66%); top:-150px; right:-130px; }
.cva-eyebrow{ position:relative; color:rgba(255,255,255,.82); font-size:.74rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.cva-side h2{ position:relative; font-size:1.75rem; font-weight:800; line-height:1.15; margin:.85rem 0 0; color:#fff; letter-spacing:-.02em; }
.cva-side p{ position:relative; color:rgba(255,255,255,.85); font-size:.95rem; line-height:1.6; margin:.85rem 0 0; }
.cva-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.75rem; position:relative; }
.cva-list li{ display:flex; align-items:center; gap:.6rem; font-size:.9rem; color:rgba(255,255,255,.94); }
.cva-list li b{ display:grid; place-items:center; width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,.22); font-size:.72rem; flex:none; }
.cva-form{ padding:clamp(2rem,4vw,2.8rem); }
.cva-form h1{ font-size:1.7rem; font-weight:800; color:#0f172a; margin:0; letter-spacing:-.02em; }
.cva-sub{ color:#64748b; font-size:.92rem; margin:.4rem 0 1.6rem; }
.cva-badge{ display:inline-flex; align-items:center; gap:.4rem; font-size:.72rem; font-weight:700; color:#2563eb; background:#eff6ff; border-radius:999px; padding:.35rem .8rem; margin-bottom:.9rem; } .cva-badge .d{ width:6px; height:6px; border-radius:50%; background:#2563eb; }
.cva-fld{ margin-bottom:1.1rem; } .cva-fld label{ display:block; font-size:.82rem; font-weight:600; color:#0f172a; margin-bottom:.4rem; }
.cva-fld input,.cva-fld select{ width:100%; border:1.5px solid #e5e7eb; border-radius:10px; padding:.75rem .9rem; font-size:.95rem; color:#0f172a; outline:0; background:#fff; }
.cva-fld input:focus,.cva-fld select:focus{ border-color:#2563eb; box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.cva-err{ color:#dc2626; font-size:.8rem; margin:.35rem 0 0; }
.cva-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.3rem; font-size:.85rem; }
.cva-check{ display:inline-flex; align-items:center; gap:.45rem; color:#475569; cursor:pointer; } .cva-check input{ width:16px; height:16px; accent-color:#2563eb; }
.cva-link{ color:#2563eb; text-decoration:none; font-weight:600; } .cva-link:hover{ text-decoration:underline; }
.cva-btn{ display:flex; align-items:center; justify-content:center; width:100%; background:#2563eb; color:#fff; border:0; border-radius:10px; padding:.85rem; font-size:.95rem; font-weight:600; cursor:pointer; text-decoration:none; } .cva-btn:hover{ background:#1d4ed8; }
.cva-foot{ text-align:center; margin-top:1.4rem; font-size:.88rem; color:#64748b; }
.cva-grid2{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; } @media(max-width:520px){ .cva-grid2{ grid-template-columns:1fr; } } .cva-grid2 .c2{ grid-column:1/-1; }
.cva-acct{ display:flex; gap:.7rem; align-items:flex-start; border-radius:12px; padding:1rem; cursor:pointer; margin-bottom:1.2rem; } .cva-acct input{ margin-top:.15rem; width:18px; height:18px; accent-color:#2563eb; }
.cva-acct b{ display:block; font-size:.9rem; color:#0f172a; } .cva-acct span{ font-size:.82rem; color:#64748b; }
.cva-note{ background:#eff6ff; border-radius:10px; padding:.9rem 1.1rem; margin-bottom:1.1rem; } .cva-note b{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:#2563eb; margin-bottom:.2rem; } .cva-note p{ font-size:.85rem; color:#475569; margin:0; }
.cva-terms{ font-size:.78rem; color:#64748b; margin:0 0 1.2rem; } .cva-terms a{ color:#2563eb; }
[x-cloak]{ display:none !important; }
