/* DIPANI Listings V7.6 - matched to actual WPCode #6224 V26 cards. */
/* Only archive-grid cards. Listeo forms, AJAX, sorting and bookmarks remain untouched. */
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) {
  display:flex!important;
  flex-flow:row wrap!important;
  gap:38px 28px!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > .loader-ajax-container {
  position:absolute!important; inset:0!important; z-index:8!important; pointer-events:none!important;
}
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > .dipani-exact-card,
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card {
  box-sizing:border-box!important; display:flex!important; flex-direction:column!important;
  position:relative!important; float:none!important;
  width:230px!important; min-width:230px!important; max-width:230px!important;
  height:auto!important; min-height:0!important; padding:0!important; margin:0!important;
  background:transparent!important; border:0!important; border-radius:0!important;
  box-shadow:none!important; overflow:visible!important; transform:none!important;
  color:#111827!important; font-family:inherit!important;
}
html body .dipani-exact-card, html body .dipani-exact-card * {box-sizing:border-box!important;}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-media {
  display:block!important; position:relative!important; flex:none!important;
  width:230px!important; min-width:230px!important; max-width:230px!important;
  height:230px!important; min-height:230px!important; max-height:230px!important;
  margin:0 0 30px!important; padding:0!important; overflow:visible!important;
  border:0!important; background:transparent!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-image {
  position:absolute!important; inset:0!important; z-index:1!important;
  display:block!important; width:100%!important; height:100%!important;
  overflow:hidden!important; border-radius:18px!important;
  background:linear-gradient(135deg,#073BAA,#0B5BD3)!important;
  box-shadow:none!important; text-decoration:none!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-image img {
  display:block!important; width:100%!important; height:100%!important;
  min-width:0!important; min-height:0!important; max-width:100%!important; max-height:100%!important;
  object-fit:cover!important; object-position:center!important;
  border-radius:18px!important; transition:transform .25s ease!important;
}
html body .dipani-exact-card:hover .dipani-exact-image img {transform:scale(1.025)!important;}
html body .dipani-exact-fallback {
  position:absolute!important; top:50%!important; left:50%!important;
  transform:translate(-50%,-50%)!important; color:rgba(255,255,255,.78)!important;
  font-size:20px!important; line-height:1!important; font-weight:800!important;
  letter-spacing:.08em!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-badge {
  position:absolute!important; z-index:5!important; top:10px!important; left:10px!important;
  display:inline-flex!important; align-items:center!important; justify-content:center!important;
  width:auto!important; max-width:165px!important; min-height:29px!important;
  padding:6px 11px!important; border:0!important; border-radius:999px!important;
  background:#022D94!important; color:#fff!important;
  font-size:12px!important; line-height:1!important; font-weight:700!important;
  white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important;
}
/* Preserve original Listeo bookmark functionality; sized to the company-card verified icon. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-heart {
  position:absolute!important; z-index:8!important; top:10px!important; right:10px!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  width:40px!important; height:40px!important; margin:0!important; padding:0!important;
  background:rgba(255,255,255,.97)!important; color:#022D94!important;
  border:0!important; border-radius:50%!important;
  box-shadow:0 4px 14px rgba(15,23,42,.14)!important; cursor:pointer!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-heart > span {
  color:#022D94!important; font-size:17px!important; line-height:1!important; cursor:pointer!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-avatar {
  position:absolute!important; z-index:10!important; left:14px!important; bottom:-18px!important;
  display:block!important; width:56px!important; height:56px!important;
  min-width:56px!important; min-height:56px!important; max-width:56px!important; max-height:56px!important;
  margin:0!important; padding:0!important; overflow:hidden!important;
  background:#fff!important; border:3px solid #fff!important; border-radius:12px!important;
  box-shadow:0 4px 14px rgba(15,23,42,.16)!important; text-decoration:none!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-avatar img {
  display:block!important; width:100%!important; height:100%!important; max-width:100%!important;
  max-height:100%!important; min-width:0!important; min-height:0!important;
  object-fit:cover!important; border-radius:9px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-body {
  display:flex!important; flex-direction:column!important; flex:1 1 auto!important;
  min-width:0!important; width:100%!important; min-height:0!important;
  padding:0 2px!important; margin:0!important; background:transparent!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-title {
  display:block!important; width:100%!important; height:20px!important; min-height:20px!important;
  margin:0 0 2px!important; padding:0!important; background:transparent!important;
  color:#111827!important; font-size:16px!important; line-height:20px!important; font-weight:750!important;
  white-space:nowrap!important; overflow:hidden!important; text-overflow:ellipsis!important;
  text-decoration:none!important;
}
html body .dipani-exact-title:hover {color:#022D94!important;}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-type {
  display:block!important; min-height:15px!important; width:100%!important;
  margin:0 0 3px!important; color:#022D94!important;
  font-size:12px!important; line-height:15px!important; font-weight:650!important;
}
/* Standortsymbol + Zeilenlayout: exakt wie im originalen Elementor-Firmenverzeichnis. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-location {
  display:flex!important; align-items:center!important; gap:5px!important;
  width:100%!important; height:16px!important; min-height:16px!important;
  margin:0 0 5px!important; padding:0!important; color:#737B87!important;
  font-size:12px!important; line-height:16px!important; overflow:hidden!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-location-pin {
  display:inline-block!important; flex:0 0 auto!important; width:14px!important;
  height:16px!important; color:#E23D55!important; font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif!important;
  font-size:12px!important; font-weight:400!important; line-height:16px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-location-text {
  display:block!important; flex:1 1 auto!important; min-width:0!important;
  overflow:hidden!important; text-overflow:ellipsis!important; white-space:nowrap!important;
  font-size:12px!important; color:#737B87!important; line-height:16px!important;
}
html body .dipani-exact-location.is-empty {visibility:hidden!important;}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-description {
  display:-webkit-box!important; width:100%!important; height:33px!important;
  min-height:33px!important; max-height:33px!important;
  margin:0 0 8px!important; padding:0!important; color:#667085!important;
  font-size:12px!important; line-height:16.5px!important;
  -webkit-box-orient:vertical!important; -webkit-line-clamp:2!important; overflow:hidden!important;
}
html body .dipani-exact-description.is-empty {visibility:hidden!important;}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-rating {
  display:flex!important; align-items:center!important; flex:0 0 auto!important;
  gap:4px!important; width:100%!important; height:29px!important; min-height:29px!important;
  margin:0 0 9px!important; padding:7px 0 0!important;
  border-top:1px solid #EEF0F3!important; color:#111827!important;
  font-size:10px!important; line-height:1!important;
}
html body .dipani-exact-stars {display:inline-flex!important; gap:0!important; white-space:nowrap!important;}
html body .dipani-exact-stars span {font-size:11px!important; color:#D1D5DB!important; line-height:1!important;}
html body .dipani-exact-stars span.on {color:#F59E0B!important;}
html body .dipani-exact-no-rating, html body .dipani-exact-rating small {
  color:#98A2B3!important; font-size:10px!important;
}
/* Only real prices. An empty price reserves minimal space for aligned CTA buttons. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price {
  display:block!important; width:100%!important; height:auto!important; min-height:17px!important;
  margin:0 0 7px!important; padding:0!important; color:#172033!important;
  font-size:10.5px!important; line-height:1.4!important; font-weight:650!important; text-align:left!important;
}
html body .dipani-exact-price * {color:inherit!important; font-size:inherit!important;}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-actions {
  display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:7px!important; align-items:center!important; width:100%!important;
  margin:10px 0 0!important; padding:0!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-btn {
  display:flex!important; justify-content:center!important; align-items:center!important;
  width:100%!important; height:35px!important; min-height:35px!important;
  margin:0!important; padding:7px 5px!important;
  border:1.5px solid #022D94!important; border-radius:999px!important;
  box-shadow:none!important; font-size:10px!important; line-height:1!important;
  font-weight:700!important; text-align:center!important; text-decoration:none!important;
  white-space:nowrap!important; background:#fff!important; color:#022D94!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-btn-primary {
  color:#fff!important; background:#022D94!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-btn-primary:hover {
  color:#fff!important; background:#001F69!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-btn-outline:hover {
  background:#EEF3FF!important; color:#022D94!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-sponsored {
  position:absolute!important; right:10px!important; bottom:10px!important; z-index:5!important;
  background:rgba(255,255,255,.97)!important; color:#022D94!important;
  border-radius:999px!important; padding:5px 9px!important;
  font-size:10px!important; font-weight:700!important;
}
/* Match the Elementor filter card without modifying actual form elements. */
html body .dipani-archive-grid .full-page-sidebar-inner {
  border-radius:18px!important; border:1px solid #E2E8F2!important;
  background:#F6F8FC!important; box-shadow:none!important;
}
html body .dipani-archive-grid .full-page-sidebar form :is(button[type="submit"],input[type="submit"],button.button) {
  height:44px!important; min-height:44px!important; border-radius:12px!important;
  background:#022D94!important; border-color:#022D94!important;
  font-size:13px!important; font-weight:750!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(input[type="search"],input[type="text"],select,.chosen-single,.select2-selection) {
  height:44px!important; min-height:44px!important; border-radius:10px!important;
  border:1px solid #D7E0EC!important; font-size:12.5px!important;
}
html body .dipani-archive-grid :is(.split-grid-title .page-title,h1.page-title) {
  font-size:26px!important; line-height:1.15!important; font-weight:750!important;
}

/* ======================================================
   Exact V26 visual reference: layout, filter, typography.
   The search form & query stay native Listeo. No fake UI.
   ====================================================== */
html body .dipani-archive-grid > .full-page-sidebar,
html body .dipani-archive-grid > .full-page-sidebar.hidden-sidebar,
html body .dipani-archive-grid > .full-page-sidebar.enabled-sidebar {
  flex:0 0 310px!important; width:310px!important; min-width:310px!important;
  max-width:310px!important;
}
html body .dipani-archive-grid .full-page-sidebar-inner {
  padding:22px 24px!important; border:1px solid #E2E8F2!important;
  border-radius:18px!important; background:#F6F8FC!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(h3,.widget-title) {
  font-size:18px!important; font-weight:750!important; line-height:1.2!important;
  margin:0 0 17px!important; padding-bottom:15px!important;
  border-bottom:1px solid #DDE4EE!important; color:#111827!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(input[type="text"],input[type="search"],select,.chosen-single,.select2-selection) {
  height:44px!important; min-height:44px!important; padding-top:0!important;
  padding-bottom:0!important; border:1px solid #D7E0EC!important;
  border-radius:10px!important; background:#fff!important;
  color:#334155!important; font-size:12.5px!important; box-shadow:none!important;
}
html body .dipani-archive-grid .full-page-sidebar form :is(button[type="submit"],input[type="submit"],button.button) {
  display:flex!important; align-items:center!important; justify-content:center!important;
  min-height:44px!important; height:44px!important; width:100%!important;
  border-radius:12px!important; background:#022D94!important;
  border:1px solid #022D94!important; color:#fff!important;
  font-size:13px!important; font-weight:750!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card {
  flex:0 0 230px!important; align-self:flex-start!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-title {
  display:block!important; visibility:visible!important; opacity:1!important;
  color:#111827!important; text-indent:0!important; font-size:16px!important;
  line-height:20px!important; font-weight:750!important; min-height:20px!important;
  position:static!important;
}
html body .dipani-exact-card .dipani-exact-actions {
  margin-top:10px!important;
}
@media (max-width:991px) {
  html body .dipani-archive-grid > .full-page-sidebar,
  html body .dipani-archive-grid > .full-page-sidebar.hidden-sidebar,
  html body .dipani-archive-grid > .full-page-sidebar.enabled-sidebar {
    flex-basis:280px!important;width:280px!important;min-width:280px!important;max-width:280px!important;
  }
  html body .dipani-archive-grid .full-page-sidebar-inner {padding:20px!important;}
  html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) {
    column-gap:20px!important;
  }
}
@media (max-width:767px) {
  html body .dipani-archive-grid > .full-page-sidebar,
  html body .dipani-archive-grid > .full-page-sidebar.hidden-sidebar,
  html body .dipani-archive-grid > .full-page-sidebar.enabled-sidebar {
    flex-basis:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;
  }
  html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) {
    justify-content:center!important; gap:30px 20px!important;
  }
}


/* ================================================================
   DIPANI V7.4 – LINKER FILTER, ORIGINAL PROFILVERZEICHNIS V26
   Nur visuelle Gestaltung vorhandener echter Listeo-Felder.
   Keine Formular-/Filterlogik oder Karten-Ausgabe wird veraendert.
   ================================================================ */

/* Profilverzeichnis-Filterkarten: 310px links, ruhige blaue Akzente. */
html body .dipani-archive-grid .full-page-sidebar .full-page-sidebar-inner {
  padding:22px 24px!important;
  background:#F6F8FC!important;
  border:1px solid #E2E8F2!important;
  border-radius:18px!important;
  box-shadow:none!important;
}
html body .dipani-archive-grid .full-page-sidebar .sidebar-container {
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
}
html body .dipani-archive-grid .full-page-sidebar .widget,
html body .dipani-archive-grid .full-page-sidebar .listeo-search-form,
html body .dipani-archive-grid .full-page-sidebar form {
  max-width:100%!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(h2.widget-title,h3.widget-title,h4.widget-title,.widget-title) {
  display:block!important;
  margin:0 0 17px!important;
  padding:0 0 15px!important;
  border-bottom:1px solid #DDE4EE!important;
  color:#111827!important;
  font-size:18px!important;
  line-height:1.25!important;
  font-weight:750!important;
  letter-spacing:0!important;
}
/* Native Listen-/Suchformular: Felder nicht verstecken oder ersetzen. */
html body .dipani-archive-grid .full-page-sidebar :is(.search-field,.form-group,.sidebar-widget,.widget) {
  box-sizing:border-box!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(label,.search-field label,.form-group label) {
  color:#1F2937!important;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:650!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(input[type="text"],input[type="search"],input[type="number"],select,.select2-selection,.chosen-single,.bootstrap-select>.dropdown-toggle,.selectpicker+.btn) {
  box-sizing:border-box!important;
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-height:44px!important;
  height:44px!important;
  margin-top:0!important;
  padding:0 14px!important;
  border:1px solid #D7E0EC!important;
  border-radius:10px!important;
  background:#FFFFFF!important;
  color:#334155!important;
  box-shadow:none!important;
  font-size:12.5px!important;
  line-height:1.25!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(.bootstrap-select,.select2-container,.chosen-container) {
  width:100%!important;
  max-width:100%!important;
}
html body .dipani-archive-grid .full-page-sidebar .bootstrap-select>.dropdown-toggle {
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding-left:14px!important;
  padding-right:14px!important;
  text-align:left!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(input[type="text"],input[type="search"],select,.select2-selection,.chosen-single,.bootstrap-select>.dropdown-toggle):focus {
  outline:0!important;
  border-color:#8EACEB!important;
  box-shadow:0 0 0 3px rgba(2,45,148,.08)!important;
}
html body .dipani-archive-grid .full-page-sidebar :is(input[type="checkbox"],input[type="radio"]) {
  accent-color:#022D94!important;
}
/* Native Listeo-Bewertungsfilter – nur gestalten, nicht erfinden. */
html body .dipani-archive-grid .full-page-sidebar .rating-filter {
  box-sizing:border-box!important;
  display:flex!important;
  flex-wrap:wrap!important;
  width:100%!important;
  max-width:100%!important;
  gap:6px!important;
  margin:10px 0!important;
  padding:0!important;
}
html body .dipani-archive-grid .full-page-sidebar .rating-filter .rating-filter__field {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:1 1 calc(50% - 6px)!important;
  min-width:0!important;
  min-height:36px!important;
  margin:0!important;
  padding:7px 9px!important;
  border:1px solid #D7E0EC!important;
  border-radius:9px!important;
  background:#FFFFFF!important;
  font-size:12px!important;
  cursor:pointer!important;
}
html body .dipani-archive-grid .full-page-sidebar .rating-filter :is(.rating-filter__text,.rating-filter__field i) {
  color:#334155!important;
  font-size:12px!important;
  line-height:1.25!important;
}
html body .dipani-archive-grid .full-page-sidebar .rating-filter__field:has(input:checked) {
  background:#EEF3FF!important;
  border-color:#8EACEB!important;
}
/* Sichtbarer nativer Button – bleibt echter Submit des Listeo-Suchformulars. */
html body .dipani-archive-grid .full-page-sidebar form :is(button[type="submit"],button.button,input[type="submit"]) {
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:100%!important;
  min-height:44px!important;
  height:44px!important;
  margin-top:14px!important;
  padding:10px 14px!important;
  border:1px solid #022D94!important;
  border-radius:12px!important;
  background:#022D94!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:750!important;
  text-align:center!important;
  cursor:pointer!important;
}
html body .dipani-archive-grid .full-page-sidebar form :is(button[type="submit"],button.button,input[type="submit"]):hover {
  background:#001F69!important;
  border-color:#001F69!important;
  color:#FFFFFF!important;
}
@media (max-width:991px) {
  html body .dipani-archive-grid .full-page-sidebar .full-page-sidebar-inner {
    padding:20px!important;
  }
}
@media (max-width:767px) {
  html body .dipani-archive-grid .full-page-sidebar .full-page-sidebar-inner {
    padding:18px!important;
    border-radius:16px!important;
  }
  html body .dipani-archive-grid .full-page-sidebar :is(input[type="text"],input[type="search"],select,.bootstrap-select>.dropdown-toggle) {
    min-height:46px!important;
    height:46px!important;
    font-size:14px!important;
  }
}


/* ================================================================
   DIPANI V7.6 – EIGENE KUNDENPROJEKTE-SEITE
   Nur dieser Shortcode. Gleiche Karten wie Listing-Archiv.
   ================================================================ */
html body .dipani-projects-directory, html body .dipani-projects-directory * {box-sizing:border-box;}
html body .dipani-projects-directory {width:100%;max-width:1370px;margin:28px auto 65px;padding:0 26px;color:#111827;}
html body .dipani-projects-intro {margin:0 0 27px;}
html body .dipani-projects-intro h1 {margin:0 0 7px;padding:0;font-size:34px;line-height:1.15;font-weight:780;color:#111827;}
html body .dipani-projects-intro p {margin:0;color:#64748B;font-size:14px;line-height:1.5;}
html body .dipani-projects-layout {display:grid;grid-template-columns:310px minmax(0,1fr);align-items:start;gap:28px;}
html body .dipani-projects-filter {min-width:0;padding:23px 24px;background:#F6F8FC;border:1px solid #E2E8F2;border-radius:18px;}
html body .dipani-projects-filter h2 {margin:0 0 19px;padding:0 0 17px;font-size:19px;font-weight:750;line-height:1.25;color:#111827;border-bottom:1px solid #DDE4EE;}
html body .dipani-projects-filter form {display:flex;flex-direction:column;gap:8px;margin:0;}
html body .dipani-projects-filter label {display:block;margin:8px 0 0;font-size:12px;font-weight:700;color:#344054;}
html body .dipani-projects-filter :is(input[type="search"],select) {
  width:100%!important;max-width:100%!important;height:44px!important;min-height:44px!important;
  padding:0 12px!important;border:1px solid #D7E0EC!important;border-radius:10px!important;
  background:#fff!important;color:#334155!important;box-shadow:none!important;
  font-size:12.5px!important;line-height:1.25!important;font-family:inherit!important;
}
html body .dipani-projects-filter :is(input[type="search"],select):focus {outline:2px solid rgba(2,45,148,.24)!important;outline-offset:0!important;}
html body .dipani-projects-filter .dipani-projects-submit {
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:100%!important;min-height:44px!important;margin:18px 0 0!important;padding:10px 14px!important;
  background:#022D94!important;color:#fff!important;border:1px solid #022D94!important;
  border-radius:12px!important;box-shadow:none!important;font-size:13px!important;font-weight:750!important;cursor:pointer!important;
}
html body .dipani-projects-filter .dipani-projects-submit:hover {background:#001F69!important;}
html body .dipani-projects-reset {align-self:center;margin:4px 0 0;font-size:12px;font-weight:650;color:#022D94;text-decoration:underline;}
html body .dipani-projects-results {min-width:0;}
html body .dipani-projects-results-head {display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:1px 0 25px;}
html body .dipani-projects-results-head h2 {margin:0!important;padding:0!important;color:#111827;font-size:26px!important;line-height:1.2!important;font-weight:780!important;}
html body .dipani-projects-results-head span {font-size:13px;color:#64748B;}
html body .dipani-projects-grid {display:flex!important;flex-flow:row wrap!important;align-items:flex-start!important;justify-content:flex-start!important;gap:38px 24px!important;width:100%;min-width:0;margin:0;padding:0;}
html body .dipani-projects-grid .dipani-exact-card {margin:0!important;flex:0 0 230px!important;align-self:flex-start!important;}
html body .dipani-projects-empty {padding:20px;background:#F6F8FC;border-radius:14px;font-size:14px;line-height:1.5;color:#475569;}
html body .dipani-projects-pagination {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:35px 0 0;}
html body .dipani-projects-pagination a {display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;border:1px solid #022D94;border-radius:999px;color:#022D94;font-size:13px;font-weight:700;text-decoration:none;}
html body .dipani-projects-pagination span {font-size:12px;color:#64748B;}
@media (max-width:1100px) {html body .dipani-projects-layout {grid-template-columns:270px minmax(0,1fr);gap:23px;}html body .dipani-projects-filter {padding:20px;}}
@media (max-width:800px) {html body .dipani-projects-layout {grid-template-columns:minmax(0,1fr);}html body .dipani-projects-directory {padding:0 18px;}html body .dipani-projects-grid {justify-content:center!important;}html body .dipani-projects-intro h1 {font-size:27px;}}
@media (max-width:520px) {html body .dipani-projects-directory {padding:0 14px;}html body .dipani-projects-results-head h2 {font-size:23px!important;}html body .dipani-projects-grid {gap:28px!important;}}


/* ================================================================
   DIPANI V7.7 – Archivfilter wie Profilverzeichnis + einfache Suche
   Nur die /listings/-Archivansicht. Alle nativen Listeo-Felder bleiben.
   ================================================================ */
html body .dipani-archive-grid .full-page-sidebar-inner {
  background:#F6F8FC!important;
  border:1px solid #E2E8F2!important;
  border-radius:18px!important;
  box-shadow:none!important;
  padding:22px 24px!important;
}
html body .dipani-archive-grid .full-page-sidebar .widget-title,
html body .dipani-archive-grid .full-page-sidebar .dipani-native-filter-title {
  margin:0 0 17px!important;
  padding:0 0 15px!important;
  border-bottom:1px solid #DDE4EE!important;
  font-size:18px!important;
  font-weight:750!important;
  line-height:1.2!important;
  color:#111827!important;
}
/* Listeo-Feldgruppen in denselben rhythmischen Abschnitten wie .dv20-section. */
html body .dipani-archive-grid .full-page-sidebar form .row.with-forms[id^="listeo-search-form_"] {
  display:block!important;
  margin:0!important;
  padding:15px 0!important;
  border-bottom:1px solid #DDE4EE!important;
  width:100%!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-native-field-label {
  display:block!important;
  margin:0 0 8px!important;
  font-size:13px!important;
  line-height:1.25!important;
  font-weight:750!important;
  color:#111827!important;
}
/* Das Keyword bleibt als aktives natives Formfeld erhalten, wird aber
   nur oben in der nutzerfreundlichen Direktsuche sichtbar angeboten. */
html body .dipani-archive-grid .full-page-sidebar form .row.with-forms[id="listeo-search-form_keyword_search"] {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  border:0!important;
}
html body .dipani-archive-grid .full-page-sidebar form :is(input[type="text"],input[type="search"],select,.chosen-single,.select2-selection,.bootstrap-select>.dropdown-toggle) {
  min-height:44px!important;
  height:44px!important;
  border:1px solid #D7E0EC!important;
  border-radius:10px!important;
  background:#FFFFFF!important;
  font-size:12.5px!important;
  color:#334155!important;
  box-shadow:none!important;
}
html body .dipani-archive-grid .full-page-sidebar form :is(button[type="submit"],input[type="submit"],button.button) {
  width:100%!important;
  min-height:44px!important;
  background:#022D94!important;
  color:#fff!important;
  border:1px solid #022D94!important;
  border-radius:12px!important;
  font-weight:750!important;
}
/* Einfache Suchleiste oberhalb der Karten: bewusst ein normales GET
   auf das Listeo-Archiv, damit Ergebniszaehlung, AJAX und Filter erhalten bleiben. */
html body .dipani-archive-grid .dipani-quick-search,
html body .dipani-quick-search {
  box-sizing:border-box!important;
  width:100%!important;
  max-width:1010px!important;
  padding:0 0 16px!important;
  margin:0 0 9px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
html body .dipani-quick-search .dipani-quick-search-label {
  display:block!important;
  margin:0 0 9px!important;
  color:#111827!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:750!important;
}
html body .dipani-quick-search .dipani-quick-search-row {
  display:flex!important;
  flex-flow:row nowrap!important;
  width:100%!important;
  height:48px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid #D7E0EC!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#fff!important;
  box-shadow:0 2px 9px rgba(15,23,42,.04)!important;
}
html body .dipani-quick-search input[name="keyword_search"] {
  box-sizing:border-box!important;
  display:block!important;
  flex:1 1 auto!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0 15px!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  outline:0!important;
  box-shadow:none!important;
  font-size:14px!important;
  color:#111827!important;
}
html body .dipani-quick-search input[name="keyword_search"]::placeholder {color:#8A94A6!important;opacity:1!important;}
html body .dipani-quick-search button[type="submit"] {
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:118px!important;
  height:46px!important;
  margin:0!important;
  padding:0 18px!important;
  background:#022D94!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:#FFFFFF!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:750!important;
  cursor:pointer!important;
}
html body .dipani-quick-search button[type="submit"]:hover {background:#001F69!important;}
html body .dipani-quick-search button[type="submit"]>svg {display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;}
/* Gleiche Kartenlaenge auch ohne Preis/Bewertung. Kein fiktiver Preis. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card {
  min-height:484px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-body {
  flex:1 1 auto!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price {
  display:block!important;
  flex:0 0 22px!important;
  width:100%!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  margin:0 0 7px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  text-overflow:ellipsis!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price.is-empty {
  visibility:hidden!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-actions {
  margin-top:auto!important;
  flex:0 0 auto!important;
}
@media (max-width:767px) {
  html body .dipani-archive-grid .full-page-sidebar-inner {padding:18px!important;}
  html body .dipani-quick-search .dipani-quick-search-row {height:48px!important;}
  html body .dipani-quick-search button[type="submit"] {min-width:95px!important;padding:0 12px!important;}
  html body .dipani-quick-search input[name="keyword_search"] {font-size:13px!important;}
}


/* ================================================================
   DIPANI V7.8 – Gleiches Kartenende bei Projekten & Anbietern
   Kartenbreite (230px), Bildhoehe (230px) und Typografie unveraendert.
   Die leere Bewertungs- und Preiszeile sind nur Layoutreservierungen.
   ================================================================ */
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > .dipani-exact-card,
html body .dipani-projects-grid > .dipani-exact-card {
  box-sizing:border-box!important;
  height:484px!important;
  min-height:484px!important;
  max-height:484px!important;
  align-self:flex-start!important;
}
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > .dipani-exact-card > .dipani-exact-body,
html body .dipani-projects-grid > .dipani-exact-card > .dipani-exact-body {
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  min-height:0!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-rating-reserved {
  display:flex!important;
  visibility:hidden!important;
  pointer-events:none!important;
  height:29px!important;
  min-height:29px!important;
  max-height:29px!important;
  flex:0 0 29px!important;
  margin:0 0 9px!important;
  padding:7px 0 0!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price.is-empty {
  display:block!important;
  visibility:hidden!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  flex:0 0 22px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-actions {
  flex:0 0 auto!important;
  margin-top:auto!important;
  margin-bottom:0!important;
}
/* Felder die Listeo selbst bereits rendert, werden nicht gedoppelt. */
html body .dipani-archive-grid .full-page-sidebar form .dipani-native-added {
  box-sizing:border-box!important;
  display:block!important;
  margin:0!important;
  padding:15px 0!important;
  border-bottom:1px solid #DDE4EE!important;
  width:100%!important;
}
html body .dipani-archive-grid .full-page-sidebar form .dipani-native-added .dipani-native-field-label {
  display:block!important;
  margin:0 0 8px!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:750!important;
}
html body .dipani-archive-grid .full-page-sidebar form .dipani-native-added select,
html body .dipani-archive-grid .full-page-sidebar form .dipani-native-added input[type="text"] {
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  height:44px!important;
  min-height:44px!important;
  border:1px solid #D7E0EC!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:0 12px!important;
  font-size:12.5px!important;
  color:#334155!important;
}

/* ================================================================
   DIPANI V7.9: eigener Verzeichnis-Filter wie WPCode V26/V27.
   Ausschliesslich /listings/: Keine Listen-/Kartenstil-Aenderungen.
   Die Standard-Listeo-Menues werden nicht mehr als UI verwendet.
   ================================================================ */
html body .dipani-archive-grid .full-page-sidebar.dipani-v79-active .dipani-v79-native-suppressed {
  display:none!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter,
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter * {box-sizing:border-box!important;}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter {
  display:block!important;position:relative!important; width:100%!important;
  max-width:100%!important;margin:0!important;padding:0!important;
  font-family:inherit!important;color:#111827!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-title {
  display:block!important;margin:0 0 17px!important;padding:0 0 17px!important;
  border:0!important;border-bottom:1px solid #DDE4EE!important;
  color:#111827!important;font-size:21px!important;line-height:1.25!important;
  font-weight:750!important;letter-spacing:-.02em!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-section {
  display:block!important;position:relative!important;margin:0!important;
  padding:17px 0 20px!important;border:0!important;
  border-bottom:1px solid #DDE4EE!important;background:transparent!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-section:last-of-type {
  border-bottom:0!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-label {
  display:block!important;margin:0 0 11px!important;padding:0!important;
  color:#172033!important;font-size:13px!important;line-height:1.3!important;
  font-weight:700!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter :is(.dipani-v79-type,.dipani-v79-keyword,.dipani-v79-city,.dipani-v79-trigger) {
  display:flex!important;align-items:center!important;
  box-sizing:border-box!important;width:100%!important;max-width:100%!important;
  height:47px!important;min-height:47px!important;max-height:47px!important;
  margin:0!important;padding:0 14px!important;float:none!important;
  background:#FFF!important;border:1px solid #D7E0EC!important;
  border-radius:12px!important;box-shadow:none!important;
  color:#10203B!important;font-family:inherit!important;font-size:13px!important;
  font-weight:450!important;line-height:1.25!important;text-decoration:none!important;
  -webkit-appearance:none!important;appearance:none!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter :is(.dipani-v79-keyword,.dipani-v79-city,.dipani-v79-menu-search)::placeholder {
  color:#8290A2!important;opacity:1!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter :is(.dipani-v79-type,.dipani-v79-keyword,.dipani-v79-city,.dipani-v79-trigger):focus-visible {
  outline:2px solid #92B1EB!important;outline-offset:2px!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-type {
  padding-right:33px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23022D94' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-position:right 13px center!important;background-repeat:no-repeat!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter :is(.dipani-v79-combo,.dipani-v79-city-wrap,.dipani-v79-keyword-wrap) {
  display:block!important;position:relative!important;width:100%!important;min-width:0!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-trigger {
  cursor:pointer!important;justify-content:space-between!important;gap:8px!important;
  text-align:left!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-trigger-label {
  display:block!important;min-width:0!important;max-width:100%!important;
  overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  color:#283B58!important;font-size:13px!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-chevron {
  display:block!important; flex:0 0 auto!important;color:#022D94!important;
  font-size:24px!important;line-height:1!important;font-weight:500!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter :is(.dipani-v79-menu,.dipani-v79-city-menu,.dipani-v79-suggestions) {
  display:none!important;position:absolute!important;top:calc(100% + 5px)!important;
  left:0!important;right:0!important;z-index:1005!important;
  width:100%!important;max-width:100%!important;
  padding:6px!important;margin:0!important;max-height:300px!important;
  border:1px solid #D7E0EC!important;border-radius:12px!important;
  background:#FFF!important;box-shadow:0 12px 28px rgba(15,23,42,.14)!important;
  overflow-y:auto!important;overscroll-behavior:contain!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter :is(.dipani-v79-menu,.dipani-v79-city-menu,.dipani-v79-suggestions).is-open {
  display:block!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-menu-search {
  box-sizing:border-box!important;display:block!important;width:100%!important;
  height:37px!important;min-height:37px!important;margin:0 0 5px!important;
  padding:0 11px!important;border:1px solid #D7E0EC!important;
  border-radius:8px!important;background:#F8FAFD!important;font-size:12px!important;
  color:#111827!important;box-shadow:none!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-option {
  box-sizing:border-box!important;display:block!important;width:100%!important;
  min-height:34px!important;height:auto!important;min-width:0!important;
  margin:0!important;padding:8px 10px!important;border:0!important;
  border-radius:7px!important;background:transparent!important;color:#263449!important;
  box-shadow:none!important;font-size:12px!important;line-height:1.35!important;
  font-weight:500!important;text-align:left!important;white-space:normal!important;
  text-decoration:none!important;cursor:pointer!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-option:hover,
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-option:focus-visible {
  background:#EAF0FE!important;color:#022D94!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-helper {
  display:block!important;padding:9px 10px!important;margin:0!important;
  color:#64748B!important;font-size:11px!important;line-height:1.4!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-ratings {
  display:flex!important;flex-direction:column!important;gap:8px!important;
  width:100%!important;margin:0!important;padding:0!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-choice {
  display:flex!important;align-items:center!important;gap:10px!important;
  margin:0!important;padding:0!important;border:0!important;background:transparent!important;
  color:#334155!important;font-size:14px!important;line-height:1.3!important;
  font-weight:400!important;cursor:pointer!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-choice :is(input[type="radio"],input[type="checkbox"]) {
  box-sizing:border-box!important;display:inline-block!important;flex:0 0 auto!important;
  width:18px!important;height:18px!important;min-width:18px!important;min-height:18px!important;
  margin:0!important;padding:0!important;accent-color:#022D94!important;
  -webkit-appearance:auto!important;appearance:auto!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-section-verified {
  padding:20px 0 18px!important;border-bottom:0!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-submit {
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  justify-content:center!important;width:100%!important;height:52px!important;
  min-height:52px!important;max-height:52px!important;margin:8px 0 0!important;
  padding:8px 14px!important;border:1px solid #022D94!important;
  border-radius:13px!important;background:#022D94!important;color:#FFF!important;
  font-size:14px!important;line-height:1.2!important;font-weight:750!important;
  text-align:center!important;cursor:pointer!important;box-shadow:none!important;
}
html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-submit:hover {
  color:#FFF!important;background:#001F69!important;border-color:#001F69!important;
}
@media (max-width:767px) {
  html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-option {font-size:13px!important;min-height:40px!important;}
  html body .dipani-archive-grid .full-page-sidebar .dipani-v79-filter .dipani-v79-title {font-size:19px!important;}
}


/* DIPANI V7.10: NUR Vorschlagsliste am Suchfeld RECHTS über den Karten.
   Linke Filterkarte, Kartengroessen und alle weiteren Styles bleiben unberuehrt. */
html body .dipani-quick-search { position:relative!important; z-index:30!important; }
html body .dipani-quick-search .dipani-quick-suggestions {
  box-sizing:border-box!important; position:absolute!important; display:none!important;
  top:calc(100% - 10px)!important; left:0!important; right:118px!important;
  width:auto!important; max-height:295px!important; overflow-y:auto!important;
  margin:0!important; padding:6px!important; z-index:50!important;
  border:1px solid #D7E0EC!important; border-radius:12px!important;
  background:#FFFFFF!important; box-shadow:0 12px 30px rgba(15,23,42,.16)!important;
  overscroll-behavior:contain!important;
}
html body .dipani-quick-search .dipani-quick-suggestions.is-open { display:block!important; }
html body .dipani-quick-search .dipani-quick-option {
  box-sizing:border-box!important; display:flex!important; align-items:center!important;
  justify-content:space-between!important; gap:12px!important; width:100%!important;
  height:auto!important; min-height:37px!important; margin:0!important; padding:9px 12px!important;
  background:transparent!important; border:0!important; border-radius:8px!important;
  color:#172033!important; text-align:left!important; font-size:13px!important; line-height:1.35!important;
  box-shadow:none!important; cursor:pointer!important; white-space:normal!important;
}
html body .dipani-quick-search .dipani-quick-option:is(:hover,:focus-visible,.is-active) {
  background:#EAF0FE!important; color:#022D94!important; outline:none!important;
}
html body .dipani-quick-search .dipani-quick-option-name {flex:1 1 auto!important;min-width:0!important;}
html body .dipani-quick-search .dipani-quick-option-source {
  flex:0 1 auto!important; max-width:45%!important; text-align:right!important;
  color:#8290A2!important; font-size:11px!important; font-weight:450!important;
}
@media (max-width:767px) {
  html body .dipani-quick-search .dipani-quick-suggestions {right:95px!important;max-height:250px!important;}
  html body .dipani-quick-search .dipani-quick-option-source {display:none!important;}
}

/* ============================================================
   V7.11 CARD DETAILS ONLY – old left filter and search untouched
   ============================================================ */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card {
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
}
/* Two small red actions on the image – real bookmark + native share/copy. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card-tools {
  position:absolute!important;right:9px!important;top:9px!important;z-index:11!important;
  display:flex!important;gap:5px!important;align-items:center!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) :is(.dipani-exact-card-tools .dipani-exact-heart,.dipani-exact-card-tools .dipani-exact-share) {
  position:relative!important;inset:auto!important;top:auto!important;right:auto!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
  margin:0!important;padding:7px!important;
  background:#fff!important;border:0!important;border-radius:50%!important;
  box-shadow:0 3px 10px rgba(15,23,42,.15)!important;color:#DB304B!important;
  cursor:pointer!important;line-height:0!important;transition:transform .15s ease!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card-tools :is(.dipani-exact-heart,.dipani-exact-share):hover {
  transform:translateY(-1px)!important;background:#FFF6F7!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card-tools :is(.dipani-exact-heart,.dipani-exact-share):focus-visible {
  outline:2px solid #DB304B!important;outline-offset:2px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card-tools svg {
  display:block!important;width:18px!important;height:18px!important;stroke:#DB304B!important;
  fill:none!important;stroke-width:2!important;flex:none!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card-tools .dipani-exact-heart.is-saved svg {
  fill:#DB304B!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card-tools .dipani-exact-heart:disabled {
  opacity:.55!important;cursor:wait!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-badge {
  max-width:125px!important;
}
html body .dipani-exact-action-message {
  display:block!important;position:absolute!important;right:5px!important;top:49px!important;z-index:20!important;
  max-width:210px!important;border-radius:9px!important;padding:6px 9px!important;
  background:#18233a!important;color:#fff!important;opacity:0!important;pointer-events:none!important;
  font-size:11px!important;line-height:1.3!important;box-shadow:0 3px 12px rgba(0,0,0,.14)!important;
  transition:opacity .12s ease!important;
}
html body .dipani-exact-action-message.is-visible {opacity:1!important;}
/* Small pictograms in the whitespace, as in Listeo, from DIPANI category taxonomy. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icons {
  display:flex!important;gap:6px!important;align-items:center!important;
  width:100%!important;height:25px!important;min-height:25px!important;max-height:25px!important;
  padding:0!important;margin:-2px 0 1px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon {
  display:inline-flex!important;justify-content:center!important;align-items:center!important;
  width:23px!important;height:23px!important;min-width:23px!important;min-height:23px!important;
  color:#64748B!important;background:#F0F3F8!important;border:1px solid #E5EAF1!important;
  border-radius:50%!important;flex:0 0 23px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon svg {
  display:block!important;width:14px!important;height:14px!important;fill:none!important;
  stroke:currentColor!important;stroke-width:1.7!important;
}
/* Consistent bottom row at 484px; request hint is honest but not a fabricated price. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price {
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:10.5px!important;font-style:normal!important;font-weight:650!important;
  letter-spacing:0!important;color:#172033!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price :not(.dipani-exact-currency) {
  font-family:inherit!important;font-style:normal!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price .dipani-exact-currency {
  color:#D92946!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-weight:800!important;font-size:inherit!important;font-style:normal!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price.is-request {
  visibility:visible!important;color:#63738A!important;font-size:11px!important;font-weight:600!important;
}
@media (max-width:767px) {
  html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card-tools {right:8px!important;top:8px!important;gap:5px!important;}
}
/* Tighten only existing spaces so the icon row fits fixed 484px cards. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-description {margin-bottom:5px!important;}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-rating {margin-bottom:6px!important;}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price {margin-bottom:5px!important;}


/* ================================================================
   DIPANI V7.12 - NUR Mini-Icons + sichtbarer Trenner bei Projekten.
   Bewährte Filtersuche, Kartenmarkup, Herz, Share und Preise bleiben
   unverändert. Platz sparende Piktogramme (keine zusätzlichen Felder).
   ================================================================ */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icons {
  gap:6px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon {
  width:20px!important;
  height:20px!important;
  min-width:20px!important;
  min-height:20px!important;
  flex:0 0 20px!important;
  border-radius:50%!important;
  box-shadow:0 1px 2px rgba(20,35,75,.045)!important;
  transition:background-color .15s ease,transform .15s ease!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon svg {
  width:12px!important;
  height:12px!important;
  stroke-width:1.8!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon:nth-child(3n+1) {
  color:#2059B9!important;
  background:#EAF2FF!important;
  border-color:#D4E4FF!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon:nth-child(3n+2) {
  color:#13816F!important;
  background:#E7F8F2!important;
  border-color:#C8EFE2!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon:nth-child(3n+3) {
  color:#AD6B1A!important;
  background:#FFF3DD!important;
  border-color:#F9E4BD!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon:hover {
  transform:translateY(-1px)!important;
}
/* In Projekten war der ganze leere Bewertungsplatz inklusive Linie unsichtbar.
   Wir zeigen ausschliesslich die Trennlinie; es gibt KEINE Bewertungstexte. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-rating-reserved {
  visibility:visible!important;
  border-top:1px solid #E4EAF2!important;
  color:transparent!important;
  pointer-events:none!important;
}


/* V7.14: eigens gezeichnete farbige Mini-Piktogramme; niemals Filter oder Kartenraster ändern. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icons {
  height:27px!important;min-height:27px!important;max-height:27px!important;
  gap:7px!important;margin:-2px 0 1px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:26px!important;height:26px!important;min-width:26px!important;min-height:26px!important;
  max-width:26px!important;max-height:26px!important;flex:0 0 26px!important;
  padding:1px!important;background:#F6F8FD!important;border-color:#E1E9F5!important;
  border-radius:8px!important;box-shadow:0 1px 3px rgba(15,23,42,.055)!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon img {
  display:block!important;width:23px!important;height:23px!important;
  min-width:23px!important;min-height:23px!important;max-width:23px!important;max-height:23px!important;
  object-fit:contain!important;margin:0!important;padding:0!important;
  border:0!important;background:transparent!important;box-shadow:none!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon:nth-child(3n+1),
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon:nth-child(3n+2),
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icon:nth-child(3n+3) {
  background:#F7F9FE!important;border-color:#E1E9F5!important;
}


/* ================================================================
   DIPANI V7.15 – ausschließlich Preisspanne und Standort-Lesbarkeit.
   Alle Karten bleiben 230 × 484px, Bilder 230 × 230px; keine Änderungen
   an Filtern, Favoriten, Share oder den Kategorie-Piktogrammen.
   ================================================================ */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-media {
  margin-bottom:22px!important; /* Profilbild bleibt frei, Preis bekommt echte zwei Zeilen */
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-title {
  margin-bottom:1px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-type {
  margin-bottom:1px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-location {
  align-items:flex-start!important;
  height:28px!important;min-height:28px!important;max-height:28px!important;
  margin-bottom:3px!important;
  color:#CC4D28!important;
  overflow:hidden!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-location-pin {
  color:#D52F46!important;
  flex:0 0 14px!important;
  height:15px!important;line-height:15px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-location-text {
  display:-webkit-box!important;
  max-height:28px!important;
  overflow:hidden!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-overflow:clip!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  color:#C94A27!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;
  line-height:14px!important;
  font-weight:750!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-description {
  height:29px!important;min-height:29px!important;max-height:29px!important;
  line-height:14.5px!important;margin-bottom:3px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-service-icons {
  /* 27px fuer die unveraenderten 26px-Piktogramme beibehalten. */
  height:27px!important;min-height:27px!important;max-height:27px!important;
  margin-bottom:0!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-rating,
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-rating-reserved {
  height:26px!important;min-height:26px!important;max-height:26px!important;
  flex:0 0 26px!important;
  margin-bottom:3px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price {
  display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:center!important;
  flex:0 0 38px!important;
  height:38px!important;min-height:38px!important;max-height:38px!important;
  width:100%!important;margin:0 0 3px!important;padding:0!important;
  overflow:visible!important;white-space:normal!important;text-overflow:clip!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;line-height:17px!important;font-style:normal!important;
  font-weight:700!important;color:#172033!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v715-price-line {
  display:flex!important;gap:4px!important;align-items:baseline!important;
  width:100%!important;min-width:0!important;min-height:17px!important;
  max-height:none!important;margin:0!important;padding:0!important;
  white-space:normal!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:12px!important;line-height:17px!important;font-weight:700!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v715-price-label {
  flex:0 0 22px!important;color:#63728C!important;
  font-size:11px!important;font-weight:700!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v715-price-number {
  display:inline!important;min-width:0!important;
  color:#172033!important;font-size:13px!important;font-weight:800!important;
  font-family:inherit!important;font-style:normal!important;
  white-space:normal!important;overflow-wrap:anywhere!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price .dipani-exact-currency {
  display:inline!important;flex:0 0 auto!important;
  color:#D92946!important;font-size:12px!important;font-weight:800!important;
  font-family:inherit!important;font-style:normal!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price.is-request .dipani-exact-price-hint {
  font-size:11.5px!important;line-height:17px!important;
  font-weight:650!important;color:#63738A!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price .dipani-v715-price-fixed {
  flex-wrap:wrap!important;
}

/* ================================================================
   DIPANI V7.16 – Nur Beschreibungstext: eine Schriftstufe größer
   und sanftes Schwarz statt Graublau. Keine Änderung an
   Kartenhöhe, Preisen, Standorten, Suche, Filter, Icons oder Buttons.
   ================================================================ */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-description {
  color:#30343B!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:15px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin-bottom:2px!important;
}


/* =======================================================================
   DIPANI V7.17 – Kartenbeschreibung wirklich neutral dunkel,
   separater Abstand fuer Beschreibung, Mini-Icons und Trennlinie.
   Relative visuelle Versetzung aendert weder den 230x484 Kartenrahmen,
   noch Preis-/Button-Zeilen, Filter, Favoriten oder Share.
   ======================================================================= */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card .dipani-exact-body > p.dipani-exact-description {
  position:relative!important;
  top:-3px!important; /* Text leicht nach oben */
  color:#292929!important;
  -webkit-text-fill-color:#292929!important;
  opacity:1!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  font-size:13px!important;
  font-weight:400!important;
  line-height:15px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card .dipani-exact-service-icons {
  position:relative!important;
  top:3px!important; /* Icons etwas tiefer: mehr Luft zum Text */
}
/* Das Bewertungs-/Projekt-Trennlineal beginnt etwas unter den Icons.
   Die gesamte Bewertungszeile bleibt an ihrem Platz. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card .dipani-exact-rating {
  position:relative!important;
  border-top-color:transparent!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-card .dipani-exact-rating::before {
  content:""!important;
  display:block!important;
  position:absolute!important;
  top:8px!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  height:0!important;
  border-top:1px solid #E4EAF2!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}


/* =====================================================================
   DIPANI V7.18 – NUR optische Kartenhuelle und Preisspanne.
   Vorhandene 230px-Bilder, Inhalt, Aktionen und Filter unberuehrt.
   Weisse Einzelkarte wie die vom Nutzer bestaetigte Vorlage.
   ===================================================================== */
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card,
html body .dipani-projects-grid > article.dipani-exact-card {
  background:#FFFFFF!important;
  border:0!important;
  border-radius:18px!important;
  box-shadow:0 5px 17px rgba(20,38,65,.14),0 1px 4px rgba(20,38,65,.055)!important;
  outline:1px solid rgba(219,225,234,.75)!important;
  outline-offset:-1px!important;
  overflow:visible!important; /* Avatar, Herz und Teilen nicht beschneiden. */
  height:494px!important;
  min-height:494px!important;
  max-height:494px!important;
  transition:box-shadow .18s ease!important;
}
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card:hover,
html body .dipani-projects-grid > article.dipani-exact-card:hover {
  box-shadow:0 8px 23px rgba(20,38,65,.18),0 2px 6px rgba(20,38,65,.07)!important;
}
/* Innen etwas Luft, ohne Kartengroesse, Bildgroesse oder Button-Stil zu veraendern. */
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card > .dipani-exact-body,
html body .dipani-projects-grid > article.dipani-exact-card > .dipani-exact-body {
  padding:0 9px 10px!important;
  border-radius:0 0 18px 18px!important;
}
/* Das Bild bleibt vollstaendig im bisherigen 230x230-Format. */
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card > .dipani-exact-media,
html body .dipani-projects-grid > article.dipani-exact-card > .dipani-exact-media {
  border-radius:18px 18px 0 0!important;
}
/* Preisspanne wie in der Vorlage in einer Zeile (bei grossen Betragen darf sie umbrechen). */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-exact-price.has-range {
  justify-content:center!important;
  line-height:18px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v718-price-range {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  column-gap:4px!important;
  row-gap:0!important;
  width:100%!important;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;
  line-height:18px!important;
  color:#172033!important;
  text-align:left!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v718-price-range .dipani-v718-bound {
  display:inline-flex!important;
  align-items:baseline!important;
  gap:2px!important;
  white-space:nowrap!important;
  line-height:18px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v718-price-range .dipani-v715-price-number {
  font-size:12.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  color:#172033!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v718-price-range .dipani-exact-currency {
  font-size:11px!important;
  font-weight:800!important;
  color:#D92946!important;
  white-space:nowrap!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v718-price-range .dipani-v718-divider {
  color:#172033!important;
  font-size:12.5px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) .dipani-v718-price-range .dipani-v718-limit-label {
  font-size:11px!important;
  font-weight:750!important;
  color:#63728C!important;
}


/* =====================================================================
   DIPANI V7.19 – KLEINER FEINSCHLIFF AUF BASIS V7.18
   NUR: Karten +8px (230 -> 238), vollflaechige 238px-Bilder,
   sanfter Bildbeschnitt gegen weisse Randpixel, explizite Ab/Bis-Labels.
   Karten, Suche, Filter, Icons, Favoriten, Share und CTA unveraendert.
   ===================================================================== */
/* Card and photo are always exactly the same width (no white side gutter). */
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card,
html body .dipani-projects-grid > article.dipani-exact-card {
  width:238px!important;
  min-width:238px!important;
  max-width:238px!important;
  flex:0 0 238px!important;
  height:502px!important;
  min-height:502px!important;
  max-height:502px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card > .dipani-exact-media {
  width:238px!important;
  min-width:238px!important;
  max-width:238px!important;
  height:238px!important;
  min-height:238px!important;
  max-height:238px!important;
  margin-left:0!important;
  margin-right:0!important;
  padding:0!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-exact-image {
  left:0!important;
  right:0!important;
  top:0!important;
  bottom:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
/* Crops ~4px at each edge for photos containing a narrow white source border. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-exact-image > img {
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  transform:scale(1.035)!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card:hover .dipani-exact-image > img {
  transform:scale(1.055)!important;
}
/* Existing price values remain unchanged. Each bound carries its own label,
   so even a wrapped range shows clearly which value is minimum/maximum. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  justify-content:flex-start!important;
  align-content:center!important;
  align-items:baseline!important;
  column-gap:6px!important;
  row-gap:1px!important;
  min-width:0!important;
  width:100%!important;
  line-height:17px!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range > .dipani-v718-bound {
  display:inline-flex!important;
  flex:0 1 auto!important;
  align-items:baseline!important;
  gap:3px!important;
  min-width:0!important;
  line-height:17px!important;
  white-space:nowrap!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-limit-label {
  display:inline!important;
  flex:0 0 auto!important;
  font-size:11px!important;
  line-height:17px!important;
  color:#63728C!important;
  font-weight:700!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range .dipani-v715-price-number {
  font-size:12.5px!important;
  line-height:17px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range .dipani-v718-divider {
  font-size:12px!important;
  line-height:17px!important;
  margin-right:0!important;
  color:#516078!important;
}


/* ================================================================
   DIPANI V7.21 – moderate card width + single-row Ab/Bis prices.
   Only visual layout; original WP values, URLs, buttons and queries
   remain unchanged. 238px -> 290px; media retains 238px height.
   ================================================================ */
html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card,
html body .dipani-projects-grid > article.dipani-exact-card {
  width:290px!important;
  min-width:290px!important;
  max-width:290px!important;
  flex:0 0 290px!important;
}
/* Image stretches edge-to-edge like the card, retaining old height. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card > .dipani-exact-media {
  width:290px!important;
  min-width:290px!important;
  max-width:290px!important;
  height:238px!important;
  min-height:238px!important;
  max-height:238px!important;
}
/* A price range stays ONE line. Original numeric values are not touched. */
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range {
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  white-space:nowrap!important;
  column-gap:4px!important;
  width:100%!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range > .dipani-v718-bound {
  flex:0 0 auto!important;
  gap:2px!important;
  white-space:nowrap!important;
}
html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range .dipani-v715-price-number {
  font-size:12px!important;
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  letter-spacing:-.1px!important;
}
/* Narrow phones: contain the card instead of forcing page overflow. */
@media (max-width:350px) {
  html body .dipani-projects-grid > article.dipani-exact-card,
  html body .dipani-archive-grid :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card {
    width:min(290px,calc(100vw - 44px))!important;
    min-width:0!important;
    max-width:min(290px,calc(100vw - 44px))!important;
    flex-basis:min(290px,calc(100vw - 44px))!important;
  }
  html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card > .dipani-exact-media {
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body :is(:is(#listeo-listings-container[data-style="grid"], .dipani-v749-results),.dipani-projects-grid) article.dipani-exact-card .dipani-v718-price-range .dipani-v715-price-number {
    font-size:11px!important;
  }
}


/* ==================================================================
   DIPANI V7.40 – Preisblock NUR in Rasterkarten mittig ausrichten.
   Die horizontale Listenansicht, Preise/Waehrungen, Karte, Buttons,
   Filter und festen Kartenabmessungen bleiben unveraendert.
   ================================================================== */
html body .dipani-archive-grid:not(.dipani-v728-list) :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) article.dipani-exact-card .dipani-exact-price,
html body .dipani-projects-grid article.dipani-exact-card .dipani-exact-price {
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
/* Vorhandene Ab-/Bis-Preise als zentrierte Gruppe; nur bei Platzmangel
   darf eine ganze Preisgrenze (nicht Zahl + DH) umbrechen. */
html body .dipani-archive-grid:not(.dipani-v728-list) :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) article.dipani-exact-card .dipani-v718-price-range,
html body .dipani-projects-grid article.dipani-exact-card .dipani-v718-price-range {
  justify-content:center!important;
  align-items:center!important;
  align-content:center!important;
  flex-wrap:wrap!important;
  white-space:normal!important;
  text-align:center!important;
  min-width:0!important;
  max-width:100%!important;
}
html body .dipani-archive-grid:not(.dipani-v728-list) :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) article.dipani-exact-card .dipani-v718-price-range > .dipani-v718-bound,
html body .dipani-projects-grid article.dipani-exact-card .dipani-v718-price-range > .dipani-v718-bound {
  flex:0 0 auto!important;
  white-space:nowrap!important;
}
/* Festpreis (einschliesslich DH) und ehrlicher Hinweis ohne Preis. */
html body .dipani-archive-grid:not(.dipani-v728-list) :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) article.dipani-exact-card .dipani-v715-price-fixed,
html body .dipani-projects-grid article.dipani-exact-card .dipani-v715-price-fixed {
  justify-content:center!important;
  text-align:center!important;
}
html body .dipani-archive-grid:not(.dipani-v728-list) :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) article.dipani-exact-card .dipani-exact-price-hint,
html body .dipani-projects-grid article.dipani-exact-card .dipani-exact-price-hint {
  display:block!important;
  width:100%!important;
  text-align:center!important;
}


/* DIPANI V7.42 – five-star display based on the REAL saved Listeo rating.
   Yellow clipping reflects decimal scores (4.5 -> 90% of five stars),
   not the old full-star 0.5 threshold. Does not affect other star widgets. */
html body .dipani-exact-card .dipani-exact-stars {
  position:relative!important;
  display:inline-block!important;
  width:max-content!important;
  flex:0 0 auto!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:14px!important;
  line-height:1!important;
  letter-spacing:1px!important;
  direction:ltr!important;
  white-space:nowrap!important;
  vertical-align:middle!important;
}
html body .dipani-exact-card .dipani-exact-stars > .dipani-exact-stars-base,
html body .dipani-exact-card .dipani-exact-stars > .dipani-exact-stars-fill {
  display:block!important;
  margin:0!important;
  padding:0!important;
  font:inherit!important;
  line-height:inherit!important;
  letter-spacing:inherit!important;
  white-space:nowrap!important;
}
html body .dipani-exact-card .dipani-exact-stars > .dipani-exact-stars-base {
  color:#CBD5E1!important;
}
html body .dipani-exact-card .dipani-exact-stars > .dipani-exact-stars-fill {
  position:absolute!important;
  top:0!important;
  left:0!important;
  height:100%!important;
  overflow:hidden!important;
  color:#F5B300!important;
  pointer-events:none!important;
}

/* V7.67 – Category badges: keep the entire term visible, even on narrow cards.
   Narrow content wraps to two lines instead of drawing under the two tools. */
html body :is(#listeo-listings-container[data-style="grid"],.dipani-v749-results,.dipani-projects-grid) article.dipani-exact-card .dipani-exact-media .dipani-exact-badge{
  max-width:calc(100% - 108px)!important; width:max-content!important;
  height:auto!important; max-height:52px!important; min-height:28px!important;
  padding:6px 9px!important; border-radius:13px!important;
  font-size:11px!important; font-weight:750!important; line-height:1.25!important;
  text-align:left!important; justify-content:flex-start!important;
  white-space:normal!important; overflow-wrap:anywhere!important; word-break:normal!important;
  overflow:hidden!important; text-overflow:clip!important; letter-spacing:0!important;
}
@media (max-width:420px){
 html body :is(#listeo-listings-container[data-style="grid"],.dipani-v749-results,.dipani-projects-grid) article.dipani-exact-card .dipani-exact-media .dipani-exact-badge{font-size:10.5px!important;max-width:calc(100% - 96px)!important;}
}

/* DIPANI V7.90 – Materialkarten: echte Normal-/Großhandelspreise, Menge, Versand.
   Bewusst nur `lieferant`: andere Karten und deren Preis-/Layoutlogik unverändert. */
html body article.dipani-exact-card.dipani-material-card .dipani-exact-price.dipani-v790-price {
  display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important;
  flex:0 0 auto!important;width:100%!important;height:auto!important;
  min-height:74px!important;max-height:none!important;overflow:visible!important;
  white-space:normal!important;text-overflow:clip!important;
  margin:2px 0 7px!important;padding:8px 10px!important;
  background:#FBF8F3!important;border:1px solid #EEE3D7!important;border-radius:12px!important;
  color:#243044!important;text-align:left!important;
}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-price-row {
  display:flex!important;flex-wrap:wrap!important;justify-content:space-between!important;align-items:baseline!important;
  gap:3px 6px!important;min-width:0!important;font-size:11px!important;line-height:1.35!important;
}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-label {
  font-size:10.5px!important;font-weight:600!important;color:#59677A!important;
}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-amount {
  display:inline!important;font-size:12px!important;font-weight:800!important;line-height:1.4!important;
  color:#0A3696!important;white-space:normal!important;overflow-wrap:normal!important;
}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-amount span {
  font-size:10.5px!important;font-weight:650!important;color:#42516A!important;
  white-space:nowrap!important;
}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-min,
html body article.dipani-exact-card.dipani-material-card .dipani-v790-shipping,
html body article.dipani-exact-card.dipani-material-card .dipani-v790-no-price {
  font-size:10.5px!important;line-height:1.45!important;color:#415067!important;white-space:normal!important;
}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-min {text-align:right!important;}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-shipping {
  margin-top:3px!important;padding-top:5px!important;border-top:1px solid #E8DDD0!important;
  text-align:left!important;
}
html body article.dipani-exact-card.dipani-material-card .dipani-v790-shipping > span {font-size:12px!important;}
/* Material cards need room for two prices + delivery; other listing cards are untouched. */
html body .dipani-archive-grid:not(.dipani-v728-list) :is(#listeo-listings-container[data-style="grid"],.dipani-v749-results) > article.dipani-exact-card.dipani-material-card {
  height:566px!important;min-height:566px!important;max-height:566px!important;
}
/* Horizontal Listeo list view: no artificial card height. */
html body .dipani-archive-grid.dipani-v728-list article.dipani-exact-card.dipani-material-card .dipani-exact-price.dipani-v790-price {
  max-width:360px!important;margin:0!important;
}
@media (max-width:620px) {
  html body article.dipani-exact-card.dipani-material-card .dipani-exact-price.dipani-v790-price {padding:7px 9px!important;}
}

/* V7.90: override older fixed 22px archive-price rules (highest-specificity scope). */
html body .dipani-archive-grid:not(.dipani-v728-list) :is(#listeo-listings-container[data-style="grid"],.dipani-v749-results) > article.dipani-exact-card.dipani-material-card > .dipani-exact-body > .dipani-exact-price.dipani-v790-price {
    display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center!important;
    flex:0 0 auto!important;flex-basis:auto!important;
    height:auto!important;min-height:85px!important;max-height:none!important;
    overflow:visible!important;white-space:normal!important;
    padding:9px 11px!important;margin:1px 0 8px!important;
    text-align:left!important;
}


/* =====================================================================
   DIPANI V7.91 – Einheitliche Grid-Kartenhöhe für ALLE Listing-Typen.
   Gleiche Breite (290px), gleiche Höhe (566px), CTAs am unteren Rand.
   Gilt nur für Kartenraster; Listeo-Listenansicht bleibt unangetastet.
   Keine fehlenden Preise oder Lieferwerte vortäuschen.
   Die V7.90-Materialpreisbox bleibt im bestätigten Beige-Design.
   ===================================================================== */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card,
html body .dipani-projects-grid > article.dipani-exact-card {
  width:290px!important;
  min-width:290px!important;
  max-width:290px!important;
  flex:0 0 290px!important;
  height:566px!important;
  min-height:566px!important;
  max-height:566px!important;
  align-self:flex-start!important;
}
/* Unabhängig von Preismodell und Listing-Typ läuft der Card-Body bis zur CTA-Zeile. */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card > .dipani-exact-body,
html body .dipani-projects-grid > article.dipani-exact-card > .dipani-exact-body {
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
}
/* Verhindert springende Buttons bei kurzen Dienstleistungs-/Projektkarten. */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card > .dipani-exact-body > .dipani-exact-actions,
html body .dipani-projects-grid > article.dipani-exact-card > .dipani-exact-body > .dipani-exact-actions {
  flex:0 0 auto!important;
  margin-top:auto!important;
  margin-bottom:0!important;
}
/* Bei kleinen Displays bleibt die bestehende responsive Kartenbreite erhalten. */
@media (max-width:350px) {
  html body .dipani-archive-grid:not(.dipani-v728-list)
    :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results) > article.dipani-exact-card,
  html body .dipani-projects-grid > article.dipani-exact-card {
    width:min(290px,calc(100vw - 44px))!important;
    min-width:0!important;
    max-width:min(290px,calc(100vw - 44px))!important;
    flex-basis:min(290px,calc(100vw - 44px))!important;
  }
}


/* =======================================================================
   DIPANI V7.92 – Freiraum sinnvoll mit ECHTER Beschreibung nutzen.
   Nur im Raster und nur fuer Nicht-Materialkarten; keine Auswirkungen auf
   Listeo-Listenansicht, Materialpreise, Filter oder Single Listing.
   Die bisherige Zwei-Zeilen-Grenze gilt fuer diese Karten nicht mehr.
   ======================================================================= */
html body .dipani-archive-grid:not(.dipani-v728-list)
 :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
 > article.dipani-exact-card:not(.dipani-material-card)
 > .dipani-exact-body > p.dipani-exact-description,
html body .dipani-projects-grid
 > article.dipani-exact-card:not(.dipani-material-card)
 > .dipani-exact-body > p.dipani-exact-description {
  display:-webkit-box!important;
  height:auto!important;
  min-height:0!important;
  max-height:78px!important;
  flex:0 0 auto!important;
  -webkit-line-clamp:5!important;
  line-clamp:5;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  line-height:15.5px!important;
  margin:5px 0 7px!important;
  padding:0!important;
  position:static!important;
}
/* Dienstleister ohne eingegebenen Beschreibungstext erhalten keinen
   kuenstlichen Platzhalter oder fiktive Leistungen. */
html body .dipani-archive-grid:not(.dipani-v728-list)
 :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
 > article.dipani-exact-card:not(.dipani-material-card)
 > .dipani-exact-body > p.dipani-exact-description.is-empty,
html body .dipani-projects-grid
 > article.dipani-exact-card:not(.dipani-material-card)
 > .dipani-exact-body > p.dipani-exact-description.is-empty {
  visibility:hidden!important;
  height:0!important;
  max-height:0!important;
  margin:0!important;
}


/* ========================================================================
   DIPANI V7.93 – Preis-/Angebotsbereich in ALLEN Rasterkarten vereinheitlichen.
   Die Materialkarte behaelt ihren vorhandenen Beige-Block. Nicht-Material-
   karten bekommen fuer ihre bereits gespeicherten Preis-/Budgetangaben einen
   gleichwertigen, ruhigen Block. Keine erfundenen Werte, keine Datenmigration.
   Nur Raster; Liste, Single Listing, Formular und Filter bleiben unberuehrt.
   ======================================================================== */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price,
html body .dipani-projects-grid
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price {
    box-sizing:border-box!important;
    display:flex!important;
    flex:0 0 56px!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:2px!important;
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    margin:1px 0 8px!important;
    padding:6px 10px!important;
    border:1px solid var(--dipani-warm-border,#EEE3D7)!important;
    border-radius:13px!important;
    background:var(--dipani-warm-surface,#FBF8F3)!important;
    overflow:hidden!important;
    white-space:normal!important;
    color:var(--dipani-warm-text,#243044)!important;
    text-align:center!important;
}
/* Der Titel ist eine praezise Bezeichnung, kein zusaetzliches Preisfeld. */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price::before,
html body .dipani-projects-grid
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price::before {
    display:block!important;
    flex:0 0 auto!important;
    content:"Preisangabe";
    color:var(--dipani-warm-muted,#59677A)!important;
    font-size:11px!important;
    font-weight:650!important;
    line-height:1.3!important;
    letter-spacing:.005em!important;
}
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card-project:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price::before,
html body .dipani-projects-grid
  > article.dipani-exact-card-project:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price::before {
    content:"Budget";
}
/* Bestehende Preise, Spannen und Hinweise bleiben sichtbar und lesbar. */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price > *,
html body .dipani-projects-grid
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price > * {
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    flex:0 0 auto!important;
    white-space:normal!important;
    text-align:center!important;
}
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price .dipani-v718-price-range,
html body .dipani-projects-grid
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > .dipani-exact-price .dipani-v718-price-range {
    display:flex!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    column-gap:4px!important;
    row-gap:1px!important;
    max-height:45px!important;
    overflow:hidden!important;
}
/* Bei kurzen Beschreibungen keine leeren oder kuenstlich generierten Saetze. */

/* Vier gut lesbare Zeilen verhindern Ueberlauf bei Preisbox + Buttons.
   Immer noch mehr als die urspruenglichen zwei Zeilen; kein Text erfunden. */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > p.dipani-exact-description,
html body .dipani-projects-grid
  > article.dipani-exact-card:not(.dipani-material-card)
  > .dipani-exact-body > p.dipani-exact-description {
    -webkit-line-clamp:4!important;
    line-clamp:4;
    max-height:62px!important;
}


/* ========================================================================
   DIPANI V7.94 – Einheitlich DREI Textzeilen in ALLEN Rasterkarten:
   Firmen, Handwerker, Maallem, Materialien/Lieferanten, Maschinen und
   Kundenanzeigen. Einheitliche Hoehe auch bei kurzen Beschreibungen.
   Keine Anpassung von Preis-, Liefer- und CTA-Elementen oder der Listeo-
   Listenansicht. Text wird an genau drei Zeilen optisch gekuerzt.
   ======================================================================== */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card.dipani-exact-card > .dipani-exact-body > p.dipani-exact-description,
html body .dipani-projects-grid
  > article.dipani-exact-card.dipani-exact-card > .dipani-exact-body > p.dipani-exact-description {
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  line-clamp:3;
  box-sizing:border-box!important;
  flex:0 0 45px!important;
  height:45px!important;
  min-height:45px!important;
  max-height:45px!important;
  width:100%!important;
  line-height:15px!important;
  margin:2px 0 4px!important;
  padding:0!important;
  overflow:hidden!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  hyphens:auto!important;
  position:static!important;
}
/* Leere Beschreibungen besetzen dieselbe Hoehe, enthalten aber keinen
   kuenstlich erzeugten Text. Einheitliche Zeilen-/Icon-Ausrichtung. */
html body .dipani-archive-grid:not(.dipani-v728-list)
  :is(#listeo-listings-container[data-style="grid"], .dipani-v749-results)
  > article.dipani-exact-card.dipani-exact-card > .dipani-exact-body > p.dipani-exact-description.is-empty,
html body .dipani-projects-grid
  > article.dipani-exact-card.dipani-exact-card > .dipani-exact-body > p.dipani-exact-description.is-empty {
  visibility:hidden!important;
  display:-webkit-box!important;
  flex:0 0 45px!important;
  height:45px!important;
  min-height:45px!important;
  max-height:45px!important;
  margin:2px 0 4px!important;
}
