/* Property-listing chrome shared by our-homes, available-homes and coming-soon.
   Loaded before each page's own <style>, which may still override it. */

.nav-menu a:hover, .nav-menu a.active {
  color: var(--accent-gold);
}

.page-header {
  margin-top: 80px; background: var(--primary-dark); color: white; text-align: center; padding: 4rem 2rem;
}

.page-header h1 {
  font-size: 3.5rem; color: white; margin-bottom: 1rem;
}

.page-header p {
  font-size: 1.1rem; color: rgba(255, 255, 255, 0.9); max-width: 700px; margin: 0 auto;
}

.homes-section {
  padding: 6rem 4rem; background: var(--bg-white);
}

.filter-bar {
  display: flex; gap: 1rem; margin-bottom: 3rem; justify-content: center; flex-wrap: wrap;
}

.filter-btn {
  padding: 0.75rem 1.5rem; background: white; border: 2px solid var(--border-light); color: var(--text-dark); cursor: pointer; transition: all 0.3s ease; font-weight: 500; border-radius: 4px;
}

.filter-btn:hover, .filter-btn.active {
  background: var(--accent-gold); border-color: var(--accent-gold); color: white;
}

.homes-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 2rem; max-width: 1400px; margin: 0 auto;
}

.home-media {
  position: relative; overflow: hidden; height: 350px; flex-shrink: 0;
}

.home-media img {
  width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease;
}

.home-card:hover .home-media img {
  transform: scale(1.08);
}

.home-body {
  padding: 1.75rem; display: flex; flex-direction: column; flex-grow: 1;
}

.home-title {
  font-size: 1.4rem; line-height: 1.3; margin: 0 0 0.5rem; color: var(--primary-dark);
}

.home-address {
  margin: 0 0 1rem; color: var(--text-light); font-size: 0.9rem;
}

.home-specs {
  display: flex; gap: 1.5rem; margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid var(--border-light); color: var(--text-light); font-size: 0.85rem;
}

.home-spec {
  display: flex; align-items: center; gap: 0.3rem;
}

.home-desc {
  margin: 0 0 1.25rem; color: var(--text-light); line-height: 1.6; font-size: 0.9rem; flex-grow: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis;
}

.home-cta {
  display: inline-flex; align-items: center; justify-content: center; padding: 0.85rem 1.5rem; background: var(--primary-dark); color: white; text-decoration: none; text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.85rem; font-weight: 600; transition: all 0.3s ease; align-self: flex-start; margin-top: auto;
}

.home-cta:hover {
  background: var(--accent-gold); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(193, 154, 91, 0.3);
}

.no-homes {
  text-align: center; padding: 4rem 2rem; color: var(--text-light);
}

.no-homes h3 {
  font-size: 2rem; margin-bottom: 1rem; color: var(--text-dark);
}
