.elementor-41 .elementor-element.elementor-element-267f674{--display:flex;top:0px;bottom:auto;z-index:200;--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;--overlay-opacity:0.5;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-41 .elementor-element.elementor-element-267f674:not(.elementor-motion-effects-element-type-background), .elementor-41 .elementor-element.elementor-element-267f674 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-45303a9 );}.elementor-41 .elementor-element.elementor-element-267f674::before, .elementor-41 .elementor-element.elementor-element-267f674 > .elementor-background-video-container::before, .elementor-41 .elementor-element.elementor-element-267f674 > .e-con-inner > .elementor-background-video-container::before, .elementor-41 .elementor-element.elementor-element-267f674 > .elementor-background-slideshow::before, .elementor-41 .elementor-element.elementor-element-267f674 > .e-con-inner > .elementor-background-slideshow::before, .elementor-41 .elementor-element.elementor-element-267f674 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-45303a9 );--background-overlay:'';}.elementor-41 .elementor-element.elementor-element-267f674 + .wpr-hidden-header{top:0px;}.elementor-41 .elementor-element.elementor-element-267f674 + .wpr-hidden-header-flex{top:0px;}.wpr-hidden-header{z-index:200;}.wpr-hidden-header-flex{z-index:200;}.elementor-41 .elementor-element.elementor-element-267f674.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-41 .elementor-element.elementor-element-2b1a8e6{--display:flex;--justify-content:center;}.elementor-41 .elementor-element.elementor-element-2b1a8e6.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-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-41 .elementor-element.elementor-element-9d72e53 > .elementor-widget-container{margin:-15px 0px -15px 0px;}.elementor-41 .elementor-element.elementor-element-9d72e53 img{width:100%;}.elementor-41 .elementor-element.elementor-element-5bb8ef7{--display:flex;}.elementor-41 .elementor-element.elementor-element-5bb8ef7.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-41 .elementor-element.elementor-element-5a44829{--display:flex;}.elementor-41 .elementor-element.elementor-element-5a44829.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-41 .elementor-element.elementor-element-2b32bf2{--display:flex;}.elementor-41 .elementor-element.elementor-element-1de6aa2.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-41 .elementor-element.elementor-element-4f92775{--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;--justify-content:flex-end;--gap:25px 25px;--row-gap:25px;--column-gap:25px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:-19px;}.elementor-41 .elementor-element.elementor-element-4f92775.e-con{--align-self:center;}.elementor-41 .elementor-element.elementor-element-a2cc487 > .elementor-widget-container{margin:0px -102px 0px 0px;}.elementor-41 .elementor-element.elementor-element-a8fa00a{--display:flex;--min-height:0px;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-41 .elementor-element.elementor-element-a8fa00a.e-con{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-41 .elementor-element.elementor-element-7f3b639{width:var( --container-widget-width, 61% );max-width:61%;--container-widget-width:61%;--container-widget-flex-grow:0;}@media(min-width:768px){.elementor-41 .elementor-element.elementor-element-267f674{--content-width:1262px;}.elementor-41 .elementor-element.elementor-element-2b1a8e6{--width:21.723%;}.elementor-41 .elementor-element.elementor-element-5bb8ef7{--width:6%;}.elementor-41 .elementor-element.elementor-element-a8fa00a{--width:26%;}}@media(max-width:1024px){.elementor-41 .elementor-element.elementor-element-267f674{top:0px;bottom:auto;}.elementor-41 .elementor-element.elementor-element-267f674 + .wpr-hidden-header{top:0px;}.elementor-41 .elementor-element.elementor-element-267f674 + .wpr-hidden-header-flex{top:0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}}@media(max-width:767px){.elementor-41 .elementor-element.elementor-element-267f674{top:0px;bottom:auto;}.elementor-41 .elementor-element.elementor-element-267f674 + .wpr-hidden-header{top:0px;}.elementor-41 .elementor-element.elementor-element-267f674 + .wpr-hidden-header-flex{top:0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-41 .elementor-element.elementor-element-9d72e53{text-align:left;}.elementor-41 .elementor-element.elementor-element-9d72e53 img{width:100%;}.elementor-41 .elementor-element.elementor-element-5bb8ef7{--width:328px;--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;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-5a44829{--width:59%;--min-height:0px;--justify-content:flex-start;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-41 .elementor-element.elementor-element-98e6dee{text-align:left;}.elementor-41 .elementor-element.elementor-element-98e6dee img{width:73%;}.elementor-41 .elementor-element.elementor-element-2b32bf2{--width:34%;--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-41 .elementor-element.elementor-element-1de6aa2{width:100%;max-width:100%;z-index:99999;}.elementor-41 .elementor-element.elementor-element-1de6aa2 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-41 .elementor-element.elementor-element-1de6aa2.elementor-element{--align-self:flex-end;}.elementor-41 .elementor-element.elementor-element-a8fa00a{--width:184px;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-41 .elementor-element.elementor-element-a8fa00a.e-con{--align-self:center;}.elementor-41 .elementor-element.elementor-element-7f3b639{width:var( --container-widget-width, 181.875px );max-width:181.875px;--container-widget-width:181.875px;--container-widget-flex-grow:0;}.elementor-41 .elementor-element.elementor-element-7f3b639.elementor-element{--align-self:flex-end;}}/* Start custom CSS for html, class: .elementor-element-1de6aa2 *//* --- Base Styles & Variables --- */
    :root {
        --menu-text-color: #374151; /* gray-700 */
        --menu-text-light: #1f2937; /* gray-800 */
        --menu-bg-color: #ffffff; /* white */
        --menu-accent-color: #a09279; /* blue-500 */
        --menu-accent-hover-color: #a09279; /* blue-600 */
        --menu-item-hover-bg: #f5f1ea; /* blue-100 */
        --menu-overlay-color: rgba(0, 0, 0, 0.5);
        --menu-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
        --button-shadow-hover: 0 6px 10px -1px rgba(0, 0, 0, 0.1), 0 4px 6px -1px rgba(0, 0, 0, 0.06);
        --close-button-color: #6b7280; /* gray-500 */
        --close-button-hover-color: #111827; /* gray-900 */
    }

    /* --- Wrapper --- */
    #menu-wrapper {
        position: relative;
    }

    /* --- Checkbox & Labels (Buttons) --- */
    #menu-toggle-checkbox {
        display: none;
    }

    #menu-toggle-label { /* Hamburger Button */
        display: inline-block;
        padding: 0.5rem;
        border-radius: 0.375rem;
        z-index: 52; /* Bleibt über dem Inhalt, aber unter dem offenen Menü */
        cursor: pointer;
        position: absolute;
        top: 1rem;
        right: 1rem;
        outline: none;
    }
    #menu-toggle-label:focus-within {
         box-shadow: 0 0 0 2px var(--menu-accent-color);
    }

    #menu-toggle-label .hamburger-line {
        display: block;
        width: 1.5rem;
        height: 2px;
        background-color: var(--menu-text-light);
        border-radius: 9999px;
        transition: all 0.3s ease-in-out;
    }
    #menu-toggle-label .hamburger-line + .hamburger-line {
        margin-top: 0.375rem;
    }

    #menu-toggle-label .sr-only { /* Screen-reader only text */
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0;
    }

    /* Styling für den Schließen-Knopf */
    #menu-close-label {
        position: absolute;
        top: 0.75rem;
        right: 1rem;
        z-index: 52; /* Innerhalb des Menüs, aber hoch genug */
        cursor: pointer;
        padding: 0.25rem 0.5rem;
        font-size: 1.8rem;
        line-height: 1;
        color: var(--close-button-color);
        border-radius: 0.375rem;
        transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
    }
    #menu-close-label:hover {
        color: var(--close-button-hover-color);
        background-color: rgba(0,0,0,0.05);
    }


    /* --- Menu Container & Panel --- */
    #mobile-menu-container {
        position: fixed; top: 0; right: 0; height: 100%;
        z-index: 50; /* Standard z-index */
        pointer-events: none;
        /* NEU: Höherer z-index, wenn Menü offen ist */
        /* Wird durch :checked unten gesteuert */
    }

    #mobile-menu {
        position: fixed; top: 0; right: 0; height: 100%;
        width: 16rem; background-color: var(--menu-bg-color);
        box-shadow: var(--menu-shadow); padding: 1.5rem;
        border-top-left-radius: 0.5rem; border-bottom-left-radius: 0.5rem;
        display: flex; flex-direction: column;
        transform: translateX(100%) scale(0.95); opacity: 0;
        transition: transform 0.4s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s ease-out;
        z-index: 51; /* Innerhalb des Containers */
    }

    /* --- Overlay (Label) --- */
    #menu-overlay {
        position: fixed;
        inset: 0;
        background-color: var(--menu-overlay-color);
        z-index: 40; /* Unter dem Menü und dem Button */
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.4s ease-out;
        cursor: default;
        display: block;
    }

    /* --- Menu Content Styling --- */
    #mobile-menu .menu-header {
        display: flex; justify-content: space-between; align-items: center;
        margin-bottom: 1.5rem;
        padding-right: 2.5rem; /* Platz für Schließen-Knopf */
    }
    #mobile-menu .menu-title {
        font-size: 1.5rem; line-height: 2rem;
        font-weight: 600;
        color: var(--menu-text-light);
    }
    #mobile-menu ul {
        list-style: none; padding: 0; margin: 0; flex-grow: 1;
    }
    #mobile-menu ul li + li {
         margin-top: 1rem;
    }
    #mobile-menu ul li a {
        display: block; padding: 0.5rem 0.75rem; color: var(--menu-text-color);
        text-decoration: none; border-radius: 0.375rem;
        font-size: 1.25rem; /* text-xl */
        line-height: 1.75rem;
        transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out, transform 0.2s ease-in-out;
    }
    #mobile-menu ul li a:hover {
        background-color: var(--menu-item-hover-bg);
        color: var(--menu-accent-color);
        transform: translateX(4px);
    }

    /* Button Container & Button */
    #mobile-menu .menu-button-container { margin-top: 1.5rem; }
    #mobile-menu .cta-button {
        display: block; width: 100%; background-color: var(--menu-accent-color);
        color: #ffffff; text-align: center; padding: 0.5rem 1rem;
        border-radius: 0.375rem; font-weight: 600; font-size: 1rem;
        line-height: 1.5rem; text-decoration: none;
        transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
        transform: scale(1) translateY(0);
    }
    #mobile-menu .cta-button:hover {
        background-color: var(--menu-accent-hover-color);
        transform: translateY(-2px) scale(1.03);
        box-shadow: var(--button-shadow-hover);
    }

    /* --- State Changes using :checked --- */
    #menu-toggle-checkbox:checked ~ #mobile-menu-container {
        pointer-events: auto;
        /* NEU: Erhöhe z-index, wenn Menü offen ist, um über dem Hamburger-Label zu liegen */
        z-index: 53;
    }
    #menu-toggle-checkbox:checked ~ #mobile-menu-container #mobile-menu {
        transform: translateX(0) scale(1); opacity: 1;
    }
    #menu-toggle-checkbox:checked ~ #menu-overlay {
        opacity: 1;
        pointer-events: auto;
        cursor: pointer;
    }

    /* Hamburger Animation */
    #menu-toggle-checkbox:checked + #menu-toggle-label .hamburger-line:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    #menu-toggle-checkbox:checked + #menu-toggle-label .hamburger-line:nth-child(2) { opacity: 0; }
    #menu-toggle-checkbox:checked + #menu-toggle-label .hamburger-line:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

    /* Item entrance */
    #mobile-menu ul li,
    #mobile-menu .menu-button-container {
        opacity: 0; transform: translateX(20px);
        transition: opacity 0.3s ease-out 0.15s, transform 0.3s ease-out 0.15s;
    }
    #menu-toggle-checkbox:checked ~ #mobile-menu-container #mobile-menu ul li,
    #menu-toggle-checkbox:checked ~ #mobile-menu-container #mobile-menu .menu-button-container {
        opacity: 1; transform: translateX(0);
    }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a2cc487 *//* === Start: Animiertes Header Menü CSS === */

/* Grundlegende Container-Styles für den Header (Anpassbar) */
.mein-header-container {
    background-color: transparent; /* Hintergrund explizit transparent setzen */
    padding: 15px 0; /* Innenabstand oben/unten */
    /* WICHTIG: Bei transparentem Header ggf. Positionierung (z.B. fixed/absolute) und z-index prüfen, */
    /* damit er korrekt über dem Seiteninhalt liegt! */
}

/* Styling für die Navigation und Liste */
.mein-animiertes-menue ul {
    list-style: none; /* Keine Listenpunkte */
    padding: 0;
    margin: 0;
    display: flex; /* Elemente nebeneinander */
    justify-content: center; /* Menüpunkte zentrieren */
    gap: 10px; /* <<< ABSTAND VERRINGERT (z.B. auf 20px) */
}

/* Styling für die einzelnen Menü-Links */
.mein-menue-link {
    font-family: 'Georgia', Georgia; /* Gewünschte Schriftart, stelle sicher, dass sie geladen wird! */
    text-decoration: none; /* Keine Standard-Unterstreichung */
    font-weight: 800; /* Schrift Dicke (Bold) */
    font-size: 1.09em; /* Schriftgröße leicht erhöht für besseren Effekt */
    padding: 8px 5px; /* Innenabstand angepasst */
    position: relative; /* Beibehalten, falls doch wieder Pseudo-Elemente nötig werden */

    /* === NEUE ANIMATION: Text Gradient === */
    color: #333333; /* Anfangsfarbe des Textes */
    /* Definiere den Farbverlauf als Hintergrundbild */
    /* Du kannst die Farben und den Winkel (90deg) anpassen */
    background-image: linear-gradient(90deg, #a0937b); /* Dein Rot + hellere Variante */
    background-size: 0% 3px; /* Startet mit 0% Breite und 3px Höhe (als "Unterstrich") */
    background-repeat: no-repeat;
    background-position: left bottom; /* Positioniert den Hintergrund unten links */

    /* WICHTIG: Ältere Browser benötigen ggf. Vendor-Präfixe für background-clip */
    /* background-clip: text; */ /* Clip background to text shape - Deaktiviert für Unterstrich-Effekt */
    /* -webkit-background-clip: text; */
    /* color: transparent; */ /* Required when background-clip: text is active */

    /* Übergang für die Hintergrundgröße und Textfarbe */
    transition: background-size 0.4s ease-out, color 0.4s ease-out;
}

/* Änderung beim Hovern (Mauszeiger darüber) */
.mein-menue-link:hover {
    color: #a0937b; /* Textfarbe ändert sich zu deiner Hauptfarbe */
    background-size: 100% 3px; /* Hintergrund (als Linie) dehnt sich auf volle Breite aus */
    /* color: transparent; */ /* Nur aktivieren, wenn background-clip: text verwendet wird */
}


/* Entfernt: Die vorherigen ::after Regeln für Clip-Path sind nicht mehr nötig */
/* .mein-menue-link::after { ... } */
/* .mein-menue-link:hover::after { ... } */


/* Optional: Smooth scrolling, falls Ankerlinks (#...) verwendet werden */
/* Kann auch global in deinem CSS definiert sein */
html {
    scroll-behavior: smooth;
}

/* === Ende: Animiertes Header Menü CSS === *//* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-7f3b639 *//* === BUTTON STYLES START === */

/* Animated button base styles */
.btn-animated {
  /* Base styles - padding, default text color, and font-weight are now defined here */
  display: inline-block; /* Important for layout */
  vertical-align: middle;
  cursor: pointer;
  background-color: #a09279; /* Base background color */
  color: #fff; /* Base text color (white) - ensures text is always white */
  font-weight: 900; /* Makes the font thicker (Extra-Bold/Black) */
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Initial shadow */
  line-height: 1.5; /* Adjust if needed */
  padding: 0.5rem 1rem; /* Padding: 0.5rem top/bottom, 1rem left/right */
  border-radius: 0.5rem; /* Matches rounded-lg */

  /* Animation related styles */
  transition: all 0.3s ease;
  position: relative; /* Needed for pseudo-elements */
  overflow: hidden; /* Keep pseudo-elements contained */
  z-index: 1; /* Ensure button content is above pseudo-elements */
}

/* Create the hover background layer using ::before */
.btn-animated::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 0%; /* Start hidden */
  height: 100%;
  background-color: #776C59; /* Darker shade for hover */
  transition: width 0.3s ease; /* Animate only the width */
  border-radius: inherit; /* Inherit border-radius from button */
  z-index: -1; /* Place behind the button text */
}

/* Define hover effects */
.btn-animated:hover {
  color: #fff; /* Explicitly set text color to white on hover to override defaults */
  transform: scale(1.05); /* Slight scale effect */
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); /* Increase shadow */
}

/* Expand the ::before element on hover */
.btn-animated:hover::before {
  width: 100%;
}

/* Active state (when clicked) */
 .btn-animated:active {
     transform: scale(0.98); /* Slightly shrink */
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Reduce shadow */
 }

 /* === BUTTON STYLES END === *//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-267f674 */.sticky-top {
  position: sticky;
  top: 0;
  z-index: 1000; /* optional, damit es über anderen Elementen bleibt */
  background: white; /* optional, falls Hintergrund durchscheint */
}/* End custom CSS */