/* container on the right of the price */
.miami-icons-status{
  display:flex;
  gap:10px;
  align-items:center;
  margin-left:auto;              /* keeps icons right-aligned next to price */
}

/* minimal icon buttons (no circle, no border) */
.miami-icon{
  background:transparent;
  border:0;
  padding:0;
  line-height:1;
  cursor:pointer;
  color:#64748b;                 /* neutral gray; svg uses currentColor */
}

.miami-icon svg{
  display:block;
  width:22px;
  height:22px;
}

/* hover/focus */
.miami-icon:hover,
.miami-icon:focus{
  color:#0ea5e9;                 /* subtle brand accent */
  outline:none;
}

/* if some theme CSS forces rounded “bubble” buttons, neutralize it */
.miami-icon,
.miami-icon:before,
.miami-icon:after{
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  border:none !important;
}

/* optional: show a filled heart when saved */
.miami-icon.miami-save.is-saved{ color:#e11d48; }
/* Rest of the page */
.miami-card {
  position: relative;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 0 8px rgba(0,0,0,0.08);
  transition: box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.miami-card:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.miami-card-link {
  text-decoration: none !important;
  color: inherit;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.miami-card-img-wrapper img.miami-listing-img {
  width: 100% !important;
  height: 180px; /* ✅ FORCE a consistent height */
  object-fit: cover; /* ✅ Crop the image nicely */
  display: block;
}

/* Info Section */
.miami-card-info {
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.miami-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.miami-price {
  font-weight: 700; /* ✅ lighter bold */
  color: #111;
  font-size: 18px;
}

.miami-icons-status {
  display: flex;
  align-items: center;
  gap: 8px;
}

.miami-icon {
  width: 20px;
  height: 20px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.miami-icon svg {
  width: 16px;
  height: 16px;
  fill: #444;
}

.miami-icon:hover svg {
  fill: #2f737b; /* Hover color for heart and share */
}

/* Status Dot */
.miami-status-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

.status-active {
  background-color: #2f737b;
}

.status-pending {
  background-color: #46c0c4;
}

.status-sold {
  background-color: #f1337f;
}

/* Address Section */
.miami-address {
  color: #111;
  font-size: 15px;
  line-height: 1.3;
  /* ✅ Removed font-weight */
}

/* Specs Section */
.miami-specs {
  font-size: 14px;
  line-height: 1.3;
  color: #444;

}

.miami-specs strong {
  font-weight: bold;
}

/* Broker Section */
.miami-broker {
  font-size: 12px;
  color: #999;
  line-height: 1.1;
  margin: 2px 0; /* tighten space */
}

/* Responsive for Mobile */
@media (max-width: 768px) {
  .miami-card-img-wrapper img.miami-listing-img {
    height: 180px;
  }
}
