/* Velvet Drive Parts Finder (main_page=parts_finder). Scoped to .pf; uses halemarine2 tokens from stylesheet_hm.css with fallbacks. */
.pf{--pf-navy:var(--navy,#002B66);--pf-navy2:var(--navy2,#0a3d86);--pf-red:var(--red,#d62b2b);--pf-ink:var(--ink,#1b2230);--pf-mute:var(--mute,#5b6576);--pf-line:var(--line,#d9dee7);--pf-sky:var(--sky,#dbe6f3);--pf-sky2:var(--sky2,#eef3f9);--pf-green:var(--green,#2f6b3a);--pf-paper:#fbfcfd;--pf-hotsoft:rgba(214,43,43,.13);
  --pf-display:'Roboto Condensed','Arial Narrow',Arial,sans-serif;
  color:var(--pf-ink);font-family:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;display:grid;gap:22px;padding-block:6px 30px}
.pf *{box-sizing:border-box}
.pf h1,.pf h2,.pf h3{font-family:var(--pf-display);text-wrap:balance;margin:0;color:var(--pf-ink)}
.pf h1{font-size:clamp(28px,3.2vw,38px);line-height:1.08;font-weight:700}
.pf-lede{max-width:68ch;color:var(--pf-mute);margin:6px 0 0;font-size:17px}
.pf-eyebrow{font:700 13px/1 var(--pf-display);letter-spacing:.14em;text-transform:uppercase;color:var(--pf-red);margin-bottom:6px}
.pf-step{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}
.pf-step h2{font-size:21px;font-weight:700}
.pf-step .n{font:700 13px/1 var(--pf-display);color:#fff;background:var(--pf-navy);border-radius:99px;width:23px;height:23px;display:grid;place-items:center;flex:none;transform:translateY(-2px)}
.pf a{color:var(--pf-navy2)}
.pf :focus-visible{outline:3px solid var(--pf-navy2);outline-offset:2px;border-radius:4px}

/* step 1 */
.pf-units{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
.pf-unit{position:relative;display:grid;gap:6px;text-decoration:none;color:var(--pf-ink);background:#fff;border:1.5px solid var(--pf-line);border-radius:10px;padding:10px;transition:border-color .15s,box-shadow .15s,transform .15s}
a.pf-unit:hover{border-color:var(--pf-navy2);transform:translateY(-1px)}
.pf-unit .ph{aspect-ratio:4/3;max-width:100%;border-radius:6px;background:#fff;display:grid;place-items:center;overflow:hidden}
.pf-unit .ph img{max-height:100%;max-width:100%;object-fit:contain}
.pf-unit .nm{font:700 19px/1 var(--pf-display)}
.pf-unit .sub{font-size:13px;color:var(--pf-mute);line-height:1.3}
.pf-unit[aria-current="true"]{border-color:var(--pf-red);box-shadow:0 0 0 3px var(--pf-hotsoft)}
.pf-unit .tag{position:absolute;top:8px;right:8px;font:700 11px/1 var(--pf-display);letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-radius:4px;background:var(--pf-sky);color:var(--pf-navy)}
.pf-unit.soon{opacity:.6}
.pf-unit.soon .ph img{filter:grayscale(1)}

/* step 2 */
.pf-models{display:grid;gap:12px;background:#fff;border:1px solid var(--pf-line);border-radius:10px;padding:14px}
.pf-tagrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pf-tagrow label{font-weight:600;font-size:15px}
.pf-tagrow input{width:210px;max-width:100%;padding:8px 10px;border:1.5px solid var(--pf-line);border-radius:7px;background:var(--pf-paper);font:700 16px var(--pf-display);letter-spacing:.03em;color:var(--pf-ink)}
.pf-tagrow input:focus{border-color:var(--pf-navy2);outline:none}
.pf-tagmsg{font-size:14px;color:var(--pf-mute)}
.pf-chipgroup{display:grid;gap:6px}
.pf-chipgroup h3{font:700 12.5px/1 var(--pf-display);letter-spacing:.12em;text-transform:uppercase;color:var(--pf-mute)}
.pf-chips{display:flex;flex-wrap:wrap;gap:8px}
.pf-chip{border:1.5px solid var(--pf-line);background:var(--pf-paper);border-radius:8px;padding:6px 10px;cursor:pointer;display:grid;text-align:left;line-height:1.15;color:var(--pf-ink);font:inherit}
.pf-chip b{font:700 16px/1.1 var(--pf-display);font-variant-numeric:tabular-nums}
.pf-chip small{font-size:12.5px;color:var(--pf-mute)}
.pf-chip:hover{border-color:var(--pf-navy2)}
.pf-chip[aria-pressed="true"]{border-color:var(--pf-red);background:var(--pf-hotsoft)}
.pf-picked{font-size:15px;border-left:3px solid var(--pf-red);padding-left:10px;display:grid;gap:4px}
.pf-picked b{font-family:var(--pf-display)}

/* step 3 */
.pf-explorer{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:16px;align-items:start}
.pf-stage{position:relative;background:var(--pf-paper);border:1px solid var(--pf-line);border-radius:10px;overflow:hidden;height:min(86vh,1060px);min-height:520px}
.pf-stage svg{display:block;width:100%;height:100%;cursor:grab;touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none}
.pf-stage.zoomed svg{touch-action:none}
.pf-stage svg.pf-fig[hidden]{display:none}
.pf-figwrap{display:grid;gap:8px;min-width:0}
.pf-figtabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;padding-bottom:2px}
.pf-figtabs button{flex:none;font:700 14px/1.2 var(--pf-display);letter-spacing:.02em;color:var(--pf-ink);background:#fff;border:1px solid var(--pf-line);border-radius:999px;padding:8px 14px;cursor:pointer}
.pf-figtabs button:hover{border-color:var(--pf-navy2)}
.pf-figtabs button[aria-selected="true"]{background:var(--pf-navy);border-color:var(--pf-navy);color:#fff}
.pf-list tr.grp td{font:700 12.5px/1.2 var(--pf-display);letter-spacing:.05em;text-transform:uppercase;color:var(--pf-mute);background:var(--pf-sky2);padding-top:8px;padding-bottom:6px}
.pf-static tr.grp td{font-weight:700;background:var(--pf-sky2)}
.pf-stage svg.dragging{cursor:grabbing}
.pf .ink{color:#1b2230}
.pf .dimrect{fill:var(--pf-paper);opacity:0;transition:opacity .35s ease}
.pf .on .dimrect{opacity:.8}
.pf .lab{cursor:pointer}
.pf .lab circle{fill:transparent;stroke:transparent;stroke-width:3;transition:fill .15s,stroke .15s}
.pf .lab text{font:700 31px var(--pf-display);fill:#1b2230;text-anchor:middle;dominant-baseline:central;transition:fill .15s,opacity .2s;paint-order:stroke;stroke:var(--pf-paper);stroke-width:7px;stroke-linejoin:round}
.pf .lab:hover circle{stroke:var(--pf-navy2);fill:var(--pf-paper)}
.pf .on .lab text{opacity:.4}
.pf .lab.hit text{opacity:1;fill:var(--pf-navy2)}
.pf .lab.hit circle{stroke:var(--pf-navy2);fill:var(--pf-paper)}
.pf .lab.sel text{opacity:1;fill:#fff;stroke:none}
.pf .lab.sel circle{fill:var(--pf-red);stroke:var(--pf-red)}
.pf .lead{fill:none;stroke:var(--pf-red);stroke-width:6;stroke-linecap:round}
.pf .lead.draw{animation:pfdraw .5s ease-out both}
@keyframes pfdraw{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
.pf .ring{fill:var(--pf-hotsoft);stroke:var(--pf-red);stroke-width:4;stroke-dasharray:10 9;opacity:0}
.pf .ring.show{opacity:1;animation:pfring 1.3s ease-out .35s both}
@keyframes pfring{0%{opacity:0;stroke-width:14}35%{opacity:1}100%{opacity:1;stroke-width:4}}
.pf .pulse{fill:none;stroke:var(--pf-red);stroke-width:5;opacity:0;transform-box:fill-box;transform-origin:center}
.pf .pulse.go{animation:pfpulse 1.2s ease-out .45s 2}
@keyframes pfpulse{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(1.35)}}
.pf .hitp{fill:transparent;cursor:pointer;transition:fill .15s}
.pf .hfill{fill:rgba(10,61,134,.22);stroke:#0a3d86;stroke-width:6;stroke-linejoin:round;pointer-events:none}
.pf .hhot{color:#0a3d86;pointer-events:none}
.pf .htag{pointer-events:none}
.pf .htag rect{fill:#0a3d86;filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}
.pf .htag-in{animation:pffade .12s ease-out both}
.pf .lab.hov circle{fill:#0a3d86;stroke:#0a3d86}
.pf .lab.hov text{fill:#fff;stroke:none;opacity:1}
.pf .hot{color:var(--pf-red)}
.pf .hot.in{animation:pffade .45s ease-out both}
.pf .shape{fill:rgba(214,43,43,.15);stroke:none}
.pf .shape.in{animation:pffade .35s ease-out both}
.pf .shape-glow{fill:none;stroke:var(--pf-red);stroke-width:5;stroke-linejoin:round;opacity:0}
.pf .shape-glow.go{animation:pfglow 1.1s ease-out .15s 2}
@keyframes pfglow{0%{opacity:.85;stroke-width:4}100%{opacity:0;stroke-width:26}}
.pf .ptag{cursor:pointer}
.pf .ptag-in{animation:pffade .3s ease-out .15s both}
.pf .ptag rect{fill:var(--pf-red);filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}
.pf .ptag-t{font:700 38px var(--pf-display);fill:#fff;dominant-baseline:central;letter-spacing:.5px}
@keyframes pffade{from{opacity:0}to{opacity:1}}
.pf-tools{position:absolute;right:10px;top:10px;display:flex;flex-direction:column;gap:6px;z-index:2}
.pf-tools button{width:40px;height:40px;border-radius:8px;border:1px solid var(--pf-line);background:#fff;cursor:pointer;display:grid;place-items:center;box-shadow:0 1px 2px rgba(0,0,0,.08);padding:0}
.pf-tools button:hover{border-color:var(--pf-navy2)}
.pf-tools svg{width:20px;height:20px;stroke:var(--pf-ink);fill:none;stroke-width:2.2;stroke-linecap:round}
.pf-hint{position:absolute;left:12px;bottom:10px;font-size:13px;color:var(--pf-mute);background:#fff;border:1px solid var(--pf-line);border-radius:6px;padding:4px 8px;pointer-events:none}
.pf-figcap{position:absolute;left:12px;top:10px;font:700 13px/1.25 var(--pf-display);letter-spacing:.03em;color:var(--pf-mute);background:#fff;border:1px solid var(--pf-line);border-radius:6px;padding:5px 8px;max-width:calc(100% - 80px)}

.pf-side{display:grid;gap:12px;position:sticky;top:12px;max-height:calc(100vh - 24px);grid-template-rows:auto auto minmax(0,1fr)}
.pf-search{position:relative}
.pf-search input{width:100%;padding:11px 70px 11px 38px;border:1.5px solid var(--pf-line);border-radius:9px;background:#fff;font-size:16px;color:var(--pf-ink)}
.pf-search input:focus{border-color:var(--pf-navy2);outline:none}
.pf-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;stroke:var(--pf-mute);fill:none;stroke-width:2.2}
.pf-search .count{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--pf-mute)}

.pf-detail{background:#fff;border:1px solid var(--pf-line);border-radius:10px;padding:14px;display:grid;gap:12px}
.pf-detail.empty{color:var(--pf-mute);font-size:15px;display:block}
.pf-detail.empty p{margin:0 0 8px}
.pf-dhead{display:flex;gap:12px;align-items:flex-start}
.pf-badge{flex:none;width:44px;height:44px;border-radius:99px;background:var(--pf-red);color:#fff;display:grid;place-items:center;font:700 19px/1 var(--pf-display)}
.pf-dhead h3{font-size:21px;line-height:1.1}
.pf-dhead .fits{font-size:13.5px;color:var(--pf-mute);margin-top:3px}
.pf-pn{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.pf-pn .num{font:700 30px/1 var(--pf-display);letter-spacing:.02em;font-variant-numeric:tabular-nums;user-select:all;-webkit-user-select:all}
.pf-pn .qty{font-size:14px;color:var(--pf-mute)}
.pf-copy{border:1px solid var(--pf-line);background:var(--pf-paper);border-radius:6px;padding:4px 9px;font-size:13px;cursor:pointer;color:var(--pf-ink)}
.pf-copy:hover{border-color:var(--pf-navy2)}
.pf-variants{width:100%;border-collapse:collapse;font-size:14px}
.pf-variants td{padding:5px 6px;border-top:1px solid var(--pf-line);vertical-align:top}
.pf-variants td:first-child{font:700 15px var(--pf-display);white-space:nowrap}
.pf-variants tr.cur td{background:var(--pf-sky2)}
.pf-note{font-size:14px;background:var(--pf-sky2);border-radius:7px;padding:8px 10px}
.pf-warn{font-size:14px;background:#fff6e5;border:1px solid #ecc76b;border-radius:7px;padding:8px 10px}
.pf-warn b{font-family:var(--pf-display)}
.pf-buy{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--pf-red);color:#fff!important;text-decoration:none;border-radius:8px;padding:11px 14px;font:700 17px/1.1 var(--pf-display);letter-spacing:.02em}
.pf-buy:hover{filter:brightness(1.07)}
.pf-buy s{opacity:.75;font-weight:400;margin-right:6px}
.pf-ask{font-size:14.5px;border:1.5px dashed var(--pf-line);border-radius:8px;padding:9px 11px}
.pf-ask b{font-family:var(--pf-display);user-select:all;-webkit-user-select:all}
.pf-kits{display:grid;gap:6px;font-size:14px}
.pf-kits h4,.pf-vids h4{margin:0;font:700 12.5px/1 var(--pf-display);letter-spacing:.12em;text-transform:uppercase;color:var(--pf-mute)}
.pf-kit{display:flex;justify-content:space-between;gap:8px;align-items:baseline;border-top:1px solid var(--pf-line);padding-top:6px}
.pf-kit b{font-family:var(--pf-display)}
.pf-vids{display:grid;gap:8px}
.pf-vid{display:grid;grid-template-columns:112px minmax(0,1fr);gap:10px;align-items:center;text-decoration:none;color:var(--pf-ink)!important;border-radius:8px;padding:4px;margin:-4px}
.pf-vid:hover{background:var(--pf-sky2)}
.pf-vid .th{position:relative;aspect-ratio:16/9;max-width:100%;border-radius:6px;overflow:hidden;background:var(--pf-sky)}
.pf-vid .th img{width:100%;height:100%;object-fit:cover;display:block}
.pf-vid .th i{position:absolute;right:4px;bottom:4px;font:600 11px/1 sans-serif;font-style:normal;background:rgba(0,0,0,.75);color:#fff;border-radius:3px;padding:2px 4px}
.pf-vid .t{font-size:14px;line-height:1.25;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pf-vid .m{font-size:12.5px;color:var(--pf-mute)}
.pf-more{font-size:14px;font-weight:600}

.pf-list{background:#fff;border:1px solid var(--pf-line);border-radius:10px;overflow:auto;min-height:220px}
.pf-list table,.pf-static table{width:100%;border-collapse:collapse;font-size:14px}
.pf-list th,.pf-static th{position:sticky;top:0;background:#fff;text-align:left;font:700 12px/1 var(--pf-display);letter-spacing:.1em;text-transform:uppercase;color:var(--pf-mute);padding:10px 8px;border-bottom:1.5px solid var(--pf-line);z-index:1}
.pf-list td,.pf-static td{padding:7px 8px;border-bottom:1px solid var(--pf-line);vertical-align:top}
.pf-list tr{cursor:pointer}
.pf-list tbody tr:hover td{background:var(--pf-sky2)}
.pf-list tr.sel td{background:var(--pf-hotsoft)}
.pf td.i{font:700 15px var(--pf-display);color:var(--pf-mute);width:42px;font-variant-numeric:tabular-nums}
.pf td.p{font:700 15px var(--pf-display);white-space:nowrap;letter-spacing:.01em}
.pf td.p em{font-style:normal;font-weight:400;color:var(--pf-mute)}
.pf td.q{text-align:right;color:var(--pf-mute);font-variant-numeric:tabular-nums}
.pf td.h{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.pf .dot{display:inline-block;width:8px;height:8px;border-radius:9px;background:var(--pf-green);margin-right:5px;transform:translateY(-1px)}
.pf tr.sub td{padding-top:3px;padding-bottom:3px;font-size:13px;color:var(--pf-mute)}
.pf-nores{padding:16px;color:var(--pf-mute);font-size:15px}

/* full lists (no-JS and search engines) */
.pf-static{display:grid;gap:10px}
.pf-static details{background:#fff;border:1px solid var(--pf-line);border-radius:10px;padding:4px 12px}
.pf-static summary{cursor:pointer;font:700 17px/1.3 var(--pf-display);padding:10px 0}
.pf-static .scroll{overflow-x:auto;padding-bottom:10px}
.pf-static th{position:static}
.pf-copy{display:grid;gap:10px;max-width:980px}
.pf-copy h2{font-size:24px;margin-top:6px}
.pf-copy h3{font-size:18px;margin-top:4px}
.pf-copy p,.pf-copy li{max-width:75ch;margin:0}
.pf-copy ul{margin:0;padding-left:20px;display:grid;gap:4px}
.pf-copy table,.pf-kitblock table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}
.pf-copy th{text-align:left;font:700 12px/1 var(--pf-display);letter-spacing:.1em;text-transform:uppercase;color:var(--pf-mute);padding:9px 8px;border-bottom:1.5px solid var(--pf-line)}
.pf-copy td{padding:6px 8px;border-bottom:1px solid var(--pf-line);vertical-align:top}
.pf-copy .scroll{overflow-x:auto;border:1px solid var(--pf-line);border-radius:8px}
.pf-kitblock{display:grid;gap:6px}
.pf-kitblock p b{font-family:var(--pf-display)}
.pf-kitbuy{font-weight:600;margin-left:6px}
.pf-kitbuy s{opacity:.7;margin-right:4px}
.pf-fits{color:var(--pf-mute);font-size:14px}
.pf-print{margin:6px 0 0;display:grid;gap:6px;max-width:520px}
.pf-print img{width:100%;height:auto;border:1px solid var(--pf-line);border-radius:8px;background:#fff}
.pf-print figcaption{font-size:13.5px;color:var(--pf-mute)}
.pf-lede+.pf-lede{margin-top:8px}
.pf-foot{font-size:14px;color:var(--pf-mute);max-width:90ch;display:grid;gap:6px}
.pf-foot p{margin:0}

@media (max-width:980px){
  .pf-explorer{grid-template-columns:1fr}
  .pf-side{position:static;max-height:none;grid-template-rows:none}
  .pf-stage{height:min(78vh,720px);min-height:420px}
  .pf-list{max-height:70vh}
}
@media (max-width:520px){
  .pf-units{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pf-hint{display:none}
}
@media (prefers-reduced-motion:reduce){
  .pf *,.pf *::before,.pf *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
