/* NFT discovery uses the same Pump/dark tokens as the rest of BATON. */
#nft-market { margin:20px 0 28px; padding:8px 0; color:var(--baton-text); }
.nft-market-head { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.nft-market-kicker { color:var(--baton-muted); font:10px ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.12em; }
#nft-market h2 { margin:6px 0; color:var(--baton-text); font:600 clamp(25px,3vw,32px)/1.15 Arial,sans-serif; letter-spacing:-.035em; }
.nft-market-actions,.nft-market-tabs { display:flex; gap:6px; }
#nft-market button,.nft-dialog button { min-height:44px; padding:9px 13px; color:var(--baton-text); background:var(--baton-panel); border:1px solid var(--baton-border); border-radius:var(--baton-radius,8px); font-size:13px; cursor:pointer; }
#nft-market button:hover,.nft-dialog button:hover,#nft-market button.active { color:var(--baton-panel); background:var(--baton-action); border-color:var(--baton-action); }
#nft-market button:disabled,.nft-dialog button:disabled { cursor:wait; opacity:.55; }
.nft-market-tabs { margin:16px 0 12px; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
.nft-market-tabs button { flex:none; white-space:nowrap; }
.nft-discovery { display:grid; grid-template-columns:minmax(160px,1fr) repeat(3,minmax(125px,170px)); gap:8px; align-items:center; }
.nft-discovery label { min-width:0; }
.nft-discovery input,.nft-discovery select { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:9px 12px; border:1px solid var(--baton-border); border-radius:var(--baton-radius,8px); background:var(--baton-panel); color:var(--baton-text); font:14px Arial,sans-serif; }
.nft-discovery input::placeholder { color:var(--baton-muted); }
.nft-catalog-meta { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px; margin:12px 0 0; color:var(--baton-muted); font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace; }
.nft-market-status:empty { display:none; }
.nft-market-status { margin:10px 0; color:var(--baton-muted); font-size:13px; overflow-wrap:anywhere; }
.nft-market-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:12px; }
.nft-card { min-width:0; overflow:hidden; background:var(--baton-panel); border:1px solid var(--baton-border); border-radius:12px; box-shadow:0 3px 10px rgb(0 0 0 / .035); }
.nft-card-media { position:relative; aspect-ratio:1/1; display:grid; place-items:center; overflow:hidden; color:var(--baton-muted); background:var(--baton-canvas); font:12px ui-monospace,monospace; }
.nft-card-media img { display:block; width:100%; height:100%; object-fit:cover; }
.nft-card-badge { position:absolute; left:9px; bottom:9px; padding:4px 7px; border:1px solid var(--baton-border); border-radius:6px; background:var(--baton-panel); color:var(--baton-text); font:11px/1.2 Arial,sans-serif; }
.nft-card-body { padding:12px 12px 10px; }
.nft-card h3 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin:0 0 6px; color:var(--baton-text); font-size:15px; }
.nft-card-creator { margin:0 0 12px; color:var(--baton-muted); font:11px ui-monospace,monospace; }
.nft-card-bottom { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:7px; }
.nft-card-price { font-size:13px; }
.nft-card-bottom small { color:var(--baton-muted); font:10px ui-monospace,monospace; }
#nft-market .nft-card > button:not(.card-export-button) { width:calc(100% - 24px); margin:0 12px 12px; background:transparent; }
#nft-market .nft-card > button:not(.card-export-button):hover { background:var(--baton-action); }
.nft-market-empty { grid-column:1/-1; padding:30px 16px; text-align:center; color:var(--baton-muted); background:var(--baton-panel); border:1px dashed var(--baton-border); border-radius:12px; }
.nft-empty-mark { display:block; margin-bottom:8px; color:var(--baton-action); font-size:34px; line-height:1; }
.nft-market-empty h3 { margin:0 0 8px; color:var(--baton-text); font-size:18px; }
.nft-market-empty p { max-width:440px; margin:0 auto 16px; font-size:13px; line-height:1.5; }
.nft-collections { margin-top:20px; padding-top:16px; border-top:1px solid var(--baton-border); }
.nft-collections h3 { color:var(--baton-text); font-size:15px; }
.nft-collection { display:inline-flex; min-height:44px; align-items:center; margin:6px 6px 0 0; padding:10px; color:var(--baton-text); background:var(--baton-panel); border:1px solid var(--baton-border); border-radius:8px; }
.nft-dialog { box-sizing:border-box; width:min(620px,calc(100% - 28px)); max-height:calc(100dvh - 32px); padding:0; overflow:auto; color:var(--baton-text); background:var(--baton-panel); border:1px solid var(--baton-border); border-radius:14px; box-shadow:var(--baton-shadow); }
.nft-dialog::backdrop { background:rgb(0 0 0 / .55); }
.nft-dialog-inner { position:relative; padding:22px; }
.nft-dialog .nft-dialog-close { position:absolute; z-index:1; top:12px; right:12px; width:44px; padding:0; font-size:24px; }
.nft-detail,.nft-mint-form { display:grid; gap:12px; }
.nft-detail h2,.nft-mint-form h2 { padding-right:44px; margin:0; color:var(--baton-text); font-size:24px; overflow-wrap:anywhere; }
.nft-detail p { margin:0; }
.nft-detail-art { width:min(100%,320px); aspect-ratio:1/1; display:grid; place-items:center; overflow:hidden; border:1px solid var(--baton-border); border-radius:10px; background:var(--baton-canvas); color:var(--baton-muted); }
.nft-detail-art img { display:block; width:100%; height:100%; object-fit:contain; }
.nft-detail-creator { color:var(--baton-muted); font:12px ui-monospace,monospace; }
.nft-listing-status { width:fit-content; padding:5px 8px; border:1px solid var(--baton-border); border-radius:6px; font-size:11px; }
.nft-price { color:var(--baton-action); font-size:22px; font-weight:700; }
.nft-fee-note { margin:0; color:var(--baton-muted); font-size:12px; line-height:1.55; }
.nft-capability-note { padding:12px; color:var(--baton-muted); background:var(--baton-canvas); border-left:2px solid var(--baton-action); font-size:13px; line-height:1.5; }
.nft-provenance { margin-top:4px; border-top:1px solid var(--baton-border); font-size:13px; }
.nft-provenance summary { display:list-item; min-height:44px; padding:12px 0; box-sizing:border-box; cursor:pointer; }
.nft-provenance dl { display:grid; grid-template-columns:110px minmax(0,1fr); gap:10px; margin:0 0 12px; }
.nft-provenance dt { color:var(--baton-muted); }
.nft-provenance dd { margin:0; overflow-wrap:anywhere; font:11px/1.5 ui-monospace,monospace; }
.nft-provenance a { display:inline-flex; min-height:44px; align-items:center; color:var(--baton-action); }
.nft-list-form,.nft-mint-form form { display:grid; gap:12px; }
.nft-list-form label,.nft-mint-form label { display:grid; gap:6px; color:var(--baton-muted); font-size:12px; }
.nft-list-form input,.nft-list-form select,.nft-mint-form input,.nft-mint-form textarea { box-sizing:border-box; width:100%; min-width:0; min-height:44px; padding:10px; color:var(--baton-text); background:var(--baton-canvas); border:1px solid var(--baton-border); border-radius:8px; font:16px Arial,sans-serif; }
.nft-mint-form textarea { min-height:90px; resize:vertical; }
[data-nft-feedback]:empty { display:none; }
[data-nft-feedback] { color:var(--baton-muted); font-size:13px; overflow-wrap:anywhere; }
.nft-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
@media(max-width:1000px) { .nft-market-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .nft-discovery { grid-template-columns:repeat(3,minmax(0,1fr)); } .nft-search { grid-column:1/-1; } }
@media(max-width:600px) {
  .nft-market-head { align-items:center; gap:8px; }
  .nft-market-kicker { font-size:9px; }
  #nft-market h2 { font-size:25px; }
  .nft-market-actions { gap:5px; }
  #nft-market .nft-market-actions button { padding:8px 10px; font-size:12px; }
  .nft-discovery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .nft-discovery label:last-child { grid-column:1/-1; }
  .nft-discovery input,.nft-discovery select { font-size:16px; }
  .nft-market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .nft-card-body { padding:10px; }
  .nft-card h3 { font-size:13px; }
  .nft-card-price { font-size:12px; }
  .nft-card-creator { font-size:10px; margin-bottom:9px; }
  #nft-market .nft-card > button:not(.card-export-button) { width:calc(100% - 20px); margin:0 10px 10px; font-size:12px; padding:8px; }
  .nft-dialog { width:100%; max-height:100dvh; border:0; border-radius:0; }
  .nft-dialog-inner { padding:14px 0; }
  .nft-provenance dl { grid-template-columns:85px minmax(0,1fr); }
}

.nft-fee-breakdown { display:grid; gap:8px; padding:12px; background:var(--baton-canvas); border:1px solid var(--baton-border); border-radius:8px; font-size:12px; }
.nft-fee-breakdown a { display:inline-flex; align-items:center; min-height:44px; color:var(--baton-action); overflow-wrap:anywhere; }
.nft-fee-breakdown small { color:var(--baton-muted); line-height:1.5; }
