/* pp-wheel-page.css — /wheels/<family> and /wheels/<pattern> (product page 2.0). The builder block is the Trail & Dirt
   mini-builder's look (worker/packard-trail/page.html), on the site's own vars. Phone: picture pinned, panel scrolls. */
.wp-hero{padding:40px 0 34px;background:var(--ink);color:var(--white);position:relative;overflow:hidden}
.wp-hero::after{content:'';position:absolute;inset:auto 0 0 0;height:3px;background:var(--red)}
.wp-crumb{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#C9C4B9;margin-bottom:18px;display:flex;gap:10px;flex-wrap:wrap}
.wp-crumb a{color:inherit;text-decoration:none}.wp-crumb a:hover{color:#fff}
.wp-hero h1{font-family:var(--disp);font-weight:800;text-transform:uppercase;font-size:clamp(54px,9vw,120px);line-height:.9;letter-spacing:-.01em;margin:10px 0 14px}
.wp-hero .lede{max-width:62ch;color:#E6E2D8;font-size:clamp(16px,1.6vw,19px);line-height:1.5;margin:0}
.wp-count{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:#C9C4B9;margin-top:18px}
.wp-build{background:var(--paper);color:#0A0A0A;padding:clamp(28px,4vw,56px) 0 clamp(40px,5vw,72px)}
.wp-build .wrap{max-width:1360px;margin:0 auto;padding:0 var(--gut)}
.wb{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(18px,3vw,44px);align-items:start}
.wb-pic{position:relative;background:#fff;border:1px solid var(--paper-line);border-radius:18px;overflow:hidden;aspect-ratio:1;display:flex;align-items:center;justify-content:center}
.wb-pic img{width:94%;height:94%;object-fit:contain;display:block;transition:opacity .18s}
.wb-pic img.swap{opacity:.25}
.wb-tag{position:absolute;top:12px;left:12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;background:#191712;color:#fff;padding:6px 10px;border-radius:8px;z-index:2}
.wb-note{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(25,23,18,.9);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border-radius:10px}
.wb-rings{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.wb-rings:empty{display:none}
.wb-rings button{background:#fff;border:1px solid var(--paper-line);border-radius:12px;padding:6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font:inherit;color:inherit}
.wb-rings button img{width:100%;aspect-ratio:1;object-fit:contain;display:block;border-radius:8px}
.wb-rings button span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6E7176}
.wb-rings button.on{border-color:var(--red);box-shadow:0 0 0 2px rgba(255,2,10,.18)}
.wb-inter{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:#6E7176;margin:10px 0 0;line-height:1.5}
.wb-panel{background:#fff;border:1px solid var(--paper-line);border-radius:18px;padding:22px;display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.wb-step[hidden]{display:none}
.wb-lbl{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--cherokee);margin-bottom:8px}
.wb-opts{display:flex;flex-wrap:wrap;gap:8px}
.wb-opts-sub{margin-top:8px}
.wb-opt{background:#F4F6F8;border:1px solid var(--paper-line);color:#191712;border-radius:999px;padding:9px 14px;font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:border-color .15s,background .15s;line-height:1.1}
.wb-opt small{font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.06em;text-transform:none;color:#6E7176}
.wb-opt:hover{border-color:#191712}
.wb-opt.on{background:#191712;color:#fff;border-color:#191712}
.wb-opt.on small{color:#C9C4B9}
.wb-opt.off{opacity:.38;cursor:not-allowed;text-decoration:line-through}
.wb-opt .sw{display:inline-flex;gap:2px}
.wb-opt .sw i{width:11px;height:11px;border-radius:50%;display:block;border:1px solid rgba(0,0,0,.25)}
.wb-sum{border-top:1px solid var(--paper-line);padding-top:16px;display:flex;flex-direction:column;gap:6px}
.wb-name{font-family:var(--disp);font-weight:800;font-size:22px;color:#191712;line-height:1.1}
.wb-sku{font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;color:#6E7176}
.wb-price{font-family:var(--disp);font-weight:800;font-size:30px;color:#191712;margin-top:4px}
.wb-price small{font-size:13px;font-weight:600;color:#6E7176;margin-left:6px;letter-spacing:.04em}
.wb-set{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:#3A362C}
.wb-set:empty{display:none}
.wb-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.wp-build .btn{display:inline-flex;align-items:center;justify-content:center;background:var(--red);color:#fff;border:1.5px solid var(--red);padding:13px 20px;font-family:var(--disp);font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;cursor:pointer;text-decoration:none;box-shadow:0 8px 24px rgba(255,2,10,.22);transition:transform .15s,box-shadow .15s}
.wp-build .btn:hover{transform:translateY(-1px)}
.wp-build .btn.ghost.dark{background:#fff;color:#191712;border-color:#191712;box-shadow:none}
.wp-build .btn.soon{background:#6E7176;border-color:#6E7176;box-shadow:none}
.wp-build .btn[aria-busy="true"]{opacity:.7;pointer-events:none}
.wb-fine{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:#6E7176;line-height:1.6}
.wb-fine a{color:var(--cherokee)}
.wp-cross{margin-top:clamp(28px,4vw,44px);padding-top:22px;border-top:1px solid var(--paper-line)}
.wp-cross .eyebrow{display:block;margin-bottom:10px;color:#6E7176}
.wp-cross div{display:flex;flex-wrap:wrap;gap:8px}
.wp-cross a{font-family:var(--disp);font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase;color:#191712;text-decoration:none;border:1px solid var(--paper-line);border-radius:999px;padding:8px 14px;background:#fff}
.wp-cross a:hover{border-color:#191712}
.wb-empty{padding:60px 0;text-align:center}
.wp-extra{background:var(--paper);color:#0A0A0A;padding:0 0 clamp(40px,5vw,72px)}
.wp-extra .wrap{max-width:1360px;margin:0 auto;padding:0 var(--gut)}
.wp-extra h2{font-family:var(--disp);text-transform:uppercase;font-weight:800;font-size:clamp(24px,3vw,34px);margin:0 0 10px}
.wp-extra p{max-width:70ch;color:#3A362C;font-size:16px;line-height:1.55}
@media(max-width:820px){
  .wb{grid-template-columns:1fr}
  .wb-panel{position:static}
  .wb-stage{position:sticky;top:64px;z-index:5;background:var(--paper);padding-bottom:8px}
  .wb-pic{aspect-ratio:auto;height:44vh}
  .wb-rings{display:none}
  .wb-inter{font-size:11px}
  .wp-hero{padding-top:20px}
}
