/* ============================================================
   PROPERTY CARD — enriched cards with amenities, description,
   and inline contact buttons. Used in both index.html (vertical)
   and propiedades.html (horizontal via .layout-horizontal).
   ============================================================ */

.property-card{
  background:#ffffff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 4px 16px rgba(0,0,0,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
  border:1px solid rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
}

.property-card:hover{
  transform:translateY(-4px);
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  border-color:rgba(201,169,110,.3);
}

.property-card.highlight{
  border-color:#c9a96e;
  box-shadow:0 0 0 2px rgba(201,169,110,.5),0 12px 36px rgba(201,169,110,.25);
}

/* Image */
.property-card-image-link{
  display:block;
  text-decoration:none;
}

.property-card-image{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  background-color:#f5f4f0;
  background-size:cover;
  background-position:center;
}

.property-card-image.no-img{
  background:linear-gradient(135deg,#ece9e3 0%,#f5f4f0 100%);
  display:flex;
  align-items:center;
  justify-content:center;
}

.property-card-noimg-label{
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:1px;
  text-transform:uppercase;
  color:#a8a29a;
}

.property-card-badge{
  position:absolute;
  top:12px;
  left:12px;
  background:#1a1f2e;
  color:#ffffff;
  padding:6px 12px;
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:11px;
  letter-spacing:1.5px;
  border-radius:4px;
  z-index:2;
  font-weight:600;
}

/* Variantes de color del badge según estado/operación */
.property-card-badge.st-sale{background:#c9a96e;color:#1a1f2e}
.property-card-badge.st-rent{background:#2563eb;color:#ffffff}
.property-card-badge.st-reserved{background:#ea7a17;color:#ffffff}
.property-card-badge.st-sold{background:#6b7280;color:#ffffff}
.property-card-badge.st-soon{background:#7c3aed;color:#ffffff}
.property-card-badge.st-foreclosure{background:#b91c1c;color:#ffffff}

/* Propiedad no disponible activamente (vendida / próximamente) */
.property-card.is-unavailable{opacity:.6;transition:opacity .3s ease}
.property-card.is-unavailable:hover{opacity:.85}
.property-card-unavail-overlay{
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.35);
  z-index:1;
  pointer-events:none;
}

.property-card-featured-badge{
  position:absolute;
  top:12px;
  right:12px;
  background:#c9a96e;
  color:#1a1f2e;
  padding:6px 10px;
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:11px;
  letter-spacing:1.5px;
  border-radius:4px;
  z-index:2;
  font-weight:600;
}

/* Badge "TOUR PREMIUM" — propiedades con landing dedicada (tours/landings.json) */
.property-card-tour-badge{
  position:absolute;
  top:12px;
  right:12px;
  background:linear-gradient(135deg,#d4b67e 0%,#c9a96e 55%,#b8924f 100%);
  color:#1a1f2e;
  padding:6px 12px;
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:11px;
  letter-spacing:1.2px;
  border-radius:4px;
  z-index:3;
  font-weight:700;
  box-shadow:0 2px 10px rgba(201,169,110,.45);
}

/* Content */
.property-card-content{
  padding:20px 24px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.property-card-price-row{
  display:flex;
  align-items:baseline;
  gap:0;
  margin:0;
}

.property-card-price{
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:1.6rem;
  font-weight:600;
  color:#111111;
  margin:0;
  letter-spacing:-0.5px;
  line-height:1.1;
}

.property-card-currency{
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:14px;
  color:#888888;
  letter-spacing:0;
  text-transform:uppercase;
  font-weight:400;
  margin-left:6px;
}

.property-card-details{
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:14px;
  color:#555555;
  font-weight:400;
  line-height:1.6;
  margin-top:2px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px;
}

.property-card-feat{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.property-card-feat svg{
  width:16px;
  height:16px;
  flex-shrink:0;
  stroke:#888888;
  color:#888888;
}

.property-card-title-link{
  text-decoration:none;
  color:inherit;
}

.property-card-title{
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:18px;
  font-weight:600;
  color:#222222;
  margin:6px 0 0;
  letter-spacing:0;
  text-transform:capitalize;
  line-height:1.3;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:color .2s;
}

.property-card-title-link:hover .property-card-title{
  color:#c9a96e;
}

.property-card-location{
  font-family:'Poppins',Helvetica,Arial,sans-serif;
  font-size:13px;
  color:#888888;
  margin:0;
  display:flex;
  align-items:center;
  gap:5px;
  font-weight:400;
}

.property-card-location svg{
  width:14px;
  height:14px;
  flex-shrink:0;
  stroke:#888888;
  color:#888888;
}

/* Amenities pills */
.property-card-amenities{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:4px 0;
}

.property-amenity-pill{
  background:#f8f7f5;
  color:#1a1f2e;
  padding:4px 12px;
  font-family:'Lato',Helvetica,Arial,sans-serif;
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.03em;
  border:1px solid rgba(0,0,0,.05);
  border-radius:50px;
  white-space:nowrap;
}

.property-amenity-more{
  background:#c9a96e;
  color:#1a1f2e;
  border-color:#c9a96e;
}

/* Description preview */
.property-card-description{
  font-family:'Lato',Helvetica,Arial,sans-serif;
  font-size:.85rem;
  color:#777;
  font-weight:300;
  line-height:1.5;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

/* Inline action buttons */
.property-card-actions{
  display:flex;
  gap:8px;
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid rgba(0,0,0,.05);
}

.property-card-btn{
  text-decoration:none;
  font-family:'Lato',Helvetica,Arial,sans-serif;
  font-size:.8rem;
  font-weight:500;
  letter-spacing:.05em;
  border-radius:50px;
  padding:10px 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  transition:transform .2s ease,background .2s ease,color .2s ease;
  border:none;
  cursor:pointer;
}

.property-card-btn-phone{
  width:40px;
  background:#ffffff;
  color:#1a1f2e;
  border:1.5px solid #c9a96e;
  padding:10px;
  flex-shrink:0;
}

.property-card-btn-phone svg,
.property-card-btn-whatsapp svg{
  width:16px;
  height:16px;
  display:block;
  flex-shrink:0;
}

.property-card-btn-phone:hover{
  background:#c9a96e;
  color:#1a1f2e;
  transform:translateY(-1px);
}

.property-card-btn-whatsapp{
  background:#25D366;
  color:#ffffff;
  flex:1;
  font-weight:600;
}

.property-card-btn-whatsapp:hover{
  background:#1ea85a;
  color:#ffffff;
  transform:translateY(-1px);
}

.property-card-btn-contact{
  background:#1a1f2e;
  color:#ffffff;
  flex:1;
  font-weight:500;
}

.property-card-btn-contact:hover{
  background:#2a3142;
  color:#ffffff;
  transform:translateY(-1px);
}

/* Mobile */
@media(max-width:640px){
  .property-card-content{padding:18px 18px;gap:10px}
  .property-card-price{font-size:1.4rem}
  .property-card-title{font-size:16px}
  .property-card-actions{flex-direction:column}
  .property-card-btn-phone{width:100%;height:40px}
  .property-amenity-pill{font-size:.65rem;padding:3px 10px}
}

/* Horizontal layout for /propiedades.html on large screens */
@media(min-width:1024px){
  .property-card.layout-horizontal{
    flex-direction:row;
  }
  .property-card.layout-horizontal .property-card-image-link{
    flex:0 0 320px;
  }
  .property-card.layout-horizontal .property-card-image{
    aspect-ratio:auto;
    height:100%;
    min-height:240px;
  }
  .property-card.layout-horizontal .property-card-content{
    flex:1;
  }
}
