/* ==========================================================================
   real-estate.css — scoped styles for the Real Estate area
   (category page, agent profiles, partner firm pages).
   Linked AFTER site.css. Tokens reused: heritage-green #143126,
   antique-gold #C9A15A, warm-ivory #F7F2E8.
   ========================================================================== */

/* --- Real-estate feature hero (category page) ------------------------------ */
.re-hero{
  position:relative;width:100%;aspect-ratio:16/7;min-height:280px;
  border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);
  background:#143126; /* fallback under the image */
}
.re-hero__bg{
  position:absolute;inset:0;background-size:cover;background-position:center;
  /* decorative photo set inline via style="background-image:..." */
}
.re-hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(20,49,38,.06) 0%,rgba(20,49,38,.55) 78%,rgba(14,32,24,.78) 100%);
}
.re-hero__caption{
  position:absolute;left:0;right:0;bottom:0;z-index:1;
  padding:clamp(18px,3vw,32px);color:var(--warm-ivory,#F7F2E8);
}
.re-hero__caption .kicker{color:var(--accent,#C9A15A)}
.re-hero__caption h2,
.re-hero__caption p{color:var(--warm-ivory,#F7F2E8)}
.re-hero__caption p{margin-top:6px;max-width:60ch;color:rgba(247,242,232,.9)}

/* --- Initials / crest placeholder media on cards -------------------------- */
/* Agent card headshot slot — mirrors the gradient+initials profile treatment. */
.re-figure{
  position:relative;aspect-ratio:16/11;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#2fae63,#16150f);
}
.re-figure span{
  color:#fff;font-weight:700;letter-spacing:-1px;opacity:.92;
  font-size:clamp(34px,5vw,52px);text-shadow:0 2px 14px rgba(0,0,0,.35);
}

/* Firm logo placeholder — crest on a tinted card until a real logo arrives. */
.firm-logo{
  width:clamp(96px,16vw,140px);aspect-ratio:1;flex:none;
  border-radius:12px;border:1px solid rgba(201,161,90,.32);
  background:
    radial-gradient(120% 120% at 50% 18%,#1f4631 0%,#143126 56%,#0e2018 100%);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.firm-logo img{width:62%;height:62%;object-fit:contain;opacity:.95}
.firm-logo-row{display:flex;align-items:center;gap:clamp(16px,3vw,28px);flex-wrap:wrap}

/* --- Firm listings map ---------------------------------------------------- */
/* The firm map reuses the Leaflet setup; it needs an explicit height to render. */
.firm-map{width:100%;height:min(60vh,520px)}

/* Sample-data notice shown beside the listings map. */
.listings-note{
  font-size:13.5px;line-height:1.55;color:#6b6256;background:#fbf6ea;
  border-left:3px solid #c08a2e;border-radius:6px;padding:12px 16px;margin-top:14px;
}
.listings-note strong{color:#7a5a12}

/* Listing price chip on cards. */
.listing-price{
  display:inline-block;margin-top:10px;font-weight:700;color:var(--ink,#16150f);
  font-size:15px;letter-spacing:.01em;
}
