/* =========================================================
   PropertyXplore - listing cards (mobile-first, RTL-aware)
   ========================================================= */
.pxc{
  --ink:#0A2540; --ink2:#33475B; --muted:#6B7A90; --red:#C8102E; --red2:#A50D26;
  --teal:#0F9D8C; --line:#E3E8EF;
  background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden;
  display:flex; flex-direction:column; margin-bottom:16px;
  transition:box-shadow .16s ease, border-color .16s ease;
}
.pxc:hover{ box-shadow:0 10px 26px rgba(10,37,64,.12); border-color:#CBD6E3; }
.pxc.is-premium{ border-color:#C8102E; }
.pxc.is-featured{ border-color:#0F9D8C; }
.pxc *{ box-sizing:border-box; }

.pxc-media{
  position:relative; display:block; width:100%; aspect-ratio:16/10;
  background:#EEF2F7; overflow:hidden;
}
.pxc-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.pxc-nophoto{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  color:#AFBCCB; font-size:1.6rem;
}
.pxc-badges{ position:absolute; inset-inline-start:10px; top:10px; display:flex; gap:6px; flex-wrap:wrap; }
.pxc-badge{
  color:#fff; border-radius:20px; padding:4px 12px;
  font-size:.74rem; font-weight:800; letter-spacing:.02em;
}
.pxc-badge.new{ background:#F2B705; color:#3A2B00; }
.pxc-photos{
  position:absolute; inset-inline-end:10px; bottom:10px;
  background:rgba(10,37,64,.82); color:#fff; border-radius:20px;
  padding:4px 11px; font-size:.76rem; font-weight:700;
  display:inline-flex; align-items:center; gap:6px;
}
.pxc-badge.premium{ background:var(--red); }
.pxc-badge.featured{ background:var(--teal); }

.pxc-body{ padding:14px; display:flex; flex-direction:column; gap:7px; }
.pxc-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:10px; }
.pxc-price{ font-size:1.3rem; font-weight:800; color:var(--ink); margin:0; letter-spacing:-.01em; }
.pxc-price small{ font-size:.62rem; font-weight:600; color:var(--muted); }
.pxc-fav{
  border:1.5px solid var(--line); background:#fff; border-radius:50%; width:36px; height:36px;
  cursor:pointer; color:var(--muted); flex:0 0 auto; font-size:.95rem;
  display:inline-flex; align-items:center; justify-content:center; transition:all .14s ease;
}
.pxc-fav:hover{ border-color:var(--red); color:var(--red); }
.pxc-fav.on{ background:var(--red); border-color:var(--red); color:#fff; }

.pxc-title{ margin:0; font-size:1rem; font-weight:700; line-height:1.35; }
.pxc-title a{ color:var(--ink); text-decoration:none; }
.pxc-title a:hover{ color:var(--red); text-decoration:underline; }

.pxc-specs{ display:flex; flex-wrap:wrap; margin:0; font-size:.92rem; color:var(--ink2); }
.pxc-specs span{ font-weight:600; }
.pxc-specs span + span::before{ content:'•'; color:#B7C3D2; margin:0 9px; font-weight:400; }
.pxc-date{ margin:0; color:var(--muted); font-size:.83rem; }

.pxc-loc{ margin:0; color:var(--muted); font-size:.88rem; display:flex; align-items:center; gap:6px; }
.pxc-loc i{ flex:0 0 auto; }

.pxc-foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border-top:1px solid #EEF2F7; padding-top:11px; margin-top:4px; flex-wrap:wrap;
}
.pxc-agent{ display:flex; align-items:center; gap:9px; min-width:0; }
.pxc-logo{
  width:auto; height:26px; max-width:92px; object-fit:contain; flex:0 0 auto;
  border-radius:4px; background:#fff;
}
.pxc-agent-name{ color:var(--muted); font-size:.83rem; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.pxc-cta{ display:flex; gap:8px; flex:0 0 auto; }
.pxc-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:7px;
  border:1.5px solid var(--red); color:var(--red); background:#fff; border-radius:8px;
  padding:8px 14px; font-size:.86rem; font-weight:700; text-decoration:none; white-space:nowrap;
}
.pxc-btn:hover{ background:var(--red); color:#fff; text-decoration:none; }
.pxc-btn.wa{ border-color:#25D366; color:#1AA34A; }
.pxc-btn.wa:hover{ background:#25D366; color:#fff; }

/* results header */
.pxr-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin:16px 0 12px; }
.pxr-count{ color:var(--muted); font-size:.93rem; font-weight:600; margin:0; }

@media (min-width:600px){
  .pxc{ flex-direction:row; }
  .pxc-media{ width:300px; flex:0 0 300px; aspect-ratio:auto; min-height:220px; }
  .pxc-body{ flex:1; padding:16px 18px; }
  .pxc-price{ font-size:1.45rem; }
  .pxc-title{ font-size:1.08rem; }
}
@media (min-width:1200px){
  .pxc-media{ width:340px; flex:0 0 340px; }
}

/* ---------- SEO internal linking ---------- */
.pxseo{
  display:grid; grid-template-columns:1fr; gap:22px;
  background:#fff; border:1px solid #E3E8EF; border-radius:12px;
  padding:20px; margin:22px 0 8px;
}
.pxseo-h{ font-size:1.02rem; font-weight:800; color:#0A2540; margin:0 0 12px; }
.pxseo-list{ list-style:none; margin:0; padding:0; display:grid; gap:9px; }
.pxseo-list a{ color:#33475B; text-decoration:none; font-size:.93rem; }
.pxseo-list a:hover{ color:#C8102E; text-decoration:underline; }
.pxseo-n{ color:#8A99AC; font-size:.83rem; }
@media (min-width:768px){
  .pxseo{ grid-template-columns:1fr 1fr; gap:26px 40px; padding:24px 26px; }
  .pxseo-list{ grid-template-columns:1fr 1fr; gap:9px 20px; }
}
