.van { padding-top: clamp(20px, 3vw, 36px); padding-bottom: var(--section); }
.van__back { margin: 0 0 20px; }
.van__grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: start; }
.van__figure { position: sticky; top: 92px; padding: 10% 6%; aspect-ratio: 1.6 / 1; }
.van__figure img { width: 100%; height: 100%; object-fit: contain; }
.van__details h1 { font-size: var(--step-3); }
.van__details .spec { margin-bottom: 28px; }
.van__fits-title { font-size: 1.25rem; margin-bottom: 0.3em; }
.van__fits { padding-left: 1.1em; margin-bottom: 32px; color: var(--mute); }
.van__dates { border-top: 2px solid var(--ink); padding-top: 24px; }
.van__availability { font-weight: 600; margin: -6px 0 14px; min-height: 1.5em; }
.van__availability.is-bad { color: var(--red-press); }
.van__availability.is-good { color: var(--ok); }
.van__price { display: grid; gap: 6px; margin-bottom: 20px; }
.van__price:empty { display: none; }
.van__price .row { display: flex; justify-content: space-between; gap: 16px; font-variant-numeric: tabular-nums; }
.van__price .row--total { font-family: var(--font-display); font-size: 1.5rem; font-weight: 700; border-top: 1px solid var(--rule); padding-top: 8px; margin-top: 4px; }
.van__signin { margin: 12px 0 0; text-align: center; }
@media (max-width: 820px) { .van__grid { grid-template-columns: 1fr; } .van__figure { position: static; } }
