/* PistonTraders master stylesheet: homepage + car search */

:root{
    --ink:#0B1B24;
    --ink-2:#122A36;
    --brand-nav:#162D39;
    --navy:#172D3A;
    --steel:#5E7280;
    --steel-2:#8A9BA4;
    --line:#DCE1E2;
    --line-soft:#EAEDED;
    --concrete:#F1F3F3;
    --paper:#FFFFFF;
    --plate:#FFD400;
    --plate-deep:#E5BE00;
    --gold:#FFD400;
    --gold-2:#FFD400;
    --radius:6px;
    --radius-lg:10px;
    --shadow-1:0 1px 2px rgba(11,27,36,.05),0 8px 24px -16px rgba(11,27,36,.25);
    --shadow-2:0 24px 50px -28px rgba(11,27,36,.45);
    --wrap:1280px;
    --nav-height:75px;
    --display:'Archivo',system-ui,sans-serif;
    --body:'Instrument Sans',system-ui,sans-serif;
    --mono:'JetBrains Mono',ui-monospace,Menlo,monospace;
  
    /* Compatibility aliases used by the search UI and existing scripts. */
    --nav-bg:var(--brand-nav);
    --nav-h:var(--nav-height);
    --max:var(--wrap);
    --bg:var(--concrete);
    --muted:var(--steel);
    --border:var(--line);
    --shadow:var(--shadow-1);
    --shadow-hover:var(--shadow-2);
    --card-image-h:206px;
    --card-title-lines:2;
    --card-desc-lines:3;
    --specs-summary-lines:2;
  }
  
  *,*::before,*::after{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    padding-top:var(--nav-height);
    background:var(--concrete);
    color:var(--ink);
    font-family:var(--body);
    font-size:16px;
    line-height:1.55;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;}
  ::selection{background:var(--plate);color:var(--ink);}
  :focus-visible{outline:3px solid var(--plate);outline-offset:2px;border-radius:3px;}
  
  .wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 24px;}
  
  h1,h2,h3,h4{font-family:var(--display);margin:0;}
  
  .eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    margin:0 0 14px;
    font-family:var(--mono);font-size:11px;font-weight:500;
    letter-spacing:.18em;text-transform:uppercase;color:var(--steel);
  }
  .eyebrow::before{content:"";width:20px;height:2px;background:var(--plate);}
  .eyebrow.on-ink{color:rgba(255,255,255,.6);}
  
  .h-section{font-size:clamp(26px,3vw,40px);font-weight:800;letter-spacing:-.032em;line-height:1.06;}
  .section-lede{margin:14px 0 0;max-width:64ch;color:var(--steel);font-size:16.5px;line-height:1.6;}
  
  .section{padding:78px 0;}
  .section-head{
    display:flex;align-items:flex-end;justify-content:space-between;gap:28px;
    margin-bottom:34px;
  }
  .section-head .h-section{max-width:22ch;}
  .link-more{
    display:inline-flex;align-items:center;gap:8px;flex:none;
    font-family:var(--mono);font-size:11.5px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--ink);
    padding-bottom:4px;border-bottom:2px solid var(--plate);
    transition:gap .15s ease;
  }
  .link-more:hover{gap:12px;}
  
  /* ---------- buttons ---------- */
  .pt-btn{
    display:inline-flex;align-items:center;justify-content:center;gap:9px;
    padding:13px 20px;border:1px solid var(--ink);border-radius:var(--radius);
    background:transparent;color:var(--ink);
    font-family:var(--mono);font-size:11.5px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:pointer;
    transition:background .15s ease,color .15s ease,border-color .15s ease;
  }
  .pt-btn:hover{background:var(--ink);color:#fff;}
  .pt-btn-primary,.pt-btn-dark{background:var(--ink);color:#fff;border-color:var(--ink);}
  .pt-btn-primary:hover,.pt-btn-dark:hover{background:var(--plate);color:var(--ink);border-color:var(--plate);}
  .pt-btn-plate{background:var(--plate);border-color:var(--plate);color:var(--ink);}
  .pt-btn-plate:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
  
  /* ---------- shared header / navigation ---------- */
  .topbar,
  .pt-header{
    position:fixed;
    top:0;
    right:0;
    left:0;
    z-index:9997;
    min-height:var(--nav-height);
    background:var(--brand-nav);
    border-bottom:3px solid var(--plate);
  }
  
  .navbar-wrap,
  .pt-header-wrap{
    width:100%;
    max-width:var(--wrap);
    margin:0 auto;
    padding:0 24px;
  }
  
  .topbar-inner{
    display:flex;
    align-items:center;
    flex-wrap:nowrap;
    gap:14px;
    min-width:0;
    min-height:72px;
    padding:0;
  }
  
  .navbar-brand-custom,
  .brand{
    display:flex;
    flex:none;
    align-items:center;
    width:auto;
    height:auto;
    margin-right:8px;
  }
  
  .navbar-brand-custom img,
  .brand img{
    display:block;
    width:auto;
    height:28px;
    max-width:180px;
  }
  
  .primary-nav,
  .nav{
    display:flex;
    flex:1 1 auto;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-end;
    gap:2px;
    min-width:0;
  }
  
  .primary-nav form,
  .nav form{
    display:flex;
    margin:0;
  }
  
  .nav-link-custom,
  .nav a{
    display:inline-flex;
    flex:none;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:10px 11px;
    border:0;
    border-radius:4px;
    background:transparent;
    color:rgba(255,255,255,.76);
    font-family:var(--mono);
    font-size:13px;
    font-weight:500;
    line-height:1;
    letter-spacing:.07em;
    text-decoration:none;
    text-transform:uppercase;
    white-space:nowrap;
    cursor:pointer;
    transition:color .15s ease,background-color .15s ease;
  }
  
  .nav-link-custom i,
  .nav a i{
    color:var(--plate);
    font-size:13px;
    opacity:.95;
  }
  
  .nav-link-custom:hover,
  .nav-link-custom:focus-visible,
  .nav a:hover,
  .nav a:focus-visible{
    background:rgba(255,255,255,.08);
    color:#fff;
  }
  
  .custom-toggler,
  .burger-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(255,255,255,.22);
    border-radius:4px;
    background:transparent;
    color:#fff;
    box-shadow:none !important;
    cursor:pointer;
  }
  
  .custom-toggler:hover,
  .burger-btn:hover{background:rgba(255,255,255,.08);}
  .custom-toggler:focus{box-shadow:0 0 0 3px rgba(255,212,0,.45) !important;}
  .custom-toggler .navbar-toggler-icon{
    width:24px;
    height:24px;
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255,255,255,0.95%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  }
  .navbar-collapse{background:transparent;}
  
  /* Retained for the existing custom mobile-menu hooks on the homepage. */
  .pt-header-nav-panel,
  .nav-panel{
    position:fixed;
    top:var(--nav-height);
    right:0;
    left:0;
    z-index:9996;
    padding:8px 0 16px;
    border-bottom:1px solid rgba(255,255,255,.1);
    background:var(--brand-nav);
    transform:translateY(-120%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);
  }
  .pt-header-nav-panel.is-open,
  .nav-panel.is-open{transform:translateY(0);}
  .pt-header-nav-panel a,
  .nav-panel a{
    display:flex;
    align-items:center;
    gap:12px;
    padding:15px 24px;
    border-bottom:1px solid rgba(255,255,255,.07);
    color:#fff;
    font-family:var(--mono);
    font-size:13px;
    letter-spacing:.08em;
    text-decoration:none;
    text-transform:uppercase;
  }
  .pt-header-nav-panel a i,
  .nav-panel a i{width:18px;color:var(--plate);font-size:13px;}
  .pt-header-nav-panel form,
  .nav-panel form{margin:0;}
  .pt-header-nav-panel .pt-header-wrap,
  .nav-panel .pt-header-wrap{padding:0;}
  .pt-header-backdrop{
    position:fixed;
    inset:var(--nav-height) 0 0;
    z-index:9995;
    background:rgba(11,27,36,.55);
    opacity:0;
    pointer-events:none;
    transition:opacity .25s ease;
  }
  .pt-header-backdrop.is-open{opacity:1;pointer-events:auto;}
  
  @media (max-width:1180px){
    .topbar-inner{gap:10px;}
    .nav-link-custom,.nav a{padding:10px 8px;letter-spacing:.05em;gap:6px;}
  }
  
  @media (max-width:1000px) and (min-width:768px){
    .nav-link-custom span,.nav a span{display:none;}
    .nav-link-custom,.nav a{padding:10px;}
  }
  
  @media (max-width:767.98px){
    .navbar-wrap,.pt-header-wrap{padding:0 16px;}
    .topbar-inner{flex-wrap:wrap;}
    .navbar-collapse{
      width:100%;
      padding:8px 0 13px;
      border-top:1px solid rgba(255,255,255,.09);
      background:var(--brand-nav);
    }
    .primary-nav,.nav{
      flex-direction:column;
      align-items:stretch;
      width:100%;
      gap:0;
    }
    .primary-nav form,.nav form{width:100%;}
    .nav-link-custom,.nav a{
      width:100%;
      justify-content:flex-start;
      padding:14px 0;
      border-bottom:1px solid rgba(255,255,255,.07);
      border-radius:0;
    }
    .primary-nav > :last-child .nav-link-custom,
    .primary-nav > .nav-link-custom:last-child{border-bottom:0;}
  }
  
  @media (max-width:430px){
    .navbar-brand-custom img,.brand img{height:25px;max-width:165px;}
  }
  
  /* ---------- hero ---------- */
  .hero{
    position:relative;
    background:var(--ink);
    color:#fff;
    padding:64px 0 78px;
    overflow:hidden;
  }
  .hero::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(1000px 520px at 78% -20%, rgba(255,212,0,.12), transparent 60%),
      radial-gradient(760px 520px at 0% 110%, rgba(23,45,58,.95), transparent 62%);
    pointer-events:none;
  }
  .hero .wrap{position:relative;z-index:2;}
  .hero-inner{max-width:940px;}
  .hero-title{
    font-size:clamp(34px,4.6vw,60px);
    font-weight:800;letter-spacing:-.04em;line-height:1.02;
    max-width:18ch;
  }
  .hero-title em{
    font-style:normal;
    color:var(--plate);
  }
  .hero-lede{
    margin:18px 0 0;max-width:62ch;
    color:rgba(255,255,255,.72);
    font-size:clamp(15.5px,1.2vw,18px);line-height:1.6;
  }
  .hero-lede strong{color:#fff;font-weight:600;}
  
  /* search panel — the traditional car-site console */
  .search-panel{
    margin-top:30px;
    background:var(--paper);
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow-2);
    overflow:hidden;
  }
  .panel-tabs{
    display:flex;
    background:#F6F8F8;
    border-bottom:1px solid var(--line);
  }
  .panel-tab{
    display:inline-flex;align-items:center;gap:8px;
    padding:14px 20px;
    border:0;background:transparent;cursor:pointer;
    font-family:var(--mono);font-size:11px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;color:var(--steel);
    border-bottom:3px solid transparent;
    transition:color .15s ease,border-color .15s ease,background .15s ease;
  }
  .panel-tab i{color:var(--steel-2);}
  .panel-tab.is-active{
    color:var(--ink);background:var(--paper);
    border-bottom-color:var(--plate);
  }
  .panel-tab.is-active i{color:var(--ink);}
  
  .searchbox{
    display:grid;
    grid-template-columns:1.4fr 1fr 1fr .9fr auto;
    gap:0;
    align-items:stretch;
    padding:14px;
  }
  .sfield{
    display:flex;flex-direction:column;justify-content:center;
    gap:5px;padding:6px 16px;
    border-right:1px solid var(--line-soft);
    min-width:0;
  }
  .sfield:first-child{padding-left:8px;}
  .sfield label{
    font-family:var(--mono);font-size:10px;font-weight:500;
    letter-spacing:.16em;text-transform:uppercase;color:var(--steel-2);
  }
  .sfield input,.sfield select{
    width:100%;border:0;background:transparent;outline:none;
    color:var(--ink);
    font-family:var(--body);font-size:15.5px;font-weight:500;
    padding:0;
    appearance:none;
    cursor:pointer;
  }
  .sfield input{cursor:text;}
  .sfield input::placeholder{color:var(--steel-2);font-weight:400;}
  .sfield select{
    background-image:linear-gradient(45deg,transparent 50%,var(--steel) 50%),linear-gradient(135deg,var(--steel) 50%,transparent 50%);
    background-position:calc(100% - 9px) 9px, calc(100% - 4px) 9px;
    background-size:5px 5px,5px 5px;
    background-repeat:no-repeat;
    padding-right:20px;
  }
  .search-divider{display:none;}
  .search-go{
    display:inline-flex;align-items:center;justify-content:center;gap:10px;
    margin-left:12px;padding:0 30px;
    border:0;border-radius:var(--radius);
    background:var(--plate);color:var(--ink);cursor:pointer;
    font-family:var(--mono);font-size:12px;font-weight:700;
    letter-spacing:.12em;text-transform:uppercase;
    transition:background .15s ease,color .15s ease;
  }
  .search-go:hover{background:var(--ink);color:#fff;}
  
  .chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;}
  .chip-label{
    font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
    text-transform:uppercase;color:rgba(255,255,255,.42);margin-right:2px;
  }
  .chip{
    display:inline-flex;align-items:center;gap:7px;
    padding:7px 12px;border-radius:999px;
    border:1px solid rgba(255,255,255,.18);
    background:rgba(255,255,255,.05);
    color:rgba(255,255,255,.8);
    font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-decoration:none;
    transition:border-color .15s ease,color .15s ease,background .15s ease;
  }
  .chip:hover{border-color:var(--plate);color:var(--plate);background:rgba(255,212,0,.08);}
  
  /* trust strip */
  .trust{
    display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
    margin-top:44px;
    background:rgba(255,255,255,.12);
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--radius);
    overflow:hidden;
  }
  .trust-item{
    display:flex;align-items:center;gap:13px;
    padding:18px 20px;background:var(--ink);
  }
  .trust-item i{
    display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;flex:none;border-radius:4px;
    background:rgba(255,212,0,.12);color:var(--plate);font-size:14px;
  }
  .trust-item b{
    display:block;font-family:var(--display);font-size:16px;font-weight:800;
    letter-spacing:-.02em;color:#fff;line-height:1.2;
  }
  .trust-item span{
    display:block;font-family:var(--mono);font-size:10px;
    letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.45);
    margin-top:3px;
  }
  
  /* ---------- browse rows ---------- */
  .browse{background:var(--paper);border-bottom:1px solid var(--line);}
  .make-grid{
    display:grid;grid-template-columns:repeat(8,1fr);gap:10px;
  }
  .make-tile{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    padding:20px 8px;
    border:1px solid var(--line);border-radius:var(--radius);
    background:var(--paper);text-decoration:none;
    transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
  }
  .make-tile:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:var(--shadow-1);}
  .make-tile .mk{
    font-family:var(--display);font-size:14px;font-weight:800;
    letter-spacing:-.01em;color:var(--ink);text-align:center;
  }
  .make-tile .ct{
    font-family:var(--mono);font-size:10px;letter-spacing:.1em;
    text-transform:uppercase;color:var(--steel-2);
  }
  
  .quick-rows{
    display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
    margin-top:44px;padding-top:32px;border-top:1px solid var(--line);
  }
  .quick-col h3{
    font-size:13px;font-weight:800;letter-spacing:.02em;
    margin-bottom:14px;
  }
  .quick-list{display:flex;flex-wrap:wrap;gap:7px;}
  .quick-list a{
    display:inline-flex;padding:7px 11px;
    border:1px solid var(--line);border-radius:999px;
    background:#F7F9F9;color:var(--steel);
    font-family:var(--mono);font-size:11.5px;text-decoration:none;
    transition:border-color .15s ease,color .15s ease,background .15s ease;
  }
  .quick-list a:hover{border-color:var(--ink);color:var(--ink);background:var(--paper);}
  
  /* ---------- stock ---------- */
  .stock{padding:78px 0;}
  .results-topbar{margin-bottom:26px;}
  .topbar-row{
    display:flex;align-items:flex-end;justify-content:space-between;
    gap:24px;flex-wrap:wrap;
    padding-bottom:20px;border-bottom:1px solid var(--line);
  }
  .results-count{
    font-family:var(--display);font-size:clamp(22px,2.4vw,32px);
    font-weight:800;letter-spacing:-.03em;line-height:1.12;
  }
  .results-count .subhint{
    display:block;margin-top:7px;
    font-family:var(--mono);font-size:11px;font-weight:500;
    letter-spacing:.13em;text-transform:uppercase;color:var(--steel);
  }
  .note{
    display:flex;align-items:center;gap:2px;
    margin:20px 0 4px;padding:13px 16px;
    background:var(--paper);border:1px solid var(--line);
    border-left:3px solid var(--plate);border-radius:var(--radius);
    color:var(--steel);font-size:14px;
  }
  .desktop-ai-hint{
    margin-top:12px;
    font-family:var(--mono);font-size:11.5px;color:var(--steel-2);
  }
  .desktop-ai-hint a{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--plate);}
  .results-spinner{display:flex;justify-content:center;padding:40px 0;}
  .results-spinner .spinner-border{color:var(--ink);}
  
  /* ---------- listing cards ---------- */
  .car-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
    gap:20px;margin-top:26px;
  }
  .car-grid .listing-card{margin:0 !important;}
  .listing-card{
    display:flex;flex-direction:column;
    background:var(--paper);
    border:1px solid var(--line);border-radius:var(--radius-lg);
    overflow:hidden;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
  }
  .listing-card:hover{transform:translateY(-3px);border-color:var(--steel-2);box-shadow:var(--shadow-2);}
  
  .img-container{position:relative;background:var(--concrete);}
  .gallery-hero{position:relative;aspect-ratio:16/11;overflow:hidden;background:#E2E6E6;}
  .gallery-hero-img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,.6,.2,1);}
  .listing-card:hover .gallery-hero-img{transform:scale(1.04);}
  .gallery-empty{display:flex;align-items:center;justify-content:center;}
  .no-image{
    text-align:center;color:var(--steel-2);
    font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;
  }
  .no-image i{display:block;font-size:26px;margin-bottom:8px;}
  .gallery-thumbs{
    display:flex;gap:5px;padding:7px;
    background:var(--paper);border-bottom:1px solid var(--line-soft);
  }
  .thumb{
    flex:1 1 0;padding:0;aspect-ratio:4/3;
    border:1px solid var(--line);border-radius:3px;
    background:none;overflow:hidden;cursor:pointer;opacity:.6;
    transition:opacity .15s ease,border-color .15s ease;
  }
  .thumb img{width:100%;height:100%;object-fit:cover;}
  .thumb:hover{opacity:1;}
  .thumb.is-active{opacity:1;border-color:var(--ink);box-shadow:inset 0 0 0 2px var(--plate);}
  
  .card-content{display:flex;flex-direction:column;flex:1;padding:16px 16px 0;}
  .card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex:1;}
  .card-title{margin:0 0 10px;}
  .card-title-row{display:flex;flex-direction:column;gap:5px;}
  .card-title-row .badge{
    width:auto !important;align-self:flex-start;
    padding:5px 8px;border-radius:3px;
    background:var(--ink) !important;color:var(--plate);
    font-family:var(--mono);font-size:9.5px;font-weight:700;
    letter-spacing:.14em;text-transform:uppercase;
  }
  .card-model{
    display:block;font-family:var(--display);font-size:19px;font-weight:800;
    letter-spacing:-.025em;line-height:1.15;color:var(--ink);
  }
  .subline{
    display:flex;flex-wrap:wrap;align-items:center;gap:7px;
    font-family:var(--mono);font-size:11.5px;color:var(--ink);
  }
  .subline strong{
    font-weight:500;font-size:9.5px;letter-spacing:.12em;
    text-transform:uppercase;color:var(--steel-2);
  }
  .subline .dot{color:var(--line);}
  .specs{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px;}
  .badge-soft{
    display:inline-flex;align-items:center;padding:5px 9px;
    border:1px solid var(--line);border-radius:3px;background:#F6F8F8;
    color:var(--steel);
    font-family:var(--mono);font-size:10px;letter-spacing:.06em;
    text-transform:uppercase;white-space:nowrap;
  }
  .long-desc{
    margin-top:11px;color:var(--steel);font-size:13px;line-height:1.5;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  }
  .price-pill{
    flex:none;padding:8px 11px;border-radius:4px;
    background:var(--ink);color:#fff;
    font-family:var(--mono);font-size:16.5px;font-weight:700;
    font-variant-numeric:tabular-nums;white-space:nowrap;
  }
  .action-row{
    display:flex;align-items:center;justify-content:space-between;gap:12px;
    margin:16px -16px 0;padding:13px 16px;
    border-top:1px solid var(--line-soft);background:#FAFBFB;
  }
  .source-note{
    min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    font-family:var(--mono);font-size:10px;letter-spacing:.08em;
    text-transform:uppercase;color:var(--steel-2);
  }
  .card-actions a{
    display:inline-flex;align-items:center;gap:8px;
    padding:9px 13px;border-radius:4px;
    background:var(--ink);color:#fff;text-decoration:none;white-space:nowrap;
    font-family:var(--mono);font-size:10px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;
    transition:background .15s ease,color .15s ease;
  }
  .card-actions a:hover{background:var(--plate);color:var(--ink);}
  
  .pagination{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;
    margin-top:40px;
  }
  .pagination a,.pagination button,.pagination .page-link,.pagination li{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:42px;height:42px;padding:0 12px;
    border:1px solid var(--line);border-radius:4px;
    background:var(--paper);color:var(--ink);
    font-family:var(--mono);font-size:12px;text-decoration:none;list-style:none;cursor:pointer;
    transition:border-color .15s ease,background .15s ease,color .15s ease;
  }
  .pagination a:hover,.pagination button:hover,.pagination .page-link:hover{border-color:var(--ink);}
  .pagination .active,.pagination a.active,.pagination button.active,.pagination .page-item.active .page-link{
    background:var(--ink);border-color:var(--ink);color:var(--plate);
  }
  
  /* ---------- why / brand ---------- */
  .why{background:var(--paper);}
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;}
  .why-item{padding:28px 26px;border-right:1px solid var(--line);}
  .why-item:last-child{border-right:0;}
  .why-item i{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;margin-bottom:16px;border-radius:5px;
    background:var(--ink);color:var(--plate);font-size:15px;
  }
  .why-item h3{font-size:17px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;}
  .why-item p{margin:0;color:var(--steel);font-size:14.5px;line-height:1.55;}
  
  /* ---------- dealers ---------- */
  .dealers{background:var(--concrete);}
  .dealer-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:32px;align-items:start;}
  .dealer-photo{
    position:relative;border-radius:var(--radius-lg);overflow:hidden;
    border:1px solid var(--line);background:var(--ink);
  }
  .dealer-photo img{width:100%;height:100%;min-height:460px;object-fit:cover;filter:saturate(.9);}
  .dealer-badge{
    position:absolute;left:16px;bottom:16px;
    display:inline-flex;align-items:center;gap:8px;
    padding:9px 13px;border-radius:4px;
    background:var(--plate);color:var(--ink);
    font-family:var(--mono);font-size:10.5px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;
  }
  .box{
    background:var(--paper);border:1px solid var(--line);
    border-top:4px solid var(--ink);border-radius:var(--radius-lg);padding:28px;
  }
  .box form{margin:0;}
  .field{margin-bottom:16px;}
  .field label,.box label{
    display:block;margin-bottom:6px;
    font-family:var(--mono);font-size:10px;font-weight:500;
    letter-spacing:.14em;text-transform:uppercase;color:var(--steel);
  }
  .control{
    width:100%;padding:12px 14px;
    border:1px solid var(--line);border-bottom:2px solid var(--line);border-radius:4px;
    background:#FAFBFB;color:var(--ink);
    font-family:var(--body);font-size:15px;outline:none;
    transition:border-color .15s ease,background .15s ease;
  }
  .control::placeholder{color:var(--steel-2);}
  .control:focus{background:#fff;border-color:var(--steel-2);border-bottom-color:var(--plate);}
  textarea.control{resize:vertical;min-height:92px;}
  .hint{margin-top:5px;font-size:12.5px;color:var(--steel-2);line-height:1.45;}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  .box .note{margin-top:14px;}
  
  /* ---------- AI / API ---------- */
  .api{background:var(--ink);color:#fff;}
  .api .h-section{color:#fff;}
  .api .section-lede{color:rgba(255,255,255,.66);}
  .api-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:38px;align-items:center;}
  .answer-block{
    margin-top:22px;padding:18px 20px;
    border-left:3px solid var(--plate);
    background:rgba(255,255,255,.04);
    border-radius:0 var(--radius) var(--radius) 0;
    color:rgba(255,255,255,.78);font-size:15px;line-height:1.62;
  }
  .terminal{
    border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);
    background:#05121A;overflow:hidden;
  }
  .terminal-bar{
    display:flex;align-items:center;justify-content:space-between;
    padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.1);
    background:rgba(255,255,255,.03);
    font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;
    text-transform:uppercase;color:rgba(255,255,255,.5);
  }
  .terminal-bar .live{display:inline-flex;align-items:center;gap:7px;color:var(--plate);}
  .terminal-bar .live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--plate);}
  .terminal pre{
    margin:0;padding:20px 18px;overflow-x:auto;
    font-family:var(--mono);font-size:12.5px;line-height:1.75;color:rgba(255,255,255,.82);
  }
  .terminal .k{color:var(--plate);}
  .terminal .s{color:#8FD3B6;}
  .terminal .c{color:rgba(255,255,255,.38);}
  .params{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px;}
  .params code{
    padding:5px 8px;border:1px solid rgba(255,255,255,.16);border-radius:3px;
    background:rgba(255,255,255,.04);color:rgba(255,255,255,.75);
    font-family:var(--mono);font-size:11px;
  }
  .api-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px;}
  .api .pt-btn{border-color:rgba(255,255,255,.28);color:#fff;}
  .api .pt-btn:hover{background:#fff;color:var(--ink);border-color:#fff;}
  .api .pt-btn-plate:hover{background:#fff;border-color:#fff;color:var(--ink);}
  .ai-json-hint{
    margin-top:20px;
    font-family:var(--mono);font-size:11.5px;line-height:1.7;color:rgba(255,255,255,.45);
  }
  .ai-json-hint a{color:var(--plate);text-decoration:none;}
  .ai-json-hint code{color:rgba(255,255,255,.75);}
  
  /* ---------- faq ---------- */
  .faq{background:var(--paper);}
  .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-item summary{
    display:flex;align-items:center;justify-content:space-between;gap:18px;
    padding:20px 0;cursor:pointer;list-style:none;
    font-family:var(--display);font-size:16.5px;font-weight:700;
    letter-spacing:-.015em;color:var(--ink);
  }
  .faq-item summary::-webkit-details-marker{display:none;}
  .faq-item summary i{
    flex:none;display:inline-flex;align-items:center;justify-content:center;
    width:26px;height:26px;border:1px solid var(--line);border-radius:3px;
    font-size:11px;color:var(--steel);
    transition:transform .22s ease,background .18s ease,color .18s ease,border-color .18s ease;
  }
  .faq-item[open] summary i{transform:rotate(180deg);background:var(--plate);border-color:var(--plate);color:var(--ink);}
  .faq-item summary:hover i{border-color:var(--ink);color:var(--ink);}
  .faq-content{padding:0 0 20px;}
  .faq-content p{margin:0 0 11px;color:var(--steel);font-size:15px;line-height:1.62;}
  .faq-content p:last-child{margin-bottom:0;}
  .faq-content code a{color:var(--ink);font-family:var(--mono);font-size:13px;text-decoration:none;border-bottom:2px solid var(--plate);}
  
  /* ---------- footer ---------- */
  footer{
    background:var(--ink);color:rgba(255,255,255,.7);
    padding:60px 0 28px;border-top:4px solid var(--plate);
  }
  footer .container{max-width:var(--wrap);padding:0 24px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;}
  .foot-brand{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:14px;}
  .foot-brand strong{font-family:var(--display);font-weight:800;letter-spacing:-.02em;color:#fff;display:block;}
  .foot-brand small{
    color:rgba(255,255,255,.5);font-family:var(--mono);font-size:10px;
    letter-spacing:.1em;text-transform:uppercase;
  }
  .foot-note{font-size:13.5px;color:rgba(255,255,255,.5);max-width:40ch;margin:0;}
  .foot-col h4{
    font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
    color:#fff;margin-bottom:14px;font-family:var(--mono);
  }
  .foot-col a{
    display:block;padding:5px 0;
    color:rgba(255,255,255,.58);text-decoration:none;font-size:14px;
    transition:color .15s ease;
  }
  .foot-col a:hover{color:var(--plate);}
  .foot-bottom{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;
    margin-top:44px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);
    font-family:var(--mono);font-size:11px;letter-spacing:.06em;
    text-transform:uppercase;color:rgba(255,255,255,.42);
  }
  .foot-bottom a{color:rgba(255,255,255,.55);text-decoration:none;}
  .foot-bottom a:hover{color:var(--plate);}
  
  .agent-sr-only{
    position:absolute !important;width:1px !important;height:1px !important;
    padding:0 !important;margin:-1px !important;overflow:hidden !important;
    clip:rect(0,0,0,0) !important;clip-path:inset(50%) !important;
    white-space:nowrap !important;border:0 !important;
  }
  
  /* ---------- responsive ---------- */
  @media (max-width:1140px){
    .searchbox{grid-template-columns:1fr 1fr;}
    .sfield{border-right:0;border-bottom:1px solid var(--line-soft);padding:10px 12px;}
    .sfield:nth-child(odd){border-right:1px solid var(--line-soft);}
    .search-go{grid-column:1 / -1;margin:12px 0 0;height:52px;}
    .make-grid{grid-template-columns:repeat(4,1fr);}
    .trust{grid-template-columns:repeat(2,1fr);}
    .why-grid{grid-template-columns:repeat(2,1fr);}
    .why-item:nth-child(2){border-right:0;}
    .why-item:nth-child(1),.why-item:nth-child(2){border-bottom:1px solid var(--line);}
    .api-grid{grid-template-columns:1fr;gap:32px;}
    .dealer-grid{grid-template-columns:1fr;}
    .dealer-photo img{min-height:280px;}
    .quick-rows{grid-template-columns:1fr;gap:24px;}
    .faq-grid{grid-template-columns:1fr;gap:0;}
    .foot-grid{grid-template-columns:1fr 1fr;}
  }
  
  @media (max-width:900px){
    .nav,.nav-cta{display:none;}
    .burger-btn{display:inline-flex;}
    .hero{padding:44px 0 60px;}
    .section{padding:58px 0;}
    .stock{padding:52px 0;}
    .section-head{flex-direction:column;align-items:flex-start;gap:16px;}
    .car-grid{grid-template-columns:1fr;}
    .make-grid{grid-template-columns:repeat(3,1fr);}
    .form-row{grid-template-columns:1fr;}
    .foot-bottom{flex-direction:column;align-items:flex-start;}
  }
  
  @media (max-width:560px){
    .wrap{padding:0 16px;}
    .searchbox{grid-template-columns:1fr;}
    .sfield,.sfield:nth-child(odd){border-right:0;}
    .make-grid{grid-template-columns:repeat(2,1fr);}
    .trust{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr;}
    .why-item{border-right:0;border-bottom:1px solid var(--line);}
    .why-item:last-child{border-bottom:0;}
    .foot-grid{grid-template-columns:1fr;}
    .card-head{flex-direction:column;}
    .price-pill{align-self:flex-start;}
    .action-row{flex-direction:column;align-items:stretch;gap:10px;}
    .card-actions a{justify-content:center;}
  }
  
  @media (prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
  }
  
  /* ==========================================================
     SEARCH RESULTS PAGE
     Scoped to body.search-page so homepage components retain
     their shared default presentation.
     ========================================================== */
  body.search-page{background:var(--concrete);}
  body.search-page.mobile-lock{overflow:hidden;touch-action:none;}
  
  .search-page .search-page-intro{
    position:relative;
    overflow:hidden;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:var(--ink);
    color:#fff;
  }
  .search-page .search-page-intro::after{
    content:"";
    position:absolute;
    top:-130px;
    right:-90px;
    width:360px;
    height:360px;
    border:64px solid rgba(255,212,0,.08);
    transform:rotate(18deg);
    pointer-events:none;
  }
  .search-page .search-page-intro-inner{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:end;
    gap:28px;
    width:100%;
    max-width:var(--wrap);
    margin:0 auto;
    padding:30px 24px 28px;
  }
  .search-page .search-page-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin:0 0 10px;
    color:rgba(255,255,255,.58);
    font-family:var(--mono);
    font-size:11.5px;
    font-weight:600;
    letter-spacing:.17em;
    text-transform:uppercase;
  }
  .search-page .search-page-eyebrow::before{content:"";width:20px;height:2px;background:var(--plate);}
  .search-page .search-page-title{
    max-width:760px;
    margin:0;
    color:#fff;
    font-family:var(--display);
    font-size:clamp(30px,4vw,52px);
    font-weight:800;
    line-height:1.02;
    letter-spacing:-.04em;
  }
  .search-page .search-page-title em{color:var(--plate);font-style:normal;}
  .search-page .search-page-lede{
    max-width:700px;
    margin:11px 0 0;
    color:rgba(255,255,255,.67);
    font-size:16px;
    line-height:1.55;
  }
  .search-page .search-page-proof{display:grid;gap:8px;min-width:230px;}
  .search-page .search-page-proof span{
    display:flex;
    align-items:center;
    gap:9px;
    color:rgba(255,255,255,.78);
    font-family:var(--mono);
    font-size:11.5px;
    font-weight:600;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .search-page .search-page-proof i{width:14px;color:var(--plate);text-align:center;}
  
  .search-page .container-main{
    display:grid;
    grid-template-columns:310px minmax(0,1fr);
    align-items:start;
    gap:24px;
    width:100%;
    max-width:var(--wrap);
    margin:0 auto;
    padding:24px;
  }
  .search-page .listings-column{min-width:0;}
  
  .search-page .filters,
  .search-page .results-topbar,
  .search-page .listing-card{
    border:1px solid var(--line);
    border-radius:var(--radius-lg);
    background:var(--paper);
    box-shadow:var(--shadow-1);
  }
  
  /* Filter rail */
  .search-page .filters{
    position:sticky;
    top:calc(var(--nav-height) + 16px);
    z-index:50;
    overflow:visible;
  }
  .search-page .filters-head{
    position:relative;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:18px;
    border-bottom:1px solid var(--line);
    background:var(--paper);
  }
  .search-page .filters-head::before{
    content:"";
    position:absolute;
    top:-1px;
    left:-1px;
    width:70px;
    height:4px;
    border-radius:var(--radius-lg) 0 0;
    background:var(--plate);
  }
  .search-page .filters-head .title{
    display:flex;
    align-items:center;
    gap:7px;
    font-family:var(--display);
    font-size:19px;
    font-weight:800;
    letter-spacing:-.025em;
  }
  .search-page .filters-head .title i{color:var(--plate-deep);}
  .search-page .filters-head .hint{
    max-width:230px;
    margin-top:5px;
    color:var(--steel);
    font-size:14px;
    font-weight:500;
    line-height:1.45;
  }
  .search-page .filters-body{padding:14px 14px 8px;}
  .search-page .filters-footer{
    display:grid;
    gap:10px;
    padding:14px;
    border-top:1px solid var(--line);
    background:#F8F9F9;
  }
  .search-page .filter-grid{display:grid;gap:12px;}
  .search-page .filter-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
  .search-page .chip-row{display:flex;flex-wrap:wrap;gap:8px;}
  .search-page label{
    display:block;
    margin-bottom:6px;
    color:var(--ink);
    font-family:var(--mono);
    font-size:11px;
    font-weight:700;
    letter-spacing:.08em;
    text-transform:uppercase;
  }
  .search-page .form-control,
  .search-page .form-select{
    min-height:44px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    color:var(--ink);
    font-family:var(--body);
    font-size:15px;
    font-weight:600;
    box-shadow:none;
  }
  .search-page .form-control::placeholder{color:var(--steel-2);font-weight:500;}
  .search-page .form-control:focus,
  .search-page .form-select:focus{
    border-color:var(--ink);
    box-shadow:0 0 0 3px rgba(255,212,0,.45);
  }
  .search-page .form-text{color:var(--steel) !important;font-size:12px !important;font-weight:500 !important;}
  .search-page .form-text-spaced{margin-top:8px;}
  .search-page .distance-scale{display:flex;justify-content:space-between;color:var(--steel);font-size:.82rem;font-weight:800;}
  .search-page .filter-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;}
  .search-page .form-range{width:100%;accent-color:var(--ink);}
  
  .search-page .accordion,
  .search-page .accordion-item,
  .search-page .accordion-collapse,
  .search-page .accordion-body{overflow:visible;}
  .search-page .accordion-item{
    margin-bottom:8px;
    border:1px solid var(--line) !important;
    border-radius:var(--radius) !important;
    background:#fff;
    box-shadow:none;
  }
  .search-page .accordion-button{
    min-height:48px;
    padding:13px 14px;
    border-radius:var(--radius) !important;
    background:#fff !important;
    color:var(--ink) !important;
    font-family:var(--display);
    font-size:14px;
    font-weight:700;
    box-shadow:none !important;
  }
  .search-page .accordion-button i{color:var(--steel);}
  .search-page .accordion-button:not(.collapsed){
    border-radius:var(--radius) var(--radius) 0 0 !important;
    background:var(--ink) !important;
    color:#fff !important;
  }
  .search-page .accordion-button:not(.collapsed) i{color:var(--plate);}
  .search-page .accordion-button::after{filter:none;opacity:.65;}
  .search-page .accordion-button:not(.collapsed)::after{filter:brightness(0) invert(1);opacity:.8;}
  .search-page .accordion-body{padding:14px;background:#FAFBFB;}
  
  .search-page .filters .badge-soft,
  .search-page .filters .chip{
    border:1px solid var(--line);
    border-radius:4px;
    background:#fff;
    color:var(--ink);
    font-family:var(--mono);
    font-size:11px;
    font-weight:600;
    letter-spacing:.02em;
    box-shadow:none;
  }
  .search-page .filters .badge-soft{padding:7px 8px;}
  .search-page .filters .chip{padding:8px 9px;cursor:pointer;user-select:none;}
  .search-page .filters .chip:hover{border-color:var(--ink);background:var(--plate);color:var(--ink);box-shadow:none;}
  .search-page .filters .chip:active{transform:translateY(1px);}
  
  .search-page .filters .btn-primary{
    min-height:46px;
    border:1px solid var(--ink);
    border-radius:var(--radius);
    background:var(--ink);
    color:#fff;
    font-family:var(--mono);
    font-size:12px;
    font-weight:700;
    letter-spacing:.09em;
    text-transform:uppercase;
    box-shadow:none;
  }
  .search-page .filters .btn-primary:hover{border-color:var(--plate);background:var(--plate);color:var(--ink);}
  .search-page .btn-soft{
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    color:var(--ink);
    font-family:var(--mono);
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
    box-shadow:none;
  }
  .search-page .btn-soft:hover{border-color:var(--ink);background:#fff;color:var(--ink);}
  
  /* Results toolbar */
  .search-page .results-topbar{
    position:sticky;
    top:calc(var(--nav-height) + 16px);
    z-index:40;
    overflow:hidden;
    margin-bottom:16px;
  }
  .search-page .results-topbar .topbar-row{
    display:grid;
    grid-template-columns:minmax(190px,.72fr) minmax(280px,1.35fr) 196px;
    align-items:center;
    gap:10px;
    padding:13px;
    border-bottom:1px solid var(--line);
    background:#fff;
  }
  .search-page .results-count{
    color:var(--ink);
    font-family:var(--display);
    font-size:18px;
    font-weight:800;
    line-height:1.2;
    letter-spacing:-.02em;
  }
  .search-page .results-count .subhint{
    display:block;
    margin-top:3px;
    color:var(--steel);
    font-family:var(--mono);
    font-size:10px;
    font-weight:600;
    line-height:1.4;
    letter-spacing:.07em;
    text-transform:uppercase;
  }
  .search-page .results-searchbox{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:46px;
    padding:10px 12px;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:none;
  }
  .search-page .results-searchbox:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px rgba(255,212,0,.4);}
  .search-page .results-searchbox i{margin-left:2px;color:var(--ink);}
  .search-page .results-searchbox input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    color:var(--ink);
    font-family:var(--body);
    font-size:15px;
    font-weight:600;
  }
  .search-page #sortSelect.form-select{
    min-height:46px;
    border-radius:var(--radius);
    font-family:var(--mono);
    font-size:11.5px;
    font-weight:600;
    letter-spacing:.02em;
    text-align:center;
  }
  .search-page .active-filters{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    min-height:0;
    padding:9px 13px;
    background:#F8F9F9;
  }
  .search-page .active-filters:empty{display:none;}
  .search-page .af-pill{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:6px 8px;
    border:1px solid var(--line);
    border-radius:4px;
    background:#fff;
    color:var(--ink);
    font-family:var(--mono);
    font-size:11px;
    font-weight:600;
  }
  .search-page .af-pill .af-text{white-space:nowrap;}
  .search-page .af-x{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:18px;
    height:18px;
    padding:0;
    border:0;
    border-radius:50%;
    background:var(--ink);
    color:#fff;
    font-size:12px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
  }
  .search-page .af-x:hover,
  .search-page .af-x:focus-visible{background:var(--plate);color:var(--ink);transform:none;}
  
  /* Results grid and cards */
  .search-page #car-list{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    align-items:stretch;
    gap:14px;
  }
  .search-page .listing-card{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    min-height:100%;
    overflow:hidden;
    border-radius:8px;
    transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
  }
  .search-page .listing-card::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    z-index:8;
    width:56px;
    height:4px;
    background:var(--plate);
  }
  .search-page .listing-card:hover{transform:translateY(-3px);border-color:#BFC8CB;box-shadow:var(--shadow-2);}
  .search-page .img-container{
    position:relative;
    isolation:isolate;
    width:100%;
    height:var(--card-image-h);
    min-height:var(--card-image-h);
    flex:0 0 var(--card-image-h);
    overflow:hidden;
    border-bottom:1px solid var(--line);
    border-radius:0;
    background:#E8ECEC;
  }
  .search-page .img-container::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:2;
    background:linear-gradient(180deg,transparent 55%,rgba(11,27,36,.18));
    pointer-events:none;
  }
  .search-page .img-container .carousel,
  .search-page .img-container .carousel-inner,
  .search-page .img-container .carousel-item{width:100%;height:100%;overflow:hidden;}
  .search-page .img-container .carousel-item.active,
  .search-page .img-container .carousel-item-next,
  .search-page .img-container .carousel-item-prev{display:block;}
  .search-page .img-container img{width:100%;height:100%;object-fit:cover;object-position:center;}
  .search-page .img-container .carousel-control-prev,
  .search-page .img-container .carousel-control-next{z-index:3;width:38px;opacity:.92;}
  .search-page .img-container .carousel-control-prev-icon,
  .search-page .img-container .carousel-control-next-icon{
    width:28px;
    height:28px;
    border-radius:4px;
    background-color:rgba(11,27,36,.78);
    background-size:13px;
  }
  .search-page .img-container .carousel-indicators{z-index:3;margin-bottom:7px;}
  .search-page .img-container .carousel-indicators [data-bs-target]{width:14px;height:3px;border:0;background-color:#fff;}
  
  .search-page .card-gallery.seamless{display:flex;flex-direction:column;width:100%;height:100%;margin:0;}
  .search-page .card-gallery.seamless .gallery-hero{flex:1 1 auto;min-height:0;height:auto;aspect-ratio:auto;}
  .search-page .card-gallery.seamless .gallery-hero-img{width:100%;height:100%;object-fit:cover;}
  .search-page .card-gallery.seamless .gallery-thumbs{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    flex:0 0 50px;
    gap:0;
    padding:0;
    border:0;
    background:#fff;
  }
  .search-page .card-gallery.seamless .thumb{
    width:100%;
    height:50px;
    padding:0;
    border:0;
    border-radius:0;
    opacity:.78;
  }
  .search-page .card-gallery.seamless .thumb img{width:100%;height:100%;object-fit:cover;}
  .search-page .card-gallery.seamless .thumb:hover,
  .search-page .card-gallery.seamless .thumb.is-active{opacity:1;box-shadow:inset 0 0 0 2px var(--plate);}
  .search-page .gallery-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;}
  .search-page .no-image{text-align:center;color:var(--steel-2);font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;}
  .search-page .no-image i{display:block;margin-bottom:8px;font-size:26px;}
  
  .search-page .listing-flag-badge{
    position:absolute;
    top:10px;
    left:10px;
    z-index:4;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 8px;
    border-radius:4px;
    font-family:var(--mono);
    font-size:10px;
    font-weight:700;
    line-height:1;
    letter-spacing:.05em;
    text-transform:uppercase;
    box-shadow:0 8px 18px -12px rgba(11,27,36,.8);
  }
  .search-page .listing-flag-badge--warning{border:1px solid #ffe69c;background:#fff3cd;color:#7a5a00;}
  .search-page .listing-flag-badge--danger{border:1px solid #f1aeb5;background:#f8d7da;color:#842029;}
  
  .search-page .card-content{
    display:flex;
    flex:1 1 auto;
    flex-direction:column;
    gap:10px;
    min-width:0;
    height:100%;
    padding:14px;
  }
  .search-page .card-head{
    display:grid;
    grid-template-rows:auto auto auto;
    align-items:start;
    justify-content:stretch;
    gap:8px;
    min-height:174px;
  }
  .search-page .card-head > div[style*="min-width:0"]{width:100%;}
  .search-page .card-title{width:100%;margin:0;color:var(--ink);font-family:var(--display);font-size:19px;font-weight:800;line-height:1.12;letter-spacing:-.035em;text-align:left;}
  .search-page .card-title-row{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;width:100%;text-align:left;}
  .search-page .card-title-row .badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:auto !important;
    padding:5px 8px;
    border-radius:3px !important;
    background:var(--ink) !important;
    color:var(--plate);
    font-family:var(--mono);
    font-size:12px;
    font-weight:700;
    letter-spacing:.05em;
    text-transform:uppercase;
  }
  .search-page .card-model{
    display:-webkit-box;
    width:100%;
    min-height:calc(1.12em * var(--card-title-lines));
    overflow:hidden;
    color:var(--ink);
    -webkit-box-orient:vertical;
    -webkit-line-clamp:var(--card-title-lines);
    line-clamp:var(--card-title-lines);
    white-space:normal;
    word-break:break-word;
    text-align:left;
  }
  .search-page .subline{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    min-height:38px;
    color:var(--steel);
    font-family:var(--mono);
    font-size:11.5px;
    font-weight:600;
    line-height:1.4;
    text-align:left;
  }
  .search-page .subline strong{color:var(--steel-2);font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;}
  .search-page .subline .dot{color:var(--line);}
  .search-page .specs{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px;min-height:36px;margin-top:0;}
  .search-page .specs .badge,
  .search-page .specs .badge-soft{
    display:inline-flex;
    align-items:center;
    padding:5px 8px;
    border:1px solid var(--line) !important;
    border-radius:3px !important;
    background:#F7F8F8 !important;
    color:var(--ink) !important;
    font-family:var(--mono);
    font-size:10px;
    font-weight:600;
    letter-spacing:.02em;
    text-transform:uppercase;
  }
  .search-page .long-desc{
    display:-webkit-box;
    min-height:calc(1.48em * var(--card-desc-lines));
    margin-top:4px;
    overflow:hidden;
    color:var(--steel);
    font-size:14px;
    font-weight:500;
    line-height:1.48;
    text-align:left;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:var(--card-desc-lines);
    line-clamp:var(--card-desc-lines);
  }
  .search-page .price-pill{
    align-self:flex-start;
    width:auto;
    margin-top:8px;
    padding:9px 11px;
    border:1px solid var(--plate-deep);
    border-radius:4px;
    background:var(--plate);
    color:var(--ink);
    font-family:var(--mono);
    font-size:16px;
    font-weight:700;
    text-align:center;
    white-space:nowrap;
    box-shadow:none;
  }
  .search-page .action-row{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    gap:9px;
    margin:auto 0 0;
    padding:11px 0 0;
    border-top:1px solid var(--line);
  }
  .search-page .source-note{
    min-height:18px;
    overflow:hidden;
    color:var(--steel);
    font-family:var(--mono);
    font-size:10.5px;
    font-weight:600;
    letter-spacing:.03em;
    text-align:left;
    text-overflow:ellipsis;
    text-transform:uppercase;
    white-space:nowrap;
  }
  .search-page .card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:stretch;gap:7px;}
  .search-page .mini-btn,
  .search-page .card-actions a{
    display:inline-flex;
    flex:1 1 auto;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:40px;
    padding:9px 10px;
    border:1px solid var(--ink);
    border-radius:4px;
    background:#fff;
    color:var(--ink);
    font-family:var(--mono);
    font-size:10.5px;
    font-weight:700;
    line-height:1;
    letter-spacing:.06em;
    text-decoration:none;
    text-transform:uppercase;
    cursor:pointer;
    box-shadow:none;
  }
  .search-page .mini-btn:first-child,
  .search-page .card-actions a:first-child{background:var(--ink);color:#fff;}
  .search-page .mini-btn:hover,
  .search-page .card-actions a:hover{border-color:var(--plate);background:var(--plate);color:var(--ink);transform:none;box-shadow:none;}
  
  /* Technical specification disclosure generated by carsearch.js. */
  .search-page .specs-dropdown{
    width:100%;
    margin-top:4px;
    overflow:hidden;
    border:1px solid var(--line);
    border-radius:var(--radius);
    background:#F8F9F9;
  }
  .search-page .specs-dropdown summary{list-style:none;}
  .search-page .specs-dropdown summary::-webkit-details-marker{display:none;}
  .search-page .specs-toggle{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    min-height:74px;
    padding:11px 12px;
    cursor:pointer;
  }
  .search-page .specs-toggle-copy{display:flex;flex:1 1 auto;flex-direction:column;align-items:flex-start;gap:8px;min-width:0;}
  .search-page .specs-label{color:var(--steel);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;}
  .search-page .specs-hp{
    display:-webkit-box;
    min-height:calc(1.3em * var(--specs-summary-lines));
    margin:0;
    overflow:hidden;
    color:var(--ink);
    font-family:var(--display);
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:var(--specs-summary-lines);
    line-clamp:var(--specs-summary-lines);
    word-break:break-word;
  }
  .search-page .specs-chevron{flex:0 0 auto;margin-top:2px;color:var(--ink);transition:transform .18s ease;}
  .search-page .specs-dropdown[open] .specs-chevron{transform:rotate(180deg);}
  .search-page .specs-panel{padding:0 12px 12px;border-top:1px solid var(--line);background:#fff;}
  .search-page .specs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding-top:12px;}
  .search-page .spec-row{display:flex;flex-direction:column;gap:2px;min-width:0;}
  .search-page .spec-row span{color:var(--steel);font-family:var(--mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;}
  .search-page .spec-row strong{color:var(--ink);font-size:13px;font-weight:600;word-break:break-word;}
  
  /* Searchable select enhancement generated by carsearch.js. */
  .search-page .searchable-original-select{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    overflow:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .search-page .searchable-select{position:relative;z-index:1;}
  .search-page .searchable-select.is-open{z-index:100000;}
  .search-page .searchable-select-input{cursor:text;}
  .search-page .searchable-select.is-disabled .searchable-select-input{cursor:not-allowed;opacity:.75;}
  .search-page .searchable-select-list{
    display:none;
    position:absolute;
    top:calc(100% + 5px);
    right:0;
    left:0;
    z-index:100001;
    max-height:240px;
    overflow-y:auto;
    padding:5px;
    border:1px solid var(--ink);
    border-radius:var(--radius);
    background:#fff;
    box-shadow:0 24px 50px -28px rgba(11,27,36,.65);
  }
  .search-page .searchable-select.is-open .searchable-select-list{display:block;}
  .search-page .searchable-select-option{
    display:block;
    width:100%;
    padding:9px 10px;
    border:0;
    border-radius:3px;
    background:transparent;
    color:var(--ink);
    font-size:14px;
    font-weight:600;
    text-align:left;
    cursor:pointer;
  }
  .search-page .searchable-select-option:hover,
  .search-page .searchable-select-option.is-active{background:var(--plate);}
  .search-page .searchable-select-empty{padding:9px 10px;color:var(--steel);font-size:13px;font-weight:600;}
  
  /* Loading, toasts and pagination */
  .search-page .results-spinner{display:flex;justify-content:center;min-height:220px;padding:40px 0;}
  .search-page .results-spinner .spinner-border{color:var(--ink);border-width:3px;}
  .search-page .toast-container{
    position:fixed;
    top:calc(var(--nav-height) + 10px);
    right:16px;
    z-index:10020;
    display:grid;
    gap:10px;
    pointer-events:none;
  }
  .search-page .toast-container .toast{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2);pointer-events:auto;}
  .search-page #pagination{display:flex;justify-content:center;margin-top:24px;}
  .search-page #pagination ul,
  .search-page #pagination.pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;}
  .search-page #pagination .page-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:40px;
    padding:0 10px;
    border:1px solid var(--line);
    border-radius:4px !important;
    background:#fff;
    color:var(--ink);
    font-family:var(--mono);
    font-size:12px;
    font-weight:700;
    text-decoration:none;
    box-shadow:none;
  }
  .search-page #pagination .page-item:not(.disabled) .page-link:hover{border-color:var(--ink);background:var(--plate);color:var(--ink);}
  .search-page #pagination .page-item.active .page-link{border-color:var(--ink) !important;background:var(--ink) !important;color:#fff !important;}
  .search-page #pagination .page-item.disabled .page-link{opacity:.45;cursor:not-allowed;}
  
  /* Mobile filter panel */
  .search-page .mobile-only-search,
  .search-page .mobile-panel-close,
  .search-page .search-fab{display:none;}
  .search-page .mobile-panel-backdrop{
    position:fixed;
    inset:0;
    z-index:10000;
    background:rgba(0,0,0,.55);
    opacity:0;
    pointer-events:none;
    transition:opacity .18s ease;
  }
  .search-page .mobile-panel-backdrop.is-open{opacity:1;pointer-events:auto;}
  .search-page .search-fab{
    position:fixed;
    right:14px;
    bottom:14px;
    z-index:10010;
    align-items:center;
    justify-content:center;
    width:auto;
    min-width:116px;
    height:46px;
    padding:0 16px;
    border:1px solid var(--plate);
    border-radius:4px;
    background:var(--plate);
    color:var(--ink);
    font-family:var(--mono);
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.08em;
    cursor:pointer;
    box-shadow:0 18px 32px -20px rgba(11,27,36,.7);
  }
  .search-page .search-fab:active{transform:translateY(1px);}
  
  @media (max-width:1180px){
    .search-page .container-main{grid-template-columns:292px minmax(0,1fr);gap:18px;}
    .search-page #car-list{grid-template-columns:repeat(2,minmax(0,1fr));}
    .search-page .results-topbar .topbar-row{grid-template-columns:1fr;}
    .search-page .results-count .subhint{display:inline;margin:0 0 0 6px;}
  }
  
  @media (max-width:980px){
    .search-page .search-page-intro-inner{grid-template-columns:1fr;padding:24px 16px 22px;}
    .search-page .search-page-proof{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;}
    .search-page .container-main{grid-template-columns:1fr;padding:16px;}
    .search-page .results-topbar{position:relative;top:auto;}
    .search-page .results-topbar .results-searchbox{display:none;}
    .search-page .mobile-only-search{display:block;padding-bottom:12px;}
    .search-page .mobile-only-search .results-searchbox{display:flex;border-radius:var(--radius);}
    .search-page .mobile-panel-close{display:inline-flex;}
    .search-page .search-fab{display:inline-flex;}
    .search-page .filters{
      position:fixed;
      inset:0;
      z-index:10001;
      display:flex;
      flex-direction:column;
      max-height:100vh;
      overflow:hidden;
      border:0;
      border-radius:0;
      opacity:0;
      transform:translateY(12px);
      pointer-events:none;
      transition:opacity .18s ease,transform .18s ease;
    }
    .search-page .filters.mobile-open{opacity:1;transform:translateY(0);pointer-events:auto;}
    .search-page .filters-head{flex:0 0 auto;padding-top:20px;}
    .search-page .filters-head::before{border-radius:0;}
    .search-page .filters-body{
      flex:1 1 auto;
      min-height:0;
      max-height:none;
      overflow-x:hidden;
      overflow-y:auto;
      padding-bottom:16px;
      -webkit-overflow-scrolling:touch;
    }
    .search-page .filters-footer{
      position:static;
      z-index:auto;
      flex:0 0 auto;
      padding-bottom:max(14px,env(safe-area-inset-bottom));
      background:#fff;
    }
    .search-page .searchable-select-list{
      position:static;
      width:100%;
      max-height:min(42vh,280px);
      margin-top:6px;
      overflow-y:auto;
    }
    .search-page .searchable-select.is-open{z-index:auto;}
    .search-page #pagination{padding-bottom:90px;}
  }
  
  @media (max-width:780px){
    .search-page .filter-row{grid-template-columns:1fr;}
  }
  
  @media (max-width:680px){
    :root{--card-image-h:214px;}
    .search-page .search-page-intro::after{top:-160px;right:-180px;}
    .search-page .search-page-title{font-size:clamp(29px,9vw,42px);}
    .search-page .search-page-lede{font-size:15px;}
    .search-page .search-page-proof{grid-template-columns:1fr;gap:5px;}
    .search-page #car-list{grid-template-columns:1fr;gap:12px;}
    .search-page .card-head,
    .search-page .long-desc,
    .search-page .card-model,
    .search-page .specs-hp{min-height:auto;}
    .search-page .results-count .subhint{display:block;margin:3px 0 0;}
    .search-page .results-topbar .topbar-row{padding:11px;}
    .search-page .active-filters{padding:8px 11px;}
  }
  
  @media (max-width:500px){
    .search-page .search-page-intro-inner{padding-top:20px;padding-bottom:19px;}
    .search-page .search-page-eyebrow{font-size:10.5px;letter-spacing:.13em;}
    .search-page .search-page-lede{margin-top:9px;}
    .search-page .container-main{padding:12px;}
    .search-page .card-content{padding:13px;}
    .search-page .card-title{font-size:18px;}
  }
  
  