/* FlächenDigital v6 Clean – Immobilienkarten der Übersicht
 * Aus dem sichtbaren Endzustand von v5.12.3.117 neu zusammengeführt.
 */
.fp-overview-v54 .fp-oo-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  width:100%;
  align-items:stretch;
  grid-auto-rows:1fr;
}

.fp-overview-v54 .fp-oo-card{
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
  height:100%;
  min-height:100%;
  overflow:hidden;
  border:1px solid var(--fd-border);
  border-radius:14px;
  background:var(--fd-surface);
  box-shadow:none;
  font-family:"Montserrat",Arial,sans-serif;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.fp-overview-v54 .fp-oo-card:hover{
  transform:translateY(-2px);
  border-color:rgba(51,137,96,.34);
  background:var(--fd-surface);
  box-shadow:0 12px 30px rgba(32,40,37,.055);
}
.fp-overview-v54 .fp-oo-card[hidden]{display:none}

.fp-overview-v54 .fp-oo-image-link,
.fp-overview-v54 .fp-oo-image-empty{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  overflow:hidden;
  background:#29322e;
}
.fp-overview-v54 .fp-oo-image-empty{background:#303a35}
.fp-overview-v54 .fp-oo-image-link picture,
.fp-overview-v54 .fp-oo-image-link img{display:block;width:100%;height:100%}
.fp-overview-v54 .fp-oo-image-link img{object-fit:cover;object-position:center}
.fp-overview-v54 .fp-oo-image-link::after,
.fp-overview-v54 .fp-oo-image-empty::after{
  content:"";
  position:absolute;
  top:0;left:0;right:0;
  height:92px;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(7,18,25,.48) 0%,rgba(7,18,25,.28) 42%,rgba(7,18,25,.09) 72%,rgba(7,18,25,0) 100%);
}

/* Kennzeichnungen auf dem Foto: reine weiße Schrift mit Schatten für sichere Lesbarkeit.
 * Die bestehende obere Bildabdunklung liefert zusätzlich ruhigen Kontrast ohne Badge-Fläche. */
.fp-overview-v54 .fp-oo-tour-badge,
.fp-overview-v54 .fp-oo-status{
  position:absolute;
  top:14px;
  z-index:7;
  color:#fff;
  -webkit-text-fill-color:#fff;
  font-size:10px;
  font-weight:750;
  letter-spacing:.075em;
  text-shadow:0 1px 3px rgba(0,0,0,.78),0 0 10px rgba(0,0,0,.48);
}
.fp-overview-v54 .fp-oo-tour-badge{left:14px}
.fp-overview-v54 .fp-oo-status{right:14px}
.fp-overview-v54 .fp-oo-status::before{box-shadow:0 1px 3px rgba(0,0,0,.52)}

/* Referenz ist bewusst keine Bild-/Statuskennzeichnung mehr.
 * Der Slot ist auf jeder Karte gleich hoch reserviert, damit Referenzobjekte
 * Titel, Einheitenhinweis und Footer nicht mehr vertikal verschieben. */
.fp-overview-v54 .fp-oo-reference-row{
  display:flex;
  align-items:flex-end;
  min-height:34px;
  padding:10px 18px 0;
  background:var(--fd-surface);
}
.fp-overview-v54 .fp-oo-reference-badge{
  color:var(--fd-text-muted);
  -webkit-text-fill-color:var(--fd-text-muted);
  font-size:9.5px;
  letter-spacing:.09em;
}

.fp-overview-v54 .fp-oo-body{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-width:0;
  min-height:0;
  height:auto;
  padding:16px 18px;
  overflow:visible;
  background:transparent;
}

.fp-overview-v54 .fp-oo-location{display:flex;flex-direction:column;gap:7px;width:100%;margin:0 0 10px;padding:2px 0 4px}
.fp-overview-v54 .fp-oo-location__city{display:block;margin:0;color:var(--fd-text);font-size:20px;line-height:1.2;font-weight:700;letter-spacing:-.012em}
.fp-overview-v54 .fp-oo-location__address{display:block;margin:0;color:var(--fd-text-muted);font-size:14px;line-height:1.45;font-weight:500;overflow-wrap:anywhere}
.fp-overview-v54 .fp-oo-unit-count{display:inline-flex;align-items:center;align-self:flex-start;width:auto;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:var(--fd-text);-webkit-text-fill-color:var(--fd-text);font-size:12px;line-height:1.3;font-weight:700;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}

.fp-overview-v54 .fp-oo-facts{
  display:grid;
  grid-template-columns:minmax(126px,.88fr) minmax(0,1.12fr);
  gap:0 18px;
  width:100%;
  max-height:none;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  overflow:visible;
  align-content:start;
  flex:0 0 auto;
}
.fp-overview-v54 .fp-oo-facts--additional{margin-top:14px}
.fp-overview-v54 .fp-oo-facts dt,
.fp-overview-v54 .fp-oo-facts dd{
  display:block;
  visibility:visible;
  opacity:1;
  min-width:0;
  margin:0;
  padding:7px 0;
  border-bottom:1px solid var(--fd-line);
  font-size:13.5px;
  line-height:1.32;
}
.fp-overview-v54 .fp-oo-facts dt{color:var(--fd-text-muted);font-weight:500;white-space:nowrap;word-break:normal;overflow-wrap:normal}
.fp-overview-v54 .fp-oo-facts dd{color:var(--fd-text);font-weight:650;text-align:right;justify-self:stretch;word-break:normal;overflow-wrap:break-word}

.fp-overview-v54 .fp-oo-card-footer{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:17px;
  width:100%;
  margin-top:auto;
  padding-top:24px;
}
.fp-overview-v54 .fp-oo-more{flex:0 0 auto;align-self:flex-start;margin:0}
.fp-overview-v54 .fp-oo-more::after{content:"→";margin-left:9px;color:inherit;-webkit-text-fill-color:currentColor;font-size:14px;line-height:1}

@media(max-width:1280px){.fp-overview-v54 .fp-oo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .fp-overview-v54 .fp-oo-grid{grid-template-columns:minmax(0,1fr);gap:18px}
  .fp-overview-v54 .fp-oo-facts{grid-template-columns:minmax(112px,.86fr) minmax(0,1.14fr);gap:0 12px}
  .fp-overview-v54 .fp-oo-facts dt,.fp-overview-v54 .fp-oo-facts dd{font-size:13px}
  .fp-overview-v54 .fp-oo-image-link::after,.fp-overview-v54 .fp-oo-image-empty::after{height:80px}
  .fp-overview-v54 .fp-oo-tour-badge{top:12px;left:12px}
  .fp-overview-v54 .fp-oo-status{top:12px;right:12px}
  .fp-overview-v54 .fp-oo-location__city{font-size:18px}
  .fp-overview-v54 .fp-oo-location__address{font-size:13.5px}
  .fp-overview-v54 .fp-oo-unit-count{font-size:11.5px;padding:0}
}
