
Automakers build modern vehicles using a mind-bending number of parts, with some estimates putting the count at upward of 30,000 individual components for a midsize sedan. The engineering behind making all those parts work together, and doing so for a very long time under harsh conditions, is intricate. As you might imagine, issues often arise well after a number of vehicles have left the factory line. These issues can lead to recalls, which are actions taken to repair or replace a faulty component or vehicle system.
Here’s what you need to know about recalls, how they are communicated with owners, and how to find out if your car has an open recall.
What are Automotive Recalls
Recalls arise when an automaker or the National Highway Traffic Safety Administration (NHTSA) determines that a vehicle or one of its components fails to meet safety or environmental standards. In some cases, automakers voluntarily issue recalls, but many times, NHTSA mandates an action if there are multiple recorded complaints or a recurring issue.
What is a recall?
A required fix for a safety problem shared by a group of vehicles or parts. The automaker must alert owners and correct it at no cost to you.
What triggers one
- A defect that puts people at risk
- Failing a federal safety standard
Typical issues
- Brake, steering, or throttle failures
- Fuel leaks, fire-prone wiring, faulty airbags, or car seats
Usually not a recall
- Wear items like brake pads or batteries
- Paint flaws, surface rust, glitchy radio or A/C
How a recall happens
- 1Automaker finds a problem, or owners report it to NHTSA
- 2NHTSA reviews complaints and may investigate
- 3Automaker issues a recall, or NHTSA orders one
- 4Owners get a letter explaining the risk and the fix
How it gets fixed
Replace
Refund
Fine print
- Free fixes for vehicles up to 15 years old
- Paid before the recall? Keep receipts for reimbursement
- Parts can lag the announcement
Check your car
Enter your vehicle identification number (VIN) at NHTSA.gov/recalls or ask a brand dealer.
NHTSA = National Highway Traffic Safety Administration
Graphic: Chris Teague
Once the recall is issued, NHTSA displays a public record of the problem, the investigative steps that led to the recall decision, and an outline of the repair process. These documents include dates for owner and dealer notifications, but owners can initiate the repair before receiving a notification, provided the dealer has parts and a repair process in place.
How Defects Become Recalls
In some cases, automakers and NHTSA become aware of a problem through owners’ reports. Many recalls include records of dozens of complaints about a failing part or system, which often prompt an investigation. Other times, a vehicle production or engineering employee will notice and report a problem, again leading to an investigation. Finally, some problems surface in real-world vehicle operation, sometimes including crashes. If a pattern develops, with similar parts failures leading to accidents and other problems, NHTSA may initiate an inquiry.
“Investigation” is the key term here. The inquiry process is used to determine whether the reported problems warrant a recall and to identify the source of the failing part or system. Investigations do not always result in a recall, as many are closed with no actionable findings around a safety or regulatory defect.
How Recalls Are Communicated to Owners
Automakers usually issue recall notifications by mail, but many also notify owners by email if they have a registered address. That process can become complicated for used-car buyers, as it’s not always possible for automakers to track a vehicle through subsequent owners. However, they can sometimes track owners using state registration data. Dealers also check for open recalls during routine maintenance procedures, such as oil changes and other work.
If you think your vehicle may be involved in a recall but haven’t received a notification, you can check for open recalls on NHTSA’s website. You can also use NHTSA’s search tool below to perform a search of open recalls.
Vehicle Safety
Recall Lookup
Search National Highway Traffic Safety Administration (NHTSA) recall campaigns by make, model,
and model year — or check the open recalls tied to one vehicle identification number (VIN).
Open recall status is VIN-specific. A make and model search returns every campaign that applies
to that vehicle; only a VIN search shows what remains unrepaired on an individual vehicle.
Source: NHTSA —
official recall lookup
Graphic: Chris Teague
(function () {
var root = document.currentScript.closest(‘.cai-graphic-nhtsa-recalls-lookup’);
if (!root) { return; }
var VEHICLE_URL = ‘https://api.nhtsa.gov/recalls/recallsByVehicle’;
var VIN_URL = ‘https://api.nhtsa.gov/recalls/recallsByVin’;
var NHTSA_HOST = ‘api.nhtsa.gov’;
var results = root.querySelector(‘[data-region=”results”]’);
var makeEl = root.querySelector(‘#cai-nhtsa-make’);
var modelEl = root.querySelector(‘#cai-nhtsa-model’);
var yearEl = root.querySelector(‘#cai-nhtsa-year’);
var vinEl = root.querySelector(‘#cai-nhtsa-vin’);
var buttons = root.querySelectorAll(‘button[data-action]’);
function clean(value) {
return String(value == null ? ” : value).trim();
}
// Text-only node builder. Remote strings are never parsed as markup, so a
// response can carry no script, iframe, image, or ad creative into the page.
function el(tag, className, text) {
var node = document.createElement(tag);
if (className) { node.className = className; }
if (text != null) { node.textContent = text; }
return node;
}
function pair(label, value) {
var row = document.createElement(‘div’);
row.appendChild(el(‘b’, null, label + ‘: ‘));
row.appendChild(document.createTextNode(clean(value)));
return row;
}
function setBusy(busy) {
for (var i = 0; i < buttons.length; i += 1) { buttons[i].disabled = busy; }
}
function message(text, isAlert) {
results.textContent = ”;
results.appendChild(el(‘p’, isAlert ? ‘status-alert’ : ‘status’, text));
}
function summaryCard(headline, count, countLabel) {
var card = el(‘div’, ‘card’);
card.appendChild(el(‘p’, ‘card-head’, headline));
card.appendChild(el(‘span’, ‘count’, String(count)));
card.appendChild(el(‘span’, ‘count-label’, countLabel));
return card;
}
function campaignId(record) {
return clean(record.NHTSACampaignNumber || record.CampaignNumber || record.RecallID);
}
// Only a validated NHTSA campaign id is ever placed in an href, so the
// response cannot inject an arbitrary outbound or tracking URL.
function detailLink(id) {
if (!/^[A-Za-z0-9-]{1,20}$/.test(id)) { return null; }
var link = el(‘a’, ‘detail-link’, ‘View campaign ‘ + id + ‘ on NHTSA’);
link.href = ‘https://www.nhtsa.gov/recalls?campaign_id=’ + encodeURIComponent(id);
link.target = ‘_blank’;
link.rel = ‘noopener noreferrer nofollow’;
return link;
}
function campaignCard(record, index) {
var card = el(‘div’, ‘card’);
var id = campaignId(record);
card.appendChild(el(‘p’, ‘card-head’, index + ‘. Campaign ‘ + (id || ‘not listed’)));
if (id) {
var link = detailLink(id);
if (link) { card.appendChild(link); }
}
var kv = el(‘div’, ‘kv’);
var fields = [
[‘Report date’, record.ReportReceivedDate],
[‘Manufacturer’, record.Manufacturer],
[‘Component’, record.Component],
[‘Summary’, record.Summary],
[‘Consequence’, record.Consequence],
[‘Remedy’, record.Remedy]
];
for (var i = 0; i < fields.length; i += 1) {
if (clean(fields[i][1])) { kv.appendChild(pair(fields[i][0], fields[i][1])); }
}
card.appendChild(kv);
return card;
}
function render(headline, count, countLabel, records, footnote) {
results.textContent = ”;
results.appendChild(summaryCard(headline, count, countLabel));
if (!records.length) {
results.appendChild(el(‘p’, ‘status’, ‘No matching recall campaigns were returned.’));
return;
}
for (var i = 0; i < records.length; i += 1) {
results.appendChild(campaignCard(records[i], i + 1));
}
if (footnote) { results.appendChild(el(‘p’, ‘notice’, footnote)); }
}
function load(url) {
// Hard allowlist: the only origin this graphic will ever request.
if (new URL(url).host !== NHTSA_HOST) {
return Promise.reject(new Error(‘Blocked request to an unapproved host.’));
}
return fetch(url, { headers: { Accept: ‘application/json’ }, credentials: ‘omit’, referrerPolicy: ‘no-referrer’ })
.then(function (response) {
if (!response.ok) { throw new Error(‘NHTSA returned status ‘ + response.status + ‘.’); }
return response.json();
})
.then(function (data) {
return Array.isArray(data && data.results) ? data.results : [];
});
}
function searchByModel() {
var make = clean(makeEl.value).toUpperCase();
var model = clean(modelEl.value).toUpperCase();
var year = clean(yearEl.value);
if (!make || !model) {
message(‘Enter both a make and a model to search campaigns.’, true);
return;
}
var params = new URLSearchParams({ make: make, model: model });
if (year) { params.set(‘modelYear’, year); }
setBusy(true);
message(‘Searching NHTSA recall campaigns.’);
load(VEHICLE_URL + ‘?’ + params.toString())
.then(function (records) {
render(
‘Campaigns for ‘ + make + ‘ ‘ + model + (year ? ‘ ‘ + year : ”),
records.length,
records.length === 1 ? ‘campaign found’ : ‘campaigns found’,
records,
‘These are all campaigns issued for this vehicle, repaired or not. Run a VIN search to see what is still open on a specific vehicle.’
);
})
.catch(function (error) {
message(‘Could not load campaigns. ‘ + error.message, true);
})
.then(function () { setBusy(false); });
}
function searchByVin() {
var vin = clean(vinEl.value).toUpperCase();
if (!/^[A-HJ-NPR-Z0-9]{11,17}$/.test(vin)) {
message(‘Enter a valid VIN of 11 to 17 characters. VINs exclude the letters I, O, and Q.’, true);
return;
}
setBusy(true);
message(‘Checking open recalls for this VIN.’);
load(VIN_URL + ‘?’ + new URLSearchParams({ vin: vin }).toString())
.then(function (records) {
render(
‘Open recalls for VIN ‘ + vin,
records.length,
records.length === 1 ? ‘open recall’ : ‘open recalls’,
records,
records.length ? ‘Contact a franchised dealership for this make. Recall repairs are performed at no charge.’ : null
);
})
.catch(function (error) {
message(‘Could not load open recalls. ‘ + error.message, true);
})
.then(function () { setBusy(false); });
}
for (var i = 0; i < buttons.length; i += 1) {
buttons[i].addEventListener(‘click’, function (event) {
if (event.currentTarget.getAttribute(‘data-action’) === ‘by-vin’) {
searchByVin();
} else {
searchByModel();
}
});
}
})();
How Much Do Recall Repairs Cost?
Recalls are inconvenient and can be concerning, but the good news is that owners don’t have to pay for the fix. Dealers diagnose and fix or repair recalled components or systems at no cost to owners, and some automakers offer reimbursement for costs incurred due to the issue. Some repairs may also include components damaged by the recalled part, but owners are on the hook to pay for unrelated repair needs discovered during the recall process.
MORE: Visit our Car Maintenance Information Center for all kinds of car repair tips and tricks.
Technical Service Bulletins vs. Recalls
Technical service bulletins (TSBs) sound and look a lot like recalls, but there are significant differences to be aware of.
Technical Service Bulletins vs. Recalls
| Category | Technical Service Bulletin (TSB) | Recall |
|---|---|---|
| What it is | Repair guidance from the automaker for a known, recurring problem | Formal notice of a safety defect or a failure to meet federal safety standards |
| Main concern | Performance, reliability, drivability, or comfort | Occupant and road safety |
| Written for | Dealer service departments and technicians | Vehicle owners |
| Required by law? | No Advisory only | Yes Automaker must notify owners |
| Cost to you | Varies; free only if covered by warranty or a goodwill program | Free fix, part replacement or, in some cases, a refund |
| How you find out | Usually from a service advisor during a visit, or by asking | Mailed notice from the automaker |
| How to check | Automaker owner site, dealer service desk or brand app, using your VIN | NHTSA recall lookup or automaker site, using your VIN |
Graphic: Chris Teague
LEARN: For an in-depth look at the difference between the two, visit Technical Service Bulletin vs. Recall.
Bottom Line
Receiving a recall notification is far from a cause to celebrate, but the good news is you won’t see a bill for the repairs or any of the parts used in the process. Some recalls also include a provision for reimbursement of any costs you incurred due to the recalled component, and in some cases, you may be eligible for compensation or further repairs if the failed part caused damage in other areas.
If your recall involves a component that is critical to your safety, do not put the repair off. Call the dealer and make an appointment as soon as you can.
@import url(‘https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700;800&display=swap’);
.kbb-rcl {
–kbb-blue:#1D3E74; –kbb-gold:#F3BC2A; –kbb-wet:#131F2B; –kbb-white:#FFFFFF;
–kbb-blue-wash:#EEF1F6; –kbb-n600:#4E5760; –kbb-n200:#C4C7CA;
–brand-font:’Figtree’,’Segoe UI’,-apple-system,Helvetica,Arial,sans-serif;
font-family:var(–brand-font); color:var(–kbb-wet); background:var(–kbb-white);
max-width:720px; width:100%; margin:0 auto; padding:14px 16px; border:1px solid var(–kbb-n200);
border-radius:8px; font-size:13.5px; line-height:1.35;
}
.kbb-rcl * { box-sizing:border-box; }
.kbb-rcl h2 { font-family:var(–brand-font); font-weight:800; color:var(–kbb-blue); font-size:1.3rem; line-height:1.1; margin:0 0 6px; }
.kbb-rcl h3 { font-family:var(–brand-font); font-weight:700; color:var(–kbb-blue); font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; margin:0 0 4px; line-height:1.2; }
.kbb-rcl p { margin:0; }
.kbb-rcl ul { margin:0; padding-left:15px; }
.kbb-rcl li { margin:0 0 1px; }
.kbb-rcl .kbb-rcl-bar { height:4px; width:56px; border-radius:2px; background:var(–kbb-gold); margin:0 0 8px; }
.kbb-rcl .kbb-rcl-def { background:var(–kbb-blue); color:var(–kbb-white); border-radius:5px; padding:8px 12px; margin:0 0 8px; font-size:.95rem; }
.kbb-rcl .kbb-rcl-def strong { color:var(–kbb-gold); }
.kbb-rcl .kbb-rcl-row { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 8px; }
.kbb-rcl .kbb-rcl-card { flex:1 1 180px; background:var(–kbb-blue-wash); border-left:4px solid var(–kbb-gold); border-radius:4px; padding:7px 10px; }
.kbb-rcl .kbb-rcl-card.kbb-rcl-muted { border-left-color:var(–kbb-n200); }
.kbb-rcl .kbb-rcl-card.kbb-rcl-dark { background:var(–kbb-wet); color:var(–kbb-white); border-left-color:var(–kbb-gold); }
.kbb-rcl .kbb-rcl-card.kbb-rcl-dark h3 { color:var(–kbb-gold); }
.kbb-rcl .kbb-rcl-steps { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.kbb-rcl .kbb-rcl-steps li { flex:1 1 140px; margin:0; display:flex; gap:6px; align-items:flex-start; border:1px solid var(–kbb-n200); border-radius:4px; padding:6px 8px; font-size:.85rem; }
.kbb-rcl .kbb-rcl-num { flex:0 0 20px; height:20px; line-height:20px; text-align:center; border-radius:50%; background:var(–kbb-gold); color:var(–kbb-wet); font-weight:800; font-size:.75rem; }
.kbb-rcl .kbb-rcl-fix { display:flex; flex-wrap:wrap; gap:5px; margin:3px 0 0; }
.kbb-rcl .kbb-rcl-pill { background:var(–kbb-blue); color:var(–kbb-white); font-weight:700; font-size:.8rem; padding:2px 10px; border-radius:10px; }
.kbb-rcl .kbb-rcl-credit { margin:6px 0 0; font-size:.75rem; color:var(–kbb-n600); }
/* KBB brand tokens declared on the wrapper (never :root) */
.cai-graphic-nhtsa-recalls-lookup {
–kbb-blue: #1D3E74;
–kbb-gold: #F3BC2A;
–kbb-wet-pavement: #131F2B;
–kbb-white: #FFFFFF;
–kbb-blue-dark: #162F57;
–kbb-blue-mid: #61789E;
–kbb-blue-light: #A5B2C7;
–kbb-gold-dark: #B68D20;
–kbb-gold-light: #F7D375;
–kbb-blue-wash: #EEF1F6;
–kbb-n900: #131F2B;
–kbb-n700: #36414B;
–kbb-n600: #4E5760;
–kbb-n500: #717980;
–kbb-n300: #A1A5AA;
–kbb-n200: #C4C7CA;
–kbb-n100: #E3E4E6;
–brand-bg: var(–kbb-white);
–brand-bg-alt: var(–kbb-blue-wash);
–brand-ink: var(–kbb-wet-pavement);
–brand-ink-muted: var(–kbb-n600);
–brand-ink-inverse: var(–kbb-white);
–brand-primary: var(–kbb-blue);
–brand-accent: var(–kbb-gold);
–brand-rule: var(–kbb-n200);
–brand-link: var(–kbb-blue);
–brand-font: ‘Figtree’, ‘Segoe UI’, -apple-system, Helvetica, Arial, sans-serif;
–brand-tracking-caps: 0.06em;
max-width: 100%;
margin: 0;
padding: 1.5rem;
border: 1px solid var(–brand-rule);
border-radius: 0.5rem;
background: var(–brand-bg);
color: var(–brand-ink);
font-family: var(–brand-font);
font-size: 1rem;
line-height: 1.6;
}
.cai-graphic-nhtsa-recalls-lookup * { box-sizing: border-box; max-width: 100%; }
.cai-graphic-nhtsa-recalls-lookup .eyebrow {
margin: 0;
text-transform: uppercase;
letter-spacing: var(–brand-tracking-caps);
font-weight: 700;
font-size: 0.8rem;
color: var(–brand-ink-muted);
}
.cai-graphic-nhtsa-recalls-lookup .headline {
margin: 0.25rem 0 0.5rem;
font-family: var(–brand-font);
font-size: 1.6rem;
font-weight: 700;
line-height: 1.15;
color: var(–brand-primary);
}
.cai-graphic-nhtsa-recalls-lookup .accent-bar {
height: 4px;
width: 4rem;
border-radius: 2px;
background: var(–brand-accent);
margin: 0 0 1rem;
}
.cai-graphic-nhtsa-recalls-lookup .subtitle {
margin: 0 0 1.25rem;
font-size: 0.95rem;
color: var(–brand-ink-muted);
}
.cai-graphic-nhtsa-recalls-lookup .form {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
gap: 0.75rem;
}
.cai-graphic-nhtsa-recalls-lookup .field {
display: flex;
flex-direction: column;
gap: 0.35rem;
min-width: 0;
}
.cai-graphic-nhtsa-recalls-lookup .field-wide { grid-column: 1 / -1; }
.cai-graphic-nhtsa-recalls-lookup label {
font-size: 0.75rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: var(–brand-tracking-caps);
color: var(–brand-ink-muted);
}
.cai-graphic-nhtsa-recalls-lookup input {
width: 100%;
padding: 0.55rem 0.7rem;
border: 1px solid var(–kbb-n300);
border-radius: 4px;
background: var(–brand-bg);
color: var(–brand-ink);
font-family: var(–brand-font);
font-size: 1rem;
}
.cai-graphic-nhtsa-recalls-lookup input::placeholder { color: var(–kbb-n500); }
.cai-graphic-nhtsa-recalls-lookup input:focus-visible {
outline: 2px solid var(–brand-primary);
outline-offset: 1px;
border-color: var(–brand-primary);
}
.cai-graphic-nhtsa-recalls-lookup .actions {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
margin-top: 1rem;
}
.cai-graphic-nhtsa-recalls-lookup button {
padding: 0.6em 1.4em;
border-radius: 4px;
border: 1px solid var(–brand-primary);
background: var(–brand-primary);
color: var(–brand-ink-inverse);
font-family: var(–brand-font);
font-size: 0.95rem;
font-weight: 700;
cursor: pointer;
}
.cai-graphic-nhtsa-recalls-lookup button.secondary {
background: var(–brand-bg);
color: var(–brand-primary);
}
.cai-graphic-nhtsa-recalls-lookup button:hover { background: var(–kbb-blue-dark); border-color: var(–kbb-blue-dark); color: var(–brand-ink-inverse); }
.cai-graphic-nhtsa-recalls-lookup button:focus-visible { outline: 2px solid var(–brand-accent); outline-offset: 2px; }
.cai-graphic-nhtsa-recalls-lookup button[disabled] { opacity: 0.6; cursor: default; }
.cai-graphic-nhtsa-recalls-lookup .results { margin-top: 1.25rem; }
.cai-graphic-nhtsa-recalls-lookup .card {
border: 1px solid var(–brand-rule);
border-left: 4px solid var(–brand-accent);
border-radius: 4px;
padding: 0.9rem 1rem;
margin: 0.75rem 0;
background: var(–brand-bg-alt);
}
.cai-graphic-nhtsa-recalls-lookup .card-head {
margin: 0 0 0.35rem;
font-size: 1rem;
font-weight: 700;
color: var(–brand-primary);
}
.cai-graphic-nhtsa-recalls-lookup .count {
display: block;
font-size: 1.9rem;
font-weight: 700;
line-height: 1.1;
color: var(–brand-primary);
}
.cai-graphic-nhtsa-recalls-lookup .count-label {
display: block;
margin-top: 0.15rem;
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: var(–brand-tracking-caps);
color: var(–brand-ink-muted);
}
.cai-graphic-nhtsa-recalls-lookup .kv {
display: grid;
grid-template-columns: 1fr;
gap: 0.4rem;
font-size: 0.9rem;
margin: 0;
}
.cai-graphic-nhtsa-recalls-lookup .kv > div { min-width: 0; overflow-wrap: break-word; }
.cai-graphic-nhtsa-recalls-lookup .kv b { color: var(–brand-primary); }
.cai-graphic-nhtsa-recalls-lookup a { color: var(–brand-link); text-decoration: underline; font-weight: 700; }
.cai-graphic-nhtsa-recalls-lookup .detail-link { display: inline-block; font-size: 0.85rem; margin: 0.2rem 0 0.5rem; }
.cai-graphic-nhtsa-recalls-lookup .status { margin: 0.75rem 0; font-size: 0.95rem; color: var(–brand-ink); }
.cai-graphic-nhtsa-recalls-lookup .status-alert {
margin: 0.75rem 0;
padding: 0.7rem 0.9rem;
border-left: 4px solid var(–brand-accent);
background: var(–brand-bg-alt);
font-weight: 700;
color: var(–brand-primary);
}
.cai-graphic-nhtsa-recalls-lookup .notice {
margin: 0.75rem 0 0;
font-size: 0.8rem;
color: var(–brand-ink-muted);
}
@import url(‘https://fonts.googleapis.com/css2?family=Figtree:wght@400;600;700;800&display=swap’);
.kbb-tsb {
–kbb-blue:#1D3E74; –kbb-gold:#F3BC2A; –kbb-wet:#131F2B; –kbb-white:#FFFFFF;
–kbb-blue-wash:#EEF1F6; –kbb-n600:#4E5760; –kbb-n200:#C4C7CA;
–brand-font:’Figtree’,’Segoe UI’,-apple-system,Helvetica,Arial,sans-serif;
font-family:var(–brand-font); color:var(–kbb-wet); background:var(–kbb-white);
max-width:720px; width:100%; margin:0 auto; padding:20px; border:1px solid var(–kbb-n200);
border-radius:8px; font-size:15px; line-height:1.45;
}
.kbb-tsb * { box-sizing:border-box; }
.kbb-tsb h2 { font-family:var(–brand-font); font-weight:800; color:var(–kbb-blue); font-size:1.45rem; line-height:1.15; margin:0 0 8px; }
.kbb-tsb .kbb-tsb-bar { height:4px; width:64px; border-radius:2px; background:var(–kbb-gold); margin:0 0 16px; }
.kbb-tsb .kbb-tsb-wrap { overflow-x:auto; }
.kbb-tsb table { width:100%; border-collapse:collapse; table-layout:fixed; min-width:480px; }
.kbb-tsb thead th { padding:10px 12px; text-align:left; font-size:.95rem; font-weight:700; }
.kbb-tsb thead th.kbb-tsb-lbl { width:24%; background:transparent; }
.kbb-tsb thead th.kbb-tsb-tsb { background:var(–kbb-blue); color:var(–kbb-white); border-radius:6px 0 0 0; }
.kbb-tsb thead th.kbb-tsb-rec { background:var(–kbb-wet); color:var(–kbb-white); border-radius:0 6px 0 0; border-top:4px solid var(–kbb-gold); }
.kbb-tsb tbody th { text-align:left; font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(–kbb-n600); padding:9px 12px 9px 0; vertical-align:top; }
.kbb-tsb tbody td { padding:9px 12px; vertical-align:top; border-bottom:1px solid var(–kbb-n200); }
.kbb-tsb tbody tr:nth-child(odd) td { background:var(–kbb-blue-wash); }
.kbb-tsb .kbb-tsb-tag { display:inline-block; font-weight:700; font-size:.8rem; padding:1px 8px; border-radius:10px; }
.kbb-tsb .kbb-tsb-tag-no { background:var(–kbb-n200); color:var(–kbb-wet); }
.kbb-tsb .kbb-tsb-tag-yes { background:var(–kbb-gold); color:var(–kbb-wet); }
.kbb-tsb .kbb-tsb-credit { margin:14px 0 0; font-size:.8rem; color:var(–kbb-n600); }
