/* Ergänzungen zum übernommenen Design.
 *
 * Das Dark-Design stylt die Chosen-Dropdowns bewusst nur innerhalb von
 * .FFestateview-default-overview-search. Die Sortierung liegt aber daneben,
 * in der Leiste mit dem Trefferzähler – ihr Aufklapp-Panel blieb deshalb im
 * hellen Standardlook. Hier bekommt sie denselben Glas-Look wie die Suche.
 */

/* ---------------------------------------------------------------------
   Menü-Hover: Divi zeichnet auf den virtuellen Seiten einen Durchstrich
   statt einer Unterstreichung, weil das Theme-Builder-CSS für das
   Menü-Modul dort nicht vollständig ausgegeben wird. Auf der Live-Seite
   ist der Fehler ebenfalls vorhanden – hier wird er mitkorrigiert.
   ------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
   Der „Durchstrich" ist gar keine Textdekoration.

   Divi zeichnet den Unterstrich beim Überfahren als Pseudo-Element am
   Link: ein 2 px hoher Balken, der über `bottom: 0` an die Grundlinie
   gesetzt und dessen Breite animiert wird. Auf den virtuellen Seiten gibt
   Divi genau diese Positionsangabe nicht mit aus – ohne `bottom` landet
   der Balken in der Mitte der Zeile. Das sieht aus wie ein Durchstrich,
   ist aber ein verrutschter Unterstrich.

   Deshalb hier: Balken zurück an die Unterkante. Buttons sind
   ausgenommen, deren Pseudo-Element ist das Pfeil-Symbol.
   ------------------------------------------------------------------- */
/* Der Balken ist absolut positioniert. Sein Bezugspunkt ist der nächste
   positionierte Vorfahre – ist das nicht der Link selbst, sondern die
   Liste, läuft er über die Nachbarpunkte hinweg. Deshalb zuerst den Link
   zum Bezugspunkt machen, dann den Balken darin einspannen. */
.et-l--header .et-menu li a:not(.et_pb_button),
.et-l--header .et_pb_menu__menu li a:not(.et_pb_button),
.et-l--footer .et-menu li a:not(.et_pb_button),
#top-menu li a:not(.et_pb_button) {
  position: relative !important;
  display: inline-block !important;
}

.et-l--header .et-menu li a:not(.et_pb_button):before,
.et-l--header .et-menu li a:not(.et_pb_button):after,
.et-l--header .et_pb_menu__menu li a:not(.et_pb_button):before,
.et-l--header .et_pb_menu__menu li a:not(.et_pb_button):after,
.et-l--footer .et-menu li a:not(.et_pb_button):before,
.et-l--footer .et-menu li a:not(.et_pb_button):after,
#top-menu li a:not(.et_pb_button):before,
#top-menu li a:not(.et_pb_button):after {
  top: auto !important;
  bottom: -2px !important;
  left: 0 !important;
  right: auto !important;
  max-width: 100% !important;
  height: 2px !important;
  transform: none !important;
  margin: 0 !important;
}

/* Die Quelle des Durchstrichs ist Divis Hover-Klasse .et-hover. Divi hängt
   sie beim Überfahren an das Menü-Element; die Linie wird dort gezeichnet
   und auf alle Nachfahren durchgereicht. Deshalb muss sie genau an diesem
   Element weg – am Link selbst wäre es wirkungslos. */
.et-hover,
.et-hover *,
.et-l--header .et-hover,
.et-l--header .et-hover *,
.et-l--footer .et-hover,
.et-l--footer .et-hover *,
#top-menu .et-hover,
#top-menu .et-hover * {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Keine zusätzliche Unterstreichung: Den optischen Hinweis liefert bereits
   Divis grüner Balken. Beides zusammen wären zwei Linien untereinander. */
.et-l--header .et-menu li a:hover,
.et-l--header .et_pb_menu__menu li a:hover,
#top-menu li a:hover {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

/* Der eigentliche Trick: Eine geerbte text-decoration lässt sich am Kind
   nicht abschalten – sie wird vom Vorfahren durchgezeichnet. Ein Element
   mit display:inline-block bildet aber einen eigenen Dekorations-Kontext,
   in den die Linie des Vorfahren NICHT hineinreicht. Deshalb bekommen die
   Menü-Links inline-block; erst dadurch greifen die Regeln darunter. */
body.page-id-0 #page-container #et-boc .et-l--header a,
body.page-id-0 #top-menu a,
body.dio-immobilien .et-l--header a,
body.dio-immobilien #top-menu a {
  display: inline-block;
}

/* Zusätzlich dort abräumen, wo die Linie gesetzt wird: Liste, Listenpunkt,
   Link und dessen Span. */
body.page-id-0 #page-container #et-boc .et-l--header ul,
body.page-id-0 #page-container #et-boc .et-l--header li,
body.page-id-0 #page-container #et-boc .et-l--header a,
body.page-id-0 #page-container #et-boc .et-l--header a span,
body.page-id-0 #top-menu, body.page-id-0 #top-menu li, body.page-id-0 #top-menu a,
body.dio-immobilien .et-l--header ul,
body.dio-immobilien .et-l--header li,
body.dio-immobilien .et-l--header a,
body.dio-immobilien .et-l--header a span,
body.dio-immobilien #top-menu, body.dio-immobilien #top-menu li, body.dio-immobilien #top-menu a {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

body.page-id-0 #page-container #et-boc .et-l--header ul:hover,
body.page-id-0 #page-container #et-boc .et-l--header li:hover,
body.dio-immobilien .et-l--header ul:hover,
body.dio-immobilien .et-l--header li:hover {
  text-decoration: none !important;
  text-decoration-line: none !important;
}

body.page-id-0 #page-container #et-boc .et-l--header a:hover,
body.page-id-0 #page-container #et-boc .et-l--header a:hover span,
body.page-id-0 #top-menu a:hover,
body.dio-immobilien .et-l--header a:hover,
body.dio-immobilien .et-l--header a:hover span,
body.dio-immobilien #top-menu a:hover {
  text-decoration: underline !important;
  text-decoration-line: underline !important;
  text-decoration-style: solid !important;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}

/* ---------------------------------------------------------------------
   Eigenes Auswahlfeld (dio-select.js) – ersetzt Chosen
   ------------------------------------------------------------------- */
.dio-dd { position: relative; display: block; width: 100%; }
.dio-dd-native { position: absolute !important; opacity: 0 !important; pointer-events: none !important; width: 1px; height: 1px; }

.dio-dd-toggle {
  width: 100%;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 38px 0 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  background: rgba(255, 255, 255, .05);
  color: var(--ff-text-strong, #f5f2e9);
  font: inherit;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
  position: relative;
  transition: border-color .15s ease, background .15s ease;
}

.dio-dd-toggle:after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-70%) rotate(45deg);
  opacity: .7;
  transition: transform .15s ease;
}

.dio-dd.is-open .dio-dd-toggle:after { transform: translateY(-30%) rotate(225deg); }

.dio-dd-toggle:hover,
.dio-dd.is-open .dio-dd-toggle {
  border-color: var(--ff-accent, #83b82a);
  background: rgba(255, 255, 255, .08);
}

.dio-dd-panel {
  position: absolute;
  z-index: 60;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  max-height: 320px;
  overflow-y: auto;
  margin: 0;
  padding: 6px;
  list-style: none !important;
  background: rgba(22, 24, 30, .96);
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .55);
}

/* Das Theme setzt li{list-style:disc} – im Panel wären das Aufzählungs-
   punkte neben jedem Eintrag, die zusätzlich die Zentrierung verschieben. */
.dio-dd-panel li {
  list-style: none !important;
  margin: 0 !important;
  padding-left: 12px;
  text-indent: 0 !important;
}

.dio-dd-panel li::marker { content: "" !important; }

.dio-dd-group {
  padding: 10px 12px 4px;
  font-size: 12px;
  letter-spacing: .6px;
  text-transform: uppercase;
  color: var(--ff-text-muted, #7e7c74);
}

.dio-dd-option {
  padding: 10px 12px !important;
  border-radius: 8px;
  color: var(--ff-text-body, #b3b0a6);
  cursor: pointer;
  transition: background .12s ease, color .12s ease;
}

.dio-dd-option:hover,
.dio-dd-option.is-active {
  background: rgba(255, 255, 255, .14) !important;
  color: var(--ff-text-strong, #f5f2e9) !important;
}

/* Die ausgewählte Zeile bleibt grün, hebt sich beim Überfahren aber ab. */
.dio-dd-option.is-selected:hover {
  background: linear-gradient(90deg, rgba(140, 190, 58, 1), rgba(140, 190, 58, .8)) !important;
  color: #0d0e11 !important;
}

.dio-dd-option.is-selected {
  background: linear-gradient(90deg, rgba(140, 190, 58, .92), rgba(140, 190, 58, .68));
  color: #0d0e11;
  font-weight: 600;
}

/* ---------------------------------------------------------------------
   Zeile unter der Suche: Trefferzahl, Städte-Filter und Sortierung
   stehen auf einer Höhe.
   ------------------------------------------------------------------- */
#ff-default .FFestateview-default-overview-search-bar {
  display: flex !important;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin: 14px 0 22px;
}

#ff-default .FFestateview-default-overview-search-bar .FFestateview-default-overview-search-count {
  order: 1;
  flex: 0 0 auto;
}

#ff-default .FFestateview-default-overview-search-bar .imw-stadtfilter-bar {
  order: 2;
  flex: 1 1 260px;
  margin: 0 !important;
}

#ff-default .FFestateview-default-overview-search-bar .FFestateview-default-overview-search-sort {
  order: 3;
  flex: 0 0 auto;
  margin-left: auto;
}

.FFestateview-default-overview-search-sort .dio-dd { width: 230px; }
.FFestateview-default-overview-search-sort .dio-dd-toggle { min-height: 46px; }

/* Städte-Feld auf dieselbe Höhe wie das Sortierfeld bringen */
#ff-default .imw-stadtfilter-bar .imw-cityfilter { margin: 0 !important; }
#ff-default .imw-stadtfilter-bar .imw-cityfilter-input { min-height: 46px; }

@media (max-width: 700px) {
  #ff-default .FFestateview-default-overview-search-bar { gap: 12px; }
  #ff-default .FFestateview-default-overview-search-bar .imw-stadtfilter-bar { order: 3; flex: 1 1 100%; }
  #ff-default .FFestateview-default-overview-search-bar .FFestateview-default-overview-search-sort { order: 2; }
  .FFestateview-default-overview-search-sort .dio-dd { width: 100%; }
}

/* Geschlossener Zustand: gleiche Pille wie die Suchfelder */
.FFestateview-default-overview-search-bar .chosen-container-single .chosen-single {
  background: rgba(255, 255, 255, .05) !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 12px !important;
  color: var(--ff-text-strong, #f5f2e9) !important;
  height: 42px;
  line-height: 42px;
  padding: 0 34px 0 14px;
  box-shadow: none !important;
  transition: border-color .2s ease, background .2s ease;
}

.FFestateview-default-overview-search-bar .chosen-container-single .chosen-single:hover,
.FFestateview-default-overview-search-bar .chosen-container-active .chosen-single {
  border-color: var(--ff-accent, #83b82a) !important;
  background: rgba(255, 255, 255, .08) !important;
}

.FFestateview-default-overview-search-bar .chosen-container-single .chosen-single div b {
  filter: invert(1) brightness(1.6);
}

/* Aufgeklapptes Panel: mattiertes Glas, wie bei der Suche */
.FFestateview-default-overview-search-bar .chosen-container .chosen-drop,
.FFestateview-default-overview-search-bar .chosen-container .chosen-results {
  background: rgba(22, 24, 30, .92) !important;
  -webkit-backdrop-filter: blur(22px) saturate(160%);
  backdrop-filter: blur(22px) saturate(160%);
  border: 1px solid rgba(255, 255, 255, .14) !important;
  color: #fff !important;
  border-radius: 14px !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .55) !important;
  margin-top: 4px;
  overflow: hidden;
}

.FFestateview-default-overview-search-bar .chosen-container.chosen-with-drop .chosen-single {
  border-radius: 12px 12px 0 0 !important;
}

.FFestateview-default-overview-search-bar .chosen-container .chosen-results li {
  padding: 9px 14px;
  color: var(--ff-text-body, #b3b0a6);
}

.FFestateview-default-overview-search-bar .chosen-container .chosen-results li.highlighted,
.FFestateview-default-overview-search-bar .chosen-container .chosen-results li.result-selected {
  background: linear-gradient(90deg, rgba(140, 190, 58, .92), rgba(140, 190, 58, .68)) !important;
  color: #0d0e11 !important;
}

/* ---------------------------------------------------------------------
   Textabschnitte der Detailseite: Luft zwischen den Kapiteln wie im
   Original – Überschrift, Text, dann deutlicher Abstand zum nächsten.
   ------------------------------------------------------------------- */
.FFestateview-default-details .FFestateview-default-details-content-description {
  margin: 0 0 52px;
}

/* Abstand zwischen Eckdaten-Tabelle und dem ersten Textkapitel. Beide
   Blöcke haben eigene Ränder, die aneinander zusammenfallen (margin
   collapsing) – deshalb hier ausdrücklich am Übergang setzen. */
.FFestateview-default-details .FFestateview-default-details-content {
  margin-bottom: 48px !important;
}

.FFestateview-default-details .FFestateview-default-details-content-facts {
  margin-bottom: 0;
}

.FFestateview-default-details .FFestateview-default-details-content + .FFestateview-default-details-content-description,
.FFestateview-default-details .FFestateview-default-details-content + div > .FFestateview-default-details-content-description {
  margin-top: 48px !important;
}

.FFestateview-default-details .FFestateview-default-details-content-description h3 {
  margin: 0 0 16px;
  padding: 0;
  line-height: 1.3;
}

.FFestateview-default-details .FFestateview-default-details-content-description p {
  margin: 0;
  line-height: 1.7;
}

.FFestateview-default-details .FFestateview-default-details-content-energyUsage,
.FFestateview-default-details .FFestateview-default-details-content-groundplot,
.FFestateview-default-details .FFestateview-default-details-content-documents {
  margin: 0 0 52px;
}

.FFestateview-default-details .FFestateview-default-details-content-energyUsage h3,
.FFestateview-default-details .FFestateview-default-details-content-groundplot h3 {
  margin: 0 0 20px;
}

.FFestateview-default-details .FFestateview-default-details-content-equipments {
  margin-top: 14px;
}

/* ---------------------------------------------------------------------
   Makler-Box rechts neben der Galerie
   ------------------------------------------------------------------- */
.FFestateview-default-details-agent {
  text-align: center;
  /* Das Dark-Design setzt hier margin-left:30px – dadurch sitzt die Box
     außermittig und wird auf schmalen Bildschirmen nach rechts gedrückt.
     Der Abstand zur Galerie entsteht ohnehin aus dem Spaltenlayout. */
  margin-left: 0 !important;
}

/* Galerie und Makler-Box bilden auf dem Desktop EINE Karte: gleiche Höhe,
   kein Zwischenraum, und die aneinanderstoßenden Ecken bleiben eckig –
   gerundet wird nur außen. */
@media (min-width: 981px) {
  .slider-wrapper {
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  .slider-wrapper .left {
    max-width: 67% !important;
    flex: 1 1 auto !important;
  }

  .slider-wrapper .right {
    display: flex;
    max-width: 33% !important;
    flex: 0 0 33% !important;
  }

  .slider-wrapper .left .img-wrapper,
  .slider-wrapper .left .FFestateview-default-details-slider img {
    border-radius: 10px 0 0 10px !important;
  }

  /* Die Höhe gibt die Makler-Karte vor, nicht das Bild.
     Dafür wird die Galerie absolut in ihre Spalte gelegt: Sie steuert dann
     nichts zur Zeilenhöhe bei, füllt aber den Platz vollständig aus.
     Ohne das bestimmt das Seitenverhältnis des Fotos die Höhe – bei einem
     Querformat wird die Zeile dadurch sehr hoch und die Karte hat unten
     eine große Leerfläche. */
  .slider-wrapper { min-height: 460px; }

  .slider-wrapper .left { position: relative !important; }

  .slider-wrapper .left .img-wrapper {
    position: absolute !important;
    top: 0; left: 0; right: 0; bottom: 0;
  }

  .slider-wrapper .left .FFestateview-default-details-slider,
  .slider-wrapper .left .slick-list,
  .slider-wrapper .left .slick-track,
  .slider-wrapper .left .slick-slide,
  .slider-wrapper .left .slick-slide > div,
  .slider-wrapper .left .FFestateview-default-details-slide {
    height: 100% !important;
  }

  .slider-wrapper .left .FFestateview-default-details-slider img {
    height: 100% !important;
    width: 100% !important;
    aspect-ratio: auto !important;   /* Höhe kommt von der Karte */
    object-fit: cover !important;    /* Ausschnitt statt Verzerrung */
    object-position: center;
  }

  .slider-wrapper .right .FFestateview-default-details-agent {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 0 10px 10px 0 !important;
    border-left: 0 !important;
  }
}

/* Eine Kante außen, innen nur drei Trennstriche: nach der Firmenanschrift,
   vor den Kontaktdaten und vor der Teilen-Leiste. Logo und Firma bilden
   einen Block, Foto und Name ebenfalls. */
.FFestateview-default-details-agent > * {
  border: 0 !important;
  border-radius: 0 !important;
}

.FFestateview-default-details-agent-logo {
  padding: 20px 20px 4px;
  border: 0 !important;
}

.FFestateview-default-details-agent-logo img {
  max-width: 190px;
  height: auto;
  display: inline-block;
}

.FFestateview-default-details-agent-addresses {
  padding: 8px 20px 18px;
  line-height: 1.6;
  border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
}

/* Rundes Porträt: Der Ausschnitt entsteht über border-radius plus
   background-size:cover – dadurch bleibt das Bild unverzerrt, egal in
   welchem Format es aus der Lieferung kommt. */
.FFestateview-default-details-agent-image {
  width: 92px !important;
  height: 92px !important;
  margin: 22px auto 12px !important;
  border-radius: 50% !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  border: 2px solid rgba(255, 255, 255, .16) !important;
  overflow: hidden;
}

.FFestateview-default-details-agent-name {
  font-weight: 600;
  padding: 0 20px 8px;
  color: var(--ff-text-strong, #f5f2e9);
}

.FFestateview-default-details-agent-details {
  padding: 14px 20px 18px;
  line-height: 1.9;
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
}

/* Teilen-Leiste – Abschluss der Box, deshalb nach oben abgetrennt. */
.FFestateview-default-details-share {
  padding: 16px 20px 20px;
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, .08) !important;
  margin-top: auto; /* schiebt die Leiste ans Ende, wenn die Box mitwächst */
}

.FFestateview-default-details-share-label {
  color: var(--ff-text-body, #b3b0a6);
  margin-bottom: 10px;
}

.FFestateview-default-details-share-links {
  display: flex;
  justify-content: center;
  gap: 18px;
}

.dio-share {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  color: var(--ff-accent, #83b82a);
  opacity: .9;
  transition: opacity .15s ease, transform .15s ease;
}

.dio-share svg { display: block; }
.dio-share svg path { fill: currentColor; }
.dio-share:hover { opacity: 1; transform: translateY(-2px); }

.dio-share-facebook {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21v-8h2.7l.4-3.1h-3.1V7.9c0-.9.25-1.5 1.55-1.5h1.65V3.6C16.4 3.55 15.4 3.5 14.3 3.5c-2.35 0-3.95 1.45-3.95 4.1v2.3H7.6V13h2.75v8h3.15z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21v-8h2.7l.4-3.1h-3.1V7.9c0-.9.25-1.5 1.55-1.5h1.65V3.6C16.4 3.55 15.4 3.5 14.3 3.5c-2.35 0-3.95 1.45-3.95 4.1v2.3H7.6V13h2.75v8h3.15z'/%3E%3C/svg%3E");
}

.dio-share-twitter {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 5.8c-.7.3-1.5.55-2.35.65.85-.5 1.5-1.3 1.8-2.25-.8.5-1.65.8-2.6 1A4.1 4.1 0 0 0 15.9 4c-2.25 0-4.1 1.85-4.1 4.1 0 .3.05.65.1.9-3.4-.15-6.4-1.8-8.4-4.3-.35.6-.55 1.3-.55 2.05 0 1.4.7 2.65 1.8 3.4-.65 0-1.3-.2-1.85-.5v.05c0 2 1.4 3.65 3.3 4.05-.35.1-.7.15-1.1.15-.25 0-.5 0-.75-.05.5 1.65 2 2.85 3.8 2.85A8.2 8.2 0 0 1 2.9 18.4c-.35 0-.65 0-.95-.05A11.6 11.6 0 0 0 8.2 20.2c7.55 0 11.7-6.25 11.7-11.7v-.5c.8-.6 1.5-1.3 2.1-2.2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 5.8c-.7.3-1.5.55-2.35.65.85-.5 1.5-1.3 1.8-2.25-.8.5-1.65.8-2.6 1A4.1 4.1 0 0 0 15.9 4c-2.25 0-4.1 1.85-4.1 4.1 0 .3.05.65.1.9-3.4-.15-6.4-1.8-8.4-4.3-.35.6-.55 1.3-.55 2.05 0 1.4.7 2.65 1.8 3.4-.65 0-1.3-.2-1.85-.5v.05c0 2 1.4 3.65 3.3 4.05-.35.1-.7.15-1.1.15-.25 0-.5 0-.75-.05.5 1.65 2 2.85 3.8 2.85A8.2 8.2 0 0 1 2.9 18.4c-.35 0-.65 0-.95-.05A11.6 11.6 0 0 0 8.2 20.2c7.55 0 11.7-6.25 11.7-11.7v-.5c.8-.6 1.5-1.3 2.1-2.2z'/%3E%3C/svg%3E");
}

.dio-share-linkedin {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.94 5a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM3.2 21h3.5V8.9H3.2V21zm6.05-12.1V21h3.5v-6.4c0-1.7.65-2.6 1.95-2.6 1.2 0 1.8.8 1.8 2.6V21h3.5v-6.9c0-3.3-1.85-4.9-4.35-4.9-1.85 0-2.7.95-3.1 1.7V8.9h-3.3z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.94 5a2 2 0 1 1-4 0 2 2 0 0 1 4 0zM3.2 21h3.5V8.9H3.2V21zm6.05-12.1V21h3.5v-6.4c0-1.7.65-2.6 1.95-2.6 1.2 0 1.8.8 1.8 2.6V21h3.5v-6.9c0-3.3-1.85-4.9-4.35-4.9-1.85 0-2.7.95-3.1 1.7V8.9h-3.3z'/%3E%3C/svg%3E");
}

.dio-share-pinterest {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.5 2 4 5.8 4 9c0 1.9.75 3.6 2.35 4.25.25.1.5 0 .55-.3l.25-.9c.1-.3.05-.4-.15-.65-.45-.55-.75-1.25-.75-2.25 0-2.9 2.15-5.5 5.65-5.5 3.1 0 4.8 1.9 4.8 4.4 0 3.3-1.45 6.1-3.65 6.1-1.2 0-2.1-1-1.8-2.25.35-1.45 1-3 1-4.05 0-.95-.5-1.7-1.55-1.7-1.2 0-2.2 1.25-2.2 2.95 0 1.05.35 1.8.35 1.8l-1.45 6.1c-.4 1.8-.05 4 0 4.2 0 .15.2.2.3.05.1-.15 1.5-1.85 1.95-3.6.15-.5.75-2.9.75-2.9.35.7 1.45 1.35 2.6 1.35 3.4 0 5.75-3.1 5.75-7.3C20 5.7 16.9 2 12 2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.5 2 4 5.8 4 9c0 1.9.75 3.6 2.35 4.25.25.1.5 0 .55-.3l.25-.9c.1-.3.05-.4-.15-.65-.45-.55-.75-1.25-.75-2.25 0-2.9 2.15-5.5 5.65-5.5 3.1 0 4.8 1.9 4.8 4.4 0 3.3-1.45 6.1-3.65 6.1-1.2 0-2.1-1-1.8-2.25.35-1.45 1-3 1-4.05 0-.95-.5-1.7-1.55-1.7-1.2 0-2.2 1.25-2.2 2.95 0 1.05.35 1.8.35 1.8l-1.45 6.1c-.4 1.8-.05 4 0 4.2 0 .15.2.2.3.05.1-.15 1.5-1.85 1.95-3.6.15-.5.75-2.9.75-2.9.35.7 1.45 1.35 2.6 1.35 3.4 0 5.75-3.1 5.75-7.3C20 5.7 16.9 2 12 2z'/%3E%3C/svg%3E");
}

/* ---------------------------------------------------------------------
   Galerie in der linken Spalte der Detailseite
   ------------------------------------------------------------------- */
.slider-wrapper .left .FFestateview-default-details-slider img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 10px;
}

.slider-wrapper .left .slick-slide {
  line-height: 0;
}

/* Vor der Initialisierung nur das erste Bild zeigen – sonst stapeln sich
   alle Aufnahmen untereinander, bis slick übernimmt. */
.slider-wrapper .left .FFestateview-default-details-slider:not(.slick-initialized) > div + div {
  display: none;
}

.slider-wrapper .left .FFestateview-default-details-slider,
.slider-wrapper .left .slick-list,
.slider-wrapper .left .slick-track {
  min-height: 1px;
}

.slider-wrapper .left .img-wrapper {
  overflow: hidden;
  border-radius: 10px;
}

/* Punkte: schlichte Kreise statt der grünen Kästchen.
   slick-theme.css zeichnet sie über eine eigene Schriftart – die liefern
   wir nicht mit, deshalb kamen Ersatzkästen heraus. Hier alles per CSS. */
.slider-wrapper .left .slick-dots {
  position: absolute;
  bottom: 14px;
  left: 0;
  width: 100%;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 2;
}

.slider-wrapper .left .slick-dots li {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
}

.slider-wrapper .left .slick-dots li button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, .38) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .25);
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
  transition: transform .15s ease, background .15s ease;
}

.slider-wrapper .left .slick-dots li button:hover {
  background: rgba(0, 0, 0, .65) !important;
}

.slider-wrapper .left .slick-dots li button:before {
  display: none !important;
  content: none !important;
}

.slider-wrapper .left .slick-dots li.slick-active button {
  background: rgba(0, 0, 0, .95) !important;
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .45);
  transform: scale(1.25);
}

/* Pfeile links und rechts – ebenfalls ohne Icon-Schrift gezeichnet */
.slider-wrapper .left .slick-prev,
.slider-wrapper .left .slick-next {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(13, 14, 17, .55) !important;
  border: 1px solid rgba(255, 255, 255, .18);
  z-index: 3;
  transition: background .15s ease, border-color .15s ease;
}

.slider-wrapper .left .slick-prev:hover,
.slider-wrapper .left .slick-next:hover {
  background: rgba(131, 184, 42, .85) !important;
  border-color: var(--ff-accent, #83b82a);
}

.slider-wrapper .left .slick-prev:before,
.slider-wrapper .left .slick-next:before {
  display: none !important;
  content: none !important;
}

/* Winkel aus zwei Rahmenkanten */
.slider-wrapper .left .slick-prev:after,
.slider-wrapper .left .slick-next:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 11px;
  height: 11px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.slider-wrapper .left .slick-prev:after {
  transform: translate(-35%, -50%) rotate(-135deg);
}

.slider-wrapper .left .slick-next:after {
  transform: translate(-65%, -50%) rotate(45deg);
}

.slider-wrapper .left .slick-prev { left: 16px; }
.slider-wrapper .left .slick-next { right: 16px; }

/* ---------------------------------------------------------------------
   Eckdaten-Block bündig zur Galerie

   Das Basis-CSS gibt dem Inhaltsblock einen eigenen Innenabstand. Dadurch
   standen Überschrift, „Eckdaten" und die Tabelle rund zwölf Pixel weiter
   rechts als die Galerie darüber und die Textkapitel darunter.
   ------------------------------------------------------------------- */
#ff-default .FFestateview-default-details-content,
#ff-default .FFestateview-default-details-content > div,
#ff-default .FFestateview-default-details-content-facts,
#ff-default .FFestateview-default-details-content-details {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#ff-default .FFestateview-default-details-content h2,
#ff-default .FFestateview-default-details-content h3 {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* ---------------------------------------------------------------------
   Gleiche Höhe von Galerie und Makler-Karte (Desktop)

   Steht bewusst am Ende der Datei: Die Regeln weiter oben setzen ein festes
   Seitenverhältnis für die Bilder. Bei gleicher Spezifität gewinnt die
   zuletzt notierte Regel – deshalb hier, zusätzlich mit #ff-default davor,
   damit die Reihenfolge nicht wieder zur Stolperfalle wird.
   ------------------------------------------------------------------- */
@media (min-width: 981px) {

  #ff-default .slider-wrapper { min-height: 480px; align-items: stretch !important; }

  /* Galerie absolut in ihrer Spalte: Sie trägt nichts zur Zeilenhöhe bei,
     füllt den Platz aber vollständig aus. */
  #ff-default .slider-wrapper .left { position: relative !important; }

  #ff-default .slider-wrapper .left .img-wrapper {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: auto !important;
  }

  #ff-default .slider-wrapper .left .FFestateview-default-details-slider,
  #ff-default .slider-wrapper .left .slick-list,
  #ff-default .slider-wrapper .left .slick-track,
  #ff-default .slider-wrapper .left .slick-slide,
  #ff-default .slider-wrapper .left .slick-slide > div,
  #ff-default .slider-wrapper .left .FFestateview-default-details-slide {
    height: 100% !important;
  }

  #ff-default .slider-wrapper .left .FFestateview-default-details-slider img {
    height: 100% !important;
    width: 100% !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 10px 0 0 10px !important;
  }

  /* Die Karte gibt die Höhe vor und füllt ihre Spalte vollständig aus. */
  #ff-default .slider-wrapper .right { display: flex !important; }

  #ff-default .slider-wrapper .right .FFestateview-default-details-agent {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
  }
}

/* ---------------------------------------------------------------------
   Blätter-Navigation unter der Liste
   Das Basis-CSS lässt die Links unformatiert, das Dark-Design färbt sie
   nur ein. Hier bekommen sie dieselbe Formensprache wie Suchfelder und
   Auswahlmenüs: Pillen mit Rand, aktive Seite grün.
   ------------------------------------------------------------------- */
#ff-default .FFestateview-default-overview-estate-paging {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin: 36px 0 8px;
  padding: 0;
  border: 0;
}

#ff-default .FFestateview-default-overview-estate-paging .ff-pages {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  flex: 1 1 auto;
}

#ff-default .FFestateview-default-overview-estate-paging .ff-before,
#ff-default .FFestateview-default-overview-estate-paging .ff-next {
  flex: 0 0 auto;
  min-width: 110px;
}

#ff-default .FFestateview-default-overview-estate-paging .ff-next { text-align: right; }

#ff-default .FFestateview-default-overview-estate-paging a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  background: rgba(255, 255, 255, .05);
  color: var(--ff-text-body, #b3b0a6) !important;
  text-decoration: none !important;
  font-size: 15px;
  line-height: 1;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}

#ff-default .FFestateview-default-overview-estate-paging a:hover {
  border-color: var(--ff-accent, #83b82a);
  background: rgba(255, 255, 255, .09);
  color: var(--ff-text-strong, #f5f2e9) !important;
}

#ff-default .FFestateview-default-overview-estate-paging a.active {
  background: var(--ff-accent, #83b82a) !important;
  border-color: var(--ff-accent, #83b82a);
  color: #0d0e11 !important;
  font-weight: 600;
  cursor: default;
}

#ff-default .FFestateview-default-overview-estate-paging .ff-gap {
  color: var(--ff-text-muted, #7e7c74);
  padding: 0 2px;
}

/* Pfeile an „Zurück" und „Weiter" */
#ff-default .FFestateview-default-overview-estate-paging .ff-before a:before { content: "‹"; margin-right: 8px; font-size: 18px; line-height: 0; }
#ff-default .FFestateview-default-overview-estate-paging .ff-next a:after    { content: "›"; margin-left: 8px; font-size: 18px; line-height: 0; }

@media (max-width: 700px) {
  #ff-default .FFestateview-default-overview-estate-paging { justify-content: center; }
  #ff-default .FFestateview-default-overview-estate-paging .ff-before,
  #ff-default .FFestateview-default-overview-estate-paging .ff-next { min-width: 0; }
  #ff-default .FFestateview-default-overview-estate-paging .ff-pages { order: -1; width: 100%; }
}

/* ---------------------------------------------------------------------
   Kopf- und Fußzeile der virtuellen Seiten – Feinschliff zum Original
   ------------------------------------------------------------------- */
@media (min-width: 981px) {

  /* Obere Kontaktleiste rechtsbündig wie auf den echten Seiten */
  body.page-id-0 .et-l--header .et_pb_row:first-child {
    display: flex !important;
    justify-content: flex-end !important;
  }
  body.page-id-0 .et-l--header .et_pb_row:first-child .et_pb_column {
    width: auto !important;
    margin: 0 !important;
    float: none !important;
    text-align: right !important;
  }

  /* Gleichmäßiger Abstand zwischen Menüpunkten und dem CTA-Button.
     Divi verteilt die Punkte sonst über die volle Breite, wodurch die
     Lücke vor „Jetzt Termin vereinbaren" aus dem Rhythmus fällt. */
  body.page-id-0 .et-l--header .et_pb_row_1_tb_header { gap: 26px !important; }
  body.page-id-0 .et-l--header .et_pb_menu__menu > ul > li {
    margin-right: 26px !important;
    padding-right: 0 !important;
  }
  body.page-id-0 .et-l--header .et_pb_menu__menu > ul > li:last-child { margin-right: 0 !important; }

  /* Höhe der Kopfzeile reservieren – verhindert das Springen beim Laden */
  body.page-id-0 .et-l--header .et_pb_row_1_tb_header { min-height: 96px; }

  /* Fußzeile: Social-Icon linksbündig */
  body.page-id-0 .et-l--footer .et_pb_social_media_follow {
    text-align: left !important;
    margin-left: 0 !important;
  }

  /* „© MP-Webdesign" und die Rechts-Links auf einer Linie */
  body.page-id-0 .et-l--footer .et_pb_row_1_tb_footer > .et_pb_column {
    display: flex !important;
    align-items: center !important;
  }
  body.page-id-0 .et-l--footer .et_pb_row_1_tb_footer .et_pb_menu__menu > ul {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
  }
  body.page-id-0 .et-l--footer .et_pb_row_1_tb_footer .et_pb_menu__menu > ul > li {
    display: flex !important;
    align-items: center !important;
    margin: 0 0 0 28px !important;
    padding: 0 !important;
    line-height: 1.2 !important;
  }
  body.page-id-0 .et-l--footer .et_pb_row_1_tb_footer p {
    margin: 0 !important;
    line-height: 1.2 !important;
  }
}

@media (max-width: 980px) {
  /* Mobil bleibt das Social-Icon mittig */
  body.page-id-0 .et-l--footer .et_pb_social_media_follow { text-align: center !important; }
}

/* ---------------------------------------------------------------------
   Mobile Feinheiten
   ------------------------------------------------------------------- */
@media (max-width: 980px) {

  /* Galerie und Makler-Box untereinander über die volle Breite –
     ohne das bleibt die Box bei 33 % und klebt links. */
  .slider-wrapper .left,
  .slider-wrapper .right {
    max-width: 100% !important;
    width: 100% !important;
  }

  .slider-wrapper .right { margin-top: 20px; }

  /* Objektkarten ohne den negativen Rand aus dem Basis-CSS,
     sonst sitzt die Liste einen Tick zu weit links. */
  #ff-default .FFestateview-default-overview-list {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #ff-default .FFestateview-default-overview-estate {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  /* Luft zwischen Eckdaten-Tabelle und dem ersten Textabschnitt */
  .FFestateview-default-details .FFestateview-default-details-content {
    margin-bottom: 40px;
  }

  .FFestateview-default-details .FFestateview-default-details-content-description {
    margin-bottom: 38px;
  }
}

/* ---------------------------------------------------------------------
   Instagram-Zeile im Kontaktblock der Fußzeile (dio-footer.js)
   ------------------------------------------------------------------- */
.dio-versteckt { display: none !important; }

.dio-insta-zeile { margin: 6px 0 0; }

.dio-insta {
  display: inline-flex !important;
  align-items: center;
  gap: 15px;
  color: var(--ff-accent, #83b82a) !important;
  text-decoration: none !important;
  line-height: 1.4;
}

.dio-insta svg { flex: 0 0 auto; }
.dio-insta svg path { fill: var(--ff-accent, #83b82a); }
.dio-insta span { text-decoration: none; }
.dio-insta:hover span { text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------------
   Instagram-Symbol mittig in seiner grünen Kachel (falls das Modul
   doch sichtbar bleibt)

   Divi zeichnet das Symbol als absolut positioniertes :before mit fester
   Größe (32 px). Ist die Kachel größer, klebt das Symbol oben links statt
   in der Mitte. Statt die Positionierung aufzuheben, lassen wir das
   :before die Kachel ausfüllen und zentrieren den Inhalt darin.
   ------------------------------------------------------------------- */
.et_pb_social_media_follow li a.icon,
.et_pb_social_media_follow_network a.icon {
  position: relative !important;
  display: inline-block !important;
  text-align: center !important;
}

.et_pb_social_media_follow li a.icon:before,
.et_pb_social_media_follow_network a.icon:before {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}

/* =====================================================================
   Korrekturen 2.0.17 – Suchleiste, Leerzustand, Header-Zentrierung
   Alle Werte im Browser auf der Live-Seite nachgemessen.

   Hinweis zur Schreibweise: Diese Regeln sind über `body.dio-immobilien`
   spezifischer als die Originalregeln der base.css und zusätzlich mit
   !important versehen. Grund: WP Rocket fasst die Stylesheets zusammen
   und kann dabei die Reihenfolge ändern – gleich spezifische Regeln aus
   der base.css gewinnen dann trotz späterer Einbindung. In 2.0.16 sind
   genau daran zwei Korrekturen gescheitert.
   ===================================================================== */

/* 1) Icons der Suchleiste.
      Drei Dinge kamen zusammen: die flaticon.css schiebt JEDES Icon per
      `margin-left: 20px` nach rechts (deshalb klebte es am Text), die
      base.css positioniert das :before absolut mit left:-16px (deshalb
      hatte das <i> die Höhe 0), und das Dark-Design gibt der Preis-Eingabe
      backdrop-filter – das erzeugt einen Stacking-Context, unter dem das
      Münz-Icon komplett verschwand. Jetzt: feste 24-px-Box, 16 px vom
      Rand, Text bei 52 px – gemessene 12 px Abstand zwischen Icon und
      Text, in beiden Feldern identisch. */
body.dio-immobilien .FFestateview-default-overview-search-primary > div > div {
  position: relative !important;
}

body.dio-immobilien .FFestateview-default-overview-search-primary > div > div label {
  position: absolute !important;
  z-index: 5 !important;
  left: 16px !important;
  top: 0 !important;
  width: 24px !important;
  height: 100% !important;
  margin: 0 !important;
  pointer-events: none !important;
}

body.dio-immobilien .FFestateview-default-overview-search-primary > div > div label i {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 100% !important;
  line-height: 1 !important;
}

body.dio-immobilien .FFestateview-default-overview-search-primary > div > div label i:before {
  position: static !important;
  left: auto !important;
  top: auto !important;
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

body.dio-immobilien .FFestateview-default-overview-search-primary-type .dio-dd-toggle {
  padding-left: 52px !important;
  min-height: 50px !important;
}
body.dio-immobilien .FFestateview-default-overview-search-primary-price input,
body.dio-immobilien .FFestateview-default-overview-search-primary-location input {
  padding-left: 52px !important;
}

/* 2) Leerzustand. Die base.css setzt hier weißen Grund mit hellgrauem
      Rahmen; bisher wurde nur die Schriftfarbe überschrieben – ein weißer
      Kasten mit kaum lesbarem Text. Jetzt dieselbe Glas-Optik wie überall. */
body.dio-immobilien .FFestateview-default-overview-no-result { margin: 0 !important; }

body.dio-immobilien .FFestateview-default-overview-no-result > div {
  background: rgba(255, 255, 255, .04) !important;
  border: 1px solid rgba(255, 255, 255, .10) !important;
  border-radius: 14px !important;
  padding: 32px 24px !important;
  text-align: center !important;
  color: var(--ff-text-muted, rgba(245, 242, 233, .65)) !important;
  font-size: 16px !important;
}

/* 3) Header und Fußzeile zentrieren.
      Divi gibt auf der virtuellen Seite (Beitrags-ID 0) zwar das inline
      erzeugte Theme-Builder-CSS aus, nicht aber sein Grundgerüst-CSS –
      darunter `.et_pb_row { margin: 0 auto }`. Ohne das klebte die
      Kopfzeile am linken Rand. Gemessen: Startseite Zeile x=166 w=1326,
      Objektliste vorher x=0 w=1338, mit dieser Regel x=166 w=1326. */
body.page-id-0 .et-l--header .et_pb_row,
body.page-id-0 .et-l--footer .et_pb_row {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ---------------------------------------------------------------------
   2.0.18 – Topbar der Kopfzeile (E-Mail + Telefonnummer)
   Divi positioniert diese Spalte im Theme Builder absolut. Ihre Breite
   käme aus `.et_pb_column_4_4 { width: 100% }` – wieder eine Regel aus
   Divis Grundgerüst-CSS, die auf der virtuellen Seite fehlt. Ohne sie
   schrumpft die Spalte auf Inhaltsbreite (gemessen 419 px) und der
   rechtsbündige Text landet links. Zusätzlich erbt das <p> darin
   `text-align: justify`, was die Rechtsbündigkeit aushebelt.
   Gemessen nach der Korrektur: Linkkante = rechte Zeilenkante.

   Die Selektoren hängen an Divis erzeugten Modul-IDs (…_0_tb_header).
   Wird die Kopfzeile im Theme Builder umgebaut, können sich diese IDs
   ändern – dann hier nachziehen.
   ------------------------------------------------------------------- */
body.page-id-0 .et-l--header .et_pb_row_0_tb_header {
  position: relative !important;
}

body.page-id-0 .et-l--header .et_pb_row_0_tb_header > .et_pb_column_0_tb_header {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 1 1 100% !important;
}

body.page-id-0 .et-l--header .et_pb_text_0_tb_header,
body.page-id-0 .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner {
  width: 100% !important;
  max-width: 100% !important;
}

body.page-id-0 .et-l--header .et_pb_text_0_tb_header .et_pb_text_inner p {
  text-align: inherit !important;
}

/* ---------------------------------------------------------------------
   2.0.19 – Abstand unter dem Logo der Makler-Box
   Drei Anteile lagen übereinander: 4 px Innenabstand unten am Logoblock,
   8 px oben am Anschriftenblock und die Grundlinien-Lücke, die ein
   inline-block-Bild unter sich erzeugt. Das Bild steht jetzt als Block,
   die Innenabstände sind zusammengezogen.
   Der Rest der Lücke steckt im Logo selbst: Die Bilddatei bringt eigenen
   Leerraum mit. Den kann CSS nicht entfernen – dafür müsste die PNG
   beschnitten werden.
   ------------------------------------------------------------------- */
.FFestateview-default-details-agent-logo {
  padding: 18px 20px 0 !important;
}

.FFestateview-default-details-agent-logo img {
  display: block !important;
  margin: 0 auto !important;
}

.FFestateview-default-details-agent-addresses {
  padding-top: 2px !important;
}
