/* Catalog → preview → part → order. Preserve the paper/ink/brass design system. */
.shop-breadcrumb {display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px;color:var(--ink-soft);font-size:13px;}
.shop-breadcrumb a:hover {color:var(--accent-deep);text-decoration:underline;}
.browse-title {margin:0;font-size:28px;font-family:var(--font-kr-display);}
.browse-toolbar {display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;}
.browse-toolbar p {margin:0;color:var(--ink-soft);font-size:14px;}
.browse-views {display:flex;flex-shrink:0;border:1px solid var(--line-strong);border-radius:8px;overflow:hidden;}
.browse-views button {border:0;background:var(--paper);padding:10px 18px;min-height:44px;font:inherit;font-size:14px;color:var(--ink-soft);cursor:pointer;}
.browse-views button[aria-pressed="true"] {background:var(--ink);color:var(--paper);}
.browse-views button:hover:not([aria-pressed="true"]) {background:var(--paper-alt);color:var(--ink);}
.browse-views button:focus-visible {outline:2px solid var(--accent-deep);outline-offset:-4px;}
#catalog-grid.score-list {display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line-strong);}
.score-list .score-list-row {display:grid;grid-template-columns:64px minmax(0,1fr) 120px 140px;gap:18px;align-items:center;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:18px 0;box-shadow:none;}
.score-list .score-list-row:hover {transform:none;box-shadow:none;background:var(--paper-alt);}
.score-list-row .score-cover {width:64px;height:84px;aspect-ratio:auto;border:1px solid var(--line);border-radius:8px;}
.score-list-row .score-body {padding:0;min-width:0;}
.score-list-row .score-title {font-size:16px;margin:0 0 6px;}
.score-list-row .score-title a {display:block;}
.score-list-row .score-artist {margin:0;font-size:13px;}
.list-score-meta {display:flex;flex-direction:column;align-items:flex-start;gap:6px;}
.list-score-buy {display:flex;align-items:center;justify-content:flex-end;gap:12px;}
.list-score-buy .price-tag {white-space:nowrap;color:var(--ink);font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;}
.list-add {position:relative;z-index:2;min-height:44px;padding:10px 12px;font-size:13px;}
.shop-instruments {padding:0 0 24px;}
.shop-instruments .section-head {display:none;}
.shop-instruments .part-tiles {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;}
.shop-instruments .part-tile {min-height:0;padding:12px;}
.shop-product-layout {padding:0 0 40px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head" "media body";align-items:start;gap:24px 40px;}
.shop-product-layout .product-head {border-bottom:1px solid var(--line);padding:0 0 24px;}
.shop-product-layout .product-head h1 {font-size:28px;max-width:none;}
.shop-product-layout .product-head .price-line {display:none;}
.shop-product-layout .product-head .price-note {margin:12px 0 0;}
.shop-product-layout .product-media {position:static;}
.preview-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;}
.preview-heading h2,.part-comparison h2,.checkout-summary h2 {margin:0;font-size:18px;font-family:var(--font-body);}
.preview-heading a {color:var(--accent-deep);font-size:13px;text-decoration:underline;text-underline-offset:3px;}
.shop-product-layout .product-preview {background:var(--paper-alt);padding:18px;border-radius:12px;}
.shop-product-layout .bm-pv {border-radius:0;max-width:440px;margin:0 auto;}
.shop-product-layout .watermark-note {margin:12px 0 0;font-size:13px;line-height:1.6;color:var(--ink-soft);}
.shop-product-layout .product-body {min-width:0;}
.part-comparison {margin:0 0 24px;}
.part-comparison .section-head {margin-bottom:18px;align-items:center;}
.part-comparison .hint {font-size:13px;}
.parts-table-wrap {width:100%;}
.parts-table {width:100%;border-collapse:collapse;font-size:14px;}
.parts-table th,.parts-table td {padding:18px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;}
.parts-table thead th {background:var(--paper-alt);color:var(--ink-soft);font-size:12px;font-weight:500;}
.parts-table tbody th {font-weight:600;}
.parts-table small {display:block;margin-top:6px;color:var(--ink-soft);font-size:12px;font-weight:400;}
.parts-table .selected-part {background:var(--accent-tint);}
.parts-table .part-price {white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:700;}
.part-choice,.part-selected {display:inline-flex;align-items:center;justify-content:center;min-height:44px;white-space:nowrap;font-size:13px;}
.part-choice {padding:6px 10px;border:1px solid var(--line-strong);border-radius:8px;color:var(--accent-deep);background:var(--paper);}
.part-choice:hover {border-color:var(--accent-deep);}
.part-selected {color:var(--accent-deep);font-weight:700;}
.shop-product-layout .product-actions {display:flex;gap:10px;flex-wrap:wrap;margin:24px 0;}
.shop-product-layout .callout {font-size:14px;line-height:1.7;}
body.has-buy-bar {padding-bottom:calc(100px + env(safe-area-inset-bottom));scroll-padding-bottom:110px;}
body.has-buy-bar .toast {bottom:calc(112px + env(safe-area-inset-bottom));}
.buy-bar {display:flex;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--paper);border-top:1px solid var(--line-strong);padding:12px max(24px,calc((100vw - 1112px)/2)) calc(12px + env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:24px;}
.buy-bar-price {display:flex;flex-direction:column;gap:6px;min-width:0;line-height:1.3;}
.buy-bar-price b {font-size:22px;font-variant-numeric:tabular-nums;}
.buy-bar-price span {font-size:12px;color:var(--ink-soft);}
.buy-bar-price .buy-bar-title {font-size:13px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60ch;}
.buy-bar-actions {display:flex;gap:10px;flex-shrink:0;}
.buy-bar .btn {min-height:44px;}
.has-buy-bar :focus-visible {scroll-margin-bottom:120px;}
.shop-order-page {max-width:1160px;}
.checkout-layout {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start;}
.checkout-summary {grid-column:2;grid-row:1;position:sticky;top:150px;padding:24px;}
.checkout-summary .summary-row {align-items:flex-start;gap:18px;font-size:14px;}
.checkout-summary .summary-row>span:first-child {min-width:0;}
.checkout-summary .summary-row>span:last-child {white-space:nowrap;}
.checkout-summary .summary-row.total {margin-top:18px;padding-top:18px;border-top:1px solid var(--line-strong);font-size:18px;}
.checkout-summary h2 {margin-bottom:24px;}
.checkout-summary .hint {font-size:13px;line-height:1.6;}
.checkout-fields {grid-column:1;grid-row:1;min-width:0;}
.order-item-part {display:block;color:var(--ink-soft);font-weight:400;font-size:12px;margin-top:6px;}
@media (max-width:900px) {
  .checkout-layout {grid-template-columns:minmax(0,1fr) 280px;gap:24px;}
  .shop-product-layout {gap:24px;}
  .score-list .score-list-row {grid-template-columns:52px minmax(0,1fr) 100px 130px;gap:12px;}
  .score-list-row .score-cover {width:52px;height:72px;}
}
@media (max-width:720px) {
  .shop-product-layout {grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "media" "body";}
  .shop-product-layout .product-head h1 {font-size:22px;}
  .shop-product-layout .product-preview {padding:12px;}
  .shop-product-layout .bm-pv {max-width:340px;}
  .checkout-layout {display:flex;flex-direction:column;gap:24px;}
  .checkout-summary,.checkout-fields {width:100%;box-sizing:border-box;}
  .checkout-summary {position:static;}
  .shop-instruments .part-tiles {grid-template-columns:repeat(6,minmax(120px,1fr));overflow-x:auto;padding-bottom:6px;scroll-snap-type:x proximity;}
  .shop-instruments .part-tile {scroll-snap-align:start;}
  .buy-bar {padding:12px 16px calc(12px + env(safe-area-inset-bottom));gap:10px;}
  .buy-bar-price b {font-size:18px;}
  .buy-bar-price .buy-bar-title {max-width:30vw;font-size:12px;}
  .buy-bar-price span:last-child {display:none;}
  .buy-bar-actions .btn {padding:10px 12px;}
  .parts-table th,.parts-table td {padding:12px 6px;}
}
@media (max-width:640px) {
  .browse-toolbar {gap:12px;align-items:flex-end;}
  .browse-toolbar p {font-size:13px;max-width:18ch;}
  .browse-views button {padding:10px 12px;}
  .score-list .score-list-row {grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:14px 0;}
  .score-list-row .score-cover {width:44px;height:64px;grid-row:1/3;}
  .score-list-row .score-body {grid-column:2;grid-row:1;}
  .score-list-row .score-title {font-size:14px;}
  .score-list-row .score-artist {font-size:12px;}
  .list-score-meta {grid-column:2;grid-row:2;flex-direction:row;gap:6px;}
  .list-score-buy {grid-column:3;grid-row:1/3;flex-direction:column;align-items:flex-end;gap:6px;}
  .list-score-buy .price-tag {font-size:14px;}
  .parts-table {font-size:13px;}
  .parts-table thead th {font-size:12px;}
}
@media (prefers-reduced-motion:reduce) {.shop-product-layout .bm-pv img {transition:none;}}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0;}
.cart-layout {display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start;}
.cart-summary {position:sticky;top:150px;padding:24px;}
.cart-summary h2 {font-size:18px;margin:0 0 18px;}
.cart-summary .product-actions {flex-direction:column;gap:10px;}
.cart-summary .btn {width:100%;text-align:center;}
.cart-summary .hint {font-size:13px;line-height:1.6;}
@media (max-width:900px) {.cart-layout {grid-template-columns:minmax(0,1fr) 280px;gap:24px;}}
@media (max-width:720px) {.cart-layout {display:flex;flex-direction:column;gap:24px;}.cart-items,.cart-summary {width:100%;}.cart-summary {position:static;}}
