.elementor-20 .elementor-element.elementor-element-668e5e7{--display:flex;--min-height:80px;--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;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#DDDDDD;--border-color:#DDDDDD;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;--z-index:99;}.elementor-20 .elementor-element.elementor-element-668e5e7:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-668e5e7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-20 .elementor-element.elementor-element-6eae4a6{--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:flex-start;--align-items:center;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-e96d2d6{--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;--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-20 .elementor-element.elementor-element-e96d2d6.e-con{--flex-grow:0;--flex-shrink:0;}.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-20 .elementor-element.elementor-element-40b024e{width:var( --container-widget-width, 39px );max-width:39px;margin:-5px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:39px;--container-widget-flex-grow:0;}.elementor-20 .elementor-element.elementor-element-40b024e img{width:30px;}.elementor-20 .elementor-element.elementor-element-ce40233{margin:0px 15px calc(var(--kit-widget-spacing, 0px) + 0px) 15px;text-align:left;}.elementor-20 .elementor-element.elementor-element-ce40233 img{width:160px;max-width:100%;}.elementor-20 .elementor-element.elementor-element-ae47e0b{--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:flex-end;--align-items:center;--flex-wrap:nowrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-e449123{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-20 .elementor-element.elementor-element-8b175c1 img{width:27px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-20 .elementor-element.elementor-element-45e708b .elementor-button{background-color:var( --e-global-color-primary );font-family:"Manrope", Sans-serif;font-size:1rem;font-weight:600;fill:var( --e-global-color-02be9e9 );color:var( --e-global-color-02be9e9 );border-radius:50px 50px 50px 50px;padding:13px 17px 13px 17px;}.elementor-20 .elementor-element.elementor-element-45e708b .elementor-button:hover, .elementor-20 .elementor-element.elementor-element-45e708b .elementor-button:focus{background-color:var( --e-global-color-1f6282a );border-color:var( --e-global-color-1f6282a );}.elementor-20 .elementor-element.elementor-element-45e708b{width:var( --container-widget-width, 275px );max-width:275px;--container-widget-width:275px;--container-widget-flex-grow:0;}.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-20 .elementor-element.elementor-element-668e5e7{--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-20 .elementor-element.elementor-element-40b024e img{width:35px;}.elementor-20 .elementor-element.elementor-element-ce40233{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 10px;}.elementor-20 .elementor-element.elementor-element-ce40233 img{width:150px;}.elementor-20 .elementor-element.elementor-element-e449123.elementor-element{--order:-99999 /* order start hack */;}}@media(max-width:767px){.elementor-20 .elementor-element.elementor-element-668e5e7{--min-height:60px;--padding-top:10px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-20 .elementor-element.elementor-element-6eae4a6{--flex-direction:row-reverse;--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-reverse;--justify-content:space-between;--align-items:center;--margin-top:0px;--margin-bottom:-5px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-e96d2d6{--width:160px;--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 20px;--row-gap:0px;--column-gap:20px;--flex-wrap:nowrap;}.elementor-20 .elementor-element.elementor-element-40b024e img{width:35px;max-width:35px;}.elementor-20 .elementor-element.elementor-element-ce40233{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;}.elementor-20 .elementor-element.elementor-element-ce40233 img{width:150px;}.elementor-20 .elementor-element.elementor-element-ae47e0b{--flex-direction:row-reverse;--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-reverse;--justify-content:space-between;--align-items:center;--margin-top:0px;--margin-bottom:-5px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-6eae4a6{--width:50%;}.elementor-20 .elementor-element.elementor-element-e96d2d6{--width:40px;}.elementor-20 .elementor-element.elementor-element-ae47e0b{--width:50%;}}@media(max-width:1024px) and (min-width:768px){.elementor-20 .elementor-element.elementor-element-6eae4a6{--width:40%;}.elementor-20 .elementor-element.elementor-element-ae47e0b{--width:60%;}}/* Start custom CSS for image, class: .elementor-element-ce40233 */.header-search-container {
    position: relative;
    height: 40px;
    width: 100%;
    max-width: 300px;
}

.header-search-field {
    width: 100%;
    height: 100%;
    padding-right: 70px;
    border: 1px solid #DFDFDF;
    border-radius: 50px;
    font-size: 14px;
    padding: 8px 15px;
    box-sizing: border-box;
    font-family: Inter;
    color: #002D2D;
    background-color: white;
}

.header-search-button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3px;
    width: 60px;
    height: 34px;
    border: none;
    border-radius: 50px;
    background-color: #DFDFDF;
    color: #002D2D;
    font-size: 14px;
    cursor: pointer;
    font-family: Inter;
}

.header-search-button:hover {
    background-color: #d0d0d0;
}

.elementor-20 .elementor-element.elementor-element-ce40233 img {
    min-width: 160px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e449123 *//* Language Switcher Container */
#language-switcher {
    position: relative;
    display: inline-block;
    z-index: 9999;
}

#language-switcher,
#language-switcher * {
    pointer-events: auto !important;
}

/* Current Language Button */
.current-language {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: white;
    border: 1px solid #DDDDDD;
    border-radius: 4px;
    cursor: pointer !important;
    min-width: 130px;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    transition: all 0.2s ease;
    position: relative;
}

/* KRITISCH: Kind-Elemente dürfen keine eigenen Events haben */
.current-language > * {
    pointer-events: none !important;
}

.current-language:hover {
    background: #f9f9f9;
    border-color: #999;
}

.current-language:active {
    background: #f0f0f0;
}

/* Arrow Icon */
.current-language .arrow {
    margin-left: auto;
    font-size: 10px;
    opacity: 0.6;
    transition: transform 0.2s ease;
    pointer-events: none !important;
}

#language-switcher.active .current-language .arrow {
    transform: rotate(180deg);
}

/* Dropdown Menu */
.language-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: white;
    border: 1px solid #DDDDDD;
    border-radius: 4px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    min-width: 100%;
    z-index: 10000;
    overflow: hidden;
}

#language-switcher.active .language-dropdown {
    display: block;
    animation: dropdownFade 0.2s ease;
}

/* Dropdown Animation */
@keyframes dropdownFade {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Language Options */
.language-option {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    cursor: pointer !important;
    transition: background 0.2s;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

/* KRITISCH: Kind-Elemente der Options */
.language-option > * {
    pointer-events: none !important;
}

.language-option:hover {
    background: #f5f5f5;
}

.language-option:active {
    background: #e8e8e8;
}

.language-option:first-child {
    border-radius: 4px 4px 0 0;
}

.language-option:last-child {
    border-radius: 0 0 4px 4px;
}

/* Flag and Text Styles */
.language-flag {
    font-size: 20px;
    line-height: 1;
    display: inline-block;
    pointer-events: none !important;
}

.lang-name {
    font-size: 14px;
    color: #333;
    pointer-events: none !important;
}

/* Stelle sicher, dass keine ::before oder ::after Elemente überlagern */
.current-language::before,
.current-language::after,
.language-option::before,
.language-option::after {
    pointer-events: none !important;
}

/* Desktop-spezifische Styles */
@media (hover: hover) and (pointer: fine) {
    .current-language:hover {
        background: #f9f9f9;
        border-color: #999;
    }
    
    .language-option:hover {
        background: #f5f5f5;
    }
}

/* Mobile: nur Flag anzeigen */
@media (max-width: 768px) {
    .current-language .lang-name,
    .language-option .lang-name {
        display: none;
    }
    
    .current-language {
        min-width: auto;
        padding: 8px 10px;
    }
    
    .language-option {
        padding: 10px;
        justify-content: center;
    }
    
    .language-dropdown {
        min-width: 60px;
    }
}

/* Touch devices optimization */
@media (hover: none) and (pointer: coarse) {
    .current-language {
        padding: 12px 14px;
    }
    
    .language-option {
        padding: 14px;
    }
}

/* Falls in einem Header/Nav Container - Optional, falls nötig */
header #language-switcher,
nav #language-switcher,
.header #language-switcher,
.nav #language-switcher,
.top-bar #language-switcher {
    position: relative;
    z-index: 99999;
}

/* Sicherstellen dass Parent-Container das Dropdown nicht abschneiden */
header, nav, .header, .nav, .top-bar {
    overflow: visible !important;
}

/* Focus styles für Accessibility */
.current-language:focus {
    outline: 2px solid #4CAF50;
    outline-offset: 2px;
}

.current-language:focus:not(:focus-visible) {
    outline: none;
}

.language-option:focus {
    background: #e8e8e8;
    outline: none;
}

/* Print styles */
@media print {
    #language-switcher {
        display: none;
    }
}/* End custom CSS */