/* Extra parts share the storefront's fixed left menu and scrolling right list. */
.catalog-hub{display:flex;flex-direction:column;height:calc(100vh - 160px - env(safe-area-inset-bottom));height:calc(100dvh - 160px - env(safe-area-inset-bottom));min-height:0;overflow:hidden}
.catalog-mode-tabs{display:flex;align-items:center;gap:7px;flex:none;padding:8px 14px;border-bottom:1px solid #f1f1f1;background:#fff}
.catalog-mode-tabs>button{min-height:36px;padding:6px 16px;border-radius:9px;background:#f5f5f5;color:#888;font-size:14px}
.catalog-mode-tabs>button.selected{background:#171717;color:#fff;font-weight:650}
.catalog-hub>.catalog-menu-page{flex:1;height:auto;min-height:0}
.shop-parts.parts-menu-page{display:flex;flex-direction:column;padding:0;height:calc(100vh - 62px - env(safe-area-inset-bottom));height:calc(100dvh - 62px - env(safe-area-inset-bottom));min-height:0;overflow:hidden}
.catalog-hub>.parts-menu-page{flex:1;height:auto;min-height:0}
.phone-app.parts-app{padding-bottom:env(safe-area-inset-bottom)}
.parts-role-selector{flex:none;padding:10px 14px 7px;background:#fff}
.parts-selector-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}
.parts-selector-heading>h2{font-size:13px;line-height:1.5;font-weight:650;margin:0}
.parts-selector-heading>span{font-size:11px;color:#999}
.parts-role-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.parts-role-buttons>button{min-height:35px;padding:6px 4px;border:1px solid #e8e8e8;border-radius:8px;background:#fff;color:#777;font-size:12px;line-height:1.6}
.parts-role-buttons>button.selected{color:#171717;font-weight:650;border-color:#bdbdbd;background:#f5f5f5}
.parts-menu-page>.parts-search{flex:none;padding:7px 14px 12px;margin:0;border-bottom:1px solid #f1f1f1}
.parts-menu-layout{display:grid;grid-template-columns:88px minmax(0,1fr);flex:1;min-height:0;overflow:hidden}
.parts-category-menu{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:5px 0 12px;background:#f6f6f6;scrollbar-width:none;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.parts-category-menu::-webkit-scrollbar{display:none}
.parts-category-menu>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;position:relative;width:100%;min-height:64px;padding:8px 9px;color:#747e8b;background:transparent;font-size:12px;line-height:1.5;text-align:center;overflow-wrap:anywhere}
.parts-category-menu>button>img{display:block;width:26px;height:26px;object-fit:contain}
.parts-category-menu>button.selected{background:#fff;color:#171717;font-weight:700}
.parts-category-menu>button.selected:before{position:absolute;content:'';left:0;width:3px;height:22px;border-radius:0 3px 3px 0;background:#364252}
.parts-results-pane{min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px 12px 18px;background:#fff;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#ddd transparent}
.parts-results-pane:focus-visible{outline:2px solid #dedede;outline-offset:-2px}
.parts-list-heading{margin-bottom:4px}
.parts-list-heading>h2{font-size:18px;font-weight:750;line-height:1.5;margin:0 0 4px}
.parts-list-heading>p{font-size:12px;color:#999;line-height:1.6;margin:0}
.parts-cg-list{display:flex;flex-direction:column;min-width:0}
.parts-cg-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:11px;min-width:0;padding:15px 0;border-bottom:1px solid #f0f0f0;cursor:pointer}
.parts-cg-row.selected{background:linear-gradient(90deg,transparent,#f1f4f8)}
.parts-cg-image{position:relative;display:block;align-self:start;width:82px;height:82px;padding:0;overflow:hidden;border:1px solid #eef0f3;border-radius:12px;background:#f6f7f9}
.parts-cg-image>img{width:100%;height:100%;object-fit:cover}
.parts-cg-copy{display:flex;flex-direction:column;min-width:0;padding-top:1px}
.parts-cg-copy>h3{font-size:14px;font-weight:700;line-height:1.5;overflow-wrap:anywhere;margin:0 0 4px}
.parts-cg-copy>.parts-slot-label{align-self:flex-start;display:inline-block;padding:1px 6px;margin:0 0 5px;border-radius:5px;background:#f1f3f6;color:#687384;font-size:10px;line-height:1.6}
.parts-cg-copy>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;color:#999;line-height:1.7;margin:0 0 7px;overflow-wrap:anywhere}
.parts-cg-purchase{display:flex;align-items:center;justify-content:space-between;gap:3px;min-width:0;margin-top:auto}
.parts-cg-price{display:flex;align-items:baseline;gap:1px;min-width:0;white-space:nowrap;color:#344050;font-variant-numeric:tabular-nums}
.parts-cg-price>small{font-size:11px;font-weight:600}
.parts-cg-price>strong{font-size:20px;font-weight:800;line-height:1.4;letter-spacing:-.7px}
.parts-cg-select{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;padding:0;margin-right:-5px}
.parts-cg-select>.app-icon{width:27px;height:27px;padding:6px;border-radius:50%;color:#fff;background:#171717;stroke-width:1.8}
.parts-cg-select.selected>.app-icon{background:#435164;stroke-width:2}
.parts-cg-select:disabled{cursor:default;opacity:.25}
.parts-cg-row.unavailable .parts-cg-copy>h3{color:#9299a2}
.parts-incompatible{color:#8b929d;font-size:11px;line-height:1.6}
.parts-browser-summary>div>.parts-summary-warning{color:#987047;font-size:10px}
.parts-cg-empty{padding:34px 2px;text-align:center}
.parts-cg-empty>.app-icon{width:34px;height:34px;margin:0 auto 14px;color:#aaa}
.parts-cg-empty>h3{font-size:16px;line-height:1.6;margin:0 0 8px}
.parts-cg-empty>p{font-size:12px;line-height:1.8;color:#999;margin:0 0 17px}
.parts-cg-empty>.shop-button{min-height:44px;padding:9px 13px;border-radius:10px;font-size:13px}
.parts-cg-note{font-size:11px;color:#aaa;line-height:1.9;margin:17px 0 0;overflow-wrap:anywhere}
.parts-browser-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none;padding:10px 14px;background:#fff;border-top:1px solid #eee}
.parts-browser-summary>div{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.parts-browser-summary>div>span{font-size:11px;color:#999;line-height:1.5}
.parts-browser-summary>div>strong{font-size:23px;color:#344050;line-height:1.3;font-weight:800;font-variant-numeric:tabular-nums}
.parts-confirm-button{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:111px;padding:11px 12px;border-radius:11px;background:#171717;color:#fff;font-size:14px;line-height:1.5;font-weight:600}
.parts-confirm-button>.app-icon{width:14px;height:14px}
.parts-confirm-button:disabled{opacity:.45}
.parts-subfilters{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin:12px 0 4px}
.parts-subfilters>button{padding:5px 9px;min-height:30px;border:1px solid #eceef1;border-radius:8px;font-size:11px;color:#888;background:#f8f9fb}
.parts-subfilters>button.selected{color:#34363a;background:#f0f1f3;border-color:#c8cbd0}
.parts-capture-panel>h3{font-size:17px;line-height:1.6;margin:18px 0 8px}
.parts-capture-panel>p,.parts-capture-panel>ul{font-size:12px;line-height:1.9;color:#888}
.parts-capture-panel>ul{padding-left:19px;margin:14px 0 20px}
.parts-capture-image{aspect-ratio:1;border-radius:14px;margin-top:18px;object-fit:cover;object-position:50% 28%}
.parts-capture-price{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:16px 0}
.parts-capture-price>span{font-size:11px;color:#999}
.parts-capture-price>strong{font-size:23px;color:#344050}
.parts-capture-panel>.shop-button{width:100%;padding:11px 8px;font-size:12px;border-radius:11px}
.parts-capture-details{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;min-height:44px;font-size:11px;color:#888;margin-top:5px}
.parts-capture-details>.app-icon{width:13px;height:13px}
@media(min-width:430px){.parts-menu-layout{grid-template-columns:96px minmax(0,1fr)}.parts-results-pane{padding-left:15px;padding-right:15px}.parts-cg-row{grid-template-columns:90px minmax(0,1fr);gap:13px}.parts-cg-image{width:90px;height:90px}}
@media(max-width:370px){.parts-menu-layout{grid-template-columns:76px minmax(0,1fr)}.parts-category-menu>button{padding-left:6px;padding-right:6px}.parts-results-pane{padding-left:10px;padding-right:10px}.parts-cg-row{grid-template-columns:68px minmax(0,1fr);gap:9px}.parts-cg-image{width:68px;height:68px}.parts-cg-price>strong{font-size:18px}.parts-cg-price>small{font-size:10px}.parts-selector-heading>span{font-size:10px}.parts-role-buttons>button{font-size:11px}.parts-confirm-button{min-width:104px;font-size:13px}}
