/* Listings module (MVP) */
.listings-page { padding: 14px; }
.listings-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom: 12px; }
.listings-header .title { font-weight: 800; font-size: 18px; }
.listings-filters { margin: 10px 0 14px; }
.listings-grid { display:grid; grid-template-columns: repeat(1, minmax(0,1fr)); gap: 12px; }
@media (min-width: 900px){ .listings-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (min-width: 1200px){ .listings-grid { grid-template-columns: repeat(3, minmax(0,1fr)); } }

.listing-card { display:block; text-decoration:none; border:1px solid rgba(255,255,255,0.08); border-radius: 14px; padding: 12px; background: rgba(0,0,0,0.22); }
.listing-card:hover { border-color: rgba(255,255,255,0.16); }
.listing-top { display:flex; align-items:center; gap:8px; }
.listing-title { font-weight: 700; flex:1; }
.listing-desc { margin-top: 8px; opacity: .88; }
.listing-desc-full { margin-top: 10px; white-space: normal; }
.listing-price { margin-top: 10px; font-weight: 800; }
.badge { font-size: 11px; padding: 2px 8px; border-radius: 999px; border:1px solid rgba(255,255,255,0.12); }
.badge-top { opacity: .95; }
.badge-pin { opacity: .85; }
.kp-inline { display:inline-block; margin-right: 8px; }
.listing-promo { margin-top: 14px; display:flex; align-items:center; gap: 10px; flex-wrap: wrap; }

.promo-actions { display:flex; gap: 8px; flex-wrap: wrap; align-items:center; }
