/* PropertyCard — the most-repeated component. Consumes tokens.css + base.css (badges). */
.adi-card {
  position: relative;
  background: var(--adi-white);
  border: 1px solid var(--adi-line);
  border-radius: var(--adi-r-card);
  overflow: hidden;
  box-shadow: var(--adi-shadow-card);
  font-family: var(--adi-font-sans);
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.adi-card:hover { box-shadow: var(--adi-shadow-card-hover); transform: translateY(-4px); }

/* stretched overlay link — whole card is clickable; fav stays above it */
.adi-card__overlay { position: absolute; inset: 0; z-index: 1; }
.adi-card__badges, .adi-card__ribbon { pointer-events: none; }

.adi-card__media { position: relative; width: 100%; aspect-ratio: 4 / 3; background: var(--adi-img-bg); overflow: hidden; }
.adi-card__img { width: 100%; height: 100%; object-fit: cover; display: block; }
.adi-card__media-placeholder {
  width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700; color: var(--adi-muted); background: var(--adi-img-bg);
}

.adi-card__badges { position: absolute; top: 12px; left: 12px; display: flex; gap: 6px; z-index: 2; }
.adi-card__badges .adi-badge { box-shadow: 0 2px 8px rgba(9, 52, 95, 0.18); padding: 5px 10px; }

.adi-card__fav {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  width: 36px; height: 36px; border: none; border-radius: var(--adi-r-pill);
  background: rgba(255, 255, 255, 0.92); box-shadow: 0 2px 8px rgba(9, 52, 95, 0.12);
  cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--adi-slate); padding: 0;
  transition: color 0.18s ease;
}
.adi-card__fav:hover,
.adi-card__fav.is-active { color: var(--adi-teal); }

.adi-card__ribbon {
  position: absolute; left: 0; bottom: 0; width: 100%; padding: 8px 16px;
  background: linear-gradient(180deg, rgba(30, 42, 54, 0) 0%, rgba(30, 42, 54, 0.85) 100%);
  color: #fff; font-size: 13px; font-weight: 800; letter-spacing: 0.01em; z-index: 2;
  display: flex; align-items: center; gap: 6px;
}

.adi-card__body { padding: 16px 18px 18px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.adi-card__price-row { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.adi-card__price { font-family: var(--adi-font-serif); font-size: 26px; font-weight: 600; color: var(--adi-navy); letter-spacing: -0.01em; line-height: 1; }
.adi-card__energy {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 11px; font-weight: 700; color: var(--adi-slate);
  background: var(--adi-bg); border-radius: 6px; padding: 3px 7px; letter-spacing: 0.02em;
}
.adi-card__energy-dot { width: 8px; height: 8px; border-radius: 2px; background: var(--adi-teal); display: inline-block; }

.adi-card__location { font-size: 14px; font-weight: 600; color: var(--adi-slate); display: flex; align-items: center; gap: 5px; }

.adi-card__specs {
  margin-top: 2px; padding-top: 12px; border-top: 1px solid var(--adi-line);
  display: flex; align-items: center; gap: 14px; font-size: 13px; font-weight: 600; color: var(--adi-slate);
}
.adi-card__spec { display: flex; align-items: center; gap: 5px; }
.adi-card__spec-sep { width: 1px; height: 14px; background: var(--adi-line-2); }
