/* Vehicle record: square photo, light figures and paper ledgers. */
.vdp-hero { display:grid; grid-template-columns:1.12fr 1fr; gap:64px; padding:48px 0 80px; align-items:start; }
.vdp-hero > div { min-width:0; }
.vdp-photo-frame { aspect-ratio:1; background:var(--warm-2); border:1px solid var(--border); overflow:hidden; }
.vdp-photo img { width:100%; height:100%; object-fit:contain; }
.vdp-photo .src { margin-top:12px; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.vdp-no-photo { height:100%; display:grid; place-items:center; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--deep-sand); }
.vdp-intro h1 { font-size:clamp(36px,4vw,58px); font-weight:300; line-height:1; letter-spacing:-.045em; margin:20px 0 28px; text-wrap:initial; }
.vdp-price { font-family:var(--display); font-size:clamp(40px,4.6vw,66px); font-weight:300; line-height:1; letter-spacing:-.05em; font-variant-numeric:tabular-nums lining-nums; }
.vdp-price.na { font-family:var(--mono); font-size:14px; letter-spacing:.1em; line-height:1.5; text-transform:uppercase; }
.vdp-meta { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin:20px 0 24px; }
.vdp-meta .mono { font-size:12px; }
.vdp-fresh { font-size:13px; color:var(--ink-2); padding-bottom:24px; margin-bottom:24px; border-bottom:1px solid var(--border); }
.vdp-fresh time { line-height:2; font-size:11px; }
.vdp-fine { font-size:11px; color:var(--ink-3); margin-top:20px; }
.vdp-details { display:grid; grid-template-columns:1fr 1fr; gap:64px; border-top:1px solid var(--ink); }
.vdp-details > section { padding:64px 0 80px; min-width:0; }
.vdp-details h2 { font-size:clamp(30px,3vw,42px); margin:14px 0 28px; }
.vdp-record .r-ln { padding:4px 0; }
.vdp-record .r-v { flex:0 1 auto; max-width:65%; overflow-wrap:anywhere; line-height:1.6; }
.vdp-record .r-h { margin-bottom:12px; overflow-wrap:anywhere; }
.vdp-estimator { padding:24px; background:var(--warm-surface); border:1px solid var(--border); border-top-color:var(--ink); }
.vdp-cost-inputs { display:grid; align-items:end; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 16px; }
.vdp-cost-inputs .field { min-width:0; }
.vdp-cost-inputs .field:first-child { grid-column:1/-1; }
.vdp-cost-inputs input { min-width:0; font-family:var(--mono); background:var(--bone); }
.vdp-cost-lines { margin:24px 0 16px; border-top:1px solid var(--border); }
.vdp-cost-lines > div { display:flex; gap:16px; justify-content:space-between; padding:12px 0; font-size:13px; border-bottom:1px solid var(--border); }
.vdp-cost-lines output { font-family:var(--mono); text-align:right; }
.vdp-total { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; border-top:1px solid var(--ink); padding:24px 0; margin-top:24px; }
.vdp-total > span { font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.vdp-total small { display:inline-block; margin-top:6px; font-size:10px; letter-spacing:0; text-transform:none; }
.vdp-total output { max-width:100%; overflow-wrap:anywhere; font-family:var(--display); font-size:clamp(30px,2.8vw,40px); letter-spacing:-.04em; font-weight:300; font-variant-numeric:tabular-nums lining-nums; line-height:1.1; }
.vdp-history { margin-top:32px; padding-top:24px; border-top:1px solid var(--border); }
.vdp-history svg { width:100%; display:block; }
.vdp-history-values { display:flex; justify-content:space-between; gap:12px; margin:8px 0 16px; }
.vdp-history-values > div { display:flex; flex-direction:column; font-family:var(--mono); font-size:11px; }
.vdp-history-values > div:last-child { text-align:right; }
.vdp-history-values strong { font-size:15px; font-weight:500; }
.vdp-history-values small { color:var(--ink-3); font-size:10px; }
.vdp-dealer { margin-top:32px; padding:28px 24px; background:var(--warm-surface); border:1px solid var(--border); border-top-color:var(--ink); }
.vdp-dealer h3 { margin:16px 0; font-size:28px; font-weight:300; letter-spacing:-.03em; }
.vdp-dealer h3 a { text-decoration:none; }
.vdp-dealer p { font-size:14px; }
.vdp-phone { display:inline-block; margin-top:12px; font-size:13px; }
.vdp-dealer-link { display:inline-block; font-size:13px; margin-top:20px; text-underline-offset:4px; }
.vdp-similar { border-top:1px solid var(--ink); padding:80px 0; }
.vdp-status { margin-top:24px; }
.vdp [hidden] { display:none!important; }
.vdp-shell-loading { min-height:75vh; }
.vdp-shell-loading p { max-width:600px; }
@media(max-width:1000px) { .vdp-hero,.vdp-details { gap:36px; } }
@media(max-width:860px) {
  .vdp-hero { grid-template-columns:1fr; gap:32px; padding:24px 0 56px; }
  .vdp-intro h1 { font-size:44px; }
  .vdp-details { grid-template-columns:1fr; gap:0; }
  .vdp-details > section { padding:40px 0; }
  .vdp-cost { border-top:1px solid var(--ink); }
  .vdp-similar { padding:56px 0; }
}
@media(max-width:520px) {
  .vdp.wrap { padding:0 20px; }
  .vdp .crumbs { font-size:10px; gap:6px; }
  .vdp-intro h1 { font-size:38px; }
  .vdp-price { font-size:52px; }
  .vdp-details h2 { font-size:32px; }
  .vdp-record .receipt { font-size:11px; padding:16px 12px; }
  .vdp-record .r-ln { gap:5px; }
  .vdp-record .r-k { flex-shrink:1; }
  .vdp-record .r-v { max-width:61%; }
  .vdp-record .r-f { min-width:4px; }
  .vdp-estimator { padding:20px 16px; }
  .vdp-cost-inputs { gap:16px 12px; }
  .vdp-cost-inputs input { padding:12px; }
  .vdp-total { gap:16px; }
  .vdp-total output { font-size:36px; }
  .vdp-dealer { padding:24px 20px; }
}
