/* 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: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; }
 .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; }
}
/* Store catalogue: quiet white canvas, anchored category rail, image-first tiles. */
body{background:#fff}
body #main{max-width:1360px;padding-inline:24px}
.menu-tools{padding:16px 0 24px}
.menu-tools .search-field{background:#f5f5f7;border:0;border-radius:12px;max-width:640px}
.parts-layout{grid-template-columns:164px minmax(0,1fr);gap:32px}
.model-rail{background:#f6f6f7;gap:0;border-radius:0;scrollbar-width:thin;padding-block:8px}
.rail-model{position:relative;border-radius:0;padding:16px 18px;min-height:72px;gap:5px}
.rail-model bdi{font-size:14px;font-weight:500;line-height:1.4}
.rail-model[aria-current]{background:#fff;color:#751526}
.rail-model[aria-current]::before{content:"";position:absolute;inset-inline-start:0;top:20px;bottom:20px;width:3px;border-radius:2px;background:#751526}
.rail-model[aria-current] bdi{font-weight:650}
.parts-heading{border-bottom:1px solid #ededee;padding:4px 0 18px;margin-bottom:20px}
.parts-heading h1{font-size:28px;font-weight:650}
.parts-heading p{margin:8px 0 0;color:#737378}
.parts-panel .access-strip{background:#fafafa;border:0;border-radius:8px;padding:14px 18px}
.parts-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.part-row{padding:0 0 24px;border-radius:0;border-bottom:1px solid #ededee;display:flex;flex-direction:column;gap:14px;min-width:0}
.part-media{order:0}
.part-copy{order:1}
.part-purchase{order:2;margin-top:auto}
.part-copy h2{font-size:18px;line-height:1.35;margin-bottom:8px}
.part-copy p{font-size:13px;line-height:1.65;color:#68686d}
.part-media .media-box{background:#fafafa;border-radius:12px}
.part-media .media-box img{height:180px;padding:16px}
.part-media figcaption{font-size:10px;padding:4px 10px 10px}
.part-media .media-missing{background:transparent;padding:8px 0 0;margin:0;font-size:11px}
.part-media .media-missing strong{font-size:11px;font-weight:500;color:#737378}
.part-media .media-missing p{font-size:11px;line-height:1.5;margin:3px 0 0}
.part-add{border-radius:12px;padding:10px 14px;font-size:13px}
.price-link{font-size:13px}
@media(max-width:700px){
 body #main{padding:0 14px 110px 0}
 .menu-tools{padding:12px 0 16px 14px}
 .parts-layout{grid-template-columns:90px minmax(0,1fr);gap:16px}
 .model-rail{max-height:calc(100dvh - 190px)}
 .rail-model{padding:16px 10px;min-height:76px}
 .rail-model bdi{font-size:12px;overflow-wrap:normal}
 .parts-heading{padding:4px 0 14px;margin-bottom:14px}
 .parts-heading h1{font-size:21px;line-height:1.3}
 .parts-heading p{font-size:11px}
 .parts-list{grid-template-columns:minmax(0,1fr);gap:24px}
 .part-row{gap:10px;padding-bottom:20px}
 .part-media .media-box img{height:140px;padding:12px}
 .part-copy h2{font-size:17px}
 .part-copy p{font-size:12px}
 .parts-panel .access-strip{padding:12px;margin-bottom:20px}
 .part-purchase{gap:8px}
 .part-add{min-width:44px;padding:10px}
 .part-add span{display:none}
 .price-link{max-width:calc(100% - 52px)}
}
.category-switch{display:flex;gap:12px;padding:16px 0}.category-switch a{padding:12px 28px;min-height:44px;border:1px solid #c8b2b8;border-radius:12px;text-decoration:none;color:#751526;background:#faf4f5}.category-switch a[aria-current]{background:#751526;color:#fff}
.menu-tools .search-field{background:#faf0f2;border:1px solid #ae7b86;box-shadow:0 2px 8px #7515260a}
.rail-model { border-bottom:1px solid #dedee2; min-height:52px; padding-block:10px; text-align:center; align-items:center; justify-content:center; }
.rail-model bdi { white-space:nowrap; }
.rail-model[aria-current] { background:#751526; color:white; }
.social-options{display:grid;gap:14px;margin-top:24px}.social-options .btn{background:#f5f5f7;color:#29292d;border:1px solid #d5d5da}.social-options .btn:hover{background:#eadde0}
.parts-list{display:flex;flex-direction:column;gap:12px}.part-row{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto;gap:6px 16px;padding:12px 0;align-items:start}.part-media{grid-column:1;grid-row:1/3}.part-copy{grid-column:2;grid-row:1}.part-purchase{grid-column:2;grid-row:2;margin:0;align-items:center}.part-media .media-box img{height:92px;padding:4px}.part-media figcaption{font-size:9px;line-height:1.4;padding:4px}.part-media .media-missing{display:none}.part-copy h2{font-size:17px;margin:0}.part-description summary{min-height:44px;display:flex;align-items:center;font-size:12px;color:#68686d;cursor:pointer}.part-description p{margin:0}.part-purchase .price-link{max-width:none}.parts-panel .access-strip p{display:none}.parts-panel .access-strip{padding:8px 12px;margin-bottom:8px}
@media(max-width:700px){.parts-layout{grid-template-columns:76px minmax(0,1fr);gap:12px}.rail-model{padding:12px 8px;min-height:60px}.part-row{grid-template-columns:72px minmax(0,1fr);gap:4px 10px;padding:10px 0}.part-media .media-box img{height:72px}.part-copy h2{font-size:13px}.part-purchase{gap:4px}.part-purchase .price-link{font-size:11px;padding:4px 0}.part-purchase .price{font-size:17px}.part-add{min-height:44px}.category-switch{padding-inline:12px}.parts-heading{margin-bottom:8px;padding-bottom:8px}.parts-heading h1{font-size:20px}.menu-tools{padding-block:4px 12px}}
.part-media .reference-photo{padding:0;gap:0;min-height:0}.part-media figcaption{max-width:100%;overflow-wrap:anywhere}.part-row{background:transparent}.parts-heading p{margin-top:4px}.parts-panel .access-strip{display:flex;align-items:center;justify-content:space-between;gap:8px}.parts-panel .access-strip .btn{width:auto;margin:0;padding:8px;font-size:12px}.parts-panel .access-strip strong{font-size:12px}.part-description summary{min-height:28px}.part-copy{align-self:start}
@media(max-width:700px){.category-switch{padding-block:8px}.category-switch a{padding:10px 24px}.parts-heading{padding-top:0}.part-row{padding-block:6px}.part-media figcaption{font-size:8px}.parts-list{gap:6px}.part-description summary{font-size:11px;min-height:28px}}
@media(max-width:700px){.parts-panel .access-strip{margin:0;padding:4px 8px}.parts-panel .access-strip strong{display:none}.parts-panel .access-strip .btn{width:100%}.part-row{grid-template-columns:62px minmax(0,1fr)}.part-media figcaption{font-size:8px;line-height:1.2}.part-media .media-box img{height:62px}.part-description summary{min-height:24px}.part-purchase .price-link{min-height:44px}.parts-heading p{display:none}.parts-heading{margin:0;padding-bottom:4px}.menu-tools .search-field{min-height:44px}.category-switch a{min-height:44px;padding-block:8px}.part-row{gap:0 8px;padding-block:4px}}
.catalog-toolbar {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
}
.catalog-toolbar .category-switch {
  flex: 0 0 auto;
  padding: 0;
}
.catalog-toolbar .menu-tools {
  flex: 1 1 auto;
  min-width: 0;
  margin-inline-start: auto;
  padding: 0;
}
.catalog-toolbar .search-field {
  width: 100%;
  max-width: 460px;
  margin-inline-start: auto;
}
.catalog-toolbar .search-field input { min-width: 0; }
@media (max-width: 700px) {
  .catalog-toolbar { gap: 8px; padding: 10px 0 12px 12px; }
  .catalog-toolbar .category-switch { gap: 6px; }
  .catalog-toolbar .category-switch a { padding: 10px 12px; font-size: 13px; }
  .catalog-toolbar .search-field { gap: 6px; padding: 8px; }
  .catalog-toolbar .search-field input { font-size: 12px; }
}
.catalog-toolbar .search-field { margin-block: 0; min-height: 44px; }

.parts-layout { padding-top: 16px; }
.parts-panel .catalog-toolbar {
  padding: 0 0 12px;
}

.catalog-toolbar .search-field {
  height: 48px;
  padding-block: 0;
}
.catalog-toolbar .search-field input {
  height: 44px;
  min-height: 0;
  padding-block: 0;
}
.part-description summary { min-height: 44px; }
.media-preview { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; }
.expanded-product { margin: 0; }
.expanded-product img { display: block; width: 100%; max-height: 65dvh; object-fit: contain; }
.expanded-product figcaption { padding-top: 16px; color: #616166; font-size: 12px; text-align: center; }
.media-error { display: flex; align-items: center; justify-content: center; min-height: 62px; padding: 6px; font-size: 11px; line-height: 1.5; color: #616166; }

.catalogue-sidebar { position:sticky; top:68px; min-width:0; }
.catalogue-mode { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin-bottom:8px; }
.catalogue-mode a { display:flex; justify-content:center; align-items:center; min-height:44px; padding:5px; border:1px solid #dedee2; border-radius:8px; color:#515154; text-align:center; text-decoration:none; font-size:13px; }
.catalogue-mode a:hover { background:#e9e9ed; color:#1d1d1f; }
.catalogue-mode a[aria-current] { background:#751526; border-color:#751526; color:#fff; }
.catalogue-sidebar .model-rail { position:relative; top:auto; padding:0; max-height:max(88px,calc(100dvh - 165px)); }
.catalogue-sidebar .model-rail bdi { max-width:100%; overflow:hidden; text-overflow:ellipsis; }
.catalogue-types { background:#f6f6f7; }
.catalogue-types .rail-model bdi { white-space:normal; text-wrap:balance; }
.catalogue-sidebar .rail-model { min-height:44px; padding:6px 8px; border-radius:10px; }
.catalogue-sidebar .rail-model[aria-current],
.catalogue-sidebar .rail-model[aria-current]:hover { background:transparent; border-bottom-color:transparent; isolation:isolate; }
.catalogue-sidebar .rail-model[aria-current]::before { inset:4px 6px; width:auto; border-radius:8px; background:#751526; z-index:-1; }
.quick-prices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:20px; width:100%; margin:0; padding:0; list-style:none; }
.quick-product { display:grid; grid-template-columns:minmax(0,1fr) minmax(78px,110px) 44px; align-items:center; gap:8px; min-width:0; padding:8px 0; border-bottom:1px solid #dedee2; }
.quick-name { display:inline-flex; align-items:center; min-height:44px; min-width:0; color:#1d1d1f; font-size:14px; font-weight:600; text-decoration:none; overflow-wrap:anywhere; }
.quick-name:hover { text-decoration:underline; }
.quick-price { min-width:0; text-align:end; }
.quick-action { text-align:end; }
.quick-price .price-link { max-width:none; width:100%; justify-content:flex-end; text-align:end; }
.quick-price .price-link { font-size:12px; }
.quick-price .price { font-size:16px; }
.quick-prices .part-add { padding:8px; }
.quick-prices .part-add span { display:none; }
@media (min-width:1300px) {
  .quick-prices { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:700px) {
  .parts-layout { grid-template-columns:102px minmax(0,1fr); gap:8px; }
  .catalogue-mode { grid-template-columns:1fr; }
  .catalogue-mode a { font-size:12px; }
  .catalogue-sidebar .model-rail { max-height:max(64px,calc(100dvh - 245px)); }
  .catalogue-sidebar .rail-model { padding:6px 4px; }
  .rail-model bdi { font-size:12px; }
  .quick-prices { grid-template-columns:minmax(0,1fr); }
  .quick-product { grid-template-columns:minmax(0,1fr) 78px 44px; gap:4px; }
  .quick-name { font-size:12px; }
  .quick-price .price-link { gap:3px; }
  .quick-price .price-link svg { width:13px; height:13px; }
}
@media (max-width:345px) {
  .site-header .brand-wordmark { width:92px; }
  .parts-layout .catalog-toolbar { flex-wrap:wrap; }
  .parts-layout .catalog-toolbar .menu-tools { flex-basis:100%; }
}
body:not(.home-mode) .site-header { max-width:1360px; padding-inline:24px; }
.site-header .cart-button { padding-inline-end:0; }
.part-cart-controls { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-inline-start:auto; }
.part-cart-controls .quantity { gap:0; border:1px solid #dedee2; border-radius:9px; overflow:hidden; background:#fff; }
.part-cart-controls .quantity button { width:44px; height:44px; border-radius:0; background:#f5f5f7; }
.part-cart-controls .quantity input { width:44px; min-width:0; height:44px; padding:0; border:0; border-radius:0; appearance:textfield; }
.part-cart-controls input::-webkit-inner-spin-button,
.part-cart-controls input::-webkit-outer-spin-button { appearance:none; margin:0; }
.part-cart-controls .field-error { flex-basis:100%; margin:0; font-size:12px; }
.part-row { cursor:pointer; }
.part-detail-link { color:inherit; text-decoration:none; }
.part-detail-link:hover { color:#751526; }
.part-media .media-preview { cursor:pointer; }
.product-prices { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; width:100%; align-items:start; }
.price-caption { display:block; margin-bottom:6px; font-size:12px; line-height:1.4; color:#515154; }
.part-copy .product-prices { margin-top:10px; }
.retail-value { display:block; font-size:14px; line-height:1.5; color:#515154; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.product-prices .price { font-size:22px; font-weight:650; line-height:1.25; }
.product-prices .price-link { font-size:12px; min-height:44px; max-width:none; padding:0; }
.part-purchase .product-prices { flex-basis:100%; }
.part-cart-controls { width:100%; justify-content:space-between; margin-top:6px; }
@media(min-width:1024px) and (hover:hover) and (pointer:fine) {
  .part-row { padding:16px; gap:14px; }
  .part-media .media-box img { height:200px; padding:12px; }
  .part-copy h2 { font-size:16px; line-height:1.45; }
  .part-purchase { gap:12px; }
}

/* Pointer-driven computers use product tiles; touch devices retain the compact list. */
@media (min-width:1024px) and (hover:hover) and (pointer:fine) {
  .parts-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; align-items:stretch; }
  .part-row { display:flex; flex-direction:column; gap:12px; padding:18px; background:#fff; border:1px solid #dedee2; border-radius:14px; transition:border-color .16s ease; }
  .part-row:hover { border-color:#b57887; }
  .part-row:focus-within { border-color:#751526; }
  .part-media { width:100%; }
  .part-media .media-box img { height:156px; padding:12px; }
  .part-media figcaption { padding:6px 8px; font-size:10px; }
  .part-copy { width:100%; }
  .part-copy h2 { font-size:17px; line-height:1.4; }
  .part-purchase { width:100%; margin-top:auto; gap:8px; }
  .part-add { padding:10px; }
  .part-add span { display:none; }
  body #mobileBar { display:none; }
  body:not(.home-mode) #main { padding-bottom:40px; }
}
