.elementor-349 .elementor-element.elementor-element-77aff8a3{--display:flex;--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:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;border-style:none;--border-style:none;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-349 .elementor-element.elementor-element-77aff8a3:not(.elementor-motion-effects-element-type-background), .elementor-349 .elementor-element.elementor-element-77aff8a3 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#CA000000;}.elementor-349 .elementor-element.elementor-element-197c3056{--display:flex;--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:space-between;--align-items:center;--gap:0px 40px;--row-gap:0px;--column-gap:40px;--border-radius:0px 0px 10px 10px;box-shadow:0px 2px 4px 0px rgba(16.999999999999996, 22.000000000000043, 51, 0.10196078431372549);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:11px;--padding-bottom:12px;--padding-left:25px;--padding-right:25px;}.elementor-349 .elementor-element.elementor-element-197c3056:not(.elementor-motion-effects-element-type-background), .elementor-349 .elementor-element.elementor-element-197c3056 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-349 .elementor-element.elementor-element-403883b8{text-align:start;}.elementor-349 .elementor-element.elementor-element-403883b8 img{width:130px;}.elementor-349 .elementor-element.elementor-element-2e6e1832 .ekit-btn-wraper .elementskit-btn{justify-content:center;}.elementor-349 .elementor-element.elementor-element-2e6e1832 .elementskit-btn{background-color:#FF000AE8;padding:16px 13px 16px 13px;font-family:"Montserrat", Sans-serif;font-size:12px;font-weight:700;text-transform:uppercase;line-height:0px;color:#FFFFFF;fill:#FFFFFF;border-style:groove;border-width:2px 2px 2px 2px;border-color:#FFFFFF;border-radius:8px 8px 8px 8px;box-shadow:0px 0px 10px 0px rgba(214.87070312499998, 13.549845799985132, 13.549845799985132, 0.5);}.elementor-349 .elementor-element.elementor-element-2e6e1832 .elementskit-btn:hover{background-color:#D82500;color:#ffffff;fill:#ffffff;border-color:#F6F6F6;}.elementor-349 .elementor-element.elementor-element-2e6e1832{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;border-style:none;border-radius:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-349 .elementor-element.elementor-element-77aff8a3{--justify-content:space-between;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-349 .elementor-element.elementor-element-197c3056{--justify-content:space-between;--padding-top:14px;--padding-bottom:14px;--padding-left:25px;--padding-right:25px;}.elementor-349 .elementor-element.elementor-element-403883b8 img{width:125px;}.elementor-349 .elementor-element.elementor-element-2e6e1832 .ekit-btn-wraper .elementskit-btn{justify-content:flex-end;}}@media(max-width:767px){.elementor-349 .elementor-element.elementor-element-77aff8a3{--justify-content:space-between;}.elementor-349 .elementor-element.elementor-element-197c3056{--width:100%;--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:space-between;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:13px;--padding-bottom:13px;--padding-left:15px;--padding-right:15px;}.elementor-349 .elementor-element.elementor-element-403883b8{text-align:start;}.elementor-349 .elementor-element.elementor-element-403883b8 img{width:120px;}.elementor-349 .elementor-element.elementor-element-2e6e1832 .ekit-btn-wraper .elementskit-btn{justify-content:center;}.elementor-349 .elementor-element.elementor-element-2e6e1832{width:auto;max-width:auto;}.elementor-349 .elementor-element.elementor-element-2e6e1832 .elementskit-btn{width:100%;padding:20px 0px 20px 0px;font-size:11px;}}@media(min-width:768px){.elementor-349 .elementor-element.elementor-element-77aff8a3{--content-width:1200px;}}@media(max-width:1024px) and (min-width:768px){.elementor-349 .elementor-element.elementor-element-197c3056{--width:100%;}}/* Start custom CSS for elementskit-button, class: .elementor-element-2e6e1832 *//* Elementor – Eigenes CSS */
/* Sicherstellen, dass Effekt exakt die Button-Größe nutzt (nicht Container) */

/* Wichtig:
   - Dieser Code geht davon aus, dass du das CSS direkt im Button-Widget unter
     "Eigenes CSS" einfügst (.elementor-349 .elementor-element.elementor-element-2e6e1832 bleibt unverändert).
   - Falls du den Button per innerem Link-Element renderst (z. B. <a> oder <span>),
     müssen wir sicherstellen, dass das Element, auf das .elementor-349 .elementor-element.elementor-element-2e6e1832 zeigt, die
     tatsächliche sichtbare Button-Fläche ist.
*/

/* 1) Basis – Button-Element exakt als Bezugspunkt */
.elementor-349 .elementor-element.elementor-element-2e6e1832 {
    /* macht das Button-Element zum Bezugspunkt für ::before / ::after */
    position: relative !important;
    display: inline-block !important; /* verhindert, dass Container die Breite bestimmt */
    width: auto !important;            /* überschreibt ggf. volle-Container-Breite */
    max-width: none !important;
    padding: 13px !important;          /* gewünschtes Padding */
    border-radius: 8px !important;     /* gewünschte Rundung */
    overflow: hidden !important;       /* begrenzt Glow & Lichtstrahl auf Button-Fläche */
    box-shadow: none !important;       /* keinen äußeren Schatten */
    vertical-align: middle;
}

/* 2) Wenn Elementor das sichtbare Button-Element als inneres Link-Element erzeugt,
   greifen wir zusätzlich das direkte Kind an (FALLS nötig).
   Das hilft, wenn ".elementor-349 .elementor-element.elementor-element-2e6e1832" auf einen umschließenden Container zeigt.
*/
.elementor-349 .elementor-element.elementor-element-2e6e1832 > a,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > button,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > span {
    position: relative !important;
    display: inline-block !important;
    width: auto !important;
    max-width: none !important;
    padding: inherit !important;
    border-radius: inherit !important;
    overflow: hidden !important;
}

/* 3) Innerer Glow genau auf Button-Größe (nutzt inset:0 auf dem referenzierten Element) */
.elementor-349 .elementor-element.elementor-element-2e6e1832::before,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > a::before,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > button::before,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > span::before {
    content: "";
    position: absolute;
    inset: 0;                 /* bezieht sich auf das jeweilige Button-Element */
    border-radius: inherit;
    pointer-events: none;
    background: radial-gradient(circle at 50% 50%,
        rgba(255, 80, 80, 0.45),
        rgba(255, 40, 40, 0.25) 40%,
        transparent 60%);
    mix-blend-mode: screen;
    opacity: 0;
    transform: scale(1);
    will-change: opacity, transform;
    animation: inner-glow 1.4s infinite;
}

/* 4) Lichtstrahl innerhalb des Buttons (ebenfalls an das echte Button-Element binden) */
.elementor-349 .elementor-element.elementor-element-2e6e1832::after,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > a::after,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > button::after,
.elementor-349 .elementor-element.elementor-element-2e6e1832 > span::after {
    content: "";
    position: absolute;
    top: 0;
    left: -120%;
    height: 100%;
    width: 40%;
    pointer-events: none;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(255,255,255,0.85) 45%,
        rgba(255,255,255,0.35) 55%,
        transparent 100%
    );
    filter: blur(6px);
    transform: translateX(0);
}

/* 5) Keyframes / Animationen */
@keyframes inner-glow {
    0%   { opacity: 0; transform: scale(1); }
    40%  { opacity: 0.9; transform: scale(1.02); }
    70%  { opacity: 0.5; transform: scale(1.01); }
    100% { opacity: 0; transform: scale(1); }
}

.elementor-349 .elementor-element.elementor-element-2e6e1832:hover::after,
.elementor-349 .elementor-element.elementor-element-2e6e1832:hover > a::after,
.elementor-349 .elementor-element.elementor-element-2e6e1832:hover > button::after,
.elementor-349 .elementor-element.elementor-element-2e6e1832:hover > span::after {
    animation: light-sweep 0.9s ease-in-out forwards;
}

.elementor-349 .elementor-element.elementor-element-2e6e1832:hover::before,
.elementor-349 .elementor-element.elementor-element-2e6e1832:hover > a::before,
.elementor-349 .elementor-element.elementor-element-2e6e1832:hover > button::before,
.elementor-349 .elementor-element.elementor-element-2e6e1832:hover > span::before {
    animation: inner-glow-hover 0.9s ease-in-out forwards;
    opacity: 0.95;
}

@keyframes inner-glow-hover {
    0%   { opacity: 0.25; transform: scale(1); }
    50%  { opacity: 0.95; transform: scale(1.03); }
    100% { opacity: 0.4; transform: scale(1.01); }
}

@keyframes light-sweep {
    from { left: -120%; transform: translateX(0); }
    50%  { left: 50%; transform: translateX(-50%); }
    to   { left: 120%; transform: translateX(0); }
}

/* 6) Mobile / Performance-Fallback */
@media (prefers-reduced-motion: reduce) {
    .elementor-349 .elementor-element.elementor-element-2e6e1832::before,
    .elementor-349 .elementor-element.elementor-element-2e6e1832::after,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > a::before,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > a::after,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > button::before,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > button::after,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > span::before,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > span::after {
        animation: none !important;
        transition: none !important;
    }
    .elementor-349 .elementor-element.elementor-element-2e6e1832::before,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > a::before,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > button::before,
    .elementor-349 .elementor-element.elementor-element-2e6e1832 > span::before {
        opacity: 0.6;
    }
}/* End custom CSS */