/**
 * Frontend listing grid styles.
 * Relies on theme tokens; provides fallbacks so it works standalone too.
 */

.kli-listings {
  display: grid;
  gap: var(--space-6, 1.5rem);
}
.kli-listings.grid--2 { grid-template-columns: repeat(2, 1fr); }
.kli-listings.grid--3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 1024px) {
  .kli-listings.grid--3 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .kli-listings.grid--2,
  .kli-listings.grid--3 { grid-template-columns: 1fr; }
}

.kli-listings__empty,
.kli-listings__maplink {
  color: var(--color-text-muted, #4A6B56);
}
.kli-listings__maplink {
  margin-top: var(--space-6, 1.5rem);
  text-align: center;
}

/* Filter bar (used with the AJAX filter UI) */
.kli-listings-filter {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3, 0.75rem);
  margin-bottom: var(--space-6, 1.5rem);
}
.kli-listings-filter button {
  padding: var(--space-2, 0.5rem) var(--space-4, 1rem);
  border: 1px solid var(--color-border, #C2DBC8);
  border-radius: var(--radius-full, 9999px);
  background: var(--color-white, #fff);
  color: var(--color-text, #162A20);
  cursor: pointer;
}
.kli-listings-filter button.is-active {
  background: var(--color-primary, #1B4332);
  color: var(--color-text-inverse, #F5F8F2);
  border-color: var(--color-primary, #1B4332);
}
