/* Spare parts: shared typography and a concise compatibility/request layout. */
.parts-page{background:#fff;color:#181818}
.parts-page .parts-hero{padding:30px 0 64px}
.parts-page .parts-breadcrumb{display:flex;gap:10px;align-items:center;margin-bottom:36px}
.parts-page .parts-hero-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.parts-page .parts-hero-copy h1{margin:16px 0 24px}
.parts-page .parts-hero-description{max-width:680px;margin:0}
.parts-page .parts-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px;margin-top:28px}
.parts-page .parts-hero-actions .text-link{padding-bottom:6px;border-bottom:1px solid #888}
.parts-page .parts-hero-photo{margin:0;min-width:0}
.parts-page .parts-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.parts-page .parts-hero-photo figcaption{color:#aaa;padding-top:14px}
.parts-page .parts-section-nav{background:#fff;border-bottom:1px solid #ddd}
.parts-page .parts-section-nav>.container{display:flex;gap:32px}
.parts-page .parts-section-nav a{padding:20px 0;color:#555;border-bottom:2px solid transparent}
.parts-page .parts-section-nav a:hover{color:#c81020;border-color:#c81020}
.parts-page main>.section{background:#fff;border-bottom:1px solid #ddd}
.parts-page :is(#component-guidance,#vehicle-identification,#parts-process,#parts-request,#parts-faq,#find-parts,#mechanical-parts,#electrical-parts,#battery-parts,#body-parts,#fleet-parts){scroll-margin-top:110px}
.parts-page .parts-section-head{margin-bottom:32px;max-width:900px}
.parts-page .parts-section-head .eyebrow{margin:0 0 18px;color:#666}
.parts-page .parts-section-head h2{margin:0}
.parts-page .parts-section-head>p:not(.eyebrow){max-width:780px;color:#666;margin:18px 0 0}
.parts-page .parts-category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.parts-page .parts-category-card{min-width:0;border:1px solid #ddd;display:flex;flex-direction:column}
.parts-page .parts-category-card figure{margin:0}
.parts-page .parts-category-card img{display:block;width:100%;height:auto;aspect-ratio:1.4;object-fit:cover}
.parts-page .parts-category-card>div{display:flex;flex-direction:column;flex:1;padding:22px 20px}
.parts-page .parts-category-card h3{margin:0 0 14px}
.parts-page .parts-category-card p{margin:0 0 22px;color:#666}
.parts-page .parts-category-card a{align-self:flex-start;margin-top:auto}
.parts-page .parts-image-note{color:#777;margin:16px 0 22px}
.parts-page .parts-detail{border-bottom:1px solid #ddd;margin-top:12px}
.parts-page .parts-detail summary,.parts-page .parts-faq-list summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;padding:20px 0}
.parts-page :is(.parts-detail,.parts-faq-list details)>summary::-webkit-details-marker{display:none}
.parts-page :is(.parts-detail,.parts-faq-list details)>summary:after{content:'+';color:#c81020;flex-shrink:0}
.parts-page :is(.parts-detail,.parts-faq-list details)[open]>summary:after{content:'−'}
.parts-page .parts-detail>div{padding-bottom:24px}
.parts-page .parts-detail p{margin:0;max-width:950px;color:#666}
.parts-page .parts-detail>p{margin-bottom:20px}
.parts-page .parts-evidence-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}
.parts-page .parts-reference-visual{min-width:0;margin:0}
.parts-page .parts-reference-visual img{display:block;width:100%;height:auto}
.parts-page .parts-reference-visual figcaption{color:#777;padding-top:14px}
.parts-page .parts-checklist{list-style:none;margin:0;padding:0}
.parts-page .parts-checklist li{position:relative;padding:18px 0 18px 22px;border-bottom:1px solid #ddd}
.parts-page .parts-checklist li:first-child{padding-top:0}
.parts-page .parts-checklist li:before{content:'';position:absolute;left:0;top:30px;width:6px;height:6px;background:#c81020}
.parts-page .parts-checklist li:first-child:before{top:12px}
.parts-page .parts-checklist h3{margin:0 0 8px}
.parts-page .parts-checklist p{margin:0;color:#666}
.parts-page .parts-copy-row{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-top:24px}
.parts-page .parts-copy-row>span{color:#777}
.parts-page .parts-safety-note{padding:24px 28px;border:1px solid #ddd;border-left:3px solid #c81020;margin-top:32px}
.parts-page .parts-safety-note h3{margin:0 0 12px}
.parts-page .parts-safety-note p{color:#666;margin:0;max-width:1080px}
.parts-page .parts-safety-note a{color:#a30e1b;text-decoration:underline;text-underline-offset:4px}
.parts-page .parts-process-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;padding:0;margin:0;list-style:none}
.parts-page .parts-process-list li{min-width:0;border-top:2px solid #b8bdc4;padding-top:20px}
.parts-page .parts-process-list li>span{color:#a30e1b}
.parts-page .parts-process-list h3{margin:20px 0 14px}
.parts-page .parts-process-list p{margin:0;color:#666}
.parts-page .parts-request-grid{display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);gap:48px;align-items:start}
.parts-page .parts-request-grid>*{min-width:0}
.parts-page .parts-request-intro{position:sticky;top:110px}
.parts-page .parts-request-intro h3{margin:0 0 16px}
.parts-page .parts-request-intro p{margin:0;color:#666}
.parts-page .parts-request-intro ul{padding-left:20px;display:grid;gap:12px;margin-top:20px;color:#666}
.parts-page .parts-inline-links{display:flex;flex-wrap:wrap;gap:20px 28px;margin-top:24px}
.parts-page .parts-request-form{border:1px solid #ddd;padding:28px;background:#fff;min-width:0}
.parts-page .parts-form-preview-banner{display:grid;gap:6px;background:#f5f5f5;border-left:3px solid #c81020;padding:16px 18px;color:#666}
.parts-page .parts-form-preview-banner b{color:#181818}
.parts-page .parts-required-note{color:#777;margin:20px 0 24px}
.parts-page .parts-form-fieldset{min-width:0;border:0;border-bottom:1px solid #ddd;padding:0 0 28px;margin:0 0 28px}
.parts-page .parts-form-fieldset>legend{width:100%;padding:0 0 18px;color:#a30e1b}
.parts-page .parts-form-grid,.parts-page .parts-router-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.parts-page .parts-form-grid>*,.parts-page .parts-router-fields>*{min-width:0}
.parts-page .parts-form-grid label,.parts-page .parts-router-fields label{display:grid;align-content:start;gap:8px;color:#333}
.parts-page .parts-request-form :is(input:not([type=checkbox]):not([type=file]),select,textarea),.parts-page .parts-router-fields select{display:block;width:100%;max-width:100%;min-height:46px;padding:11px 12px;border:1px solid #ccc;border-radius:0;background:#fff;color:#181818;box-sizing:border-box}
.parts-page .parts-request-form textarea{min-height:100px;resize:vertical}
.parts-page .parts-request-form :is(input,textarea)::placeholder{color:#888}
.parts-page .parts-field-wide{grid-column:1/-1}
.parts-page .parts-dynamic-fields{border:1px solid #ddd;border-left:3px solid #c81020;padding:18px;margin-top:20px;min-width:0}
.parts-page .parts-dynamic-title{display:block;color:#a30e1b;margin-bottom:16px}
.parts-page .parts-field-hint{grid-column:1/-1;margin:0;color:#777}
.parts-page .parts-critical-warning{display:grid;gap:8px;margin-top:20px;padding:16px;background:#f5f5f5;border-left:3px solid #c81020;color:#555}
.parts-page .parts-critical-warning b{color:#181818}
.parts-page .parts-warranty-note{border-left:3px solid #c81020;padding:16px;margin-top:20px;color:#666}
.parts-page .parts-warranty-note a{text-decoration:underline;text-underline-offset:4px}
.parts-page .parts-upload-label{display:grid;gap:12px;border:1px dashed #b8bdc4;padding:18px;min-width:0}
.parts-page .parts-upload-label .parts-field-name>span{display:block;margin-top:8px;color:#777}
.parts-page input[type=file]{display:block;max-width:100%;width:100%}
.parts-page .parts-upload-message{margin-top:16px;color:#777}
.parts-page .parts-upload-message.is-error{color:#a30e1b}
.parts-page .parts-upload-preview{list-style:none;margin:0;padding:0}
.parts-page .parts-upload-preview li{display:flex;align-items:center;gap:12px;border-bottom:1px solid #ddd;padding:12px 0;overflow-wrap:anywhere}
.parts-page .parts-upload-preview img{width:64px;height:64px;object-fit:cover;flex-shrink:0}
.parts-page .parts-upload-preview span{flex:1;min-width:0}
.parts-page .parts-upload-preview button{flex-shrink:0;border:1px solid #ccc;padding:6px 10px;min-height:36px}
.parts-page .parts-privacy-check{display:flex;align-items:flex-start;gap:10px;margin-top:20px;color:#555}
.parts-page .parts-privacy-check input{accent-color:#c81020;flex-shrink:0;margin-top:5px}
.parts-page .parts-privacy-check a{text-decoration:underline;text-underline-offset:4px}
.parts-page .parts-form-submit{display:grid;gap:14px}
.parts-page .parts-form-submit>span{color:#777}
.parts-page .parts-form-submit .button{justify-content:space-between}
.parts-page .parts-form-result{padding:16px;border-left:3px solid #c81020;background:#f5f5f5;color:#555;margin-top:20px}
.parts-page .parts-router{padding:0 0 24px;margin-top:20px}
.parts-page .parts-router-actions{display:flex;align-items:center;gap:20px;margin-top:24px}
.parts-page .parts-router-actions>span{color:#777}
.parts-page .parts-router-result{padding:24px;margin-top:24px;background:#f5f5f5;border-left:3px solid #c81020;color:#181818}
.parts-page .parts-router-result h3{margin:12px 0}
.parts-page .parts-router-result .text-link{color:#181818;margin-top:20px}
.parts-page .parts-router-checklist{margin-top:20px}
.parts-page .parts-router-checklist ul{padding-left:20px;margin-top:12px;color:#666}
.parts-page .parts-router-safety{margin-top:20px!important}
.parts-page .parts-faq-list{max-width:950px;border-top:1px solid #ddd}
.parts-page .parts-faq-list details{border-bottom:1px solid #ddd}
.parts-page .parts-faq-list details>div{padding:0 0 24px;max-width:830px;color:#666}
.parts-page .parts-faq-list p{margin:0 0 14px}
.parts-page .parts-more-faq{margin-top:24px}
.parts-page :is(a,summary,input,select,textarea,button):focus-visible{outline:2px solid #c81020;outline-offset:4px}
.parts-page [hidden]{display:none!important}
@media(max-width:1100px){.parts-page .parts-hero-layout{gap:32px}.parts-page .parts-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-page .parts-evidence-layout{gap:28px}.parts-page .parts-process-list{grid-template-columns:repeat(2,minmax(0,1fr))}.parts-page .parts-request-grid{grid-template-columns:minmax(0,1fr);gap:32px}.parts-page .parts-request-intro{position:static}}
@media(max-width:900px){.parts-page .parts-hero-layout{grid-template-columns:minmax(0,1fr)}.parts-page .parts-hero-photo{max-width:700px}}
@media(max-width:700px){
.parts-page .parts-hero{padding:24px 0 40px}.parts-page .parts-breadcrumb{margin-bottom:28px}.parts-page .parts-hero-layout{gap:30px}.parts-page .parts-hero-copy h1{margin-bottom:18px}.parts-page .parts-hero-actions{gap:20px}.parts-page .parts-hero-photo img{aspect-ratio:1.5}.parts-page .parts-section-nav>.container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px}.parts-page .parts-section-nav a{padding:13px 0}.parts-page .parts-section-head{margin-bottom:26px}.parts-page .parts-category-grid,.parts-page .parts-evidence-layout,.parts-page .parts-process-list,.parts-page .parts-form-grid,.parts-page .parts-router-fields{grid-template-columns:minmax(0,1fr)}.parts-page .parts-category-card img{aspect-ratio:1.6}.parts-page .parts-safety-note{padding:22px 20px}.parts-page .parts-process-list{gap:26px}.parts-page .parts-request-form{order:1;padding:20px 16px}.parts-page .parts-request-intro{order:2}.parts-page .parts-form-fieldset{padding-bottom:24px;margin-bottom:24px}.parts-page .parts-router-actions{align-items:flex-start;flex-direction:column}.parts-page :is(#component-guidance,#vehicle-identification,#parts-process,#parts-request,#parts-faq,#find-parts,#mechanical-parts,#electrical-parts,#battery-parts,#body-parts,#fleet-parts){scroll-margin-top:90px}
}
/* Compact category rows on phones keep the four choices easy to scan. */
@media(max-width:700px){.parts-page .parts-category-card{display:grid;grid-template-columns:96px minmax(0,1fr);align-items:start}.parts-page .parts-category-card figure{padding:18px 0 0 14px}.parts-page .parts-category-card img{aspect-ratio:1.1}.parts-page .parts-category-card>div{padding:18px 16px}.parts-page .parts-category-card p{margin-bottom:18px}}
