.part-numbers-page {min-width: 0;}
.pn-head {margin-bottom: 14px;}
.pn-head .intro {margin-top: 8px; margin-bottom: 14px;}
.pn-search {max-width: 680px;}
.pn-search > label {display: block; margin-bottom: 5px; font-size: 12px; font-weight: 600;}
.pn-search-row {display: flex; border: 1px solid var(--text); background: var(--surface);}
.pn-search-row input {flex: 1; min-width: 0; border: 0; padding: 10px 12px; background: transparent; color: var(--text); font: 14px var(--sans); outline: none;}
.pn-search-row button {border: 0; border-left: 1px solid var(--border); padding: 0 20px; background: var(--zebra); color: var(--text); cursor: pointer;}
.pn-search-row:focus-within {border-color: var(--accent);}
.pn-prefixes {display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-bottom: 16px; padding: 8px 10px; border: 1px solid var(--border); background: var(--surface);}
.pn-prefixes > span {margin-right: 6px; color: var(--text-mute);}
.pn-prefixes a {display: inline-flex; align-items: baseline; gap: 4px; padding: 3px 7px; text-decoration: none; border: 1px solid transparent;}
.pn-prefixes a small {color: var(--text-mute); font-size: 9px;}
.pn-prefixes a:hover, .pn-prefixes a.is-on {border-color: var(--accent); color: var(--accent);}
.pn-layout {display: flex; align-items: flex-start; gap: 28px;}
.pn-sidebar {flex: 0 0 260px; min-width: 0;}
.pn-sidebar .facets {width: 100%; border-top: 0;}
.pn-toc {margin-bottom: 0; border: 1px solid var(--border); background: var(--surface);}
.pn-toc > summary {padding: 11px 14px; border-bottom: 1px solid var(--border); font-weight: 600; cursor: pointer;}
.pn-toc nav {max-height: 45vh; overflow: auto; padding: 8px 14px 12px;}
.pn-toc-kind {margin: 5px 0 10px;}
.pn-toc-kind > a {display: flex; justify-content: space-between; gap: 8px; font-weight: 600; text-decoration: none;}
.pn-toc-kind > a span, .pn-toc-kind li span {color: var(--text-mute); font: 10px var(--mono);}
.pn-toc-kind ul {list-style: none; margin: 3px 0 0; padding: 0 0 0 10px;}
.pn-toc-kind li a {display: flex; justify-content: space-between; gap: 8px; padding: 2px 0; color: var(--text-mute); font-size: 12px; text-decoration: none;}
.pn-toc-kind li a:hover {color: var(--accent);}
.pn-results {flex: 1; min-width: 0;}
.pn-kind {scroll-margin-top: 12px; margin-bottom: 30px;}
.pn-kind > h2 {display: flex; align-items: baseline; gap: 8px; padding-bottom: 8px; border-bottom: 2px solid var(--text); font-size: 18px;}
.pn-kind > h2 span, .pn-group > h3 span {color: var(--text-mute); font: 11px var(--mono);}
.pn-group {scroll-margin-top: 12px; margin-top: 20px;}
.pn-group > h3 {display: flex; align-items: baseline; gap: 7px; margin-bottom: 10px; font-size: 15px;}
.pn-card-grid {display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;}
.pn-card {display: grid; grid-template-columns: 152px minmax(0, 1fr); min-width: 0; scroll-margin-top: 12px; border: 1px solid var(--border); background: var(--surface);}
.pn-card-photo {display: flex; align-items: center; justify-content: center; min-height: 180px; border-right: 1px solid var(--border); background: var(--zebra); overflow: hidden; cursor: zoom-in;}
.pn-card-photo img {display: block; width: 100%; height: 100%; max-height: 250px; object-fit: contain;}
.pn-card-body {min-width: 0; padding: 10px 12px;}
.pn-card-kicker {display: flex; flex-wrap: wrap; gap: 3px 10px; margin-bottom: 3px; color: var(--text-mute); font-size: 10px;}
.pn-card-kicker span:first-child {color: var(--accent);}
.pn-card-title {margin: 0; font-size: 14px; line-height: 1.4;}
.pn-card-item {display: block; margin: 2px 0 9px; overflow: hidden; color: var(--text-mute); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap;}
.pn-values {list-style: none; margin: 0; padding: 0;}
.pn-values li {display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 7px; padding: 4px 0; border-top: 1px solid var(--border);}
.pn-location {flex: 0 0 76px; color: var(--text-mute); font-size: 10px;}
.pn-number {font-size: 13px; font-weight: 600; overflow-wrap: anywhere;}
.pn-same {padding: 0 3px; border: 1px solid var(--border); color: var(--text-mute); font: 9px var(--mono); text-decoration: none;}
.pn-source {margin-left: auto; color: var(--text-mute); font-size: 10px;}
.pn-thumbs {display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px;}
.pn-thumbs a {display: block; width: 38px; height: 38px; border: 1px solid var(--border); background: var(--zebra); overflow: hidden;}
.pn-thumbs img {display: block; width: 100%; height: 100%; object-fit: cover;}
.pn-text-only {margin-top: 10px; border: 1px solid var(--border); background: var(--surface);}
.pn-text-only > summary {padding: 8px 11px; cursor: pointer;}
.pn-text-only > summary span {color: var(--text-mute); font: 11px var(--mono);}
.pn-text-only .table-wrap {border-top: 1px solid var(--border);}
.pn-text-only table {width: 100%; border-collapse: collapse;}
.pn-text-only th, .pn-text-only td {padding: 7px 10px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top;}
.pn-text-only th {background: var(--zebra); font-size: 11px;}
.pn-text-only tr:last-child td {border-bottom: 0;}
@media (max-width: 1220px) {
  .pn-card-grid {grid-template-columns: 1fr;}
}
@media (max-width: 860px) {
  .pn-layout {flex-direction: column;}
  .pn-sidebar {flex: none; width: 100%;}
  .pn-toc nav {max-height: 280px;}
  .pn-results {width: 100%;}
  .pn-sidebar .facets {border-top: 1px solid var(--border);}
}
@media (max-width: 560px) {
  .pn-head .feed-head {align-items: flex-start; flex-direction: column; gap: 4px;}
  .pn-prefixes {padding: 7px;}
  .pn-prefixes > span {flex: 0 0 100%;}
  .pn-card {grid-template-columns: 112px minmax(0, 1fr);}
  .pn-card-photo {min-height: 150px;}
  .pn-card-body {padding: 8px 9px;}
  .pn-location {flex-basis: 100%;}
  .pn-source {margin-left: 0;}
  .pn-text-only {overflow-x: auto;}
  .pn-text-only table {min-width: 520px;}
}
