/*
Theme Name: American Car Parts
Theme URI: https://americancarparts.co.uk
Author: American Car Parts
Description: Block theme for americancarparts.co.uk. Sister brand of Oldcott Motors: Denim-led, cream ground, Exo wordmark, Zilla Slab headlines, Work Sans body. Built for WooCommerce and the ACP Parts Tools plugin. Edit everything in the Site Editor and page editor.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: acp
*/

:root{
  --acp-denim:#1E4A94; --acp-red:#C40D1A; --acp-ink:#1A1A1A; --acp-steel:#6B6B6B; --acp-cream:#F3EBDD; --acp-ivory:#FBF7EF; --acp-line:#D9CFBD; --acp-yellow:#F2B705;
  --acp-hex:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22120%22%20height%3D%22120%22%20viewBox%3D%220%200%2064%2064%22%20fill%3D%22none%22%20stroke%3D%22%23ffffff%22%20stroke-opacity%3D%220.12%22%20stroke-width%3D%221.6%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M32%206l22%2013v26L32%2058%2010%2045V19z%22/%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2232%22%20r%3D%229%22/%3E%3C/svg%3E");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
.wp-site-blocks{padding-left:0;padding-right:0}
.wp-site-blocks>*{margin-block-start:0}
.wp-block-group.alignfull{margin-block-start:0}
a{text-underline-offset:3px}
:where(.wp-block-button__link):focus-visible,a:focus-visible{outline:3px solid var(--acp-yellow);outline-offset:2px}

/* Admin-only to-do notes */
.acp-todo{display:none}
body.logged-in .acp-todo{display:block;background:#fff6c9;border:2px dashed #b89300;padding:12px 16px;font-size:14px;color:#4a3d00}

/* Type helpers */
.acp-eyebrow{font-family:'Exo 2',sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:.1em;font-size:14px;color:var(--acp-red);margin:0}
.acp-exo{font-family:'Exo 2',sans-serif;font-style:italic;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.acp-lead{font-size:20px;line-height:1.5}
.acp-small{font-size:14px;color:#555}
.acp-section{padding-top:80px}
.acp-section--last{padding-bottom:88px}
.acp-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:28px}
.acp-sec-head h2{margin:6px 0 0}
.acp-sec-head p{margin:0}
.acp-sec-head a{font-weight:600}

/* Buttons */
.wp-block-button.is-style-red .wp-block-button__link{background:var(--acp-red);color:#fff}
.wp-block-button.is-style-red .wp-block-button__link:hover{background:#a30b16}
.wp-block-button.is-style-ghost .wp-block-button__link{background:transparent;color:var(--acp-denim);border:2px solid var(--acp-denim);padding:13px 24px}
.wp-block-button.is-style-ghost .wp-block-button__link:hover{background:var(--acp-denim);color:#fff}

/* Group styles */
.wp-block-group.is-style-card{background:#fff;border:1px solid var(--acp-line);padding:26px}
.wp-block-group.is-style-cream-panel{background:var(--acp-cream);padding:32px}

/* ---------- Header ---------- */
.acp-utility{background:var(--acp-denim);color:#fff;font-size:13.5px}
.acp-wrap{max-width:1240px;margin-inline:auto;width:100%;padding-inline:24px;box-sizing:border-box}
.acp-wrap .acp-wrap{padding-inline:0}
.acp-utility__in{display:flex;justify-content:space-between;align-items:center;min-height:38px;gap:20px;flex-wrap:wrap;padding-block:6px}
.acp-utility p{margin:0;color:#fff}
.acp-utility a{color:#fff;text-decoration:none;font-weight:500}
.acp-utility a:hover{text-decoration:underline}
.acp-utility__links{display:flex;gap:22px;white-space:nowrap}
.acp-header{background:#fff;border-bottom:1px solid var(--acp-line)}
.acp-header__in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:36px;align-items:center;min-height:92px;padding-block:12px}
.acp-header__in .wp-block-image{margin:0}
.acp-header__logo img{height:58px;width:auto;display:block}
.acp-header__search{display:flex;justify-content:center}
.acp-navbar{background:var(--acp-ivory);border-bottom:1px solid var(--acp-line)}
.acp-navbar__in{max-width:1240px;margin-inline:auto;display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.acp-navbar .wp-block-navigation{flex:1}
.acp-navbar .wp-block-navigation-item__content{padding:14px 0}
.acp-navbar__cta a{color:var(--acp-red);font-weight:600;text-decoration:none;font-size:15px}
.acp-navbar__cta{margin:0}
.acp-navbar .wp-block-navigation__responsive-container-open{padding:12px 0}
body.acp-mode-enquiry .acp-ab__link:not(.acp-ab__link--cta){display:none}
@media (max-width:900px){
  .acp-header__in{grid-template-columns:1fr auto;gap:12px;min-height:0}
  .acp-header__search{grid-column:1/-1;order:3}
  .acp-header__logo img{height:44px}
  .acp-ab{gap:14px}
  .acp-ab__link span:not(.acp-ab__count){display:none}
  .acp-ab__link--cta span{display:inline!important}
  .acp-navbar__cta{display:none}
  .acp-utility__links{gap:14px}
  .acp-utility p{display:none}
  .acp-utility__in{justify-content:center}
}

/* ---------- Hero ---------- */
.acp-hero{position:relative;overflow:hidden;background-color:var(--acp-denim);background-image:var(--acp-hex);background-size:120px;color:#fff}
.acp-hero::after{content:"";position:absolute;right:210px;top:0;width:26px;height:100%;background:var(--acp-red);transform:skewX(-10deg);pointer-events:none}
.acp-hero::before{content:"";position:absolute;right:-220px;top:-120px;width:760px;height:760px;opacity:.16;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none' stroke='%23fff' stroke-width='.6' stroke-linecap='round'%3E%3Ccircle cx='32' cy='32' r='26'/%3E%3Ccircle cx='32' cy='32' r='9'/%3E%3Cpath d='M32 6v17M32 41v17M6 32h17M41 32h17' transform='rotate(18 32 32)'/%3E%3C/svg%3E") center/contain no-repeat}
.acp-hero>*{position:relative;z-index:1}
.acp-hero .acp-exo{color:var(--acp-yellow);font-size:20px;margin:0}
.acp-hero h1{color:#fff;font-size:76px;line-height:1;max-width:760px;margin:14px 0 0}
.acp-hero .acp-lead{color:#fff;opacity:.95;max-width:560px;margin:22px 0 0}
.acp-hero .acp-finder{margin-top:38px}
@media (max-width:820px){.acp-hero h1{font-size:42px}.acp-hero::after{right:24px;width:14px;opacity:.9}.acp-hero .acp-lead{font-size:18px}}

/* ---------- Trust strip ---------- */
.acp-strip{background:var(--acp-cream);border-bottom:1px solid var(--acp-line)}
.acp-strip .wp-block-columns{margin:0;gap:24px;align-items:center}
.acp-strip__item{display:flex;gap:10px;align-items:center;font-size:15px;font-weight:600;margin:0}
.acp-strip__item img{width:30px;height:30px;flex:none}
@media (max-width:820px){.acp-strip .wp-block-columns{flex-wrap:wrap;gap:14px}.acp-strip .wp-block-column{flex-basis:calc(50% - 8px)!important}}

/* ---------- Tiles ---------- */
.acp-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.acp-tiles>*{margin:0!important}
.acp-tile{position:relative;background:#fff;border-bottom:5px solid var(--acp-red);padding:30px 20px 22px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;transition:transform .15s,box-shadow .15s}
.acp-tile:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}
.acp-tile>*{margin:0}
.acp-tile img{width:68px;height:68px}
.acp-tile h3{font-size:22px;line-height:1.1}
.acp-tile h3 a{color:var(--acp-ink);text-decoration:none}
.acp-tile h3 a::after{content:"";position:absolute;inset:0}
.acp-tile p{font-size:13px;color:var(--acp-steel)}
@media (max-width:1000px){.acp-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.acp-tile{padding:22px 12px 18px}.acp-tile h3{font-size:19px}.acp-tile img{width:54px;height:54px}}

/* ---------- Two-panel split (guide / bolt pattern) ---------- */
.acp-split{background:#fff;border:1px solid var(--acp-line)}
.acp-split>.wp-block-columns{margin:0;gap:0}
.acp-split__a{padding:44px}
.acp-split__b{background:var(--acp-cream);padding:40px 44px}
.acp-split h2{margin:8px 0 14px}
.acp-split p{margin:0 0 22px;color:#444;font-size:17px}
.acp-fit-row{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--acp-line);margin:0!important}
.acp-fit-row:last-of-type{border-bottom:0}
.acp-fit-row strong{font-weight:600}
.acp-fit-row span{font-family:'Exo 2',sans-serif;font-style:italic;font-weight:900;font-size:20px;color:var(--acp-denim);white-space:nowrap}
@media (max-width:820px){.acp-split__a,.acp-split__b{padding:26px 22px}}

/* ---------- Red sourcing band ---------- */
.acp-band{background:var(--acp-red);color:#fff;margin-top:80px;position:relative;overflow:hidden}
.acp-band .wp-block-columns{gap:56px;align-items:center;margin:0}
.acp-band .acp-exo{color:var(--acp-yellow);font-size:16px;margin:0}
.acp-band h2{color:#fff;font-size:58px;line-height:1.02;margin:10px 0 14px}
.acp-band p{color:#fff}
.acp-band .acp-lead{font-size:19px;max-width:520px;opacity:.95;margin:0}
.acp-band a{color:#fff}
.acp-band .acp-enq a{color:var(--acp-denim)}
@media (max-width:820px){.acp-band h2{font-size:38px}.acp-band .wp-block-columns{gap:28px}}

/* ---------- USPs ---------- */
.acp-usps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.acp-usps>*{margin:0!important}
.acp-usp img{width:44px;height:44px;margin:0}
.acp-usp h3{margin:12px 0 6px;font-size:23px}
.acp-usp p{margin:0;font-size:15px;color:#444}
@media (max-width:1000px){.acp-usps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.acp-usps{grid-template-columns:minmax(0,1fr)}}

/* ---------- Guides (query loop) ---------- */
.acp-guides .wp-block-post-template{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;list-style:none}
.acp-guides .wp-block-post-template>li{background:#fff;border:1px solid var(--acp-line);padding:26px;margin:0;display:flex;flex-direction:column;gap:6px}
.acp-guides .wp-block-post-terms{font-family:'Exo 2',sans-serif;font-style:italic;font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.acp-guides .wp-block-post-terms a{color:var(--acp-denim);text-decoration:none}
.acp-guides .wp-block-post-title{font-size:24px;line-height:1.12;margin:6px 0 0}
.acp-guides .wp-block-post-title a{color:var(--acp-ink);text-decoration:none}
.acp-guides .wp-block-post-title a:hover{color:var(--acp-denim);text-decoration:underline}
.acp-guides .wp-block-post-excerpt{margin:0;font-size:15px;color:#444}
.acp-guides .wp-block-post-excerpt__more-link{font-weight:600}
@media (max-width:900px){.acp-guides .wp-block-post-template{grid-template-columns:minmax(0,1fr)}}

/* ---------- Page titles and content pages ---------- */
.acp-pagehead{background:var(--acp-cream);border-bottom:1px solid var(--acp-line)}
.acp-pagehead .wp-block-post-title,.acp-pagehead h1{margin:6px 0 0;font-size:48px}
.acp-pagehead .acp-term-intro{margin-top:14px}
.acp-content{padding-block:48px 80px}
.acp-content .wp-block-post-content>*+*{margin-block-start:1.1em}
.acp-narrow{max-width:760px}
.acp-two{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:start}
@media (max-width:900px){.acp-two{grid-template-columns:minmax(0,1fr);gap:28px}.acp-pagehead h1,.acp-pagehead .wp-block-post-title{font-size:36px}}
.acp-contact-card{background:#fff;border:1px solid var(--acp-line);border-top:5px solid var(--acp-denim);padding:26px}
.acp-contact-card h2,.acp-contact-card h3{font-size:24px;margin:0 0 10px}
.acp-contact-card p{margin:0 0 10px}

/* ---------- Shop / archive layout ---------- */
.acp-shop{display:grid;grid-template-columns:280px minmax(0,1fr);gap:32px;align-items:start;padding-block:36px 72px}
.acp-shop>*{margin:0!important}
.acp-shop__side{position:sticky;top:16px}
@media (max-width:900px){.acp-shop{grid-template-columns:minmax(0,1fr)}.acp-shop__side{position:static}}
.acp-crumbs{font-size:14px;color:var(--acp-steel);margin:0 0 8px}
.acp-crumbs a{color:var(--acp-steel)}

/* ---------- Single product ---------- */
.acp-product{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:44px;align-items:start;padding-block:28px 40px}
.acp-product>*{margin:0!important}
.acp-product h1{font-size:40px;line-height:1.08;margin:0 0 8px}
.acp-product .wp-block-woocommerce-product-price,.acp-product .wc-block-components-product-price{font:700 32px 'Zilla Slab',serif;margin:6px 0 14px}
@media (max-width:900px){.acp-product{grid-template-columns:minmax(0,1fr);gap:24px}.acp-product h1{font-size:32px}}
.acp-product-lower{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:44px;padding-bottom:64px}
.acp-product-lower>*{margin:0!important}
@media (max-width:900px){.acp-product-lower{grid-template-columns:minmax(0,1fr)}}

/* ---------- Footer ---------- */
.acp-footer{background:#1A1A1A;color:#fff}
.acp-footer a{color:#fff;opacity:.88;text-decoration:none}
.acp-footer a:hover{opacity:1;text-decoration:underline}
.acp-footer h4{margin:0 0 12px;font:900 italic 14px 'Exo 2',sans-serif;text-transform:uppercase;letter-spacing:.1em;color:var(--acp-yellow)}
.acp-footer p{margin:0 0 8px;font-size:15px;color:#fff}
.acp-footer .acp-footer__about{font-size:14px;opacity:.8;max-width:320px}
.acp-footer__from{display:flex;align-items:center;gap:12px;font-size:12px;opacity:.9;margin-top:20px}
.acp-footer__from img{height:26px;width:auto}
.acp-footer__links{list-style:none;margin:0;padding:0}
.acp-footer__links li{margin:0}
.acp-footer__links a{display:block;padding:4px 0;font-size:15px}
.acp-footer__legal{margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;opacity:.75}
.acp-footer__legal p{margin:0;font-size:13px}
.acp-footer .wp-block-columns{gap:40px}
@media (max-width:820px){.acp-footer .wp-block-columns{gap:28px}}

/* ---------- WooCommerce touch-ups ---------- */
.woocommerce .woocommerce-breadcrumb{font-size:14px;color:var(--acp-steel)}
.wc-block-components-product-image img{display:block}
.woocommerce-message,.woocommerce-info{border-left:6px solid var(--acp-denim);background:#EAF0FA;padding:14px 18px;list-style:none}
.woocommerce-error{border-left:6px solid var(--acp-red);background:#FCEBEC;padding:14px 18px;list-style:none}
.wc-block-components-button:not(.is-link){border-radius:2px!important;background:var(--acp-denim);color:#fff}
body.acp-mode-enquiry .wc-block-mini-cart,body.acp-mode-enquiry .wp-block-woocommerce-mini-cart{display:none}

/* ---------- Vertical rhythm for full-width bands ---------- */
.acp-hero{padding-top:72px;padding-bottom:84px}
.acp-strip{padding-top:22px;padding-bottom:22px}
.acp-band{padding-top:68px;padding-bottom:68px}
.acp-pagehead{padding-top:36px;padding-bottom:36px}
.acp-footer{padding-top:60px;padding-bottom:30px}
.acp-navbar{padding-top:0;padding-bottom:0}
.acp-utility,.acp-header{padding-top:0;padding-bottom:0}
@media (max-width:820px){.acp-hero{padding-top:44px;padding-bottom:52px}.acp-band{padding-top:44px;padding-bottom:44px;margin-top:56px}.acp-section{padding-top:56px}}
.acp-footer__link{margin:0}
.acp-footer__link a{display:block;padding:4px 0;font-size:15px}
.acp-footer .wp-block-image img{width:300px;max-width:100%}
.acp-footer p:has(> span:empty),.acp-contact-card p:has(> span:empty){display:none}
.acp-band .acp-enq{color:var(--acp-ink)}
.acp-band .acp-enq p,.acp-band .acp-enq label{color:#444}
.acp-band .acp-enq .acp-req{color:var(--acp-red)}
.acp-band .acp-enq .acp-notice{color:var(--acp-ink)}
