/* Touch-first model navigation; the same catalogue runs in both device previews. */
body { background:#f5f5f7; color:#1d1d1f; }
body #main { max-width:1240px; padding:0 24px 100px; margin:auto; }
.menu-tools { padding:20px 0; }
.menu-tools .search-field { max-width:520px; background:white; }
.parts-layout { display:grid; grid-template-columns:180px minmax(0,1fr); gap:28px; align-items:start; }
.model-rail { position:sticky; top:82px; display:flex; flex-direction:column; gap:6px; max-height:calc(100dvh - 180px); overflow:auto; }
.rail-model { padding:18px 16px; min-height:68px; color:#515154; text-decoration:none; border-radius:12px; display:flex; flex-direction:column; gap:7px; }
.rail-model bdi { font-size:15px; font-weight:600; }
.rail-model small { font-size:12px; }
.rail-model:hover { background:#e9e9ed; color:#1d1d1f; }
.rail-model[aria-current] { background:#eadde0; color:#751526; }
.parts-panel { min-width:0; }
.parts-heading { padding:4px 0 20px; }
.parts-heading h1 { font-size:32px; letter-spacing:-.025em; margin:0 0 8px; color:#1d1d1f; }
.parts-heading p,.order-note { color:#515154; font-size:14px; }
.parts-panel .access-strip { margin:0 0 20px; padding:16px; background:#fff; color:#1d1d1f; border:1px solid #dedee2; border-radius:12px; }
.parts-panel .access-strip p { color:#515154; }
.parts-panel .access-strip .btn { color:#751526; border-color:#751526; }
.parts-list { display:flex; flex-direction:column; gap:16px; }
.part-row { background:#fff; border-radius:14px; padding:24px; display:grid; grid-template-columns:220px minmax(0,1fr); gap:16px 24px; }
.part-copy { grid-column:2; grid-row:1; }
.part-copy h2 { font-size:22px; margin:0 0 12px; color:#1d1d1f; }
.part-copy p { color:#515154; line-height:1.65; margin:0; font-size:15px; }
.part-media { grid-column:1; grid-row:1 / 3; min-width:0; }
.part-media .media-box { margin:0; border-radius:10px; overflow:hidden; background:#f5f5f7; }
.part-media .media-box img { width:100%; height:156px; object-fit:contain; display:block; }
.part-media figcaption { padding:8px; font-size:11px; text-align:center; color:#616166; }
.part-media .media-missing { margin:10px 0 0; padding:12px; background:#f5f5f7; border-radius:8px; color:#515154; font-size:12px; }
.part-media .media-missing p { margin:5px 0 0; font-size:12px; color:#515154; }
.part-media video { width:100%; max-height:200px; display:block; margin-top:10px; }
.part-purchase { grid-column:2; display:flex; align-items:end; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.price-link { border:0; background:transparent; color:#751526; padding:8px 0; min-height:44px; display:flex; align-items:center; gap:6px; text-align:start; font:inherit; cursor:pointer; }
.price-link:hover { color:#54101b; text-decoration:underline; }
.price-link svg { width:16px; height:16px; flex-shrink:0; }
.part-add { background:#751526!important; color:white!important; min-width:44px; min-height:44px; }
.part-add:hover { background:#54101b!important; }
.part-purchase .price { color:#751526; }
.part-purchase .usd-price,.part-purchase .fx-note { color:#515154; }
.order-note { padding:18px 0; line-height:1.6; }
body #mobileBar { display:flex; background:#fff; border-top:1px solid #dedee2; padding:12px max(20px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)); gap:12px; }
body #mobileBar .btn { flex:1; min-height:44px; }
body #mobileBar .btn:not(.secondary) { background:#751526; color:#fff; }
body #footer { display:none; }
:focus-visible { outline:3px solid #0071e3; outline-offset:3px; }
::selection { background:#eadde0; color:#54101b; }
@media(max-width:600px) {
 body #main { padding:0 12px 96px 0; }
 .menu-tools { padding:12px 0 12px 12px; }
 .parts-layout { grid-template-columns:88px minmax(0,1fr); gap:12px; }
 .model-rail { top:70px; gap:4px; }
 .rail-model { padding:16px 9px; border-radius:0 10px 10px 0; }
 .rail-model bdi { font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
 .rail-model small { font-size:11px; }
 .parts-heading { padding:4px 0 14px; }
 .parts-heading h1 { font-size:23px; line-height:1.2; }
 .parts-heading p { font-size:12px; }
 .parts-panel .access-strip { padding:12px; display:block; }
 .parts-panel .access-strip strong { font-size:14px; }
 .parts-panel .access-strip p { font-size:12px; line-height:1.5; }
 .parts-panel .access-strip .btn { margin-top:8px; width:100%; font-size:13px; }
 .part-row { display:flex; flex-direction:column; gap:14px; padding:14px; }
 .part-copy h2 { font-size:20px; margin-bottom:8px; }
 .part-copy p { font-size:14px; }
 .part-media .media-box img { height:132px; }
 .part-purchase { align-items:center; gap:6px; }
 .price-link { font-size:13px; max-width:calc(100% - 52px); }
 .part-add { padding:10px; }
 .part-add span { display:none; }
 .part-add svg { width:20px; height:20px; }
 .order-note { font-size:12px; }
}
