.elementor-190 .elementor-element.elementor-element-aff7498{--display:flex;--min-height:96vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;--margin-top:0em;--margin-bottom:0em;--margin-left:0em;--margin-right:0em;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-190 .elementor-element.elementor-element-322bcf0{width:var( --container-widget-width, 50% );max-width:50%;margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 2%;--container-widget-width:50%;--container-widget-flex-grow:0;z-index:9;}.elementor-190 .elementor-element.elementor-element-322bcf0 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );color:var( --e-global-color-text );}.elementor-190 .elementor-element.elementor-element-e15446f{--display:flex;--margin-top:0%;--margin-bottom:0%;--margin-left:0%;--margin-right:0%;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:1;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );}.elementor-190 .elementor-element.elementor-element-2ab0f69{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-190 .elementor-element.elementor-element-2ab0f69 img{width:100%;max-width:100%;}.elementor-190 .elementor-element.elementor-element-bd71cf6{--display:flex;--position:absolute;--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;--justify-content:flex-end;--gap:0px 15px;--row-gap:0px;--column-gap:15px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:2%;bottom:-3vh;}body:not(.rtl) .elementor-190 .elementor-element.elementor-element-bd71cf6{left:0px;}body.rtl .elementor-190 .elementor-element.elementor-element-bd71cf6{right:0px;}.elementor-190 .elementor-element.elementor-element-8a0d76d{--e-filter-direction:row;--e-filter-white-space:nowrap;--e-filter-justify-content:flex-end;--e-filter-item-width:initial;--e-filter-item-flex-grow:0;--e-filter-wrap:wrap;--e-filter-overflow-x:initial;--e-filter-space-between:15px;--e-filter-normal-text-color:var( --e-global-color-text );--e-filter-hover-text-color:var( --e-global-color-text );--e-filter-active-text-color:var( --e-global-color-text );--e-filter-item-border-radius:0px 0px 0px 0px;}.elementor-190 .elementor-element.elementor-element-8a0d76d .e-filter-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );padding:0px 0px 0px 0px;}.elementor-190 .elementor-element.elementor-element-8a0d76d .e-filter-item:not( [aria-pressed=true] ):not( :hover ){border-style:solid;border-width:0px 0px 2.9px 0px;border-color:var( --e-global-color-text );}.elementor-190 .elementor-element.elementor-element-8a0d76d .e-filter-item:hover:not( [aria-pressed=true] ){border-style:solid;border-width:0px 0px 2.9px 0px;border-color:var( --e-global-color-accent );}.elementor-190 .elementor-element.elementor-element-8a0d76d .e-filter-item[aria-pressed="true"]{border-style:solid;border-width:0px 0px 2.9px 0px;border-color:var( --e-global-color-accent );}.elementor-190 .elementor-element.elementor-element-86d3d65{--display:flex;}.elementor-190 .elementor-element.elementor-element-d5c5365{--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;}.elementor-190 .elementor-element.elementor-element-5b65c64 .elementor-heading-title{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );color:var( --e-global-color-text );}.elementor-190 .elementor-element.elementor-element-9b70cee{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:15px 0px;--row-gap:15px;--column-gap:0px;--margin-top:4em;--margin-bottom:8em;--margin-left:0em;--margin-right:0em;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-190 .elementor-element.elementor-element-b24669b{--display:flex;--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 30px;--row-gap:0px;--column-gap:30px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );}.elementor-190 .elementor-element.elementor-element-83488f5{--grid-columns:6;--grid-row-gap:30px;width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;--grid-column-gap:30px;}.elementor-190 .elementor-element.elementor-element-83488f5 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-190 .elementor-element.elementor-element-83488f5 .e-loop-item > .elementor-section, .elementor-190 .elementor-element.elementor-element-83488f5 .e-loop-item > .elementor-section > .elementor-container, .elementor-190 .elementor-element.elementor-element-83488f5 .e-loop-item > .e-con, .elementor-190 .elementor-element.elementor-element-83488f5 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}@media(min-width:768px){.elementor-190 .elementor-element.elementor-element-e15446f{--width:100%;}.elementor-190 .elementor-element.elementor-element-bd71cf6{--width:100%;}.elementor-190 .elementor-element.elementor-element-b24669b{--width:96%;}}@media(max-width:1024px){.elementor-190 .elementor-element.elementor-element-322bcf0 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-190 .elementor-element.elementor-element-8a0d76d .e-filter-item{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-190 .elementor-element.elementor-element-5b65c64 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-190 .elementor-element.elementor-element-83488f5{--grid-columns:2;}}@media(max-width:767px){.elementor-190 .elementor-element.elementor-element-aff7498{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:flex-end;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-190 .elementor-element.elementor-element-322bcf0{margin:0% 0% calc(var(--kit-widget-spacing, 0px) + 0%) 0%;--container-widget-width:96%;--container-widget-flex-grow:0;width:var( --container-widget-width, 96% );max-width:96%;}.elementor-190 .elementor-element.elementor-element-322bcf0.elementor-element{--order:99999 /* order end hack */;}.elementor-190 .elementor-element.elementor-element-322bcf0 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-190 .elementor-element.elementor-element-bd71cf6{--width:96%;--justify-content:flex-start;bottom:0vh;}body:not(.rtl) .elementor-190 .elementor-element.elementor-element-bd71cf6{left:0px;}body.rtl .elementor-190 .elementor-element.elementor-element-bd71cf6{right:0px;}.elementor-190 .elementor-element.elementor-element-8a0d76d .e-filter-item{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-190 .elementor-element.elementor-element-d5c5365{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:10px 0px;--row-gap:10px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-190 .elementor-element.elementor-element-5b65c64{width:var( --container-widget-width, 92% );max-width:92%;--container-widget-width:92%;--container-widget-flex-grow:0;}.elementor-190 .elementor-element.elementor-element-5b65c64 .elementor-heading-title{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-190 .elementor-element.elementor-element-9b70cee{--margin-top:3em;--margin-bottom:6em;--margin-left:0em;--margin-right:0em;}.elementor-190 .elementor-element.elementor-element-b24669b{--justify-content:center;}.elementor-190 .elementor-element.elementor-element-83488f5{--grid-columns:1;--grid-row-gap:30px;--container-widget-width:92%;--container-widget-flex-grow:0;width:var( --container-widget-width, 92% );max-width:92%;--grid-column-gap:0px;}}/* Start custom CSS for container, class: .elementor-element-aff7498 */.filter-projekte .elementor-widget-container > div {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px;
}

.filter-projekte .e-filter-item {
    order: -1 !important; /* Zwingt "Alle" nach ganz links */
    position: relative;
    z-index: 10;
    display: inline-block !important;
    pointer-events: auto !important;
    cursor: none !important;
    text-align: center;
}

/* Löst das "e"-Problem: Text fängt Klicks nicht ab */
.filter-projekte .e-filter-item .elementor-icon-list-text {
    pointer-events: none !important;
    display: inline-block;
}

/* Aktiver Zustand (Orange) */
.filter-projekte .e-filter-item.is-active .elementor-icon-list-text {
    border-bottom: 2.9px solid #FF8400 !important;
}

/* --- Deine Hero Animation (Unverändert) --- */
.hero-anim {
  position: relative;
  min-height: 100vh;
}

.hero-anim .hero-text {
  flex: 0 0 40%;
  transform: translateY(-44vh);
  will-change: transform, flex-basis; 
}

.hero-anim .hero-image-box {
  width: 60%;
  display: flex;
  height: 60vh;
  align-self: flex-end;
  position: relative;
  transform-origin: bottom right;
  transform: translateY(0);
  will-change: transform, width, height;
  margin-left: auto; 
}

.hero-anim .hero-image-box .elementor-widget-image {
  flex: 1 1 auto;
  height: 100%;
}

.hero-anim .hero-image-box img {
  width: 100%;
  height: 100% !important;
  object-fit: cover;
  object-position: 0px -35px;
  display: block;
}

.hero-anim .buttons-filter {
  transform: translateY(-45vh);
  opacity: 0;
  will-change: opacity;
}

.hero-anim.is-animated .buttons-filter {
  position: absolute;
  width: 100%;
  left: 0;
  animation: buttonsFadeIn 0.5s ease-out forwards;
  animation-delay: 2.5s;
}

@keyframes buttonsFadeIn {
  0% { opacity: 0; transform: translateY(-5vh); }
  100% { opacity: 1; transform: translateY(-5vh); }
}

.hero-anim.is-animated .hero-image-box {
  animation: heroImageUpScale 3s cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
}

.hero-anim.is-animated .hero-text {
  animation: heroTextDown 2.5s ease-out forwards;
  position: absolute;
  margin: 0;
  padding-left: 2%;
}

.hero-anim > .e-con-inner {
  display: flex;
  align-items: flex-end; 
}

@keyframes heroImageUpScale {
  0% { transform: translateY(0); width: 60%; height: 60vh; }
  100% { transform: translateY(-14vh); width: 100%; height: 86vh; }
}

@keyframes heroTextDown {
  0% { transform: translateY(-45vh); opacity: 1; flex-basis: 40%; }
  100% { transform: translateY(-2vh); opacity: 1; flex-basis: 0%; }
}

@media only screen and (min-width: 1366px) and (max-width: 1380px) and (orientation: landscape) {
   @keyframes heroImageUpScale {
  0% { transform: translateY(0); width: 60%; height: 60vh; }
  100% { transform: translateY(-17.5vh); width: 100%; height: 83vh; }
}

@keyframes heroTextDown {
  0% { transform: translateY(-45vh); opacity: 1; flex-basis: 40%; }
  100% { transform: translateY(-8vh); opacity: 1; flex-basis: 0%; }
}

.buttons-filter{
    bottom: 3vh !important;
}
}


@media (max-width: 767px) {
  .hero-anim, .hero-anim * { animation: none !important; transform: none !important; }
  .hero-anim { min-height: auto; }
  .hero-anim > .e-con-inner { flex-direction: column; align-items: stretch; }
  .hero-anim .hero-image-box, .hero-anim .hero-text, .hero-anim .buttons-filter {
    position: static !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-83488f5 *//* Basis: 1/3 */
.post-karte .e-loop-item {
  grid-column: span 2 !important;
  min-width: 0; 
}

/* 2/3 */
.post-karte .e-loop-item.layout-2,
.post-karte .e-loop-item.layout-3 {
  grid-column: span 4 !important;
}

/* 1/3 */
.post-karte .e-loop-item.layout-1,
.post-karte .e-loop-item.layout-4 {
  grid-column: span 2 !important;
}

/* Full width */
.post-karte .e-loop-item.layout-5 {
  grid-column: span 6 !important;
}

/* 1/2 + 1/2  */
.post-karte .e-loop-item.layout-6,
.post-karte .e-loop-item.layout-7 {
  grid-column: span 3 !important;
}


/* opacity Regel */
.post-karte .e-loop-item{
  opacity: 1;
  transition: opacity 0.3s ease;
}

/* NUR für Desktop/Maus-Nutzer */
@media (hover: hover) and (pointer: fine) {
  .post-karte:not(.filter-active):has(.e-loop-item:hover) .e-loop-item {
    opacity: 0.4;
  }

  .post-karte:not(.filter-active):has(.e-loop-item:hover) .e-loop-item:hover {
    opacity: 1;
  }
}

/* Filter-Regeln (bleiben außerhalb für Touch-Support) */
.post-karte.filter-active .e-loop-item.is-dim {
  opacity: 0.4 !important;
  pointer-events: none;
  cursor: default;
}

.post-karte.filter-active .e-loop-item.is-match{
  opacity: 1 !important;
}/* End custom CSS */