/* ==========================================================================
   listings.html — browse page styles
   ========================================================================== */

.listings-head {
  background: var(--color-navy);
  color: #fff;
  padding: var(--space-7) 0;
}

.listings-head h1 {
  color: #fff;
  font-size: var(--fs-xl);
  margin-bottom: var(--space-2);
}

.listings-head p {
  color: #c3cbdc;
}

/* --- Filter bar ----------------------------------------------------------- */
.filter-bar {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  padding: var(--space-4);
  margin-top: calc(var(--space-6) * -1.4);
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr auto;
  gap: var(--space-3);
  align-items: end;
}

.field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.field label {
  font-size: var(--fs-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--color-muted);
}

.field input,
.field select {
  padding: var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-size: var(--fs-base);
  font-family: inherit;
  color: var(--color-text);
  background: var(--color-bg);
  width: 100%;
  transition: border-color var(--transition), box-shadow var(--transition);
}

.field input:focus,
.field select:focus {
  outline: none;
  border-color: var(--color-green);
  box-shadow: 0 0 0 3px rgba(46, 204, 113, 0.15);
}

.field--range {
  flex-direction: row;
  align-items: center;
  gap: var(--space-2);
}

.field--range .field {
  flex: 1;
}

.filter-bar__actions {
  display: flex;
  gap: var(--space-2);
}

/* --- Results meta --------------------------------------------------------- */
.results-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin: var(--space-6) 0 var(--space-4);
}

.results-bar__count {
  font-weight: 600;
  color: var(--color-navy);
}

.results-bar__sort {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--fs-sm);
  color: var(--color-muted);
}

.results-bar__sort select {
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-sm);
  font-family: inherit;
  background: var(--color-surface);
  color: var(--color-text);
}

/* --- Empty state ---------------------------------------------------------- */
.empty-state {
  text-align: center;
  padding: var(--space-9) var(--space-4);
  color: var(--color-muted);
  border: 2px dashed var(--color-border);
  border-radius: var(--radius);
}

.empty-state h3 {
  margin-bottom: var(--space-2);
}

@media (max-width: 920px) {
  .filter-bar {
    grid-template-columns: 1fr 1fr;
    margin-top: var(--space-5);
  }

  .filter-bar__actions {
    grid-column: 1 / -1;
  }

  .filter-bar__actions .btn {
    flex: 1;
  }
}

@media (max-width: 520px) {
  .filter-bar {
    grid-template-columns: 1fr;
  }
}
