/*
Theme Name: Jax Car Breakers
Theme URI: https://jaxcarbreakers.co.uk
Author: Vilius Radavicius
Description: Brochure theme for Jax Car Breakers. Dark green and lime identity carried over from the eBay listing template. Links out to the eBay store rather than selling on site.
Version: 1.70.2
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jax
Tags: business, custom-menu, custom-logo, two-columns, right-sidebar
*/

/* ==========================================================
   Contents
    1. Tokens          8. Page content and breadcrumbs
    2. Base            9. Forms
    3. Buttons        10. Footer
    4. Header         11. Utilities
    5. Hero           12. Support chat
    6. Trust strip    13. Responsive
    7. Sections and components
                      14. Scrap valuation
                      15. Contact page
   ----------------------------------------------------------
   1.37 rewrite. The eleven stacked "polish" layers from v28
   are folded into one sheet: solid colour instead of
   gradient washes, borders instead of drop shadows, and no
   hover lifts, button shine or scroll reveals. One entrance
   animation on the hero is the only motion nobody asked for.
   ========================================================== */

/* ==========================================================
   1. Tokens
   ========================================================== */
:root{
  /* Palette from the eBay template */
  --forest-900:#021508;
  --forest-800:#031a0b;
  --forest-700:#04240f;
  --green-700:#08491b;
  --green-600:#0a5c22;
  --green-500:#0a8f2f;
  --green-400:#5fb81e;
  --lime:#7ac70c;
  --lime-hover:#8bd61f;
  --lime-soft:#9ee87a;
  --lime-pale:#c9eeb4;

  /* Neutrals, cool so the greens stay clean */
  --ink:#13201a;
  --ink-soft:#4a5a51;
  --paper:#ffffff;
  --paper-tint:#f3f6f1;
  --line:#dde5da;
  --line-strong:#c5d2c2;

  --amber-bg:#fff8e1;
  --amber-line:#efd98c;
  --amber-ink:#6b4f00;

  --display:"Barlow Condensed","Arial Narrow","Roboto Condensed",Arial,sans-serif;
  --body:"Barlow","Segoe UI",Roboto,Arial,Helvetica,sans-serif;

  --wrap:1220px;
  --radius:8px;
  --radius-sm:5px;
  --gap:24px;
  --section:88px;
  --header-h:76px;
}

/* ==========================================================
   2. Base
   ========================================================== */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 12px);}
body{
  margin:0;font-family:var(--body);font-size:17px;line-height:1.65;
  color:var(--ink);background:var(--paper);overflow-wrap:break-word;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--green-600);text-underline-offset:.18em;text-decoration-thickness:1px;}
a:hover{color:var(--green-500);}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px;}

h1,h2,h3,h4{
  font-family:var(--display);font-weight:700;line-height:1.05;
  letter-spacing:.005em;margin:0 0 .45em;color:var(--forest-700);
  text-wrap:balance;
}
h1{font-size:clamp(40px,5.4vw,70px);text-transform:uppercase;line-height:.98;}
h2{font-size:clamp(30px,3.3vw,44px);text-transform:uppercase;}
h3{font-size:clamp(21px,1.9vw,24px);font-weight:600;line-height:1.15;}
h4{font-size:19px;font-weight:600;}
p{margin:0 0 1.1em;}
ul,ol{margin:0 0 1.2em;padding-left:22px;}
li{margin-bottom:.45em;}
li::marker{color:var(--green-500);}
strong{font-weight:700;}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.wrap-narrow{max-width:820px;}
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:12px;top:12px;z-index:9999;background:var(--lime);color:var(--forest-700);padding:10px 16px;font-weight:700;border-radius:var(--radius-sm);}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}

/* Short lime bar under a heading. Kept for the contact page columns. */
.rule{height:3px;width:48px;background:var(--lime);margin:-4px 0 22px;border-radius:2px;}
.rule-center{margin-left:auto;margin-right:auto;}

.eyebrow{
  font-family:var(--body);font-size:15px;font-weight:700;letter-spacing:.01em;
  color:var(--green-500);margin:0 0 12px;
}
.eyebrow-light{color:var(--lime-soft);}

/* ==========================================================
   3. Buttons
   ========================================================== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:50px;padding:12px 26px;
  font-family:var(--display);font-size:18px;font-weight:700;line-height:1.1;
  letter-spacing:.06em;text-transform:uppercase;text-decoration:none;text-align:center;
  border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;
  transition:background-color .15s ease,border-color .15s ease,color .15s ease;
}
.btn-primary{background:var(--lime);border-color:var(--lime);color:var(--forest-700);}
.btn-primary:hover{background:var(--lime-hover);border-color:var(--lime-hover);color:var(--forest-700);}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.7);color:#fff;}
.btn-ghost:hover{background:#fff;border-color:#fff;color:var(--forest-700);}
.btn-dark{background:var(--forest-700);border-color:var(--forest-700);color:#fff;}
.btn-dark:hover{background:var(--green-600);border-color:var(--green-600);color:#fff;}
.btn-ghost-dark{background:transparent;border-color:var(--forest-700);color:var(--forest-700);}
.btn-ghost-dark:hover{background:var(--forest-700);color:#fff;}
.btn-small{min-height:40px;padding:8px 14px;font-size:15px;}
.btn[target="_blank"]::after{
  content:"";width:.7em;height:.7em;flex:0 0 auto;opacity:.75;
  background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1h7v7M11 1 1 11' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1h7v7M11 1 1 11' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* ==========================================================
   4. Header
   ========================================================== */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--forest-700);border-top:4px solid var(--lime);
  transition:box-shadow .2s ease;
}
.admin-bar .site-header{top:32px;}
.site-header.jax-scrolled{box-shadow:0 1px 0 rgba(255,255,255,.06),0 8px 24px rgba(2,21,8,.28);}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:var(--header-h);padding-top:10px;padding-bottom:10px;}

.brand{display:flex;align-items:center;gap:14px;text-decoration:none;flex:0 0 auto;min-width:0;}
.brand-mark{display:block;flex:0 0 auto;background:#fff;border-radius:var(--radius-sm);padding:5px 7px;line-height:0;}
.brand-mark img{width:auto;height:42px;max-width:120px;object-fit:contain;}
.brand-text{display:block;min-width:0;}
.brand-text .brand-name{
  display:block;font-family:var(--display);font-size:clamp(22px,2.2vw,28px);font-weight:700;
  color:#fff;text-transform:uppercase;letter-spacing:.04em;line-height:1;white-space:nowrap;
}
.brand-text .brand-tag{
  display:block;margin-top:5px;font-size:13px;font-weight:600;line-height:1.2;
  color:var(--lime-pale);white-space:nowrap;
}

.nav-toggle{
  display:none;align-items:center;gap:10px;min-height:44px;padding:8px 14px;
  background:transparent;border:1px solid rgba(255,255,255,.35);border-radius:var(--radius-sm);
  color:#fff;font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
}
.nav-toggle::before{
  content:"";width:18px;height:12px;flex:0 0 auto;
  background:linear-gradient(currentColor,currentColor) top/100% 2px no-repeat,
             linear-gradient(currentColor,currentColor) center/100% 2px no-repeat,
             linear-gradient(currentColor,currentColor) bottom/100% 2px no-repeat;
}
.nav-toggle[aria-expanded="true"]::before{
  background:linear-gradient(45deg,transparent 45%,currentColor 45% 55%,transparent 55%),
             linear-gradient(-45deg,transparent 45%,currentColor 45% 55%,transparent 55%);
  height:16px;width:16px;
}
.nav-toggle:hover{border-color:var(--lime);}

.site-nav{flex:0 1 auto;}
.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;gap:2px;}
.site-nav li{margin:0;}
.site-nav a{
  position:relative;display:block;padding:12px 13px;
  font-family:var(--display);font-size:17px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;
  color:#e7f3e0;text-decoration:none;white-space:nowrap;transition:color .15s ease;
}
.site-nav a::after{
  content:"";position:absolute;left:13px;right:13px;bottom:4px;height:3px;border-radius:2px;
  background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .2s ease;
}
.site-nav a:hover{color:#fff;}
.site-nav a:hover::after{transform:scaleX(1);opacity:.5;}
.site-nav .current-menu-item > a,.site-nav .current_page_item > a,.site-nav a[aria-current="page"]{color:#fff;}
.site-nav .current-menu-item > a::after,.site-nav .current_page_item > a::after,.site-nav a[aria-current="page"]::after{transform:scaleX(1);opacity:1;}

/* ==========================================================
   5. Hero
   ========================================================== */
.hero{position:relative;background:var(--forest-800);color:#fff;overflow:hidden;border-bottom:4px solid var(--lime);}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media::after{
  content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,rgba(2,18,7,.94) 0%,rgba(2,18,7,.86) 34%,rgba(3,26,11,.5) 62%,rgba(3,26,11,.18) 100%);
}
.hero-band{display:none;}

/* Slideshow: one photo at a time, crossfading. Only the first has a src in
   the markup; nav.js fills in the rest after load. */
.jax-slides{position:absolute;inset:0;z-index:1;}
.jax-slide{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;
  opacity:0;transition:opacity 1.1s ease-in-out;
}
.jax-slide.is-active{opacity:1;}
.jax-slides-pause{display:none!important;}

.hero-inner{position:relative;z-index:3;padding-top:clamp(64px,9vw,120px);padding-bottom:clamp(64px,8vw,112px);}
.hero.has-photo .hero-inner > *{max-width:660px;}
.hero .eyebrow{display:flex;align-items:center;gap:12px;color:var(--lime-soft);font-size:16px;margin-bottom:18px;}
.hero .eyebrow::before{content:"";width:28px;height:3px;background:var(--lime);border-radius:2px;flex:0 0 auto;}
.hero h1{color:#fff;max-width:17ch;margin-bottom:22px;}
.hero h1 em{font-style:normal;color:inherit;}
.hero-lede{font-size:clamp(18px,1.6vw,20px);line-height:1.6;color:#d9ead1;max-width:52ch;margin-bottom:32px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;}

/* The one entrance on the site: the hero copy settles in on first paint. */
/* Movement only, no fade: text that starts at opacity 0 is not counted as
   painted, which left Google unable to measure the page (NO_LCP). */
@keyframes jax-enter{from{transform:translateY(10px);}to{transform:none;}}
.hero-inner > *{animation:jax-enter .6s cubic-bezier(.2,.7,.2,1) both;}
.hero-inner > :nth-child(2){animation-delay:.07s;}
.hero-inner > :nth-child(3){animation-delay:.14s;}
.hero-inner > :nth-child(4){animation-delay:.21s;}
/* Phones: no entrance at all. Mobile Lighthouse could not settle on a largest
   paint while the hero copy was still moving (NO_LCP), and on a small
   screen the movement adds nothing. */
@media (max-width:899px){.hero-inner > *{animation:none;}}

/* ==========================================================
   6. Trust strip
   ========================================================== */
.badges{background:var(--forest-800);border-bottom:1px solid rgba(255,255,255,.06);}
.badges .wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding-top:0;padding-bottom:0;}
.badge{
  display:flex;align-items:center;justify-content:center;gap:12px;padding:22px 12px;text-align:left;
  border-left:1px solid rgba(255,255,255,.08);
}
.badge:first-child{border-left:0;}
.badge svg{flex:0 0 auto;width:38px;height:38px;}
.badge span{color:#fff;font-family:var(--display);font-weight:600;font-size:18px;letter-spacing:.02em;line-height:1.2;}

/* ==========================================================
   7. Sections and components
   ========================================================== */
.section{padding:var(--section) 0;}
.section-tint{background:var(--paper-tint);}
.section-yard{background:var(--paper);}
.section-dark{background:var(--forest-700);color:#cfe3c6;}
.section-dark h2,.section-dark h3{color:#fff;}
.section-dark a:not(.btn){color:var(--lime-soft);}
.section-head{max-width:62ch;margin-bottom:40px;}
.section-head > :last-child{margin-bottom:0;}
.section-head p{color:var(--ink-soft);font-size:18px;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

.grid{display:grid;gap:var(--gap);}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.section-dark .grid-2{gap:56px;align-items:start;}

/* Card: a titled block of copy. Not a link, so it does not move. */
.card{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-top:3px solid var(--green-500);border-radius:var(--radius);
}
.card-head{
  padding:20px 22px 0;font-family:var(--display);font-size:22px;font-weight:700;line-height:1.15;
  color:var(--forest-700);
}
.card-body{padding:8px 22px 22px;color:var(--ink-soft);font-size:16px;}
.card-body :last-child{margin-bottom:0;}

.panel{background:var(--paper-tint);border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
.panel :last-child{margin-bottom:0;}
.panel h3{color:var(--forest-700);font-size:20px;margin-bottom:4px;}
.panel h3 + p{margin-bottom:18px;}
.section-dark .listing-details-panel{background:var(--paper);border:0;color:var(--ink);padding:30px;}
.section-dark .listing-details-panel h3{color:var(--forest-700);font-size:24px;margin-bottom:14px;}
.listing-details-panel ul{margin:0;padding-left:20px;}
.listing-details-panel li{color:var(--ink-soft);margin-bottom:10px;}
.listing-details-panel li:last-child{margin-bottom:0;}

.notice{
  background:var(--amber-bg);border:1px solid var(--amber-line);border-radius:var(--radius);
  padding:16px 18px;margin:24px 0;color:var(--ink);
}
.notice strong{color:var(--amber-ink);}

/* The yard band: three points that never need maintaining. */
.yard-points{display:grid;gap:var(--gap);grid-template-columns:repeat(3,minmax(0,1fr));}
.yard-point{padding:26px 24px;background:var(--paper-tint);border-radius:var(--radius);}
.yard-point h3{font-size:23px;margin:0 0 8px;}
.yard-point p{margin:0;color:var(--ink-soft);font-size:16px;}
.yard-point-mark{display:block;width:28px;height:3px;background:var(--lime);border-radius:2px;margin-bottom:18px;}
.entry-content .yard-points{margin-top:24px;}

.yard-foot{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 32px;
  margin-top:36px;padding-top:28px;border-top:1px solid var(--line);
}
.yard-foot-note{margin:0;flex:1 1 360px;max-width:62ch;color:var(--ink-soft);}
.yard-foot-actions{display:flex;flex-wrap:wrap;gap:12px;}

/* Parts list */
.partlist{list-style:none;padding:0;margin:0;column-gap:32px;}
.partlist li{margin:0;padding:10px 0 10px 22px;border-bottom:1px solid var(--line);position:relative;break-inside:avoid;}
.partlist li::before{content:"";position:absolute;left:2px;top:19px;width:8px;height:8px;border-radius:2px;background:var(--lime);}
@media (min-width:760px){.partlist{column-count:2;}}

.parts-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);align-items:stretch;}
.parts-category-grid > .panel{height:100%;margin:0;background:var(--paper);}
.parts-category-grid .partlist{column-count:2;column-gap:32px;}

/* Steps: a real sequence, so it is numbered. */
.steps{counter-reset:step;list-style:none;padding:0;margin:28px 0 0;display:grid;gap:var(--gap);grid-template-columns:repeat(4,minmax(0,1fr));}
.steps li{
  counter-increment:step;margin:0;padding:24px 0 0;position:relative;
  border-top:2px solid var(--line-strong);
}
.steps li::before{
  content:counter(step);display:flex;align-items:center;justify-content:center;
  position:absolute;top:-19px;left:0;width:36px;height:36px;border-radius:50%;
  background:var(--forest-700);color:var(--lime);
  font-family:var(--display);font-size:19px;font-weight:700;line-height:1;
}
.section-tint .steps li::before{box-shadow:0 0 0 6px var(--paper-tint);}
.steps h3{margin:14px 0 8px;}
.steps p{margin:0;color:var(--ink-soft);font-size:16px;}

/* Photo band */
.photoband{line-height:0;background:var(--forest-900);}
.photoband img{width:100%;object-fit:cover;max-height:460px;}

/* Closing call to action */
.cta{background:var(--green-600);color:#fff;text-align:center;padding:80px 0;}
.cta h2{color:#fff;}
.cta p{color:#d7ecce;font-size:18px;max-width:52ch;margin-left:auto;margin-right:auto;}
.cta .hero-actions{justify-content:center;margin-top:28px;}
.cta .btn-primary{background:#fff;border-color:#fff;}
.cta .btn-primary:hover{background:var(--lime);border-color:var(--lime);}

/* FAQ accordion */
details.faq{border:1px solid var(--line);border-radius:var(--radius);margin-bottom:10px;background:var(--paper);}
details.faq summary{
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:16px 20px;font-family:var(--display);font-size:21px;font-weight:600;color:var(--forest-700);
  cursor:pointer;list-style:none;
}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary::after{content:"+";font-size:26px;line-height:1;color:var(--green-500);flex:0 0 auto;}
details.faq[open] summary::after{content:"\2212";}
details.faq[open] summary{border-bottom:1px solid var(--line);}
details.faq .faq-body{padding:16px 20px;color:var(--ink-soft);}
details.faq .faq-body :last-child{margin-bottom:0;}

/* eBay listings: these are links, so they answer the pointer. */
.listings{display:grid;gap:20px;grid-template-columns:repeat(4,minmax(0,1fr));}
.listing{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease;
}
.listing:hover{border-color:var(--green-400);box-shadow:0 6px 20px rgba(4,36,15,.08);color:inherit;}
.listing-photo{aspect-ratio:1/1;background:#fff;border-bottom:1px solid var(--line);overflow:hidden;}
.listing-photo img{width:100%;height:100%;object-fit:contain;padding:6px;}
.listing-body{padding:16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.listing-title{
  font-family:var(--body);font-size:16px;font-weight:600;line-height:1.4;color:var(--ink);margin:0;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.listing:hover .listing-title{color:var(--green-600);}
.listing-meta{font-size:13px;color:var(--ink-soft);}
.listing-price{font-family:var(--display);font-size:26px;font-weight:700;color:var(--forest-700);line-height:1;margin-top:auto;padding-top:8px;}
.listings-empty{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:28px;text-align:center;color:var(--ink-soft);}
.section-dark .listings-empty{border-color:rgba(158,232,122,.4);color:#c6e3b6;}
.listings-more{margin-top:32px;}

/* Stock slideshow (1.42). One row of cards that slides sideways, mixed across makes. */
.stock-head{max-width:none;display:block;}
.stock-head p{max-width:62ch;}
.stock-eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:10px;font-family:var(--display);font-weight:600;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--green-600);}
.stock-live{position:relative;width:9px;height:9px;border-radius:50%;background:var(--lime);}
.stock-live::after{content:"";position:absolute;inset:0;border-radius:50%;background:rgba(122,199,12,.55);animation:stock-pulse 2.4s ease-out infinite;}
@keyframes stock-pulse{0%{transform:scale(1);opacity:1;}70%{transform:scale(3);opacity:0;}100%{transform:scale(3);opacity:0;}}
.stock{position:relative;}
.stock-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;}
.stock-makes{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px;margin:-2px;min-width:0;mask-image:linear-gradient(90deg,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);}
.stock-makes::-webkit-scrollbar{display:none;}
.stock-make{flex:none;font:600 14px/1 var(--body);color:var(--forest-700);background:var(--paper);border:1px solid var(--line-strong);border-radius:999px;padding:9px 15px;cursor:pointer;transition:background .15s,border-color .15s,color .15s;}
.stock-make:hover{border-color:var(--green-500);color:var(--green-600);}
.stock-make.is-on{background:var(--forest-700);border-color:var(--forest-700);color:var(--lime-soft);}
.stock-arrows{display:flex;gap:8px;flex:none;}
.stock-arrow{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:var(--forest-700);color:var(--lime-soft);border:0;transition:background .15s,transform .15s;}
.stock-arrow:hover{background:var(--green-600);color:#fff;}
.stock-arrow:active{transform:scale(.94);}
.stock-track{list-style:none;margin:0;padding:4px 2px 6px;display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain;}
.stock-track::-webkit-scrollbar{display:none;}
.stock-track:focus-visible{outline-offset:6px;border-radius:var(--radius);}
.stock-slide{flex:0 0 calc((100% - 60px) / 4);min-width:0;scroll-snap-align:start;margin:0;display:flex;}
.stock-slide[hidden]{display:none;}
.stock-card{display:flex;flex-direction:column;width:100%;min-width:0;background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease;}
.stock-card:hover{border-color:var(--green-400);box-shadow:0 14px 34px rgba(4,36,15,.12);transform:translateY(-3px);color:inherit;}
.stock-photo{position:relative;aspect-ratio:1/1;background:#fff;overflow:hidden;border-bottom:1px solid var(--line);}
.stock-photo img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .35s ease;}
.stock-card:hover .stock-photo img{transform:scale(1.04);}
.stock-badge{position:absolute;left:10px;top:10px;font:700 12px/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--lime-soft);background:var(--forest-700);padding:7px 10px;border-radius:999px;box-shadow:0 2px 8px rgba(2,21,8,.18);}
.stock-body{padding:16px 16px 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.stock-kicker{font:600 12px/1.3 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--green-600);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.stock-title{font:600 15px/1.4 var(--body);color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.2em;}
.stock-card:hover .stock-title{color:var(--green-600);}
.stock-meta{font-size:13px;color:var(--ink-soft);}
.stock-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px dashed var(--line);}
.stock-price{font:700 28px/1 var(--display);color:var(--forest-700);}
.stock-go{display:inline-flex;align-items:center;gap:4px;font:600 13px/1 var(--body);color:var(--green-600);white-space:nowrap;}
.stock-go svg{transition:transform .2s ease;}
.stock-card:hover .stock-go svg{transform:translateX(3px);}
.stock-count{font-weight:600;font-size:12px;color:var(--ink-soft);margin-left:3px;}
.stock-make.is-on .stock-count{color:var(--lime-pale);}
.stock-status{display:flex;align-items:center;gap:14px;margin-top:18px;}
.stock-where{flex:none;font:600 13px/1 var(--body);color:var(--ink-soft);font-variant-numeric:tabular-nums;min-width:9ch;text-align:right;}
.stock-track[aria-busy="true"]{cursor:progress;}
.stock-progress{flex:1;height:4px;border-radius:999px;background:var(--line);overflow:hidden;}
.stock-progress span{display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:left center;background:linear-gradient(90deg,var(--green-500),var(--lime));border-radius:inherit;transition:transform .3s ease;}
@media (max-width:1024px){.stock-slide{flex-basis:calc((100% - 40px) / 3);}}
@media (max-width:720px){
  .stock-track{gap:12px;}
  .stock-slide{flex-basis:calc((100% - 12px) / 2.2);}
  .stock-arrow{width:40px;height:40px;}
  .stock-body{padding:12px 12px 11px;}
  .stock-title{font-size:14px;}
  .stock-price{font-size:23px;}
  .stock-go{font-size:0;gap:0;}
}
@media (max-width:420px){.stock-slide{flex-basis:72%;}}
@media (prefers-reduced-motion:reduce){
  .stock-track{scroll-behavior:auto;}
  .stock-live::after{animation:none;}
  .stock-card,.stock-card:hover,.stock-photo img,.stock-card:hover .stock-photo img{transition:none;transform:none;}
}

/* Make pages, make links, model chips, local FAQ (1.52) */
.make-links{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}
.make-links li{margin:0;}
.make-link{
  display:flex;flex-direction:column;gap:4px;height:100%;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--lime);
  border-radius:var(--radius);background:var(--paper);text-decoration:none;color:var(--forest-700);transition:border-color .15s,transform .15s;
}
.make-link:hover{border-color:var(--green-500);color:var(--forest-700);transform:translateY(-1px);}
.make-link-name{font-family:var(--display);font-size:22px;font-weight:700;line-height:1.1;}
.make-link-meta{font-size:15px;color:var(--ink-soft);}
.model-chips{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:10px;}
.model-chips li{margin:0;display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--paper-tint);border:1px solid var(--line);font-weight:600;color:var(--forest-700);}
.model-chip-count{font-weight:400;font-size:14px;color:var(--ink-soft);}
.text-soft{color:var(--ink-soft);}
.areas-line{margin-top:18px;color:var(--ink-soft);}
.home-faq{max-width:820px;}
.page-hero .eyebrow{color:var(--lime-soft);margin-bottom:10px;}
.footer-seo{padding-bottom:28px;display:flex;flex-wrap:wrap;gap:6px 22px;align-items:baseline;font-size:15px;}
.footer-seo .footer-heading{margin:0;font-size:17px;}
.footer-makes{display:flex;flex-wrap:wrap;gap:6px 18px;}
.site-footer .footer-makes li{margin:0;}
.footer-areas{margin:0;flex-basis:100%;color:#8fac85;}


/* Find us (1.59) */
.find-us-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;align-items:center;}
.find-us-address{font-size:19px;line-height:1.55;}
.find-us-note{color:var(--ink-soft);}
.find-us-map{position:relative;min-height:340px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--paper-tint);}
.find-us-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.find-us-map-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center;color:var(--forest-700);
  background:repeating-linear-gradient(45deg,var(--paper-tint) 0 14px,#eaf0e6 14px 28px);}
.find-us-map-placeholder p{margin:0;font-weight:600;max-width:30ch;}
.find-us-map-placeholder small{color:var(--ink-soft);max-width:34ch;}
.find-us-open{font-size:15px;}
@media (max-width:760px){.find-us-grid{grid-template-columns:1fr;gap:24px;}.find-us-map{min-height:280px;}}


/* Donor car pages (1.61) */
.donor-cards{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.donor-cards li{margin:0;}
.donor-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);text-decoration:none;color:var(--forest-700);transition:border-color .15s,transform .15s;}
.donor-card:hover{border-color:var(--green-500);transform:translateY(-1px);color:var(--forest-700);}
.donor-card-photo{display:block;aspect-ratio:4/3;background:var(--paper-tint);overflow:hidden;}
.donor-card-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.donor-card-body{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px;}
.donor-card-kicker{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--green-500);}
.donor-card-name{font-family:var(--display);font-size:21px;font-weight:700;line-height:1.15;}
.donor-card-meta{font-size:15px;color:var(--ink-soft);}
.donor-card-count{font-size:15px;font-weight:600;margin-top:auto;padding-top:6px;}
.donor-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-bottom:32px;align-items:start;}
.donor-spec dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;margin:0;}
.donor-spec dt{font-weight:600;color:var(--ink-soft);}
.donor-spec dd{margin:0;}
.donor-parts{list-style:none;padding:0;margin:0 0 24px;}
.donor-parts .stock-slide{flex:none;}
.donor-part-names{color:var(--ink-soft);}
@media (max-width:760px){.donor-top{grid-template-columns:1fr;}}


/* Shop by make tiles, wider content grids (1.63) */
.entry-content > .wrap > ul.listings,.entry-content > .wrap > ul.donor-cards,.entry-content > .wrap > ul.make-links,
.entry-content > .wrap > ul.make-tiles,.entry-content > .wrap > ul.model-chips{max-width:none;}
.make-tiles{list-style:none;padding:0;margin:0;display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));}
.make-tiles li{margin:0;}
.make-tile{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--forest-700);text-decoration:none;isolation:isolate;}
.make-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease;z-index:-2;}
.make-tile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(2,18,7,.92) 0%,rgba(2,18,7,.55) 38%,rgba(2,18,7,.05) 70%);}
.make-tile:hover img{transform:scale(1.05);}
.make-tile-text{position:absolute;left:0;right:0;bottom:0;padding:16px 18px;display:flex;flex-direction:column;gap:2px;}
.make-tile-name{font-family:var(--display);font-size:clamp(24px,2.4vw,32px);font-weight:700;line-height:1;color:#fff;text-transform:uppercase;letter-spacing:.02em;}
.make-tile-count{font-size:15px;color:var(--lime-soft);font-weight:600;}
.make-tile:focus-visible{outline:3px solid var(--lime);outline-offset:3px;}
.donor-cards{grid-template-columns:repeat(4,minmax(0,1fr));}
.donor-card-photo{background:#fff;}
.donor-card-photo img{object-fit:contain;padding:8px;}
.donor-parts{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
@media (max-width:1024px){.make-tiles,.donor-cards{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:760px){.make-tiles,.donor-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}.make-tile-text{padding:12px 13px;}.make-tile-count{font-size:13px;}.donor-parts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}}
@media (prefers-reduced-motion:reduce){.make-tile img{transition:none;}.make-tile:hover img{transform:none;}}


/* Part numbers, linked model chips (1.65) */
.oe-block{margin:2em 0;}
.oe-list{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:6px 8px;max-width:none !important;}
.oe-list li{margin:0;}
.oe-list a,.oe-list li{font:600 14px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.02em;}
.oe-list a{display:inline-block;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--forest-700);text-decoration:none;}
.oe-list a:hover{border-color:var(--green-500);color:var(--green-500);}
.model-chips li > a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none;}
.model-chips li:has(> a):hover{border-color:var(--green-500);}


/* Part pages (1.66) */
.part-hero{padding:16px 0;}
.part-hero .breadcrumbs{margin:0;}
.part-page{padding-top:36px;}
.part-top{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start;margin-bottom:32px;}
.part-gallery-main{background:#fff;border:1px solid var(--line);border-radius:var(--radius);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.part-gallery-main img{width:100%;height:100%;object-fit:contain;}
.part-thumbs{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-wrap:wrap;gap:8px;max-width:none !important;}
.part-thumbs li{margin:0;}
.part-thumbs button{padding:0;border:2px solid var(--line);border-radius:8px;background:#fff;cursor:pointer;line-height:0;overflow:hidden;}
.part-thumbs button[aria-current="true"],.part-thumbs button:hover{border-color:var(--green-500);}
.part-thumbs img{width:80px;height:60px;object-fit:contain;}
.part-info .eyebrow{color:var(--green-500);margin-bottom:8px;}
.part-title{font-size:clamp(26px,2.6vw,36px);line-height:1.15;margin-bottom:16px;}
.part-price{font:700 40px/1 var(--display);color:var(--forest-700);margin:0 0 6px;}
.part-price span{font:600 15px/1 var(--body);color:var(--green-500);margin-left:10px;}
.part-condition{color:var(--ink-soft);margin-bottom:18px;}
.part-actions .btn{flex:1 1 200px;}
.part-small{font-size:14px;color:var(--ink-soft);margin-top:10px;}
.part-oe{margin:18px 0;padding:14px 16px;border:1px dashed var(--line-strong);border-radius:var(--radius);display:flex;flex-direction:column;gap:4px;}
.part-oe span,.part-car-label{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:600;}
.part-oe strong{font:700 18px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all;}
.part-car{display:flex;flex-direction:column;gap:4px;}
.part-car-meta{font-size:15px;color:var(--ink-soft);}
.part-facts{max-width:760px;}
.part-facts th{width:38%;}
@media (max-width:860px){.part-top{grid-template-columns:1fr;gap:24px;}.part-price{font-size:34px;}.part-actions .btn{flex:1 1 100%;}}

/* ==========================================================
   8. Page content and breadcrumbs
   ========================================================== */
.page-hero{background:var(--forest-700);color:#fff;padding:52px 0 56px;border-bottom:4px solid var(--lime);}
.page-hero h1{color:#fff;margin-bottom:12px;font-size:clamp(38px,4.6vw,58px);}
.page-hero p{color:#cfe3c6;max-width:60ch;margin:0;font-size:19px;line-height:1.55;}

.breadcrumbs{margin:0 0 18px;font-size:14px;}
.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;}
.breadcrumbs li{margin:0;color:#b9d6ad;}
.breadcrumbs li + li::before{content:"/";margin:0 10px;color:rgba(255,255,255,.35);}
.breadcrumbs a{color:var(--lime-soft);text-decoration:none;}
.breadcrumbs a:hover{color:#fff;text-decoration:underline;}

.entry-content{padding:64px 0 80px;}
.entry-content h2{margin-top:1.7em;font-size:clamp(28px,2.8vw,38px);}
.entry-content h2:first-child,.entry-content .grid h2{margin-top:0;}
.entry-content h3{margin-top:1.4em;}
.entry-content .panel h3,.entry-content .card h3,.entry-content .grid > div > h3:first-child{margin-top:0;}
.entry-content > .wrap > p,.entry-content > .wrap > ul,.entry-content > .wrap > ol{max-width:70ch;}
.entry-content blockquote{
  margin:28px 0;padding:6px 0 6px 22px;border-left:3px solid var(--lime);
  font-size:19px;color:var(--forest-700);
}
.entry-content table{width:100%;border-collapse:collapse;margin-bottom:1.4em;font-size:16px;}
.entry-content th,.entry-content td{border-bottom:1px solid var(--line);padding:11px 12px;text-align:left;vertical-align:top;}
.entry-content th{background:var(--paper-tint);font-family:var(--display);font-size:17px;letter-spacing:.02em;color:var(--forest-700);}

.post-card{border-bottom:1px solid var(--line);padding-bottom:28px;margin-bottom:28px;}
.post-card h2{margin-bottom:6px;font-size:30px;}
.post-card h2 a{color:inherit;text-decoration:none;}
.post-card h2 a:hover{color:var(--green-500);}
.post-meta{font-size:14px;color:var(--ink-soft);}
.pagination{display:flex;gap:8px;flex-wrap:wrap;}
.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);text-decoration:none;}
.pagination .current{background:var(--forest-700);border-color:var(--forest-700);color:#fff;font-weight:700;}

/* ==========================================================
   9. Forms
   ========================================================== */
.form-grid{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));}
.field{display:flex;flex-direction:column;gap:6px;}
.field-full{grid-column:1/-1;}
.field label{font-size:15px;font-weight:700;color:var(--forest-700);}
.field input,.field textarea,.field select{
  font-family:var(--body);font-size:16px;padding:12px 14px;width:100%;
  border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;color:var(--ink);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--green-500);box-shadow:0 0 0 3px rgba(122,199,12,.3);}
.field textarea{min-height:150px;resize:vertical;}
.field .hint{font-size:13px;color:var(--ink-soft);}
.hp-field{position:absolute;left:-9999px;}
.recaptcha-notice{margin-top:14px;font-size:12px;color:var(--ink-soft);}
.recaptcha-notice a{color:inherit;text-decoration:underline;}
.form-message{padding:14px 18px;border-radius:var(--radius);margin-bottom:22px;font-weight:600;}
.form-message.ok{background:#eaf8e6;border:1px solid #b6e0a5;color:#14611f;}
.form-message.err{background:#fdeceb;border:1px solid #f0b6b1;color:#8c1f18;}
.jax-public-chart{margin:24px 0;color:var(--forest-700);}
.jax-public-chart svg{width:100%;height:auto;}

/* ==========================================================
   10. Footer
   ========================================================== */
.site-footer{background:var(--forest-800);color:#b9d0b0;font-size:16px;}
.footer-top{display:grid;gap:40px;grid-template-columns:1.4fr 1fr .8fr 1.1fr;padding-top:64px;padding-bottom:48px;}
.site-footer .footer-heading{
  font-family:var(--display);font-size:20px;font-weight:600;letter-spacing:.02em;text-transform:none;
  color:#fff;margin:0 0 16px;
}
.site-footer a:not(.btn){color:#dcecd4;text-decoration:none;}
.site-footer a:not(.btn):hover{color:#fff;text-decoration:underline;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:10px;line-height:1.45;}
.footer-mark{display:inline-block;background:#fff;border-radius:var(--radius-sm);padding:6px 8px;line-height:0;margin-bottom:16px;}
.footer-mark img{height:44px;width:auto;max-width:140px;object-fit:contain;}
.footer-brand .brand-name{display:block;font-family:var(--display);font-size:26px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;line-height:1;}
.footer-brand p{margin-top:14px;max-width:38ch;}
.footer-bottom{
  position:relative;padding-top:20px;padding-bottom:26px;
  display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;font-size:14px;color:#8fac85;
}
.footer-bottom::before{content:"";position:absolute;top:0;left:24px;right:24px;height:1px;background:rgba(255,255,255,.1);}
.footer-legal{display:flex;gap:18px;flex-wrap:wrap;}

/* ==========================================================
   11. Utilities
   ========================================================== */
.text-center{text-align:center;}
.mb-0{margin-bottom:0;}
.mt-24{margin-top:24px;}
.alignleft{float:left;margin:0 20px 16px 0;}
.alignright{float:right;margin:0 0 16px 20px;}
.aligncenter{margin-left:auto;margin-right:auto;}
.wp-caption{max-width:100%;}
.wp-caption-text{font-size:14px;color:var(--ink-soft);}

/* ==========================================================
   12. Support chat
   ========================================================== */
.jax-ai{
  position:fixed;right:20px;bottom:20px;z-index:1000;
  font-family:var(--body);
}
.jax-ai-launch{
  position:relative;
  display:flex;align-items:center;gap:10px;
  border:0;border-radius:999px;padding:14px 22px;
  background:var(--lime);
  color:var(--forest-700);font-family:var(--display);font-size:18px;font-weight:700;
  text-transform:uppercase;letter-spacing:.9px;cursor:pointer;
  box-shadow:0 10px 30px rgba(4,36,15,.34),0 0 0 3px rgba(255,255,255,.55);
  transition:transform .18s ease,box-shadow .18s ease;
}
.jax-ai-launch:hover,.jax-ai-launch:focus-visible{
  transform:translateY(-2px);box-shadow:0 14px 34px rgba(4,36,15,.4),0 0 0 3px #fff;
}
.jax-ai-launch-icon{display:flex;align-items:center;}

/* A ring that keeps breathing outward, so the button reads as something that
   wants clicking rather than as a badge stuck in the corner. Pure transform
   and opacity, so it runs on the compositor and costs no layout. */
.jax-ai-launch::after{
  content:"";position:absolute;inset:0;border-radius:999px;pointer-events:none;
  border:2px solid var(--lime);
  animation:jax-ai-ring 2.6s ease-out infinite;
}
@keyframes jax-ai-ring{
  0%{transform:scale(1);opacity:.65;}
  70%{transform:scale(1.28);opacity:0;}
  100%{transform:scale(1.28);opacity:0;}
}

/* And a nudge every few seconds, which the script stops after a handful of
   goes or the moment anyone opens the chat. An animation that never gives up
   stops reading as an invitation and starts reading as a fault. */
@keyframes jax-ai-nudge{
  0%,100%{transform:translateY(0) rotate(0);}
  12%{transform:translateY(-6px) rotate(-3.5deg);}
  26%{transform:translateY(0) rotate(3deg);}
  38%{transform:translateY(-3px) rotate(-2deg);}
  52%{transform:translateY(0) rotate(1.2deg);}
  64%{transform:translateY(0) rotate(0);}
}
.jax-ai-launch.is-nudging{animation:jax-ai-nudge 1.15s ease-in-out;}

/* The one-line prompt that pops up beside it. Removed from the DOM once
   dismissed or once the chat is opened. */
/* Author display:flex would otherwise beat the browser's own [hidden] rule,
   so the teaser has to be told to stay down until the script reveals it. */
.jax-ai-teaser[hidden]{display:none;}
.jax-ai-teaser{
  position:absolute;right:0;bottom:70px;cursor:pointer;width:max-content;max-width:min(260px,calc(100vw - 40px));
  display:flex;align-items:flex-start;gap:8px;
  padding:11px 12px 11px 14px;border-radius:14px 14px 4px 14px;
  background:#fff;border:1px solid var(--line);
  box-shadow:0 12px 30px rgba(4,36,15,.22);
  animation:jax-ai-teaser-in .45s ease-out both;
}
.jax-ai-teaser p{
  margin:0;font-size:14.5px;line-height:1.4;color:var(--forest-700);font-weight:600;
}
.jax-ai-teaser-close{
  border:0;background:transparent;cursor:pointer;padding:0 2px;
  font-size:19px;line-height:1;color:var(--ink-soft);
}
.jax-ai-teaser-close:hover{color:var(--forest-700);}
@keyframes jax-ai-teaser-in{
  from{opacity:0;transform:translateY(8px) scale(.94);}
  to{opacity:1;transform:none;}
}

@media (prefers-reduced-motion:reduce){
  .jax-ai-launch::after{animation:none;opacity:.5;}
  .jax-ai-launch.is-nudging{animation:none;}
  .jax-ai-teaser{animation:none;}
}
/* Chat window (1.46 redesign): flat surfaces, borders over shadows except
   for the floating panel itself, bubbles with a tail on the speaker's side. */
.jax-ai-panel{
  position:absolute;right:0;bottom:66px;width:min(380px,calc(100vw - 30px));
  display:flex;flex-direction:column;
  background:var(--paper);border:1px solid var(--line);border-radius:18px;
  box-shadow:0 24px 60px rgba(2,21,8,.28),0 2px 6px rgba(2,21,8,.08);overflow:hidden;
  transform-origin:bottom right;animation:jax-ai-open .22s cubic-bezier(.2,.8,.2,1) both;
}
.jax-ai-panel[hidden]{display:none;}
@keyframes jax-ai-open{from{opacity:0;transform:translateY(10px) scale(.97);}to{opacity:1;transform:none;}}

.jax-ai-head{
  display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;
  background:var(--forest-700);color:#fff;border-bottom:3px solid var(--lime);
}
.jax-ai-avatar{
  position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:40px;height:40px;border-radius:50%;background:var(--lime);color:var(--forest-700);
}
.jax-ai-avatar::after{
  content:"";position:absolute;right:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;
  background:#3ddc6a;border:2px solid var(--forest-700);
}
.jax-ai-head-text{flex:1 1 auto;min-width:0;}
.jax-ai-head strong{display:block;font-family:var(--display);font-size:20px;font-weight:700;line-height:1.1;letter-spacing:.04em;text-transform:uppercase;}
.jax-ai-head .jax-ai-status{display:block;margin-top:2px;font-size:13px;color:var(--lime-pale);}
.jax-ai-close{
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:34px;height:34px;padding:0;
  border:0;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;cursor:pointer;
  transition:background-color .15s ease;
}
.jax-ai-close:hover{background:rgba(255,255,255,.18);}

.jax-ai-messages{
  display:flex;flex-direction:column;gap:8px;
  height:360px;overflow-y:auto;overscroll-behavior:contain;padding:16px 14px;
  background:var(--paper-tint);scroll-behavior:smooth;
}
.jax-ai-message{
  max-width:85%;margin:0;padding:10px 13px;border-radius:16px;
  font-size:15px;line-height:1.45;overflow-wrap:anywhere;
  animation:jax-ai-pop .18s ease-out both;
}
@keyframes jax-ai-pop{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.jax-ai-message-copy{white-space:pre-wrap;}
.jax-ai-message-bot{align-self:flex-start;background:var(--paper);border:1px solid var(--line);border-bottom-left-radius:5px;color:var(--ink);}
.jax-ai-message-bot:has(.jax-ai-listings){max-width:94%;}
.jax-ai-message-user{align-self:flex-end;background:var(--forest-700);color:#fff;border-bottom-right-radius:5px;}

/* Typing: three dots */
.jax-ai-typing{display:flex;gap:4px;align-items:center;padding:13px 15px;}
.jax-ai-typing span{width:7px;height:7px;border-radius:50%;background:var(--green-400);animation:jax-ai-dot 1.1s ease-in-out infinite;}
.jax-ai-typing span:nth-child(2){animation-delay:.15s;}
.jax-ai-typing span:nth-child(3){animation-delay:.3s;}
@keyframes jax-ai-dot{0%,60%,100%{transform:none;opacity:.45;}30%{transform:translateY(-4px);opacity:1;}}

/* Quick questions */
.jax-ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin:2px 0 0;}
.jax-ai-chip{
  padding:7px 13px;border:1.5px solid var(--green-500);border-radius:999px;background:var(--paper);
  font-family:var(--body);font-size:14px;font-weight:600;color:var(--green-600);cursor:pointer;
  transition:background-color .15s ease,color .15s ease;
}
.jax-ai-chip:hover{background:var(--green-500);color:#fff;}

/* Listing cards */
.jax-ai-listings{display:grid;gap:6px;margin-top:10px;}
.jax-ai-listing{
  display:flex;align-items:center;gap:10px;padding:7px;
  background:var(--paper-tint);border:1px solid var(--line);border-radius:12px;
  color:var(--ink);text-decoration:none;transition:border-color .15s ease,background-color .15s ease;
}
.jax-ai-listing:hover{border-color:var(--green-500);background:var(--paper);color:var(--ink);}
.jax-ai-listing-thumb{
  flex:0 0 auto;width:52px;height:52px;border-radius:8px;overflow:hidden;background:var(--line);
}
.jax-ai-listing-thumb img{width:100%;height:100%;object-fit:cover;}
.jax-ai-listing-thumb:empty{background:var(--line) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a3b3a0' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Ccircle cx='9' cy='10' r='1.6'/%3E%3Cpath d='M21 16l-5-5-8 8'/%3E%3C/svg%3E") center/22px no-repeat;}
.jax-ai-listing-body{display:flex;flex-direction:column;gap:3px;min-width:0;}
.jax-ai-listing-title{
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  font-size:13px;font-weight:600;line-height:1.3;
}
.jax-ai-listing-meta{display:flex;align-items:center;gap:8px;font-size:12px;}
.jax-ai-listing-price{font-family:var(--display);font-size:17px;font-weight:700;color:var(--forest-700);}
.jax-ai-listing-view{color:var(--green-600);font-weight:600;}
.jax-ai-listing-view::after{content:" \2197";}

/* Human check and contact fallback */
.jax-ai-gate-options{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px;}
.jax-ai-gate-option{
  flex:1 1 auto;min-width:72px;padding:10px 14px;
  font-family:var(--display);font-size:19px;font-weight:600;letter-spacing:.5px;
  border:2px solid var(--line);border-radius:10px;background:var(--paper);color:var(--forest-700);cursor:pointer;
  transition:border-color .12s ease,background-color .12s ease;
}
.jax-ai-gate-option:hover:not(:disabled){border-color:var(--green-500);background:var(--paper-tint);}
.jax-ai-gate-option:disabled{opacity:.5;cursor:default;}
.jax-ai-contact-link{
  display:inline-flex;margin-top:10px;padding:8px 14px;border-radius:999px;background:var(--forest-700);
  font-family:var(--display);font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;text-decoration:none;
}
.jax-ai-contact-link:hover{background:var(--green-600);color:#fff;}

/* Composer */
.jax-ai-form{padding:10px 12px 10px;background:var(--paper);border-top:1px solid var(--line);}
.jax-ai-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.jax-ai-composer{
  display:flex;align-items:flex-end;gap:6px;padding:5px 5px 5px 14px;
  background:var(--paper-tint);border:1.5px solid var(--line-strong);border-radius:24px;
  transition:border-color .15s ease,background-color .15s ease;
}
.jax-ai-composer:focus-within{border-color:var(--green-500);background:var(--paper);}
.jax-ai-composer textarea{
  flex:1 1 auto;display:block;min-width:0;height:36px;max-height:112px;padding:7px 0;margin:0;
  border:0;background:transparent;resize:none;outline:none;
  font:inherit;font-size:15px;line-height:22px;color:var(--ink);
}
.jax-ai-composer textarea::placeholder{color:#8a978f;}
.jax-ai-composer textarea:disabled{cursor:not-allowed;}
.jax-ai-send{
  display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:36px;height:36px;padding:0;
  border:0;border-radius:50%;background:var(--lime);color:var(--forest-700);cursor:pointer;
  transition:background-color .15s ease,opacity .15s ease;
}
.jax-ai-send:hover{background:var(--lime-hover);}
.jax-ai-composer textarea:disabled + .jax-ai-send{opacity:.45;cursor:default;}
.jax-ai-note{margin:7px 4px 0;font-size:11px;line-height:1.35;color:var(--ink-soft);text-align:center;}
.jax-ai-note a{color:inherit;}

@media (prefers-reduced-motion:reduce){
  .jax-ai-panel,.jax-ai-message{animation:none;}
  .jax-ai-typing span{animation-duration:2.4s;}
}

@media(max-width:600px){
  .jax-ai{right:12px;bottom:12px;}
  .jax-ai-launch{padding:13px 18px;font-size:17px;}
  .jax-ai-teaser{bottom:66px;}
  .jax-ai-panel{bottom:58px;width:calc(100vw - 24px);}
  .jax-ai-messages{height:46vh;max-height:390px;}
  .jax-ai-composer textarea{font-size:16px;} /* stops iOS zooming in */
}

/* ==========================================================
   13. Responsive
   ========================================================== */
@media (max-width:1240px){
  .site-nav a{padding-left:10px;padding-right:10px;font-size:16px;}
  .site-nav a::after{left:10px;right:10px;}
  .header-inner{gap:16px;}
}

@media (max-width:1120px){
  .nav-toggle{display:inline-flex;}
  .header-inner{flex-wrap:wrap;}
  .site-nav{display:none;flex-basis:100%;width:100%;}
  .site-nav.is-open{display:block;}
  .site-nav ul{flex-direction:column;gap:0;padding:6px 0 14px;border-top:1px solid rgba(255,255,255,.1);}
  .site-nav a{display:flex;align-items:center;min-height:50px;padding:12px 4px;font-size:19px;border-bottom:1px solid rgba(255,255,255,.08);}
  .site-nav a::after{left:4px;right:auto;width:28px;bottom:8px;}

  .listings{grid-template-columns:repeat(3,minmax(0,1fr));}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:44px;}
  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:960px){
  :root{--section:68px;}
  .grid-3,.yard-points{grid-template-columns:repeat(2,minmax(0,1fr));}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .section-dark .grid-2{gap:36px;}
  .badges .wrap{grid-template-columns:repeat(5,minmax(0,1fr));}
  .badge{flex-direction:column;text-align:center;gap:8px;padding:18px 6px;}
  .badge span{font-size:15px;}
  .parts-category-grid{grid-template-columns:1fr;}
}

@media (max-width:760px){
  :root{--section:52px;--header-h:64px;--gap:16px;}
  body{font-size:16px;}
  .wrap{padding-left:16px;padding-right:16px;}

  .header-inner{gap:10px;padding-top:8px;padding-bottom:8px;}
  .brand{gap:10px;}
  .brand-mark{padding:4px 6px;}
  .brand-mark img{height:34px;max-width:96px;}
  .brand-text .brand-name{font-size:clamp(19px,5.6vw,24px);white-space:normal;}
  .brand-text .brand-tag{font-size:11px;white-space:normal;margin-top:3px;}
  .nav-toggle{margin-left:auto;}

  .grid-2,.grid-3,.grid-4,.yard-points,.form-grid{grid-template-columns:1fr;}
  .section-head{margin-bottom:28px;}
  .section-head p{font-size:17px;}

  /* Hero: photo stays behind the copy on phones, scaled to show more of the
     yard than a plain cover crop would. */
  .hero{min-height:600px;display:flex;align-items:flex-start;}
  .hero-media{background:var(--forest-800);}
  .hero-media img,.hero-media .jax-slide{
    position:absolute;top:50%;left:50%;right:auto;bottom:auto;
    width:238%;max-width:none;height:auto;transform:translate(-50%,-50%);
    object-fit:contain;object-position:center;
  }
  .hero-media::after{
    background:
      linear-gradient(90deg,rgba(2,18,7,.95) 0%,rgba(2,18,7,.88) 42%,rgba(3,26,11,.62) 72%,rgba(3,26,11,.36) 100%),
      linear-gradient(to bottom,rgba(2,18,7,.3) 0%,rgba(2,18,7,.06) 34%,rgba(2,18,7,.06) 68%,rgba(2,18,7,.45) 100%);
  }
  .hero-inner{width:100%;padding-top:44px;padding-bottom:48px;}
  .hero.has-photo .hero-inner > *{max-width:620px;}
  .hero h1{max-width:13ch;}
  .hero-lede{max-width:34ch;}
  .hero-actions{gap:10px;}
  .hero-actions .btn,.cta .hero-actions .btn{flex:1 1 100%;width:100%;min-height:54px;}

  /* All five trust points stay on one row, as on desktop. */
  .badges .wrap{padding:12px 4px;}
  .badge{padding:8px 2px;gap:6px;border-left:0;}
  .badge svg{width:30px;height:30px;}
  .badge span{font-size:clamp(10px,2.7vw,14px);line-height:1.15;letter-spacing:0;}

  .steps{grid-template-columns:1fr;row-gap:36px;}
  .listings{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .listing-body{padding:12px;}
  .listing-title{font-size:14px;}
  .listing-price{font-size:22px;}
  .partlist,.parts-category-grid .partlist{column-count:1;}

  .page-hero{padding:34px 0 38px;}
  .page-hero p{font-size:17px;}
  .entry-content{padding:40px 0 56px;}
  .entry-content table{display:block;overflow-x:auto;}
  .alignleft,.alignright{float:none;margin:0 0 16px;}
  .cta{padding:56px 0;}
  .yard-foot{margin-top:28px;padding-top:22px;}

  .footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 22px;padding-top:40px;padding-bottom:32px;}
  .footer-top > :first-child,.footer-top > :last-child{grid-column:1/-1;}
  .footer-top > :last-child .btn{width:100%;max-width:380px;}
  .footer-bottom{flex-direction:column;gap:6px;font-size:13px;}
  .footer-bottom::before{left:16px;right:16px;}
  /* Leave room for the floating chat button. */
  .site-footer{padding-bottom:calc(76px + env(safe-area-inset-bottom));}

  /* Chat as a compact sheet on phones. */
  .jax-ai-teaser{display:none!important;}
  .jax-ai{left:auto;right:12px;bottom:calc(16px + env(safe-area-inset-bottom));}
  .jax-ai-launch{margin-left:auto;min-height:48px;padding:11px 15px;gap:8px;font-size:14px;letter-spacing:.65px;box-shadow:0 8px 22px rgba(4,36,15,.30),0 0 0 2px rgba(255,255,255,.6);}
  .jax-ai-launch-icon svg{width:19px;height:19px;}
  .jax-ai-launch::after{display:none;}
  .jax-ai-panel{
    position:fixed;left:10px;right:10px;width:auto;
    bottom:calc(70px + env(safe-area-inset-bottom));
    max-height:calc(100dvh - 92px - env(safe-area-inset-bottom));
  }
  .jax-ai-messages{height:min(45dvh,340px);}
}

@media (max-width:520px){
  .footer-top{grid-template-columns:1fr;}
  .footer-top > :first-child,.footer-top > :last-child{grid-column:auto;}
  .footer-top > :last-child .btn{max-width:none;}
}

@media (max-width:480px){
  .wrap{padding-left:14px;padding-right:14px;}
  .footer-bottom::before{left:14px;right:14px;}
  h1{font-size:clamp(36px,11vw,48px);}
  h2{font-size:clamp(28px,8.6vw,36px);}
  .brand-tag{display:none!important;}
  .hero{min-height:580px;}
  .hero-media img,.hero-media .jax-slide{width:228%;top:49%;}
  .hero-inner{padding-top:34px;padding-bottom:40px;}
  .hero-lede{font-size:16px;line-height:1.55;}
  .badge svg{width:26px;height:26px;}
  .badge span{font-size:clamp(9px,2.6vw,11px);}
  .panel,.card-body{padding-left:18px;padding-right:18px;}
  .card-head{padding-left:18px;padding-right:18px;}

  .jax-ai-launch{width:52px;height:52px;min-height:52px;padding:0;justify-content:center;}
  .jax-ai-launch > span:last-child{display:none;}
  .jax-ai-launch-icon svg{width:23px;height:23px;}
}

@media (max-width:782px){
  .admin-bar .site-header{top:46px;}
}
@media (max-width:600px){
  .admin-bar .site-header{top:0;}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  .jax-slide{transition:none;}
}

@media print{
  .site-header,.badges,.jax-ai,.hero-media,.cta,.nav-toggle{display:none!important;}
  .hero,.page-hero{background:none;color:#000;border:0;}
  .hero h1,.page-hero h1{color:#000;}
  body{font-size:12pt;}
}


/* ==========================================================
   14. Instant scrap valuation (hero panel)
   ----------------------------------------------------------
   1.38: one block replacing the two stacked ones. Same rules
   as the rest of the sheet: lime top edge like the header,
   borders over shadows, one tiny functional spinner.
   ========================================================== */
.vehicle-lookup-panel{
  max-width:640px;margin:30px 0 26px;padding:22px 22px 20px;
  background:var(--paper);color:var(--ink);
  border-top:4px solid var(--lime);border-radius:var(--radius);
  box-shadow:0 18px 40px rgba(2,18,7,.32);
}
.vehicle-lookup-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-bottom:16px;}
.vehicle-lookup-title{
  margin:0;font-family:var(--display);font-size:26px;font-weight:700;line-height:1.05;
  text-transform:uppercase;letter-spacing:.02em;color:var(--forest-700);
}
.vehicle-lookup-perks{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;}
.vehicle-lookup-perks li{
  display:flex;align-items:center;gap:6px;margin:0;
  font-size:13px;font-weight:600;color:var(--ink-soft);
}
.vehicle-lookup-perks li::before{
  content:"";width:14px;height:14px;flex:0 0 auto;border-radius:50%;
  background:var(--green-500) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.8 7.2l2.1 2.1 4.3-4.6' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;
}

/* Form: plate + postcode on top, alloys + button below */
.vehicle-lookup-form{display:grid;grid-template-columns:1.25fr 1fr;gap:14px 12px;align-items:end;}
.vl-field{min-width:0;margin:0;padding:0;border:0;}
.vl-label{
  display:block;margin:0 0 6px;padding:0;
  font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);
}
.vehicle-lookup-form input[type="text"]{
  display:block;width:100%;min-height:52px;padding:10px 14px;
  font-family:var(--body);font-size:18px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;
  color:var(--ink);background:var(--paper);
  border:2px solid var(--line-strong);border-radius:var(--radius-sm);
  transition:border-color .15s ease;
}
.vehicle-lookup-form input[type="text"]::placeholder{color:#9aa79f;font-weight:500;}
.vehicle-lookup-form input[type="text"]:hover{border-color:#9fb19b;}
.vehicle-lookup-form input[type="text"]:focus{outline:none;border-color:var(--green-500);}
.vehicle-lookup-form input[type="text"]:focus-visible{outline:3px solid var(--lime);outline-offset:1px;}

/* Registration styled as a UK rear plate */
.vl-plate{
  display:flex;align-items:stretch;min-height:56px;
  background:#ffd307;border:2px solid var(--ink);border-radius:var(--radius-sm);overflow:hidden;
}
.vl-plate:focus-within{outline:3px solid var(--lime);outline-offset:2px;}
.vl-plate-band{
  display:flex;align-items:flex-end;justify-content:center;flex:0 0 34px;padding-bottom:7px;
  background:#1d3f9a;color:#fff;font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.04em;
}
.vehicle-lookup-form .vl-plate input[type="text"]{
  min-height:0;flex:1 1 auto;padding:6px 10px;border:0;border-radius:0;background:transparent;
  font-family:var(--display);font-size:30px;font-weight:700;letter-spacing:.09em;text-align:center;color:#111;
}
.vehicle-lookup-form .vl-plate input[type="text"]::placeholder{color:rgba(17,17,17,.32);font-weight:700;}
.vehicle-lookup-form .vl-plate input[type="text"]:focus-visible{outline:none;}
.vl-reg .vl-label,.vl-postcode .vl-label{margin-bottom:8px;}
.vl-postcode input[type="text"]{min-height:56px!important;}

/* Yes / No segmented toggle */
.vl-toggle{display:grid;grid-template-columns:1fr 1fr;padding:3px;gap:3px;background:var(--paper-tint);border:2px solid var(--line-strong);border-radius:var(--radius-sm);}
.vl-toggle label{position:relative;display:block;margin:0;cursor:pointer;}
.vl-toggle input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.vl-toggle span{
  display:flex;align-items:center;justify-content:center;min-height:42px;border-radius:3px;
  font-family:var(--display);font-size:18px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);
  transition:background-color .15s ease,color .15s ease;
}
.vl-toggle label:hover span{color:var(--forest-700);background:#e6ede3;}
.vl-toggle input:checked + span{background:var(--forest-700);color:#fff;}
.vl-toggle input:focus-visible + span{outline:3px solid var(--lime);outline-offset:1px;}

.vehicle-lookup-form .vl-submit{width:100%;min-height:52px;font-size:20px;white-space:nowrap;}
.vehicle-lookup-form .vl-submit::after{
  content:"";width:.8em;height:.8em;flex:0 0 auto;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h9M6.5 2.5 10 6l-3.5 3.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M1 6h9M6.5 2.5 10 6l-3.5 3.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.vehicle-lookup-form .vl-submit[disabled]{cursor:progress;opacity:.75;}
.vehicle-lookup-form .vl-submit[disabled]::after{display:none;}

/* Result */
.vehicle-lookup-result{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);}
.vehicle-lookup-result p{margin:0;}
.vl-loading{display:flex;align-items:center;gap:12px;font-weight:600;color:var(--ink-soft);}
.vl-spinner{width:20px;height:20px;flex:0 0 auto;border:3px solid var(--line);border-top-color:var(--green-500);border-radius:50%;animation:vl-spin .8s linear infinite;}
@keyframes vl-spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.vl-spinner{animation-duration:2.4s;}}

.vehicle-result-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.vl-plate-chip{
  display:inline-flex;align-items:center;min-height:34px;padding:2px 12px 2px 0;
  background:#ffd307;border:2px solid var(--ink);border-radius:4px;overflow:hidden;
  font-family:var(--display);font-size:20px;font-weight:700;letter-spacing:.08em;color:#111;white-space:nowrap;
}
.vl-plate-chip::before{content:"";align-self:stretch;width:12px;margin:-2px 10px -2px 0;background:#1d3f9a;}
.vehicle-result-title{min-width:0;flex:1 1 220px;}
.vehicle-found{
  display:flex;align-items:center;gap:6px;margin:0 0 2px!important;
  font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--green-500);
}
.vehicle-found::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green-500);}
.vehicle-lookup-result h3{margin:0;font-family:var(--display);font-size:28px;font-weight:700;line-height:1.05;text-transform:uppercase;color:var(--forest-700);}
.vehicle-meta{margin:3px 0 0!important;font-size:13px;font-weight:600;color:var(--ink-soft);}

.vehicle-prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:16px;}
.vehicle-price{
  position:relative;padding:14px 16px 13px;
  background:var(--paper-tint);border:2px solid var(--line);border-radius:var(--radius);
}
.vehicle-price span{display:block;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);}
.vehicle-price strong{display:block;margin-top:4px;font-family:var(--display);font-size:40px;font-weight:700;line-height:1;color:var(--forest-700);font-variant-numeric:tabular-nums;}
.vehicle-price small{display:block;margin-top:6px;font-size:13px;line-height:1.35;color:var(--ink-soft);}
.vehicle-price.is-best{background:var(--forest-700);border-color:var(--forest-700);}
.vehicle-price.is-best span,.vehicle-price.is-best small{color:var(--lime-pale);}
.vehicle-price.is-best strong{color:#fff;}
.vehicle-price-flag{
  position:absolute;top:-11px;right:12px;padding:3px 9px;border-radius:999px;
  background:var(--lime);color:var(--forest-700)!important;font-size:11px!important;letter-spacing:.08em!important;
}
.vehicle-estimate-note{
  display:flex;gap:8px;margin-top:14px!important;font-size:13px;line-height:1.45;color:var(--ink-soft);
}
.vehicle-estimate-note::before{
  content:"i";display:flex;align-items:center;justify-content:center;width:17px;height:17px;flex:0 0 auto;margin-top:1px;
  border:1.5px solid currentColor;border-radius:50%;font-size:11px;font-weight:700;font-style:italic;font-family:Georgia,serif;
}
.vehicle-empty{font-weight:600;color:var(--ink-soft);}
.vehicle-error{
  display:flex;gap:10px;align-items:flex-start;padding:12px 14px;
  background:#fdecec;border:1px solid #f1c4c4;border-radius:var(--radius-sm);color:#8a1c1c;font-weight:600;
}
.vehicle-error::before{
  content:"!";display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto;
  border-radius:50%;background:#b42318;color:#fff;font-size:13px;font-weight:800;
}

/* Single drop-off offer + collection by arrangement (1.39) */
.vehicle-prices.is-single{grid-template-columns:1fr;}
.vehicle-price.is-single{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px;background:var(--forest-700);border-color:var(--forest-700);}
.vehicle-price.is-single span,.vehicle-price.is-single small{color:var(--lime-pale);}
.vehicle-price.is-single strong{color:#fff;font-size:44px;margin:0;}
.vehicle-collect{
  display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;
  margin-top:10px;padding:13px 16px;border:2px dashed var(--line-strong);border-radius:var(--radius);
}
.vehicle-collect p{margin:0;font-size:15px;line-height:1.45;color:var(--ink);}
.vehicle-collect p strong{display:block;font-family:var(--display);font-size:19px;text-transform:uppercase;letter-spacing:.03em;color:var(--forest-700);}
.vehicle-collect-actions{display:flex;flex-wrap:wrap;gap:8px;}
.vehicle-collect .btn{min-height:42px;padding:8px 16px;font-size:16px;}

@media (max-width:640px){
  .vehicle-price.is-single strong{font-size:38px;}
  .vehicle-collect-actions,.vehicle-collect .btn{width:100%;}
  .vehicle-lookup-panel{margin:24px 0 20px;padding:18px 16px 16px;}
  .vehicle-lookup-title{font-size:23px;}
  .vehicle-lookup-form{grid-template-columns:1fr;gap:14px;}
  .vehicle-lookup-result h3{font-size:24px;}
  .vehicle-price strong{font-size:36px;}
}
@media print{.vehicle-lookup-panel{display:none;}}

/* ==========================================================
   15. Contact page (1.40)
   ----------------------------------------------------------
   One column: tap-to-contact buttons, a line of facts, then
   a short form. Nothing to read before you can get in touch.
   ========================================================== */
.contact-wrap{max-width:960px;}
.contact-quick{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 16px;}
.contact-quick > .contact-quick-item{flex:1 1 auto;min-width:220px;}
.contact-quick-item{
  display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 16px;
  background:var(--paper);border:2px solid var(--line);border-radius:var(--radius);
  color:var(--ink);text-decoration:none;transition:border-color .15s ease,background-color .15s ease;
}
.contact-quick-item:hover{border-color:var(--green-500);background:var(--paper-tint);color:var(--ink);}
.contact-quick-item strong{display:block;font-size:16px;line-height:1.25;color:var(--forest-700);overflow-wrap:anywhere;}
.contact-quick-item > span:last-child{min-width:0;}
.contact-quick-label{display:block;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-soft);}
.contact-quick-icon{
  position:relative;width:44px;height:44px;flex:0 0 auto;border-radius:50%;background:var(--forest-700);
}
.contact-quick-icon::before{
  content:"";position:absolute;inset:12px;background:var(--lime);
  -webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat;
}
.contact-icon-phone{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.25 11.4 11.4 0 0 0 3.6.57 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.25.2 2.45.57 3.57a1 1 0 0 1-.25 1z'/%3E%3C/svg%3E");}
.contact-icon-email{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1zm1 2.3V17h16V7.3l-8 5.2z M4.6 7h14.8L12 11.8z'/%3E%3C/svg%3E");}
.contact-icon-order{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H9l-5 4v-4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");}

.contact-facts{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0 0 32px;font-size:15px;color:var(--ink-soft);}
.contact-facts strong{color:var(--forest-700);}

.contact-form-card{padding:28px;background:var(--paper-tint);border:1px solid var(--line);border-top:4px solid var(--lime);border-radius:var(--radius);}
.contact-form-card h2{font-size:clamp(26px,2.6vw,34px);margin-bottom:18px;}
.contact-form-card .field input,.contact-form-card .field textarea{border-width:2px;min-height:50px;}
.contact-form-card .field textarea{min-height:130px;}
.field label .optional{margin-left:6px;font-size:12px;font-weight:600;color:var(--ink-soft);text-transform:lowercase;}

.enquiry-topics{margin:0 0 18px;padding:0;border:0;}
.enquiry-topics legend{padding:0;margin-bottom:8px;font-size:15px;font-weight:700;color:var(--forest-700);}
.enquiry-topic-options{display:flex;flex-wrap:wrap;gap:8px;}
.enquiry-topic-options label{position:relative;margin:0;cursor:pointer;}
.enquiry-topic-options input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.enquiry-topic-options span{
  display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;
  background:var(--paper);border:2px solid var(--line-strong);border-radius:999px;
  font-size:15px;font-weight:700;color:var(--ink);transition:border-color .15s ease,background-color .15s ease,color .15s ease;
}
.enquiry-topic-options label:hover span{border-color:var(--green-500);}
.enquiry-topic-options input:checked + span{background:var(--forest-700);border-color:var(--forest-700);color:#fff;}
.enquiry-topic-options input:focus-visible + span{outline:3px solid var(--lime);outline-offset:2px;}

.enquiry-submit{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:22px;}
.enquiry-submit .hint{font-size:14px;color:var(--ink-soft);}

@media (max-width:640px){
  .contact-form-card{padding:20px 16px;}
  .contact-facts{flex-direction:column;}
  .enquiry-topic-options label{flex:1 1 100%;}
  .enquiry-topic-options span{width:100%;}
  .enquiry-submit .btn{width:100%;}
}

/* Cookie popup */
.jax-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:1000;max-width:620px;margin:0 auto;background:#fff;color:var(--ink,#1a1a1a);border-radius:14px;box-shadow:0 12px 40px rgba(0,0,0,.22);padding:16px 18px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;}
.jax-consent[hidden]{display:none;}
.jax-consent p{margin:0;flex:1 1 280px;font-size:.95rem;line-height:1.5;}
.jax-consent-btns{display:flex;gap:10px;flex:0 0 auto;}
.jax-consent-btns .btn{min-width:110px;justify-content:center;}
@media (max-width:480px){.jax-consent-btns{flex:1 1 100%;}.jax-consent-btns .btn{flex:1;}}
