/* ChanSpace listings/search page — extends tokens in styles.css, layout from home.css */
/* Elderly-friendly: 17-18px+ body text, 48px+ targets, high contrast, no hover-only actions. */

.listings-page .nav-active {
  color: var(--maroon);
  font-weight: 700;
  border-bottom: 3px solid var(--maroon);
  padding-bottom: 4px;
}

/* Accessibility floor: nothing under 15px, even in the shared nav/footer from home.css */
.listings-page .nav-links a,
.listings-page .saved-link,
.listings-page .btn-post,
.listings-page .footer-links a,
.listings-page .footer-tagline,
.listings-page .footer-bottom { font-size: 0.95rem; }

.listings-main { padding: 32px 0 72px; }

.back-home {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 600;
  color: var(--forest);
  margin-bottom: 20px;
}
.back-home:hover { color: var(--forest-ink); text-decoration: underline; }

.listings-head { margin-bottom: 28px; }
.listings-title {
  font-family: var(--font-head);
  font-size: 2.1rem;
  font-weight: 600;
  color: var(--ink);
  margin: 0 0 10px;
}
.listings-subtext {
  font-size: 1.08rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0;
}

/* ===== Filter bar ===== */
.filter-bar {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  gap: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 14px;
}
.filter-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.filter-label {
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--ink);
}
.filter-field select {
  font-family: var(--font-body);
  font-size: 1.05rem;
  color: var(--ink);
  background: var(--surface);
  border: 2px solid var(--line-strong);
  border-radius: 10px;
  padding: 12px 14px;
  min-height: 52px;
}
.filter-field select:focus { outline: 3px solid var(--gold); outline-offset: 1px; }

.btn-filter-search {
  background: var(--gold);
  color: #fff;
  border: none;
  border-radius: 10px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1.1rem;
  padding: 0 28px;
  min-height: 52px;
  margin-top: auto;
  cursor: pointer;
  white-space: nowrap;
}
.btn-filter-search:hover { filter: brightness(1.08); }

.more-filters-toggle {
  display: inline-flex;
  align-items: center;
  background: none;
  border: none;
  color: var(--forest);
  font-family: var(--font-body);
  font-size: 1rem;
  font-weight: 600;
  padding: 10px 4px;
  min-height: 48px;
  cursor: pointer;
}
.more-filters-toggle:hover { text-decoration: underline; }

.more-filters {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  background: var(--surface-2);
  border-radius: 16px;
  padding: 20px;
  margin: 10px 0 8px;
  max-width: 640px;
}

.result-count {
  font-size: 1.1rem;
  font-weight: 600;
  color: var(--ink);
  margin: 24px 0 18px;
}

/* ===== Result grid — bigger text than home.css cards, whole card clickable ===== */
.results-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
.results-grid .listing-card {
  display: block;
  color: inherit;
  transition: box-shadow 0.15s ease, border-color 0.15s ease;
}
.results-grid .listing-card:hover {
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.1);
  border-color: var(--line-strong);
}
.results-grid .listing-photo-5 { background: linear-gradient(135deg, #E9EEF2, #B9C7D2); }
.results-grid .listing-photo-6 { background: linear-gradient(135deg, #F2ECE3, #D9C6A8); }
.results-grid .listing-photo-7 { background: linear-gradient(135deg, #EAF0E3, #C3D3AC); }
.results-grid .listing-photo-8 { background: linear-gradient(135deg, #EDEFE0, #CDD59F); }
.results-grid .listing-photo-9 { background: linear-gradient(135deg, #F0EEE8, #D4CDBE); }

.results-grid .listing-loc { font-size: 0.95rem; }
.results-grid .listing-title { font-size: 1.18rem; line-height: 1.4; }
.results-grid .listing-spec { font-size: 0.98rem; }
.results-grid .listing-price { font-size: 1.2rem; }
.results-grid .badge-lime,
.results-grid .category-pill { font-size: 0.94rem; padding: 5px 12px; }

.view-btn {
  font-size: 1rem;
  font-weight: 700;
  color: var(--forest);
}

.load-more-wrap { display: flex; justify-content: center; margin-top: 36px; }
.btn-load-more {
  background: var(--forest);
  color: #fff;
  border: none;
  border-radius: 12px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1.1rem;
  padding: 0 36px;
  min-height: 52px;
  cursor: pointer;
}
.btn-load-more:hover { background: var(--forest-ink); }

/* ===== Responsive ===== */
@media (max-width: 960px) {
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .btn-filter-search { grid-column: 1 / -1; }
  .results-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .listings-title { font-size: 1.7rem; }
  .filter-bar { grid-template-columns: 1fr; padding: 16px; }
  .more-filters { grid-template-columns: 1fr; }
  .results-grid { grid-template-columns: 1fr; }
}
