.detail-drawer {
  position: fixed;
  z-index: 35;
  right: 0;
  top: 64px;
  bottom: 0;
  width: min(520px, 100%);
  overflow: auto;
  background: #fff;
  padding: 34px 30px 42px;
  box-shadow: -18px 0 45px rgba(16, 42, 67, .18);
  animation: drawer-in .18s ease-out;
}
.detail-drawer h2 { font-size: 30px; line-height: 1.08; letter-spacing: -.04em; margin: 9px 0 10px; padding-right: 26px; }
.detail-kicker { color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: .12em; }
.drawer-address { color: var(--muted); font-size: 13px; line-height: 1.6; margin: 0; }
.drawer-price { font-size: 30px; font-weight: 850; color: var(--orange); margin: 24px 0; }
.drawer-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 17px 0; gap: 18px; }
.drawer-grid span, .jmb-meta, .jmb-note { display: block; color: var(--muted); font-size: 11px; }
.drawer-grid strong { display: block; margin-top: 5px; font-size: 14px; }
.detail-section { margin-top: 20px; padding: 18px; border: 1px solid var(--line); }
.provenance-panel { background: #f8fafc; }
.provenance-row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 12px; }
.provenance-row:last-of-type { border-bottom: 0; }
.provenance-row > span { color: var(--muted); }
.provenance-row a { color: var(--blue); font-weight: 750; text-decoration: none; }
.provenance-row a:hover { text-decoration: underline; }
.provenance-note { color: var(--muted); font-size: 11px; line-height: 1.55; margin: 10px 0 0; }
.jmb-panel { background: #eef5fb; }
.panel-label { font-size: 10px; letter-spacing: .15em; font-weight: 800; color: var(--blue); margin-bottom: 10px; }
.jmb-panel > strong { display: block; font-size: 17px; }
.jmb-panel p { font-size: 12px; line-height: 1.55; color: var(--muted); margin: 8px 0; }
.jmb-meta { display: flex; gap: 16px; flex-wrap: wrap; margin: 14px 0; }
.secondary { border: 1px solid var(--ink); background: #fff; color: var(--ink); padding: 10px 12px; font-weight: 700; cursor: pointer; }
.jmb-note { margin-top: 12px; }
.fee-panel { background: #fffaf6; border-color: #f3d8c3; }
.fee-panel h3 { font-size: 17px; margin: 7px 0 10px; }
.fee-summary { display: flex; justify-content: space-between; padding: 10px 0; border-top: 1px solid #f1dfd2; border-bottom: 1px solid #f1dfd2; font-size: 12px; }
.fee-summary span { color: var(--muted); }
.locked-copy { margin: 14px 0; }
.locked-copy strong { display: block; font-size: 13px; }
.locked-copy p { color: var(--muted); font-size: 12px; line-height: 1.6; margin: 6px 0 0; }
.detail-drawer .modal-close { top: 14px; right: 16px; }
@keyframes drawer-in { from { transform: translateX(20px); opacity: .6; } to { transform: translateX(0); opacity: 1; } }
@media (max-width: 560px) {
  .detail-drawer { top: auto; width: 100%; max-height: 88vh; padding: 30px 20px 28px; box-shadow: 0 -12px 35px rgba(16, 42, 67, .18); }
  .detail-drawer h2 { font-size: 26px; }
}
