/* Real estate listings — Montserrat, navy + teal */
:root {
  --re-bg: #f0f2f5; --re-navy: #1b2a4a; --re-teal: #0d9488;
  --re-ink: #1e293b; --re-muted: #64748b; --re-white: #fff;
}
body.realestate {
  font-family: "Montserrat", "Vazirmatn", Tahoma, sans-serif;
  background: var(--re-bg); color: var(--re-ink);
}
.re-nav {
  background: var(--re-navy); color: #fff;
}
.re-nav .inner {
  display: flex; justify-content: space-between; align-items: center;
  width: min(1100px, 94%); margin: 0 auto; padding: 1rem 0;
}
.re-nav .logo { font-weight: 700; font-size: 1.25rem; }
.re-nav a { color: rgba(255,255,255,.8); margin-right: 1rem; font-size: .85rem; font-weight: 500; }
.re-nav a:hover { color: #fff; }
.re-search {
  background: var(--re-navy); padding: 0 0 2.5rem;
}
.re-search .box {
  width: min(1100px, 94%); margin: 0 auto; background: var(--re-white);
  border-radius: 12px; padding: 1.5rem; display: grid;
  grid-template-columns: 2fr 1fr 1fr auto; gap: .75rem; box-shadow: 0 12px 40px rgba(0,0,0,.15);
}
@media (max-width: 800px) { .re-search .box { grid-template-columns: 1fr; } }
.re-search input, .re-search select {
  padding: .75rem 1rem; border: 1px solid #e2e8f0; border-radius: 8px; width: 100%;
}
.re-search button {
  background: var(--re-teal); color: #fff; border: none; padding: .75rem 1.5rem;
  border-radius: 8px; font-weight: 700; cursor: pointer;
}
.re-hero-text {
  width: min(1100px, 94%); margin: 0 auto; padding: 2rem 0 1rem; color: #fff;
}
.re-hero-text h1 { font-size: clamp(1.6rem, 3.5vw, 2.2rem); font-weight: 700; }
.re-sec { width: min(1100px, 94%); margin: 2rem auto 3rem; }
.re-sec h2 { font-size: 1.35rem; font-weight: 700; margin-bottom: 1.25rem; color: var(--re-navy); }
.re-listings {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem;
}
@media (max-width: 850px) { .re-listings { grid-template-columns: 1fr; } }
.re-card {
  background: var(--re-white); border-radius: 12px; overflow: hidden;
  box-shadow: 0 4px 20px rgba(0,0,0,.06);
}
.re-card img { aspect-ratio: 16/10; width: 100%; object-fit: cover; }
.re-card .body { padding: 1.15rem 1.25rem 1.4rem; }
.re-card .price { color: var(--re-teal); font-weight: 800; font-size: 1.15rem; margin-bottom: .35rem; }
.re-card h3 { font-size: 1rem; font-weight: 600; margin-bottom: .4rem; }
.re-card .meta { color: var(--re-muted); font-size: .8rem; display: flex; gap: .75rem; flex-wrap: wrap; }
.re-agents {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem;
}
@media (max-width: 700px) { .re-agents { grid-template-columns: 1fr; } }
.re-agent {
  background: var(--re-white); border-radius: 12px; padding: 1.5rem;
  display: flex; gap: 1.25rem; align-items: center;
}
.re-agent img { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; }
.re-agent h3 { font-size: 1rem; font-weight: 700; }
.re-agent p { color: var(--re-muted); font-size: .85rem; }
.re-cta {
  background: var(--re-navy); color: #fff; border-radius: 14px; padding: 2.5rem; text-align: center;
}
.re-cta a {
  display: inline-block; margin-top: 1rem; background: var(--re-teal); color: #fff;
  padding: .7rem 1.5rem; border-radius: 8px; font-weight: 700;
}
.re-foot { text-align: center; padding: 2rem; color: var(--re-muted); font-size: .85rem; }
.re-foot a { color: var(--re-teal); font-weight: 600; }
