.elementor-5470 .elementor-element.elementor-element-2a93255{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5470 .elementor-element.elementor-element-2a93255:not(.elementor-motion-effects-element-type-background), .elementor-5470 .elementor-element.elementor-element-2a93255 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-9995973 );}.elementor-5470 .elementor-element.elementor-element-758a619{--display:flex;--min-height:200px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--padding-top:0;--padding-bottom:0;--padding-left:var(--spacing-80);--padding-right:0;}.elementor-5470 .elementor-element.elementor-element-758a619:not(.elementor-motion-effects-element-type-background), .elementor-5470 .elementor-element.elementor-element-758a619 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-f3f0282 );}.elementor-5470 .elementor-element.elementor-element-b874933{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-5470 .elementor-element.elementor-element-98b6f7e{--display:flex;--min-height:100%;--overflow:hidden;}.elementor-5470 .elementor-element.elementor-element-a789625{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:solid;--border-style:solid;border-width:0px 1px 1px 1px;--border-top-width:0px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:var( --e-global-color-b55b435 );--border-color:var( --e-global-color-b55b435 );--padding-top:var(--spacing-24);--padding-bottom:var(--spacing-24);--padding-left:var(--spacing-24);--padding-right:var(--spacing-24);}.elementor-5470 .elementor-element.elementor-element-4e11a85 .jet-listing-dynamic-terms{text-align:left;}.elementor-5470 .elementor-element.elementor-element-4e11a85 .jet-listing-dynamic-terms__link{font-family:var( --e-global-typography-1e7678e-font-family ), Sans-serif;font-size:var( --e-global-typography-1e7678e-font-size );font-weight:var( --e-global-typography-1e7678e-font-weight );text-transform:var( --e-global-typography-1e7678e-text-transform );line-height:var( --e-global-typography-1e7678e-line-height );letter-spacing:var( --e-global-typography-1e7678e-letter-spacing );color:var( --e-global-color-188ba5c );}.elementor-5470 .elementor-element.elementor-element-943d64a > .elementor-widget-container{padding:var(--spacing-8) 0 var(--spacing-32) 0;}.elementor-5470 .elementor-element.elementor-element-943d64a{font-family:var( --e-global-typography-1d0da5b-font-family ), Sans-serif;font-size:var( --e-global-typography-1d0da5b-font-size );font-weight:var( --e-global-typography-1d0da5b-font-weight );line-height:var( --e-global-typography-1d0da5b-line-height );color:var( --e-global-color-f3f0282 );}.elementor-5470 .elementor-element.elementor-element-943d64a p{margin-block-end:0px;}.elementor-5470 .elementor-element.elementor-element-943d64a a{color:var( --e-global-color-text );}.elementor-5470 .elementor-element.elementor-element-943d64a a:hover, .elementor-5470 .elementor-element.elementor-element-943d64a a:focus{color:var( --e-global-color-primary );}@media(max-width:1024px){.elementor-5470 .elementor-element.elementor-element-4e11a85 .jet-listing-dynamic-terms__link{font-size:var( --e-global-typography-1e7678e-font-size );line-height:var( --e-global-typography-1e7678e-line-height );letter-spacing:var( --e-global-typography-1e7678e-letter-spacing );}.elementor-5470 .elementor-element.elementor-element-943d64a{font-size:var( --e-global-typography-1d0da5b-font-size );line-height:var( --e-global-typography-1d0da5b-line-height );}}@media(max-width:767px){.elementor-5470 .elementor-element.elementor-element-4e11a85 .jet-listing-dynamic-terms__link{font-size:var( --e-global-typography-1e7678e-font-size );line-height:var( --e-global-typography-1e7678e-line-height );letter-spacing:var( --e-global-typography-1e7678e-letter-spacing );}.elementor-5470 .elementor-element.elementor-element-943d64a{font-size:var( --e-global-typography-1d0da5b-font-size );line-height:var( --e-global-typography-1d0da5b-line-height );}}/* Start custom CSS for container, class: .elementor-element-758a619 *//* REFERENZEN LISTING – vollständiger Ersatz für die bisherige Version.
   Außen: referenz-listing-hero (ohne referenz-hero).
   Logo-Container: referenz-hero__content.
   Logo-Widget zusätzlich: referenz-listing-hero__logo.
   Foto-Container: referenz-hero-image.
   Foto-Widget: referenz-hero__photo (nur am Foto, nicht am Logo).
*/

.referenz-listing-hero {
  --listing-background: var(--color-deep-sea, #002e33);
  --listing-accent: var(--color-bright-yellow, #e1ff51);
  --listing-image-position: 50% 50%;
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 2 / 1;
  flex: 0 0 auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  isolation: isolate;
  box-sizing: border-box;
  background: var(--listing-background) !important;
}

.referenz-listing-hero > .e-con-inner {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Gemeinsame Zeichenfläche für Foto und beide Pfeile. */
.referenz-listing-hero .referenz-hero-image {
  position: absolute !important;
  z-index: 1;
  inset: 0 0 0 auto !important;
  width: 42% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  transform: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  clip-path: none !important;
}

.referenz-listing-hero .referenz-hero__photo {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  clip-path: polygon(22% 0, 100% 0, 100% 100%, 46.75% 100%, 0 32%) !important;
}

.referenz-listing-hero .referenz-hero__photo :is(
  .elementor-widget-container, .jet-listing-dynamic-image, a, picture, img
) {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  -webkit-mask: none !important;
  mask: none !important;
  clip-path: none !important;
}

.referenz-listing-hero .referenz-hero__photo img {
  object-fit: cover !important;
  object-position: var(--listing-image-position) !important;
}

/* Gleicher Knickpunkt (0 / 32%) und gleiche Steigung wie die Fotokante.
   Keine separat skalierte SVG-Maske und kein negativer Versatz. */
.referenz-listing-hero .referenz-hero-image::before,
.referenz-listing-hero .referenz-hero-image::after {
  content: "" !important;
  position: absolute !important;
  z-index: 2;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: var(--listing-accent) !important;
  -webkit-mask: none !important;
  mask: none !important;
  pointer-events: none;
}

.referenz-listing-hero .referenz-hero-image::before {
  clip-path: polygon(22% 0, 30% 0, 8% 32%, 30% 64%, 22% 64%, 0 32%) !important;
}

.referenz-listing-hero .referenz-hero-image::after {
  clip-path: polygon(32% 11%, 40% 11%, 25.5625% 32%, 40% 53%, 32% 53%, 17.5625% 32%) !important;
}

/* Eigener begrenzter Bereich für das Logo. */
.referenz-listing-hero .referenz-hero__content {
  position: absolute !important;
  z-index: 3;
  inset: 0 auto 0 0 !important;
  display: block !important;
  width: 58% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  background: transparent !important;
  -webkit-mask: none !important;
  mask: none !important;
  clip-path: none !important;
}

.referenz-listing-hero .referenz-hero__content > .e-con-inner {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Klasse direkt am Logo-Widget innerhalb von referenz-hero__content. */
.referenz-listing-hero .referenz-hero__content .referenz-listing-hero__logo {
  position: absolute !important;
  inset: 28% auto auto 17% !important;
  width: 66% !important;
  max-width: 66% !important;
  height: 44% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  overflow: visible !important;
  -webkit-mask: none !important;
  mask: none !important;
  clip-path: none !important;
}

.referenz-listing-hero .referenz-listing-hero__logo :is(
  .elementor-widget-container, .jet-listing-dynamic-image, a, picture, img
) {
  position: static !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  transform: none !important;
  overflow: visible !important;
  -webkit-mask: none !important;
  mask: none !important;
  clip-path: none !important;
}

.referenz-listing-hero .referenz-listing-hero__logo img {
  object-fit: contain !important;
  object-position: center !important;
}

/* =========================================================
   KARTEN-HOVER
   Gesamte Karte (Hero + Text): referenz-listing-card
   Textcontainer unter dem Hero: referenz-listing-card__body
   Branchen-Widget: referenz-listing-card__category
   ========================================================= */

.referenz-listing-card {
  --listing-card-background: #ffffff;
  --listing-card-text: var(--color-deep-sea, #012c2d);
  --listing-card-category: var(--color-rich-teal, #079985);
  --listing-card-hover-background: #00594f;
  display: flex !important;
  flex-direction: column !important;
  height: 100%;
  box-sizing: border-box;
  background-color: var(--listing-card-background) !important;
  background-image: none !important;
  transition: background-color 200ms ease;
}

/* Auch bei einem Elementor-Container mit innerem Wrapper bleibt
   die gesamte Kartenhöhe eine zusammenhängende Farbfläche. */
.referenz-listing-card > .e-con-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100%;
  background: transparent !important;
}

/* Variablen wechseln auf der gesamten Karte, auch über dem Bild. */
@media (hover: hover) and (pointer: fine) {
  .referenz-listing-card:hover {
    --listing-card-background: var(--listing-card-hover-background);
    --listing-card-text: #ffffff;
    --listing-card-category: var(--color-bright-yellow, #e1ff51);
  }
}

.referenz-listing-card:focus-within {
  --listing-card-background: var(--listing-card-hover-background);
  --listing-card-text: #ffffff;
  --listing-card-category: var(--color-bright-yellow, #e1ff51);
}

.referenz-listing-card .referenz-listing-card__body {
  flex: 1 1 auto !important;
  background-color: var(--listing-card-background) !important;
  background-image: none !important;
  color: var(--listing-card-text) !important;
  transition: background-color 200ms ease, color 200ms ease;
}

.referenz-listing-card .referenz-listing-card__body :is(
  h1, h2, h3, h4, h5, h6, p, a, span,
  .elementor-heading-title,
  .elementor-widget-text-editor,
  .jet-listing-dynamic-field__content,
  .jet-listing-dynamic-link__link,
  .elementor-button
) {
  color: var(--listing-card-text) !important;
  transition: color 200ms ease;
}

/* Branche zuletzt, damit sie ihre eigene Akzentfarbe erhält. */
.referenz-listing-card .referenz-listing-card__body .referenz-listing-card__category,
.referenz-listing-card .referenz-listing-card__body .referenz-listing-card__category * {
  color: var(--listing-card-category) !important;
  transition: color 200ms ease;
}

/* SVG-Pfeile folgen der Textfarbe; ungefüllte Konturen bleiben erhalten. */
.referenz-listing-card .referenz-listing-card__body a svg {
  fill: currentColor;
}

.referenz-listing-card .referenz-listing-card__body a svg [fill]:not([fill="none"]) {
  fill: currentColor !important;
}

.referenz-listing-card .referenz-listing-card__body a svg [stroke]:not([stroke="none"]) {
  stroke: currentColor !important;
}

.referenz-listing-card .referenz-listing-card__body a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 5px;
}

@media (prefers-reduced-motion: reduce) {
  .referenz-listing-card,
  .referenz-listing-card .referenz-listing-card__body,
  .referenz-listing-card .referenz-listing-card__body * {
    transition: none !important;
  }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-2c90a69 */.elementor-5470 .elementor-element.elementor-element-2c90a69 {
    margin-top: auto;
}/* End custom CSS */