.objekt-card { display: block; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-sm); overflow: hidden; text-decoration: none; color: var(--color-ink); transition: transform var(--duration-normal) var(--ease-out-expo), box-shadow var(--duration-normal) var(--ease-out-expo); }
.objekt-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.objekt-card__media { position: relative; }
.objekt-card__media img { width: 100%; height: 160px; object-fit: cover; }
.objekt-card__media .badge-verkauft,
.objekt-card__media .badge-vermietet { position: absolute; top: 0.6rem; left: 0.6rem; }
.objekt-card__body { padding: 0.75rem 0.9rem 0.9rem; display: flex; flex-direction: column; gap: 0.2rem; }
.objekt-card__location { font-size: var(--text-xs); text-transform: uppercase; letter-spacing: 0.04em; color: var(--color-stone); }
.objekt-card__title { font-family: var(--font-display); font-size: 1rem; font-weight: 600; color: var(--color-ink); margin: 0; }
.objekt-card__facts { display: flex; gap: 0.85rem; margin: 0.1rem 0 0.05rem; }
.objekt-card__fact { display: inline-flex; align-items: center; gap: 0.3rem; font-size: var(--text-sm); color: var(--color-ink-soft); }
.objekt-card__fact svg { width: 1rem; height: 1rem; color: var(--color-stone); flex-shrink: 0; }
.objekt-card__price { font-family: var(--font-display); font-weight: 700; font-size: 1.05rem; color: var(--color-forest); margin: 0.15rem 0 0; display: flex; align-items: baseline; gap: 0.45rem; }
.objekt-card__price-sub { font-family: var(--font-body); font-weight: 500; font-size: var(--text-xs); color: var(--color-stone); }
