/* ---------- Property listing cards (preview design) ---------- */

.pcard-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:24px;
  margin:20px 0 50px;
}

.pcard{
  position:relative;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid #ececec;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,.06);
  transition:box-shadow .15s ease, transform .15s ease;
}
.pcard:hover{
  box-shadow:0 8px 24px rgba(0,0,0,.13);
  transform:translateY(-2px);
}

/* media */
.pcard-media{
  position:relative;
  padding-top:66%;
  background:#e9e9e9;
  overflow:hidden;
}
.pcard-media-link{
  position:absolute;
  inset:0;
  display:block;
  z-index:1;
}
.pcard-media img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.pcard-noimg{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#999;
  font-family:"MuseoSans300",sans-serif;
  font-size:.9rem;
}

.pcard-badge{
  position:absolute;
  top:10px;
  left:10px;
  z-index:2;
  padding:4px 10px;
  border-radius:4px;
  font-family:"MuseoSans500",sans-serif;
  font-weight:500;
  font-size:.72rem;
  letter-spacing:.02em;
  text-transform:uppercase;
  color:#3b3b3b;
  background:#f9dd1f;
}
.pcard-badge--agreed{ background:#ffb703; }
.pcard-badge--sold{ background:#dcdcdc; }

.pcard-new{
  position:absolute;
  bottom:10px;
  left:10px;
  z-index:2;
  padding:3px 9px;
  border-radius:4px;
  font-family:"MuseoSans500",sans-serif;
  font-weight:500;
  font-size:.68rem;
  letter-spacing:.05em;
  text-transform:uppercase;
  color:#fff;
  background:#1a7f37;
}

.pcard-save{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.18);
  transition:background .15s ease, transform .1s ease;
  -webkit-tap-highlight-color:transparent;
}
.pcard-save:hover{ background:#fff; }
.pcard-save:active{ transform:scale(.94); }
.pcard-save svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:#434342;
  stroke-width:1.8;
}
.pcard-save.is-saved svg{
  fill:#e0245e;
  stroke:#e0245e;
}

/* body */
.pcard-body{
  display:block;
  padding:15px 16px 18px;
  text-decoration:none;
  color:inherit;
}
.pcard-price{
  font-family:"MuseoSans700",sans-serif;
  font-weight:700;
  font-size:1.3rem;
  color:#434342;
  line-height:1.2;
  margin-bottom:5px;
}
.pcard-address{
  font-family:"MuseoSans300",sans-serif;
  font-weight:300;
  font-size:.98rem;
  color:#666;
  line-height:1.35;
  margin-bottom:12px;
  min-height:2.6em;
}
.pcard-meta{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  font-family:"MuseoSans300",sans-serif;
  font-weight:300;
  font-size:.92rem;
  color:#555;
}
.pcard-meta span{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.pcard-meta svg{
  width:18px;
  height:18px;
  fill:#f9dd1f;
}
.pcard-type{
  display:inline-block;
  margin-top:13px;
  padding:3px 11px;
  border-radius:20px;
  background:#f4f4f4;
  font-family:"MuseoSans300",sans-serif;
  font-size:.74rem;
  color:#555;
}

/* preview chrome */
.preview-banner{
  background:#fff8cc;
  border:1px solid #f0d900;
  border-radius:6px;
  padding:12px 16px;
  font-family:"MuseoSans500",sans-serif;
  font-size:.92rem;
  color:#4a4200;
  margin:18px 0 6px;
}
.preview-note{
  font-family:"MuseoSans300",sans-serif;
  color:#777;
  font-size:.9rem;
  margin:6px 0 22px;
}
.preview-sectitle{
  font-family:"MuseoSans700",sans-serif;
  font-size:1.5rem;
  color:#434342;
  margin:34px 0 6px;
}

@media only screen and (max-width:45em){
  .pcard-grid{ grid-template-columns:1fr; gap:18px; }
  .pcard-address{ min-height:0; }
}
