/* ============================================================
   MARKETPLACE LANDING PAGES - /nz/airsoft-for-sale/ (+ /<collection>/)
   Loaded after styles.css and where-to-play.css (board, faq, pitch).
   ============================================================ */

/* Listing cards */
.lcards { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.lc {
    display: flex; flex-direction: column; overflow: hidden;
    border: 1px solid rgba(194,208,70,.16); border-radius: var(--radius-lg);
    background: var(--surface); transition: border-color .2s, transform .2s;
}
.lc:hover { border-color: rgba(194,208,70,.5); transform: translateY(-2px); }
.lc__img { aspect-ratio: 4 / 3; background: var(--ink); overflow: hidden; }
.lc__img img { width: 100%; height: 100%; object-fit: cover; }
.lc__img--none {
    background:
        repeating-linear-gradient(45deg, rgba(194,208,70,.06) 0 2px, transparent 2px 12px),
        var(--chrome);
}
.lc__body { padding: 14px 16px 16px; display: grid; gap: 6px; }
.lc__price { font-family: var(--font-head); font-weight: 700; font-size: 22px; color: var(--lime); line-height: 1; }
.lc__title { font-size: 16px; color: var(--bone); line-height: 1.3; }
.lc__meta { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1px; text-transform: uppercase; color: var(--bone-dim); }

/* Tables (recently sold, price guide, regions) */
.mtable-wrap { overflow-x: auto; border: 1px solid rgba(194,208,70,.16); border-radius: var(--radius-lg); background: var(--surface); }
.mtable { width: 100%; border-collapse: collapse; font-size: 16px; }
.mtable th, .mtable td { padding: 12px 16px; text-align: left; border-bottom: 1px dashed rgba(194,208,70,.14); }
.mtable tr:last-child td { border-bottom: 0; }
.mtable th {
    font-family: var(--font-mono); font-weight: 400; font-size: 11px; letter-spacing: 1.5px;
    text-transform: uppercase; color: var(--bone-dim); background: var(--chrome);
}
.mtable td { color: var(--bone); }
.mtable td.num, .mtable th.num { text-align: right; white-space: nowrap; }
.mtable td a { color: var(--lime); }

.mkt-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; }
.mkt-two > * { min-width: 0; }
.mkt-h3 { font-size: 22px; text-transform: uppercase; margin-bottom: 14px; }
.mkt-note { margin-top: 12px; color: var(--bone-dim); font-size: 15px; }
.mkt-note a { color: var(--lime); }

/* Category links (hub + related) */
.mcats { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; }
.mcat {
    display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
    padding: 16px 18px; border: 1px solid rgba(194,208,70,.16); border-radius: var(--radius-md);
    background: var(--surface); color: var(--bone); transition: border-color .2s, color .2s;
}
.mcat:hover { border-color: var(--lime); color: var(--lime); }
.mcat strong { font-family: var(--font-head); font-size: 19px; text-transform: uppercase; letter-spacing: .5px; }
.mcat span { font-family: var(--font-mono); font-size: 11px; letter-spacing: 1px; color: var(--bone-dim); white-space: nowrap; }

.mkt-legal {
    margin-top: 22px; padding: 14px 18px; border-left: 3px solid var(--lime);
    background: rgba(194,208,70,.05); color: var(--bone-dim); font-size: 15px; max-width: 760px;
}
.mkt-legal a { color: var(--lime); }

@media (max-width: 980px) {
    .mkt-two { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .lcards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .lc__body { padding: 10px 12px 12px; }
    .lc__price { font-size: 19px; }
    .lc__title { font-size: 14px; }
    .mtable th, .mtable td { padding: 10px 12px; font-size: 14px; }
}
