/* Shared UI rules used by the product and the design reference. */
*{box-sizing:border-box}
body{font-family:var(--font-family);font-size:var(--text-body);line-height:var(--line-body);color:var(--color-text);background:var(--color-canvas)}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{line-height:var(--line-title);letter-spacing:-.035em}
.primary,.outline{min-height:var(--control-height);padding:12px 20px;border-radius:var(--radius-control);font-size:16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1.4;text-decoration:none;cursor:pointer;transition:background var(--motion-fast),border-color var(--motion-fast)}
.primary{background:var(--brand-navy);color:#fff;border:1px solid var(--brand-navy)}
.primary:hover{background:#10365D}.primary:active{background:#03152D}
.outline{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-control-border)}
.outline:hover{background:var(--brand-gray)}
button:disabled,.primary:disabled,.outline:disabled{cursor:not-allowed;background:var(--brand-gray);color:var(--color-muted);border-color:var(--color-border);box-shadow:none}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid var(--color-link);outline-offset:3px}
.field{display:block;font-weight:700;font-size:14px;margin-top:24px}
.field input,.field select,.field textarea{display:block;width:100%;min-height:var(--control-height);margin-top:8px;padding:12px 14px;border:1px solid var(--color-control-border);border-radius:var(--radius-control);background:var(--color-surface);font-size:16px;font-weight:400;line-height:1.5}
.field input::placeholder,.field textarea::placeholder{color:var(--color-muted);font-size:14px}
.field [aria-invalid=true]{border:2px solid var(--color-error)}
.error,.required{color:var(--color-error);font-size:14px}
.helper,.fine,.dialog-intro,.dialog-note,.muted{font-size:14px;line-height:1.65;color:var(--color-muted)}
.status-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:6px 12px;font-size:12px;line-height:1.5;font-weight:700;border-radius:var(--radius-pill);background:var(--brand-gray);color:var(--color-muted)}
.status-pill[data-tone=pending]{background:var(--color-pending-bg);color:var(--color-pending)}
.status-pill[data-tone=success]{background:var(--color-success-bg);color:var(--color-success)}
.status-pill[data-tone=error]{background:var(--color-error-bg);color:var(--color-error)}
.car-card,.saved-card,.request-fields,.request-summary{border-radius:var(--radius-card);background:var(--color-surface)}
.car-card:hover{transform:none;box-shadow:0 3px 12px #061F4008;border-color:var(--color-link)}
.car-card:focus-visible{outline-offset:3px}
.request-fields,.request-summary,.saved-card{padding:var(--space-5)}
.hero h1{font-size:var(--text-display);line-height:var(--line-title)}
.request-heading h1,.section-head h1{font-size:var(--text-title)}
.request-summary h2,.browse-head h2,.process-section h2{font-size:var(--text-section)}
.hero-copy{font-size:16px;line-height:1.8}
.request-heading .muted{font-size:16px}
.eyebrow{font-size:12px;letter-spacing:.12em}
.fields-row{gap:16px}
.search{border-color:var(--color-control-border);border-radius:var(--radius-control)}
.search input{font-size:16px;min-height:var(--control-height)}
.optional summary,.terms summary{min-height:var(--target-min);font-size:14px;line-height:1.6}
.optional summary{padding:18px 0}
.notice{background:var(--brand-gray);border-radius:var(--radius-control);padding:16px 20px;font-size:14px}
dialog{border-radius:var(--radius-dialog);padding:24px;box-shadow:var(--shadow-dialog)}
dialog .dialog-head h2{font-size:24px}.dialog-actions{gap:12px}
.summary-text{font-size:14px;line-height:1.8;border-radius:var(--radius-control)}
.request-summary dl div{font-size:14px;margin:16px 0}
.request-summary .summary-note{font-size:14px}
.hero-notes{flex-wrap:wrap}.hero-notes span{font-size:12px}
@media(max-width:700px){
 .request-fields,.request-summary,.saved-card{padding:20px}
 .field{font-size:14px;margin-top:24px}
 .field input,.field select,.field textarea,.search input{font-size:16px;min-height:var(--control-height)}
 .helper,.fine,.request-fields .terms,.dialog-note{font-size:14px}
 .vehicle-strip .status-pill{font-size:12px}
 .request-heading .muted,.hero-copy{font-size:14px}
 .hero .eyebrow,.request-heading .eyebrow{font-size:12px}
 .hero h1{font-size:var(--text-display)}
 .hero-notes span{font-size:12px}
 .browse-head>.outline{font-size:14px;min-height:var(--target-min)}
 .steps p{font-size:14px}.steps h3{font-size:20px}
 .mobile-nav{box-shadow:var(--shadow-float);border-radius:var(--radius-pill)}
 .mobile-nav>a,.mobile-nav>button{font-size:12px}
 .mobile-nav svg{height:24px;width:24px}
 .selection-bar>.primary{font-size:14px;min-height:var(--target-min)}
 .selection-bar small{font-size:12px}
 .demo-strip{font-size:12px}
 .saved-card .status-pill{font-size:12px}
 .car-body .muted,.car-type{font-size:12px}
 .selection-bar{border-radius:var(--radius-card)}
}
@media(max-width:359px){.fields-row{grid-template-columns:1fr;gap:0}.vehicle-strip{flex-wrap:wrap}.mobile-nav>a,.mobile-nav>button{font-size:11px}.selection-bar>.primary{font-size:13px}.hero h1{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}


/* Direct condition choices shared with the approved reference guide. */
.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.choice-option{position:relative;cursor:pointer;min-width:0}.choice-option input{position:absolute;opacity:0;width:1px;height:1px}.choice-option>span{min-height:52px;padding:8px 10px;display:flex;align-items:center;justify-content:center;gap:4px;text-align:center;border:1px solid var(--color-control-border);border-radius:12px;font-size:14px;line-height:1.4;background:white;word-break:keep-all}.choice-option i{display:none;font-style:normal}.choice-option input:checked+span{background:var(--color-selected-bg);color:var(--color-link);border-color:var(--color-link);box-shadow:inset 0 0 0 1px var(--color-link);font-weight:700}.choice-option input:checked+span i{display:inline}.choice-option input:focus-visible+span{outline:3px solid var(--color-link);outline-offset:3px}
@media(max-width:700px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
