/* Replacement-part cards work on both established product pages and new ranges. */
.spares-page .page-hero h1{font-family:"Manrope",system-ui,sans-serif;overflow-wrap:anywhere;font-size:clamp(1.9rem,3.3vw,3rem);line-height:1.22}
.spares-page .component-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.spares-page .component-actions .btn{white-space:normal;text-align:center}
.spares-page .page-section>.wrap>p{line-height:1.85;color:var(--muted);max-width:85ch;margin-bottom:18px}
.parts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.parts-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:17px;background:var(--surface);color:var(--text)}
.parts-card:hover{border-color:var(--accent)}
.parts-photo{display:flex;align-items:center;justify-content:center;height:230px;padding:20px;background:#fff;border-bottom:1px solid var(--line)}
.parts-photo img{width:100%;height:100%;object-fit:contain}
.parts-copy{display:flex;flex-direction:column;gap:13px;padding:24px;flex:1}
.parts-copy h3{font-size:1.1rem;line-height:1.5;margin:0;color:var(--text);overflow-wrap:anywhere}
.parts-copy>p{margin:0;color:var(--muted);line-height:1.8}
.parts-copy .parts-tag{font-size:.76rem;font-weight:700;line-height:1.65;color:var(--link-ink,#11618a)}
.parts-more{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;margin-top:auto;color:var(--link-ink,#11618a);font-weight:700;line-height:1.6}
.parts-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.parts-links a{display:inline-flex;align-items:center;padding:12px 16px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--link-ink,#11618a);font-weight:700;line-height:1.6;overflow-wrap:anywhere}
.parts-controls{display:flex;align-items:end;gap:18px;flex-wrap:wrap;padding:24px;margin-top:25px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.parts-controls>div{flex:1;min-width:210px}
.parts-controls label{display:block;margin-bottom:10px;color:var(--text);font-weight:700}
.parts-controls input,.parts-controls select{width:100%;min-width:0;min-height:50px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--alt);color:var(--text);font:inherit}
.parts-controls button{min-height:50px;cursor:pointer}
.parts-controls [data-parts-count]{flex-basis:100%;margin:0;color:var(--muted);line-height:1.7}
.parts-additional{margin-top:26px;padding:20px;border:1px solid var(--line);border-radius:12px;color:var(--text)}
.parts-additional summary{font-weight:700;cursor:pointer;line-height:1.6}
.parts-additional p{margin-top:14px;line-height:1.85;color:var(--muted)}
[data-parts-empty]{margin-top:25px;line-height:1.8;color:var(--text)}
[data-part-card][hidden],[data-parts-empty][hidden]{display:none!important}
.parts-controls :is(input,select,button):focus-visible,.parts-card a:focus-visible,.parts-links a:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
#parts-range,#part-matching,#uv-replacement-parts{scroll-margin-top:110px}
@media(max-width:950px){.parts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.parts-grid{grid-template-columns:minmax(0,1fr)}.parts-copy{padding:21px}.parts-controls{display:block;padding:20px}.parts-controls>div{min-width:0;margin-bottom:18px}.parts-controls button{width:100%;margin-bottom:18px}.spares-page .component-actions .btn{width:100%}.parts-links a{max-width:100%}}
