.elementor-1222 .elementor-element.elementor-element-8fa4e34{--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;--padding-top:5%;--padding-bottom:5%;--padding-left:2%;--padding-right:2%;}.elementor-1222 .elementor-element.elementor-element-34f8883{--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;--flex-wrap:wrap;--overflow:auto;}.elementor-1222 .elementor-element.elementor-element-9baddd4 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;color:var( --e-global-color-fdd75f2 );}.elementor-1222 .elementor-element.elementor-element-2aa2952{font-family:"Montserrat", Sans-serif;}.elementor-1222 .elementor-element.elementor-element-f3d5d92{--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;--flex-wrap:wrap;--overflow:auto;}.elementor-1222 .elementor-element.elementor-element-967e0b4{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-1222 .elementor-element.elementor-element-975c0d2 .elementor-icon-wrapper{text-align:center;}.elementor-1222 .elementor-element.elementor-element-013d332 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;color:var( --e-global-color-2596a6f );}.elementor-1222 .elementor-element.elementor-element-e667da7{color:var( --e-global-color-2596a6f );}.elementor-1222 .elementor-element.elementor-element-29cb51e{--display:flex;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-1222 .elementor-element.elementor-element-6e9761f .elementor-icon-wrapper{text-align:center;}.elementor-1222 .elementor-element.elementor-element-77bd622 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;color:var( --e-global-color-2596a6f );}.elementor-1222 .elementor-element.elementor-element-202664b{color:var( --e-global-color-2596a6f );}.elementor-1222 .elementor-element.elementor-element-28974ef{--display:flex;--padding-top:5%;--padding-bottom:5%;--padding-left:2%;--padding-right:2%;}.elementor-1222 .elementor-element.elementor-element-c11d368{--display:flex;--padding-top:5%;--padding-bottom:5%;--padding-left:2%;--padding-right:2%;}.elementor-1222 .elementor-element.elementor-element-a103559{--display:flex;--min-height:500px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--overlay-opacity:0.8;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-1222 .elementor-element.elementor-element-a103559:not(.elementor-motion-effects-element-type-background), .elementor-1222 .elementor-element.elementor-element-a103559 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://malerbetrieb-niedermaier.de/wp-content/uploads/2025/11/DSC02943-scaled.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1222 .elementor-element.elementor-element-a103559::before, .elementor-1222 .elementor-element.elementor-element-a103559 > .elementor-background-video-container::before, .elementor-1222 .elementor-element.elementor-element-a103559 > .e-con-inner > .elementor-background-video-container::before, .elementor-1222 .elementor-element.elementor-element-a103559 > .elementor-background-slideshow::before, .elementor-1222 .elementor-element.elementor-element-a103559 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1222 .elementor-element.elementor-element-a103559 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{--background-overlay:'';}.elementor-1222 .elementor-element.elementor-element-2130996 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-weight:600;color:var( --e-global-color-2596a6f );}.elementor-1222 .elementor-element.elementor-element-35be8b4{color:var( --e-global-color-2596a6f );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1222 .elementor-element.elementor-element-967e0b4{--width:49%;}.elementor-1222 .elementor-element.elementor-element-29cb51e{--width:49%;}}@media(max-width:767px){.elementor-1222 .elementor-element.elementor-element-8fa4e34{--content-width:100%;--padding-top:15%;--padding-bottom:15%;--padding-left:3%;--padding-right:3%;}.elementor-1222 .elementor-element.elementor-element-34f8883{--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;--justify-content:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:nowrap;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-1222 .elementor-element.elementor-element-f3d5d92{--justify-content:flex-start;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--flex-wrap:nowrap;--padding-top:10%;--padding-bottom:10%;--padding-left:2%;--padding-right:2%;}.elementor-1222 .elementor-element.elementor-element-967e0b4{--width:100%;}.elementor-1222 .elementor-element.elementor-element-29cb51e{--width:100%;}.elementor-1222 .elementor-element.elementor-element-28974ef{--padding-top:15%;--padding-bottom:15%;--padding-left:3%;--padding-right:3%;}.elementor-1222 .elementor-element.elementor-element-c11d368{--padding-top:15%;--padding-bottom:15%;--padding-left:3%;--padding-right:3%;}.elementor-1222 .elementor-element.elementor-element-a103559{--justify-content:center;}}/* Start custom CSS for heading, class: .elementor-element-9baddd4 */.section-title {
  margin: 0;

  color: rgba(255, 255, 255, 0.45);

  font-size: clamp(2.3rem, 4vw, 4rem);
  font-weight: 650;
  line-height: 1.08;
  letter-spacing: -0.045em;
}

.section-title span {
  position: relative;
  display: inline-block;

  color: #58e0a4;

  text-shadow:
    0 0 24px rgba(88, 224, 164, 0.16);
}

.section-title span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 4%;
  bottom: -8px;

  height: 2px;
  border-radius: 999px;

  background: linear-gradient(
    90deg,
    rgba(88, 224, 164, 0.65),
    rgba(88, 224, 164, 0)
  );
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-2aa2952 */.section-intro {

    max-width: 700px;

    margin-top: 24px;
    margin-bottom: 64px;

    font-size: clamp(1.05rem, 1.15vw, 1.15rem);

    line-height: 1.95;

    font-weight: 400;

    letter-spacing: -0.025em;

    color: rgba(255,255,255,.60);

    text-wrap: pretty;

    opacity: .95;
}

.section-intro strong{
    color:#fff;
    font-weight:600;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-34f8883 *//* Desktop */
.elementor-1222 .elementor-element.elementor-element-34f8883 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-1222 .elementor-element.elementor-element-34f8883 {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 100% !important;

    gap: 22px;
    padding-left: 18px;
    padding-right: 18px;

    overflow: visible !important;
  }

  .elementor-1222 .elementor-element.elementor-element-34f8883 > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}/* End custom CSS */
/* Start custom CSS for icon, class: .elementor-element-975c0d2 *//* ===========================================
   PREMIUM ICON
=========================================== */

.service-icon{

    width:86px;
    height:86px;

    display:grid;
    place-items:center;

    position:relative;

    border-radius:24px;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.015)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        0 15px 45px rgba(0,0,0,.30);

    transition:.45s cubic-bezier(.2,.8,.2,1);
}

/* grüner Glow */

.service-icon::before{

    content:"";

    position:absolute;
    inset:-25%;

    background:

    radial-gradient(
        circle,
        rgba(68,235,160,.22),
        transparent 70%
    );

    opacity:.8;

    transition:.45s;
}

/* Lichtreflex */

.service-icon::after{

    content:"";

    position:absolute;

    top:0;
    left:18%;
    right:18%;

    height:1px;

    background:

    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.65),
        transparent
    );

    opacity:.7;
}

/* ICON */

.service-icon i{

    position:relative;
    z-index:2;

    display:grid;
    place-items:center;

    width:100%;
    height:100%;

    font-size:36px;

    color:#57d89d;

    line-height:1;

    transform:translateY(1px);

    text-shadow:
        0 0 18px rgba(87,216,157,.18);

    transition:.45s;
}

/* Hover */

.premium-card:hover .service-icon,
.image-card:hover .service-icon{

    transform:
        translateY(-4px)
        scale(1.05);

    border-color:rgba(87,216,157,.30);

    box-shadow:
        0 25px 60px rgba(0,0,0,.35),
        0 0 45px rgba(87,216,157,.10),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.premium-card:hover .service-icon::before,
.image-card:hover .service-icon::before{

    transform:scale(1.3);
    opacity:1;
}

.premium-card:hover .service-icon i,
.image-card:hover .service-icon i{

    color:#6ff0b2;

    transform:
        translateY(1px)
        scale(1.08);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-013d332 */.card-title{

    margin:0 0 18px;

    font-size:clamp(2rem,2.4vw,2.8rem);

    font-weight:700;

    line-height:1.05;

    letter-spacing:-0.045em;

    color:#ffffff;

    text-wrap:balance;
}

.card-title span{

    position:relative;

    display:inline-block;

    color:#58E0A4;

    text-shadow:
        0 0 20px rgba(88,224,164,.18);

    transition:.35s ease;
}

.card-title span::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-6px;

    width:100%;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            rgba(88,224,164,.65),
            rgba(88,224,164,0)
        );

    opacity:.75;

    transition:.35s ease;
}

.premium-card:hover .card-title span{

    color:#74F0B8;

    text-shadow:
        0 0 28px rgba(116,240,184,.28);
}

.premium-card:hover .card-title span::after{

    opacity:1;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-e667da7 */.card-text{

    margin:0;

    max-width:92%;

    font-size:1.02rem;

    font-weight:400;

    line-height:1.85;

    letter-spacing:-0.015em;

    color:rgba(255,255,255,.68);

    text-wrap:pretty;

    text-rendering:optimizeLegibility;

    transition:
        color .35s ease,
        transform .35s ease;
}

/* Hover */

.premium-card:hover .card-text{

    color:rgba(255,255,255,.82);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-967e0b4 */.premium-card {
  position: relative;
  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.045),
      rgba(255, 255, 255, 0.012)
    );

  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 20px;
  padding: 34px;

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);

  transition: all 0.35s ease;
}

.premium-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12%;
  right: 12%;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(75, 225, 153, 0.55),
    transparent
  );

  opacity: 0.6;
}

.premium-card:hover {
  transform: translateY(-6px);
  border-color: rgba(75, 225, 153, 0.28);

  box-shadow:
    0 24px 65px rgba(0, 0, 0, 0.30),
    0 0 45px rgba(42, 176, 109, 0.08);
}/* End custom CSS */
/* Start custom CSS for icon, class: .elementor-element-6e9761f *//* ===========================================
   PREMIUM ICON
=========================================== */

.service-icon{

    width:86px;
    height:86px;

    display:grid;
    place-items:center;

    position:relative;

    border-radius:24px;

    overflow:hidden;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.06),
            rgba(255,255,255,.015)
        );

    border:1px solid rgba(255,255,255,.08);

    backdrop-filter:blur(20px);
    -webkit-backdrop-filter:blur(20px);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        0 15px 45px rgba(0,0,0,.30);

    transition:.45s cubic-bezier(.2,.8,.2,1);
}

/* grüner Glow */

.service-icon::before{

    content:"";

    position:absolute;
    inset:-25%;

    background:

    radial-gradient(
        circle,
        rgba(68,235,160,.22),
        transparent 70%
    );

    opacity:.8;

    transition:.45s;
}

/* Lichtreflex */

.service-icon::after{

    content:"";

    position:absolute;

    top:0;
    left:18%;
    right:18%;

    height:1px;

    background:

    linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.65),
        transparent
    );

    opacity:.7;
}

/* ICON */

.service-icon i{

    position:relative;
    z-index:2;

    display:grid;
    place-items:center;

    width:100%;
    height:100%;

    font-size:36px;

    color:#57d89d;

    line-height:1;

    transform:translateY(1px);

    text-shadow:
        0 0 18px rgba(87,216,157,.18);

    transition:.45s;
}

/* Hover */

.premium-card:hover .service-icon,
.image-card:hover .service-icon{

    transform:
        translateY(-4px)
        scale(1.05);

    border-color:rgba(87,216,157,.30);

    box-shadow:
        0 25px 60px rgba(0,0,0,.35),
        0 0 45px rgba(87,216,157,.10),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.premium-card:hover .service-icon::before,
.image-card:hover .service-icon::before{

    transform:scale(1.3);
    opacity:1;
}

.premium-card:hover .service-icon i,
.image-card:hover .service-icon i{

    color:#6ff0b2;

    transform:
        translateY(1px)
        scale(1.08);
}/* End custom CSS */
/* Start custom CSS for heading, class: .elementor-element-77bd622 */.card-title{

    margin:0 0 18px;

    font-size:clamp(2rem,2.4vw,2.8rem);

    font-weight:700;

    line-height:1.05;

    letter-spacing:-0.045em;

    color:#ffffff;

    text-wrap:balance;
}

.card-title span{

    position:relative;

    display:inline-block;

    color:#58E0A4;

    text-shadow:
        0 0 20px rgba(88,224,164,.18);

    transition:.35s ease;
}

.card-title span::after{

    content:"";

    position:absolute;

    left:0;
    bottom:-6px;

    width:100%;
    height:2px;

    border-radius:999px;

    background:
        linear-gradient(
            90deg,
            rgba(88,224,164,.65),
            rgba(88,224,164,0)
        );

    opacity:.75;

    transition:.35s ease;
}

.premium-card:hover .card-title span{

    color:#74F0B8;

    text-shadow:
        0 0 28px rgba(116,240,184,.28);
}

.premium-card:hover .card-title span::after{

    opacity:1;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-202664b */.card-text{

    margin:0;

    max-width:92%;

    font-size:1.02rem;

    font-weight:400;

    line-height:1.85;

    letter-spacing:-0.015em;

    color:rgba(255,255,255,.68);

    text-wrap:pretty;

    text-rendering:optimizeLegibility;

    transition:
        color .35s ease,
        transform .35s ease;
}

/* Hover */

.premium-card:hover .card-text{

    color:rgba(255,255,255,.82);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-29cb51e */.premium-card {
  position: relative;
  overflow: hidden;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.045),
      rgba(255, 255, 255, 0.012)
    );

  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 20px;
  padding: 34px;

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.22);

  transition: all 0.35s ease;
}

.premium-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12%;
  right: 12%;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(75, 225, 153, 0.55),
    transparent
  );

  opacity: 0.6;
}

.premium-card:hover {
  transform: translateY(-6px);
  border-color: rgba(75, 225, 153, 0.28);

  box-shadow:
    0 24px 65px rgba(0, 0, 0, 0.30),
    0 0 45px rgba(42, 176, 109, 0.08);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-f3d5d92 */@media (max-width: 767px) {

    .elementor-1222 .elementor-element.elementor-element-f3d5d92 {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 16px;

        overflow-x: auto;
        overflow-y: hidden;

        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;

        scroll-snap-type: x mandatory;
        overscroll-behavior-x: contain;

        padding-right: 12%;
    }

    .elementor-1222 .elementor-element.elementor-element-f3d5d92::-webkit-scrollbar {
        display: none;
    }

    .elementor-1222 .elementor-element.elementor-element-f3d5d92 > .e-con {
        flex: 0 0 86%;
        min-width: 86%;
        scroll-snap-align: start;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-c5957cc */.stats-section {
  width: 100%;
  padding: 80px 0;
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.stat-card {
  position: relative;
  overflow: hidden;
  min-height: 260px;
  padding: 36px;

  display: flex;
  flex-direction: column;
  justify-content: flex-end;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.045),
      rgba(255, 255, 255, 0.012)
    );

  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 22px;

  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);

  box-shadow:
    0 18px 50px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);

  transition:
    transform 0.35s ease,
    border-color 0.35s ease,
    box-shadow 0.35s ease;
}

/* Grüne Lichtkante */
.stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12%;
  right: 12%;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(75, 225, 153, 0.60),
    transparent
  );

  opacity: 0.7;
}

/* Grüner Glow */
.stat-card::after {
  content: "";
  position: absolute;
  top: -90px;
  right: -90px;
  width: 230px;
  height: 230px;

  background: radial-gradient(
    circle,
    rgba(69, 215, 145, 0.15),
    transparent 70%
  );

  pointer-events: none;
}

.stat-card:hover {
  transform: translateY(-6px);
  border-color: rgba(75, 225, 153, 0.28);

  box-shadow:
    0 24px 65px rgba(0, 0, 0, 0.30),
    0 0 45px rgba(42, 176, 109, 0.08);
}

.stat-number {
  position: relative;
  z-index: 2;

  margin-bottom: 18px;

  color: #5de0a0;
  font-size: clamp(3.2rem, 6vw, 5.8rem);
  line-height: 0.9;
  font-weight: 700;
  letter-spacing: -0.06em;
}

.stat-number::after {
  content: "+";
  margin-left: 4px;
  font-size: 0.55em;
  vertical-align: top;
}

.stat-label {
  position: relative;
  z-index: 2;

  margin-bottom: 12px;

  color: #ffffff;
  font-size: 1.1rem;
  line-height: 1.3;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.stat-text {
  position: relative;
  z-index: 2;

  margin: 0;

  color: rgba(255, 255, 255, 0.66);
  font-size: 0.96rem;
  line-height: 1.65;
}

/* Responsive */
@media (max-width: 1024px) {
  .stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .stats-section {
    padding: 56px 0;
  }

  .stats-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .stat-card {
    min-height: 220px;
    padding: 28px;
    border-radius: 18px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a103559 *//* ==========================================================
   PREMIUM IMAGE CARD
   Nur diese Klasse vergeben:
   image-card
========================================================== */

.image-card{
    position:relative;
    overflow:hidden;
    isolation:isolate;

    border-radius:20px;
    border:1px solid rgba(255,255,255,.10);

    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);

    box-shadow:
        0 18px 50px rgba(0,0,0,.22),
        inset 0 1px 0 rgba(255,255,255,.04);

    transition:
        transform .35s ease,
        border-color .35s ease,
        box-shadow .35s ease;
}

/* Premium Overlay */

.image-card::before{

    content:"";
    position:absolute;
    inset:0;
    z-index:1;
    pointer-events:none;

    background:

    radial-gradient(
        circle at 85% 50%,
        rgba(60,220,145,.20) 0%,
        rgba(30,140,90,.10) 35%,
        transparent 72%
    ),

    linear-gradient(
        90deg,
        rgba(3,3,3,.96) 0%,
        rgba(5,6,5,.90) 18%,
        rgba(6,10,8,.74) 42%,
        rgba(7,18,13,.42) 68%,
        rgba(7,22,15,.12) 100%
    ),

    linear-gradient(
        180deg,
        rgba(255,255,255,.02),
        rgba(0,0,0,.12)
    );

    transition:.45s ease;
}

/* Grüne Lichtkante oben */

.image-card::after{

    content:"";

    position:absolute;

    top:0;
    left:12%;
    right:12%;

    height:1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(75,225,153,.55),
            transparent
        );

    opacity:.6;

    z-index:3;
}

/* Inhalte über das Overlay */

.image-card > *{

    position:relative;
    z-index:2;
}

/* Hover */

.image-card:hover{

    transform:translateY(-6px);

    border-color:rgba(75,225,153,.28);

    box-shadow:
        0 24px 65px rgba(0,0,0,.30),
        0 0 45px rgba(42,176,109,.08),
        inset 0 1px 0 rgba(255,255,255,.05);
}

.image-card:hover::before{

    background:

    radial-gradient(
        circle at 85% 50%,
        rgba(70,230,160,.28) 0%,
        rgba(35,160,105,.14) 35%,
        transparent 72%
    ),

    linear-gradient(
        90deg,
        rgba(3,3,3,.90) 0%,
        rgba(5,6,5,.82) 20%,
        rgba(6,12,9,.58) 45%,
        rgba(7,18,13,.24) 72%,
        rgba(7,22,15,.05) 100%
    );
}

/* Typografie */

.image-card h1,
.image-card h2,
.image-card h3,
.image-card h4{

    color:#fff;

    text-shadow:
        0 2px 18px rgba(0,0,0,.35);
}

.image-card p{

    color:rgba(255,255,255,.82);

    text-shadow:
        0 2px 12px rgba(0,0,0,.30);
}/* End custom CSS */
/* Start custom CSS *//* Grundfläche der gesamten Website */
html,
body {
  min-height: 100%;
  background-color: #050706;
}

body {
  position: relative;
  isolation: isolate;
  color: #ffffff;
}

/* Durchgängiger Hintergrund über die komplette Seite */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;

  background:
    radial-gradient(
      circle at 82% 78%,
      rgba(29, 160, 101, 0.40) 0%,
      rgba(20, 112, 73, 0.28) 23%,
      rgba(11, 68, 45, 0.16) 43%,
      rgba(5, 28, 19, 0.08) 62%,
      transparent 80%
    ),
    radial-gradient(
      circle at 66% 42%,
      rgba(23, 116, 78, 0.18) 0%,
      transparent 54%
    ),
    radial-gradient(
      circle at 92% 16%,
      rgba(15, 82, 56, 0.13) 0%,
      transparent 46%
    ),
    linear-gradient(
      135deg,
      #050505 0%,
      #060806 36%,
      #07100c 70%,
      #081810 100%
    );

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

/* Leichte Abdunklung für bessere Lesbarkeit */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;

  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0.04) 0%,
    rgba(0, 0, 0, 0.01) 50%,
    rgba(0, 0, 0, 0.10) 100%
  );
}

/*
Nur die äußeren Seitenbereiche transparent machen.
Einzelne Elementor-Container dürfen weiterhin eigene
Hintergrundfarben, Bilder und Verläufe erhalten.
*/
body.elementor-page,
.site,
.site-content,
.content-area,
main,
.elementor-location-header,
.elementor-location-footer,
.elementor-page > .elementor {
  background-color: transparent;
}

/* Keine globale Transparenz mehr für .e-con oder .elementor-section *//* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Montserrat';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://malerbetrieb-niedermaier.de/wp-content/uploads/2025/06/Montserrat-VariableFont_wght.ttf') format('truetype');
}
/* End Custom Fonts CSS */