/* ===== PROPIEDADES & CARDS ===== */
.props-section { padding:80px 24px; }
.props-inner { max-width:1400px; margin:0 auto; }
.props-filters {
  display:flex; gap:10px; margin-bottom:36px; flex-wrap:wrap; justify-content:center;
}
.filter-btn {
  border:2px solid var(--border); background:white; color:var(--dark);
  padding:8px 18px; border-radius:50px; cursor:pointer; font-size:0.78rem;
  font-weight:500; transition:all 0.2s; font-family:'Montserrat',sans-serif;
  line-height:1.35; text-align:center; white-space:nowrap;
}
.filter-btn:hover, .filter-btn.active {
  background:var(--dark); color:white; border-color:var(--dark);
}
.props-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, clamp(260px, 21vw, 340px)), 1fr));
  gap:clamp(18px, 1.6vw, 28px);
}
.prop-card {
  background:white; border-radius:24px; overflow:hidden;
  box-shadow: 0 4px 20px rgba(13,37,53,0.06);
  transition:all 0.35s; cursor:pointer;
  border:1px solid var(--border);
  display:flex; flex-direction:column;
}
.prop-card:hover {
  transform:translateY(-8px);
  box-shadow: 0 20px 50px rgba(13,37,53,0.14);
}
.prop-img-wrap { position:relative; aspect-ratio:16/9; overflow:hidden; }
.prop-img-wrap img {
  width:100%; height:100%; object-fit:cover;
  transition:transform 0.5s;
}
.prop-card:hover .prop-img-wrap img { transform:scale(1.06); }
.prop-badge {
  position:absolute; top:14px; left:14px;
  background:rgba(13,37,53,0.85); backdrop-filter:blur(6px);
  color:white; padding:5px 12px; border-radius:50px;
  font-size:0.75rem; font-weight:600; letter-spacing:0.5px;
}
.prop-badge.destacado {
  background:linear-gradient(135deg,var(--sunset),var(--sunset-warm));
}
.prop-fav {
  position:absolute; top:14px; right:14px; width:36px; height:36px;
  border-radius:50%; background:rgba(255,255,255,0.9);
  border:none; cursor:pointer; display:flex; align-items:center; justify-content:center;
  font-size:1rem; transition:all 0.2s; color:#ccc;
}
.prop-fav:hover, .prop-fav.active { color:#e74c3c; transform:scale(1.15); }
.prop-info { padding:16px 18px; display:flex; flex-direction:column; flex:1; min-width:0; }
.prop-location {
  color:var(--ocean); font-size:0.82rem; font-weight:600;
  text-transform:uppercase; letter-spacing:1px; margin-bottom:6px;
  display:flex; align-items:center; gap:5px;
}
.prop-title {
  font-family:'Montserrat',sans-serif; font-size:1.15rem;
  color:var(--dark); margin-bottom:6px; line-height:1.25;
}
.prop-amenities {
  display:flex; gap:10px; margin-bottom:10px; flex-wrap:wrap;
}
.prop-amenity {
  font-size:0.78rem; color:var(--gray);
  display:flex; align-items:center; gap:4px;
}
.prop-footer {
  display:flex; align-items:center; justify-content:space-between;
  padding-top:12px; border-top:1px solid var(--border);
  margin-top:auto;
}
.prop-price strong { font-size:1.3rem; font-family:'Montserrat',sans-serif; color:var(--dark); }
.prop-price span { font-size:0.8rem; color:var(--gray); }
.prop-rating {
  display:flex; align-items:center; gap:5px;
  font-size:0.85rem; color:var(--dark); font-weight:600;
}
.prop-rating i { color:#f5a623; }
.btn-ver {
  display:block; text-align:center;
  background:var(--dark); color:white; text-decoration:none;
  padding:10px; border-radius:12px; margin-top:12px;
  font-weight:600; font-size:0.88rem; letter-spacing:0.3px;
  transition:all 0.25s; border:none; cursor:pointer; width:100%;
  font-family:'Montserrat',sans-serif;
}
.btn-ver:hover { background:var(--ocean); transform:translateY(-1px); }
