/* ACP Parts Tools – component styles. Colours follow the American Car Parts brand; the theme can override the variables. */
:root{
  --acp-denim:#1E4A94; --acp-denim-l:#4F7FD6; --acp-red:#C40D1A; --acp-ink:#1A1A1A; --acp-steel:#6B6B6B;
  --acp-cream:#F3EBDD; --acp-ivory:#FBF7EF; --acp-line:#D9CFBD; --acp-yellow:#F2B705; --acp-field:#8A8578;
  --acp-exo:'Exo 2',system-ui,sans-serif; --acp-slab:'Zilla Slab',Georgia,serif; --acp-sans:'Work Sans',system-ui,sans-serif;
}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}

/* Buttons */
.acp-btn{display:inline-block;font:600 16px/1 var(--acp-sans);padding:15px 26px;border-radius:2px;border:2px solid transparent;text-decoration:none;cursor:pointer;text-align:center;transition:background .15s,color .15s,border-color .15s}
.acp-btn,a.acp-btn{text-decoration:none}
a.acp-btn--primary,.acp-btn--primary{background:var(--acp-denim);color:#fff}
a.acp-btn--primary,a.acp-btn--red{color:#fff}
a.acp-btn--ghost{color:var(--acp-denim)}
a.acp-btn--ghost:hover,a.acp-btn--ghost:focus-visible{color:#fff}
a.acp-ab__link--cta{color:#fff}
a.acp-ab__link:not(.acp-ab__link--cta){color:var(--acp-ink);text-decoration:none}
.acp-btn--primary:hover,.acp-btn--primary:focus-visible{background:#163a75;color:#fff}
.acp-btn--red{background:var(--acp-red);color:#fff}
.acp-btn--red:hover,.acp-btn--red:focus-visible{background:#a30b16;color:#fff}
.acp-btn--ghost{background:transparent;border-color:var(--acp-denim);color:var(--acp-denim)}
.acp-btn--ghost:hover,.acp-btn--ghost:focus-visible{background:var(--acp-denim);color:#fff}
.acp-btn:focus-visible,.acp-field input:focus-visible,.acp-field select:focus-visible,.acp-field textarea:focus-visible{outline:3px solid var(--acp-yellow);outline-offset:2px}

/* Form fields */
.acp-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.acp-field label{font:600 12.5px var(--acp-sans);color:#444}
.acp-field input,.acp-field select,.acp-field textarea{font:400 16px var(--acp-sans);color:var(--acp-ink);background:#fff;border:1.5px solid var(--acp-field);border-radius:2px;padding:13px 14px;width:100%;box-sizing:border-box;min-height:48px}
.acp-field select{appearance:auto}
.acp-field select:disabled{background:#f4f1ea;color:#8a8578}
.acp-req{color:var(--acp-red)}
.acp-check{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4;margin:14px 0}
.acp-check input{margin-top:3px;width:18px;height:18px;flex:none}
.acp-enq__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Vehicle finder */
.acp-finder--hero{background:#fff;padding:22px 24px;max-width:860px;box-shadow:0 18px 40px rgba(0,0,0,.25);color:var(--acp-ink)}
.acp-finder__form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:14px;align-items:end}
.acp-finder__form .acp-btn{height:50px;padding-top:0;padding-bottom:0}
.acp-finder__alt{margin:12px 0 0;font-size:14px;color:#555}
.acp-finder__alt a{color:var(--acp-denim);font-weight:600}
.acp-finder--bar{background:var(--acp-cream);border:1px solid var(--acp-line);padding:16px}
@media (max-width:820px){.acp-finder__form{grid-template-columns:1fr}.acp-finder--hero{padding:18px}}

/* VIN check */
.acp-vin{background:#fff;border:1px solid var(--acp-line);padding:32px;max-width:760px}
.acp-vin__title{font:700 32px/1.1 var(--acp-slab);margin:0 0 8px}
.acp-vin__intro{margin:0 0 18px;color:#444}
.acp-vin__form{display:flex;gap:10px;flex-wrap:wrap}
.acp-vin__form input{flex:1 1 260px;font:600 18px var(--acp-sans);letter-spacing:.06em;text-transform:uppercase;border:1.5px solid var(--acp-field);padding:13px 14px;border-radius:2px;min-height:48px;box-sizing:border-box}
.acp-vin__result{margin-top:20px}
.acp-vin__vehicle{background:var(--acp-cream);border-left:6px solid var(--acp-red);padding:20px 22px}
.acp-vin__label{font:900 italic 12px var(--acp-exo);text-transform:uppercase;letter-spacing:.1em;color:var(--acp-red);margin:0}
.acp-vin__name{font:700 28px/1.1 var(--acp-slab);margin:4px 0 6px}
.acp-vin__meta{margin:0 0 8px;color:#444;font-size:15px}
.acp-vin__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.acp-vin__hint{font-size:14px;color:var(--acp-steel);margin:20px 0 0}
.acp-vin__wait{color:var(--acp-steel)}

/* Notices */
.acp-notice{padding:14px 18px;margin:0 0 18px;font-weight:500;border-left:6px solid var(--acp-denim);background:#EAF0FA}
.acp-notice--ok{border-color:#1b7f3b;background:#E7F5EC}
.acp-notice--bad{border-color:var(--acp-red);background:#FCEBEC}

/* Make tiles */
.acp-makes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--acp-cols,6),minmax(0,1fr));gap:14px}
.acp-makes li{margin:0}
.acp-make{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:84px;background:#fff;border:1px solid var(--acp-line);padding:16px 12px;text-align:center;text-decoration:none;color:var(--acp-denim);transition:border-color .15s,box-shadow .15s}
.acp-make:hover,.acp-make:focus-visible{border-color:var(--acp-denim);box-shadow:0 4px 14px rgba(30,74,148,.15)}
.acp-make__name{font:900 italic 17px var(--acp-exo);text-transform:uppercase;letter-spacing:.04em}
.acp-make__logo{max-height:48px;width:auto;max-width:100%;object-fit:contain}
.acp-make small{font-size:12px;color:var(--acp-steel)}
@media (max-width:820px){.acp-makes{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Part cards and grid */
.acp-grid{display:grid;grid-template-columns:repeat(var(--acp-cols,4),minmax(0,1fr));gap:20px}
@media (max-width:1100px){.acp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.acp-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media (max-width:480px){.acp-grid{grid-template-columns:minmax(0,1fr)}}
.acp-card{background:#fff;border:1px solid var(--acp-line);display:flex;flex-direction:column;min-width:0}
.acp-card__img{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;background:var(--acp-cream);overflow:hidden}
.acp-card__img img{width:100%;height:100%;object-fit:cover;display:block}
.acp-card__ph{color:var(--acp-denim)}
.acp-card__body{padding:16px 18px 20px;display:flex;flex-direction:column;flex:1}
.acp-card__tags{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}
.acp-tag{display:inline-block;font:900 italic 11.5px var(--acp-exo);text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;background:#E4DCCB;color:var(--acp-ink)}
.acp-tag--new,.acp-tag--oem{background:var(--acp-denim);color:#fff}
.acp-tag--reconditioned,.acp-tag--avail-in{background:var(--acp-yellow);color:var(--acp-ink)}
.acp-tag--avail-source{background:var(--acp-cream);color:var(--acp-ink);box-shadow:inset 0 0 0 1.5px var(--acp-denim)}
.acp-tag--avail-ask{background:#fff;box-shadow:inset 0 0 0 1.5px var(--acp-field)}
.acp-card__title{font:700 21px/1.15 var(--acp-slab);margin:10px 0 2px}
.acp-card__title a{color:var(--acp-ink);text-decoration:none}
.acp-card__title a:hover{color:var(--acp-denim);text-decoration:underline}
.acp-card__fit{font-size:14px;color:#555}
.acp-card__fit .acp-more{color:var(--acp-denim);font-weight:600}
.acp-card__pn{font-size:12.5px;color:var(--acp-steel);margin-top:2px}
.acp-card__price{font:700 26px var(--acp-slab);margin-top:10px}
.acp-card__price del{font:400 14px var(--acp-sans);color:var(--acp-steel);margin-left:8px}
.acp-poa{font:600 15px var(--acp-sans);color:var(--acp-steel)}
.acp-card__actions{margin-top:auto;padding-top:14px;display:grid;gap:8px}
.acp-card__actions .acp-btn{padding:13px 12px;font-size:15px}
.acp-count{font-size:14px;color:var(--acp-steel);margin:0 0 14px}
.acp-pagination ul{list-style:none;display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:0;margin:32px 0 0}
.acp-pagination a,.acp-pagination span{display:block;padding:10px 14px;border:1px solid var(--acp-line);background:#fff;text-decoration:none;color:var(--acp-denim);font-weight:600;min-width:44px;text-align:center;box-sizing:border-box}
.acp-pagination .current{background:var(--acp-denim);color:#fff;border-color:var(--acp-denim)}
.acp-none{background:#fff;border:1px solid var(--acp-line);padding:36px;text-align:center}
.acp-none h3{font:700 28px var(--acp-slab);margin:0 0 8px}
.acp-empty{color:var(--acp-steel)}

/* Filters */
.acp-filters{background:#fff;border:1px solid var(--acp-line);padding:20px;display:grid;gap:14px}
.acp-filters__title{font:700 22px var(--acp-slab);margin:0}
.acp-filters__actions{display:flex;gap:14px;align-items:center}
.acp-filters__clear{font-weight:600;color:var(--acp-denim)}

/* Fitment, enquiry panel, spec list */
.acp-fitment__title,.acp-enquire__title{font:700 24px var(--acp-slab);margin:0 0 10px}
.acp-fitment__list{margin:0 0 10px;padding-left:0;list-style:none;display:grid;gap:6px}
.acp-fitment__list li{padding:10px 14px;background:var(--acp-cream);border-left:4px solid var(--acp-denim)}
.acp-fitment__list span{color:#444}
.acp-fitment__note{font-size:14px;color:#444;margin:0 0 22px}
.acp-spec{display:grid;grid-template-columns:max-content 1fr;gap:0;margin:0;border-top:1px solid var(--acp-line)}
.acp-spec dt,.acp-spec dd{margin:0;padding:10px 0;border-bottom:1px solid var(--acp-line)}
.acp-spec dt{font-weight:600;padding-right:28px}
.acp-enquire{background:#fff;border:1px solid var(--acp-line);border-top:5px solid var(--acp-red);padding:24px}
.acp-enquire p{margin:0 0 14px;color:#444}
.acp-enquire__actions{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.acp-enquire__note{font-size:14px;color:#555}

/* Enquiry form */
.acp-enq{background:#fff;color:var(--acp-ink);padding:28px 28px 30px;border:1px solid var(--acp-line)}
.acp-enq__form{display:grid;gap:14px}
.acp-enq__row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acp-enq__small{font-size:13px;color:var(--acp-steel);margin:0}
@media (max-width:640px){.acp-enq__row{grid-template-columns:1fr}.acp-enq{padding:20px}}

/* Header bits */
.acp-search{display:flex;width:100%;max-width:640px}
.acp-search input[type=search]{flex:1;min-width:0;font:400 15px var(--acp-sans);border:1.5px solid var(--acp-field);border-right:0;border-radius:2px 0 0 2px;padding:13px 14px;background:#fff;color:var(--acp-ink);min-height:48px;box-sizing:border-box}
.acp-search .acp-btn{border-radius:0 2px 2px 0;padding:0 22px}
.acp-ab{display:flex;gap:26px;align-items:center;font:600 15px var(--acp-sans)}
.acp-ab__link{display:inline-flex;gap:8px;align-items:center;color:var(--acp-ink);text-decoration:none}
.acp-ab__link svg{color:var(--acp-denim)}
.acp-ab__link:hover{color:var(--acp-denim)}
.acp-ab__link--cta{background:var(--acp-red);color:#fff;padding:12px 18px;border-radius:2px}
.acp-ab__link--cta svg{color:#fff}
.acp-ab__link--cta:hover{background:#a30b16;color:#fff}
.acp-ab__count{background:var(--acp-red);color:#fff;font:900 italic 12px var(--acp-exo);padding:2px 8px}

/* Archive intro */
.acp-term-intro__text{font-size:18px;max-width:760px;color:#333}
.acp-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:16px 0 0}
.acp-chips a{display:block;padding:8px 14px;background:#fff;border:1px solid var(--acp-line);color:var(--acp-denim);font-weight:600;text-decoration:none}
.acp-chips a:hover{border-color:var(--acp-denim)}
.acp-editor-empty{padding:16px;border:1px dashed var(--acp-field);color:var(--acp-steel);margin:0}
