/* Shared vehicle selection and browser-only Garage state. Brand colours come from styles.css. */
.vp-current{display:grid;gap:5px;margin:16px 0;padding:14px 16px;border-left:3px solid var(--accent);background:var(--surface-2);color:var(--text-1);overflow-wrap:anywhere}
.vp-current[hidden]{display:none}
.vp-current-kicker{font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-2)}
.vp-current strong{font-size:1rem;line-height:1.5}
.vp-current-scope{font-size:.8rem;color:var(--text-2)}
.vp-year-help{font-size:.78rem;line-height:1.6;color:var(--text-2);margin:10px 0 0}
.vp-stage{min-width:0}.vp .vp-select{width:100%;min-height:44px}
.vp-actions select,.vp-actions a,.vp-save button,.vp-save input,.vp-conditions select,.vp-manual summary{min-height:44px}
.vp-actions>a{display:inline-flex;align-items:center;justify-content:center;line-height:1.4}
.vp-actions>select,.vp-actions>.vp-garage-empty{margin:0}
.vp-save{align-items:flex-start;border-top:1px solid var(--border);padding-top:18px}
.vp-save input{flex:1 1 220px;min-width:0}
.vp-save button{font-weight:600}
.vp-save button.vp-delete{border-color:var(--border);background:var(--white);color:var(--text-2)}
.vp-save button:disabled{opacity:.55;cursor:not-allowed}
.vp-save .garage-save-state{margin:0;font-weight:600;color:var(--text-2)}
.vp-save[data-state="saved"] .garage-save-state{color:var(--green)}
.vp-save[data-state="unsaved"] .garage-save-state::before{content:'•';color:var(--accent);margin-right:7px}
.vp-save .garage-storage-note{margin:0;color:var(--text-2)}
.vp-compact .vp-row{grid-template-columns:repeat(3,minmax(0,1fr))}
.vp-compact .vp-actions{font-size:.8rem;margin-top:0}
.vp-compact .vp-caveat{font-size:.78rem;line-height:1.55}
.vp-compact .vp-specs{display:none}
.vp a:focus-visible,.vp button:focus-visible,.vp select:focus-visible,.vp input:focus-visible,.vp summary:focus-visible,.vp-save button:focus-visible,.vp-save input:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.vp-row,.vp-compact .vp-row{grid-template-columns:repeat(2,minmax(0,1fr))}.vp-stage-label{letter-spacing:.04em}.vp-save input,.vp-save button{flex-basis:100%;width:100%}.vp-current{padding:12px}.vp-current strong{font-size:.92rem}.vp-conditions label{width:100%}}
@media print{.vp-current{background:none;color:var(--text-1);break-inside:avoid}.vp-save,.vp-year-help{display:none}}

.vp .vp-stage-label{white-space:normal;overflow-wrap:anywhere;max-width:100%}

/* Equal label and control rows keep both halves of the six-field picker aligned. */
.vp{container-type:inline-size}
.vp .vp-row,.vp.vp-compact .vp-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:14px 12px}
.vp .vp-stage{display:grid;grid-template-rows:1.25rem 44px;gap:6px;min-width:0}
.vp .vp-stage-label{line-height:1.25rem;margin:0}
.vp .vp-select{height:44px;min-height:44px;margin:0;min-width:0}
.vp-confirmation{width:100%;margin-top:14px;border-top:1px solid var(--border);padding-top:12px;font-size:.83rem;line-height:1.6}
.vp-confirmation summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.vp-confirmation summary::before{content:'+';margin-right:9px;color:var(--accent)}
.vp-confirmation[open] summary::before{content:'−'}
.vp-confirmation p{margin:8px 0}
.vp-confirmation a{display:block;overflow-wrap:anywhere;margin:8px 0}
.vp-confirmation .vp-confirmation-check{display:flex;align-items:flex-start;gap:10px;margin:16px 0;min-height:44px;font-weight:400;line-height:1.6}
.vp-confirmation-check input{flex:0 0 20px;width:20px;height:20px;min-height:20px;margin:3px 0 0;accent-color:var(--accent)}
.vp-confirmation button{min-height:44px;padding:10px 16px;border:1px solid var(--border);border-radius:var(--radius-sm,8px);font:inherit;font-weight:600;background:var(--surface);color:var(--text-1);cursor:pointer}
.vp-confirmation button:disabled{opacity:.55;cursor:not-allowed}
@container(max-width:540px){.vp .vp-row,.vp.vp-compact .vp-row{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(max-width:300px){.vp .vp-row,.vp.vp-compact .vp-row{grid-template-columns:minmax(0,1fr)}}
@media print{.vp-confirmation{display:none}}
.cv-source-designation{display:none}
@media print{.cv-source-designation{display:block}}

/* The parts picker sits on a dark surface; keep its supporting details together. */
#parts-vehicle-picker .vp{gap:16px}
#parts-vehicle-picker .vp-stage-label{font-size:11px;font-weight:650;letter-spacing:.07em}
#parts-vehicle-picker .vp-year-help,#parts-vehicle-picker .vp-caveat{margin:0;color:var(--dark-text-2);font-size:12.5px;line-height:1.6}
#parts-vehicle-picker .vp-current{margin:0;padding:14px 16px;border:1px solid var(--dark-border);border-left:3px solid var(--accent);border-radius:0 8px 8px 0;background:rgba(255,255,255,.045);color:var(--dark-text-1);gap:4px}
#parts-vehicle-picker .vp-current-kicker,#parts-vehicle-picker .vp-current-scope{color:var(--dark-text-2)}
#parts-vehicle-picker .vp-current strong{font-size:15px;line-height:1.5;font-weight:650}
#parts-vehicle-picker .vp-current-scope{font-size:12px;line-height:1.5}
#parts-vehicle-picker .vp-conditions:empty{display:none}
#parts-vehicle-picker .vp-conditions:not(:empty){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px;align-items:start;margin:0;padding-top:16px;border-top:1px solid var(--dark-border)}
#parts-vehicle-picker .vp-conditions:has(> .vp-roof-condition){grid-template-columns:minmax(180px,280px) minmax(0,1fr)}
#parts-vehicle-picker .vp-conditions > .vp-stage-label{display:grid;gap:6px;line-height:1.5}
#parts-vehicle-picker .vp-conditions select{width:100%;min-width:0;min-height:44px;margin:0;font:500 14px/1.4 var(--font);letter-spacing:normal;text-transform:none}
#parts-vehicle-picker .vp-conditions > p{margin:0;align-self:center;color:var(--dark-text-2);font-size:12.5px;line-height:1.6}
#parts-vehicle-picker .vp-conditions > .vp-confirmation{grid-column:1/-1;margin:0;padding:0;border:0;color:var(--dark-text-2)}
#parts-vehicle-picker .vp-confirmation summary,#parts-vehicle-picker .vp-confirmation-identity{color:var(--dark-text-1)}
#parts-vehicle-picker .vp-confirmation a{color:var(--dark-text-1);text-decoration:underline;text-underline-offset:3px}
#parts-vehicle-picker .vp-confirmation button{background:var(--dark-3);color:var(--dark-text-1);border-color:var(--dark-border)}
@media(max-width:700px){#parts-vehicle-picker .vp{gap:14px}#parts-vehicle-picker .vp-current{padding:12px 14px}#parts-vehicle-picker .vp-conditions:not(:empty){grid-template-columns:minmax(0,1fr);gap:12px}}

/* Source confirmation stays usable independently of the navigation layout. */
.vp-source-confirmation{grid-column:1/-1;min-width:0;padding:12px;border:1px solid var(--dark-border,#aaa);border-radius:8px}
.vp-source-confirmation summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}
.vp-source-confirmation p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.vp-source-confirmation select{width:100%;min-width:0}
.vp-source-confirmation label{display:flex;align-items:flex-start;gap:10px;padding:12px 0;line-height:1.6}
.vp-source-confirmation input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin-top:3px}
.vp-source-confirmation button{display:inline-flex;min-height:44px;padding:10px 15px;border:1px solid #FF6624;border-radius:7px;background:#FF6624;color:#171310;cursor:pointer;font:inherit;white-space:normal;text-align:left}
.vp-source-confirmation button:disabled{opacity:.55;cursor:not-allowed}
