/* ═══════════════════════════════════════════════════════════
   MARKETPLACE STYLES
═══════════════════════════════════════════════════════════ */

/* ── Remove number input spinners ── */
.offer-form input[type="number"]::-webkit-inner-spin-button,
.offer-form input[type="number"]::-webkit-outer-spin-button,
.duration-picker input[type="number"]::-webkit-inner-spin-button,
.duration-picker input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.offer-form input[type="number"],
.duration-picker input[type="number"],
.shred-qty-input { -moz-appearance: textfield; }
.shred-qty-input::-webkit-inner-spin-button,
.shred-qty-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* ── Shred quantity picker ── */
.shred-qty-wrap {
    display: flex;
    align-items: center;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
}
.shred-qty-btn {
    width: 32px;
    height: 32px;
    background: transparent;
    border: none;
    color: var(--text);
    font-size: 1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
}
.shred-qty-btn:hover { background: var(--bg-4); }
.shred-qty-input {
    width: 42px;
    text-align: center;
    background: transparent;
    border: none;
    border-left: 1px solid var(--border);
    border-right: 1px solid var(--border);
    color: var(--text);
    font-size: .9rem;
    font-weight: 600;
    font-family: inherit;
    padding: .3rem 0;
}

/* ── Pixel Wallet (Sidebar) ── */
.pixel-wallet {
    display: flex;
    align-items: center;
    gap: .5rem;
    padding: .5rem .75rem;
    margin: 0 .75rem .5rem;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 8px;
    cursor: default;
}

.pixel-coin {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.pixel-wallet-amount {
    font-weight: 600;
    font-size: .9rem;
    color: var(--yellow);
}

.pixel-wallet-label {
    font-size: .7rem;
    color: var(--text-dim);
    margin-left: auto;
    text-transform: uppercase;
    letter-spacing: .04em;
}

/* ── Filter Bar ── */
.filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: 1rem;
    align-items: center;
}

.filter-bar select,
.filter-bar input {
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    padding: .4rem .6rem;
    font-size: .8rem;
    font-family: inherit;
}

.filter-bar select:focus,
.filter-bar input:focus {
    border-color: var(--accent);
    outline: none;
}

.filter-tabs {
    display: flex;
    gap: .25rem;
    background: var(--bg-3);
    border-radius: 8px;
    padding: .2rem;
    border: 1px solid var(--border);
}

.filter-tab {
    padding: .35rem .75rem;
    border-radius: 6px;
    font-size: .8rem;
    cursor: pointer;
    color: var(--text-sub);
    background: transparent;
    border: none;
    font-family: inherit;
    transition: all .15s;
}

.filter-tab:hover { color: var(--text); }
.filter-tab.active { background: var(--accent); color: #fff; }

/* ── Listing Grid ── */
.listing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: .75rem;
}

.listing-card {
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color .15s, transform .15s;
}

.listing-card:hover {
    border-color: var(--border-mid);
    transform: translateY(-2px);
}

.listing-card-img {
    aspect-ratio: 63/88;
    background: var(--bg-2);
    position: relative;
    overflow: visible;
}

.listing-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.listing-card-img.grade-border-uncommon::after { content: ''; position: absolute; bottom: -8px; left: 10%; right: 10%; height: 14px; background: rgba(34,197,94,.35); filter: blur(8px); border-radius: 50%; }
.listing-card-img.grade-border-rare::after { content: ''; position: absolute; bottom: -8px; left: 10%; right: 10%; height: 14px; background: rgba(88,101,242,.45); filter: blur(8px); border-radius: 50%; }
.listing-card-img.grade-border-epic::after { content: ''; position: absolute; bottom: -8px; left: 10%; right: 10%; height: 14px; background: rgba(145,71,255,.45); filter: blur(8px); border-radius: 50%; }
.listing-card-img.grade-border-legendary::after { content: ''; position: absolute; bottom: -8px; left: 10%; right: 10%; height: 16px; background: rgba(245,158,11,.45); filter: blur(10px); border-radius: 50%; }

.listing-type-badge {
    position: absolute;
    top: .4rem;
    left: .4rem;
    padding: .15rem .45rem;
    border-radius: 4px;
    font-size: .65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.badge-sell { background: var(--green); color: #000; }
.badge-auction { background: var(--accent); color: #fff; }
.badge-trade { background: var(--yellow); color: #000; }
.badge-wanted { background: var(--twitch); color: #fff; }
.listing-wanted { border-color: rgba(145, 71, 255, 0.2); }

.listing-card-body {
    padding: .6rem .7rem;
}

.listing-card-deck {
    font-size: .7rem;
    color: var(--text-dim);
    margin-bottom: .25rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.listing-card-grade {
    font-size: .75rem;
    font-weight: 600;
    text-transform: capitalize;
    margin-bottom: .35rem;
}

.listing-card-price {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--yellow);
}

.listing-card-price .pixel-coin { width: 14px; height: 14px; }

.listing-card-seller {
    display: flex;
    align-items: center;
    gap: .35rem;
    font-size: .7rem;
    color: var(--text-sub);
    margin-top: .35rem;
}

.listing-card-seller img {
    width: 16px;
    height: 16px;
    border-radius: 50%;
}

.listing-card-timer {
    font-size: .7rem;
    color: var(--red);
    margin-top: .25rem;
}

/* ── Pagination ── */
.pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: .25rem;
    margin-top: 1.25rem;
}
.page-btn {
    min-width: 32px;
    height: 32px;
    padding: 0 .4rem;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--bg-3);
    color: var(--text-sub);
    font-size: .8rem;
    cursor: pointer;
    transition: border-color .15s, color .15s;
    font-family: inherit;
}
.page-btn:hover { border-color: var(--accent); color: var(--text); }
.page-btn.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.page-dots { color: var(--text-dim); font-size: .8rem; padding: 0 .15rem; }

/* ── Auction Timer ── */
.auction-timer {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .75rem;
    color: var(--red);
    font-variant-numeric: tabular-nums;
}

/* ── Shred Bar ── */
.shred-bar {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: .75rem;
    padding: .75rem 1rem;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 10px;
}
.shred-bar-info { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.shred-bar-title { font-size: .85rem; font-weight: 600; color: var(--red); }
.shred-bar-desc { font-size: .72rem; color: var(--text-sub); }

.shred-values-bar {
    display: flex;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: .5rem .75rem;
    background: var(--bg-2);
    border: 1px solid var(--border);
    border-radius: 8px;
}
.shred-val { font-size: .7rem; color: var(--text-dim); font-weight: 500; }

/* legacy compat */
.shred-toggle-bar { display: none; }
.shred-toggle-label { display: none; }

/* ── Toggle Switch ── */
.toggle-switch {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 22px;
    flex-shrink: 0;
}

.toggle-switch input { opacity: 0; width: 0; height: 0; }

.toggle-slider {
    position: absolute;
    inset: 0;
    background: var(--bg-4);
    border: 1px solid var(--border);
    border-radius: 22px;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}

.toggle-slider::before {
    content: '';
    position: absolute;
    width: 16px;
    height: 16px;
    left: 2px;
    bottom: 2px;
    background: var(--text-sub);
    border-radius: 50%;
    transition: transform .2s, background .2s;
}

.toggle-switch input:checked + .toggle-slider {
    background: rgba(239, 68, 68, .2);
    border-color: var(--red);
}

.toggle-switch input:checked + .toggle-slider::before {
    transform: translateX(18px);
    background: var(--red);
}

/* ── Shred active state on cards ── */
.collection-card.shred-active {
    cursor: pointer;
}

.collection-card.shred-active::after {
    content: '';
    position: absolute;
    inset: 0;
    border: 2px solid transparent;
    border-radius: 6px;
    pointer-events: none;
    transition: border-color .15s;
}

.collection-card.shred-active:hover::after {
    border-color: var(--red);
}

/* ── Collection Progress ── */
.coll-deck-header { display: flex; justify-content: space-between; align-items: center; }
.coll-progress { width: 80px; height: 6px; background: var(--bg); border-radius: 3px; overflow: hidden; }
.coll-progress-bar { height: 100%; background: var(--accent); border-radius: 3px; transition: width .3s; }
.collection-card-hidden { opacity: .6; }
.collection-card-hidden:hover { opacity: .8; }

/* ── Hall of Fame ── */
#section-halloffame .adm-tab-content { padding-bottom: 4rem; }
.hof-grid { display: flex; flex-direction: column; gap: .5rem; }
.hof-card {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .65rem .75rem;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 8px;
    transition: border-color .15s;
}
.hof-card:hover { border-color: var(--accent); }
.hof-rank {
    min-width: 24px;
    font-size: .85rem;
    font-weight: 700;
    color: var(--text-dim);
    text-align: center;
}
/* Top 3 highlight */
.hof-top-1 .hof-card { border-color: rgba(245,158,11,.35); background: linear-gradient(135deg, var(--bg-3), rgba(245,158,11,.08)); }
.hof-top-1 .hof-rank { color: var(--yellow); font-size: 1rem; }
.hof-top-1 .hof-name { color: var(--yellow); }
.hof-top-2 .hof-card { border-color: rgba(107,112,153,.35); background: linear-gradient(135deg, var(--bg-3), rgba(192,192,192,.06)); }
.hof-top-2 .hof-rank { color: #c0c0c0; font-size: .95rem; }
.hof-top-2 .hof-name { color: #c0c0c0; }
.hof-top-3 .hof-card { border-color: rgba(205,127,50,.3); background: linear-gradient(135deg, var(--bg-3), rgba(205,127,50,.06)); }
.hof-top-3 .hof-rank { color: #cd7f32; font-size: .95rem; }
.hof-top-3 .hof-name { color: #cd7f32; }
.hof-avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; flex-shrink: 0; background: var(--bg-2); }
.hof-avatar img { width: 100%; height: 100%; object-fit: cover; }
.hof-avatar-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-weight: 600; color: var(--text-sub); font-size: .85rem; }
.hof-info { flex: 1; min-width: 0; }
.hof-name { font-size: .85rem; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hof-meta { font-size: .72rem; color: var(--text-sub); }
.hof-entry { display: flex; flex-direction: column; }
.hof-deck { padding: .5rem .75rem .75rem; background: var(--bg-2); border: 1px solid var(--border); border-top: none; border-radius: 0 0 8px 8px; margin-top: -1px; }
.hof-deck-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(105px, 1fr)); gap: .5rem; }
.hof-deck-card { cursor: pointer; transition: transform .15s; }
.hof-deck-card:hover { transform: scale(1.05); }
/* Self-rank highlight */
.hof-board-self.hof-card { border-color: var(--accent); background: rgba(88,101,242,.08); }
/* Top 3 cards need .hof-card class directly (not nested) */
.hof-top-1.hof-card { border-color: rgba(245,158,11,.35); background: linear-gradient(135deg, var(--bg-3), rgba(245,158,11,.08)); }
.hof-top-1 .hof-rank { color: var(--yellow); font-size: 1rem; }
.hof-top-2.hof-card { border-color: rgba(107,112,153,.35); background: linear-gradient(135deg, var(--bg-3), rgba(192,192,192,.06)); }
.hof-top-2 .hof-rank { color: #c0c0c0; font-size: .95rem; }
.hof-top-3.hof-card { border-color: rgba(205,127,50,.3); background: linear-gradient(135deg, var(--bg-3), rgba(205,127,50,.06)); }
.hof-top-3 .hof-rank { color: #cd7f32; font-size: .95rem; }
/* Achievements */
.hof-achievement-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .75rem; }
.hof-achievement { padding: .75rem; background: var(--bg-3); border: 1px solid var(--border); border-radius: 8px; text-align: center; transition: border-color .15s; }
.hof-achievement:not(.locked) { border-color: var(--accent); }
.hof-achievement.locked { opacity: .4; filter: grayscale(.8); }
.hof-achievement-icon { margin-bottom: .35rem; color: var(--accent-text); }
.hof-achievement-icon svg { width: 28px; height: 28px; }
.hof-achievement-name { font-size: .82rem; font-weight: 600; color: var(--text); margin-bottom: .2rem; }
.hof-achievement-desc { font-size: .7rem; color: var(--text-sub); line-height: 1.3; }
.hof-achievement-date { font-size: .65rem; color: var(--text-dim); margin-top: .25rem; }

/* ── Hot-Stock Card ── */
.hotstock-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: .75rem;
}

.hotstock-card {
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 10px;
    overflow: hidden;
    transition: border-color .15s;
}

.hotstock-card:hover { border-color: var(--yellow); }

.hotstock-card-img {
    aspect-ratio: 63/88;
    background: var(--bg-2);
    overflow: hidden;
}

.hotstock-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hotstock-card-body {
    padding: .6rem .7rem;
}

.hotstock-card-stock {
    font-size: .7rem;
    color: var(--text-dim);
    margin-top: .25rem;
}

.hotstock-buy-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    width: 100%;
    padding: .4rem;
    margin-top: .5rem;
    background: var(--accent);
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: .8rem;
    font-weight: 500;
    cursor: pointer;
    font-family: inherit;
    transition: background .15s;
}

.hotstock-buy-btn:hover { background: var(--accent-hover); }
.hotstock-buy-btn:disabled { opacity: .4; cursor: not-allowed; }

.hotstock-sold-out { opacity: .45; }
.hotstock-sold-out .hotstock-card-img,
.hotstock-sold-out .hotstock-card-body > :not(button) { opacity: .7; }

/* ── Create Offer Form ── */
.offer-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.offer-form label {
    font-size: .8rem;
    color: var(--text-sub);
    margin-bottom: .25rem;
    display: block;
}

.offer-form input,
.offer-form select,
.offer-form textarea {
    width: 100%;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    padding: .5rem .7rem;
    font-size: .85rem;
    font-family: inherit;
}

.offer-form input:focus,
.offer-form select:focus,
.offer-form textarea:focus {
    border-color: var(--accent);
    outline: none;
}

.offer-form textarea { resize: vertical; min-height: 60px; }

.offer-card-select {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: .5rem;
    max-height: 300px;
    overflow-y: auto;
    padding: .5rem;
    background: var(--bg-2);
    border: 1px solid var(--border);
    border-radius: 8px;
}
.offer-card-select-lg { max-height: 500px; }

.offer-card-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    cursor: pointer;
}
.offer-card-wrap.selected .offer-card-option { border-color: var(--accent); }

.offer-card-option {
    aspect-ratio: 63/88;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid transparent;
    cursor: pointer;
    transition: border-color .15s, box-shadow .15s;
}

.offer-card-option:hover { border-color: var(--border-mid); }
.offer-card-option img { width: 100%; height: 100%; object-fit: cover; }

/* Grade shimmer borders */
.grade-border-uncommon { box-shadow: 0 0 8px rgba(34,197,94,.5); border-color: rgba(34,197,94,.4); }
.grade-border-rare { box-shadow: 0 0 10px rgba(88,101,242,.6); border-color: rgba(88,101,242,.4); }
.grade-border-epic { box-shadow: 0 0 12px rgba(145,71,255,.6); border-color: rgba(145,71,255,.4); }
.grade-border-legendary { box-shadow: 0 0 16px rgba(245,158,11,.7); border-color: rgba(245,158,11,.5); animation: legendaryPulseCard 2s ease-in-out infinite; }
@keyframes legendaryPulseCard {
    0%, 100% { box-shadow: 0 0 16px rgba(245,158,11,.7); }
    50% { box-shadow: 0 0 24px rgba(245,158,11,.9), 0 0 40px rgba(245,158,11,.3); }
}

/* Duration picker */
.duration-picker {
    display: flex;
    gap: .75rem;
    margin-top: .35rem;
}
.duration-field {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
}
.duration-field input {
    width: 60px;
    text-align: center;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    padding: .4rem;
    font-size: .85rem;
    font-family: inherit;
}
.duration-field input:focus { border-color: var(--accent); outline: none; }
.duration-field span { font-size: .65rem; color: var(--text-dim); }

/* Shred values inline */
.shred-values-inline {
    display: flex;
    gap: .5rem;
    margin-top: 4px;
    flex-wrap: wrap;
}
.shred-values-inline .shred-val { font-size: .65rem; }

/* ── My Offers ── */
.my-offers-list {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.my-offer-row {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem .75rem;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.my-offer-img {
    width: 50px;
    aspect-ratio: 63/88;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
}

.my-offer-img img { width: 100%; height: 100%; object-fit: cover; }

.my-offer-info { flex: 1; min-width: 0; }

.my-offer-info .offer-title {
    font-size: .85rem;
    font-weight: 500;
    color: var(--text);
}

.my-offer-info .offer-meta {
    font-size: .75rem;
    color: var(--text-sub);
}

.my-offer-status {
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .2rem .5rem;
    border-radius: 4px;
}

.status-active { background: rgba(34,197,94,.12); color: var(--green); }
.status-sold { background: rgba(88,101,242,.12); color: var(--accent-text); }
.status-cancelled { background: rgba(239,68,68,.12); color: var(--red); }
.status-expired { background: rgba(107,112,153,.12); color: var(--text-sub); }

.tx-role {
    font-size: .65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    padding: .2rem .5rem;
    border-radius: 4px;
}
.tx-role-sell { background: rgba(34,197,94,.12); color: var(--green); }
.tx-role-buy { background: rgba(88,101,242,.12); color: var(--accent-text); }

.my-offer-cancel {
    padding: .3rem .6rem;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text-sub);
    font-size: .75rem;
    cursor: pointer;
    font-family: inherit;
    transition: all .15s;
}

.my-offer-cancel:hover {
    border-color: var(--red);
    color: var(--red);
}

/* ── Admin Hot-Stock Form ── */
.hotstock-admin-form {
    display: flex;
    gap: .5rem;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-bottom: 1rem;
    padding: .75rem;
    background: var(--bg-2);
    border: 1px solid var(--border);
    border-radius: 8px;
}

.hotstock-admin-form .form-group {
    display: flex;
    flex-direction: column;
    gap: .25rem;
}

.hotstock-admin-form label {
    font-size: .7rem;
    color: var(--text-dim);
    text-transform: uppercase;
}

.hotstock-admin-form input {
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    padding: .4rem .6rem;
    font-size: .8rem;
    font-family: inherit;
    width: 100px;
}

.hotstock-admin-form input:focus {
    border-color: var(--accent);
    outline: none;
}

/* ── My Offer Remove ── */
.my-offer-remove {
    padding: .3rem .6rem;
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text-dim);
    font-size: .75rem;
    cursor: pointer;
    font-family: inherit;
    transition: all .15s;
}

.my-offer-remove:hover {
    border-color: var(--red);
    color: var(--red);
}

/* ── Admin: Trader Verwaltung ── */
.at-row {
    display: flex;
    align-items: center;
    gap: .75rem;
    padding: .6rem .75rem;
    background: var(--bg-3);
    border: 1px solid var(--border);
    border-radius: 8px;
    margin-bottom: .4rem;
}

.at-card {
    width: 44px;
    aspect-ratio: 63/88;
    border-radius: 4px;
    overflow: hidden;
    flex-shrink: 0;
    background: var(--bg-2);
    display: flex;
    align-items: center;
    justify-content: center;
}

.at-card img { width: 100%; height: 100%; object-fit: cover; }
.at-card .at-card-ph { color: var(--text-dim); width: 20px; height: 20px; }

.at-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: .2rem; }
.at-info-top { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }
.at-info-mid { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; }

.at-badge {
    font-size: .65rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: .12rem .4rem;
    border-radius: 4px;
}

.at-badge-sell { background: var(--green); color: #000; }
.at-badge-auction { background: var(--accent); color: #fff; }
.at-badge-trade { background: var(--yellow); color: #000; }
.at-badge-wanted { background: var(--twitch); color: #fff; }
.at-badge-private { background: #a855f7; color: #fff; }
.at-badge-hotstock { background: var(--red); color: #fff; }

.at-card-pair {
    display: flex;
    align-items: center;
    gap: .35rem;
    flex-shrink: 0;
}
.at-card.at-card-sm { width: 34px; }
.at-card-pair-arrow {
    color: var(--text-dim);
    font-size: .9rem;
    font-weight: 700;
}

.at-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .35rem;
    flex-shrink: 0;
}
.at-delete-btn {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 4px;
    color: var(--text-dim);
    font-size: .7rem;
    padding: .15rem .4rem;
    cursor: pointer;
    transition: all .15s;
    font-family: inherit;
}
.at-delete-btn:hover { border-color: var(--red); color: var(--red); }

/* ── Responsive ── */
@media (max-width: 640px) {
    .listing-grid { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
    .hotstock-grid { grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); }
    .filter-bar { gap: .35rem; }
}
