#parts .parts-map-fieldset{padding:20px 0 0;border:0;border-top:1px solid #d8dfdd;margin:24px 0}
#parts .parts-map-fieldset legend{font-size:1.25rem;font-weight:750;padding:0 12px 0 0}
#parts .parts-map-intro{color:#536761;margin:5px 0 12px}
#parts .parts-map{position:relative;isolation:isolate;width:100%;aspect-ratio:9/5;border:1px solid #dde5e1;border-radius:18px;background:linear-gradient(140deg,#fbfcf8,#eef3ed);overflow:visible}
#parts .parts-map svg{display:block;width:100%;height:100%;border-radius:18px}
#parts .part-hotspot{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;min-width:44px;min-height:44px;width:44px;height:44px;padding:0;border:0;background:transparent;color:#132c29;border-radius:50%;cursor:pointer;z-index:2;box-shadow:none}
#parts .part-hotspot::before{content:"";display:block;width:18px;height:18px;border-radius:50%;background:#f47b20;border:3px solid #fff;box-shadow:0 0 0 1px #a4470e,0 2px 6px #263a3338;transition:transform .15s}
#parts .part-hotspot:hover::before,#parts .part-hotspot[aria-pressed="true"]::before{transform:scale(1.2);background:#d9570c}
#parts .part-hotspot:focus-visible{outline:3px solid #123f46;outline-offset:1px}
#parts .part-hotspot .hotspot-label{position:absolute;bottom:35px;left:50%;transform:translateX(-50%);font-size:12px;line-height:1.2;font-weight:700;white-space:nowrap;background:#fffef8;color:#183b33;border:1px solid #d8e1da;border-radius:6px;padding:4px 7px;pointer-events:none;box-shadow:0 2px 4px #183b3310}
#parts .part-hotspot[aria-pressed="true"] .hotspot-label{background:#fff1df;border-color:#df7529}
#parts .parts-map-note{font-size:.82rem;color:#61716b;margin:10px 0 0}
#parts .parts-hotspot-status{background:#fff1df;border-left:3px solid #ee7c25;border-radius:0 8px 8px 0;padding:12px 14px;color:#4c321c;font-size:.95rem;margin:14px 0 0}
#parts #parts-identity-prompt{font-weight:650;scroll-margin:140px}
@media(max-width:600px){
 #parts .parts-map-fieldset{margin:20px 0}
 #parts .part-hotspot .hotspot-label{font-size:10px;padding:3px 4px;bottom:32px}
 #parts .part-hotspot::before{width:15px;height:15px;border-width:2px}
 #parts .part-hotspot[data-part="drivetrain"] .hotspot-label,#parts .part-hotspot[data-part="motor"] .hotspot-label{bottom:auto;top:34px}
 #parts .parts-map{margin-bottom:17px}
}
@media(prefers-reduced-motion:reduce){#parts .part-hotspot::before{transition:none}}
#parts .selected-part-preview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px;margin:16px 0 0;padding:16px;border:1px solid #d8e1da;border-radius:14px;background:#fff;scroll-margin:100px}
#parts .selected-part-preview[hidden]{display:none}
#parts .selected-part-preview img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain;border-radius:10px}
#parts .selected-part-preview h3{margin:0 0 8px;font-size:1.1rem}
#parts .selected-part-preview p{font-size:.88rem;line-height:1.5;color:#536761;margin:0 0 10px}
#parts .selected-part-preview a{font-size:.82rem}
@media(max-width:600px){#parts .selected-part-preview{grid-template-columns:1fr;gap:12px;padding:14px}#parts .selected-part-preview img{max-height:190px}}
