.elementor-kit-20{--e-global-color-primary:#7F1734;--e-global-color-secondary:#3B2D3F;--e-global-color-text:#4A4A4A;--e-global-color-accent:#7F1734;--e-global-color-bbb4493:#FFFFFF;--e-global-color-43327f2:#C4C4C4;--e-global-color-6b773b5:#F5F5F5;--e-global-color-8e66bc9:#FFFFFF00;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-bc42c82-font-family:"Roboto Slab";--e-global-typography-bc42c82-font-size:clamp(1rem, 0.9692rem + 0.1299vw, 1.125rem);--e-global-typography-bc42c82-font-weight:400;--e-global-typography-bc42c82-line-height:1em;--e-global-typography-bc42c82-letter-spacing:0px;--e-global-typography-986d81d-font-family:"Inter Tight";--e-global-typography-986d81d-font-size:clamp(1rem, 0.9692rem + 0.1299vw, 1.125rem);--e-global-typography-986d81d-font-weight:400;--e-global-typography-986d81d-text-transform:uppercase;--e-global-typography-986d81d-line-height:1em;--e-global-typography-986d81d-letter-spacing:0.5px;--e-global-typography-c2593cf-font-family:"Roboto";--e-global-typography-c2593cf-font-size:clamp(2.5rem, 2.0373rem + 1.9481vw, 4.375rem);--e-global-typography-c2593cf-font-weight:500;--e-global-typography-c2593cf-text-transform:none;--e-global-typography-c2593cf-line-height:1.2em;--e-global-typography-c2593cf-letter-spacing:0px;--e-global-typography-47e38d5-font-family:"Roboto";--e-global-typography-47e38d5-font-size:clamp(1.875rem, 1.5203rem + 1.4935vw, 3.3125rem);--e-global-typography-47e38d5-font-weight:500;--e-global-typography-47e38d5-line-height:1.2em;--e-global-typography-47e38d5-letter-spacing:0px;--e-global-typography-a1e353b-font-family:"Roboto";--e-global-typography-a1e353b-font-size:clamp(1.625rem, 1.4245rem + 0.8442vw, 2.4375rem);--e-global-typography-a1e353b-font-weight:500;--e-global-typography-a1e353b-line-height:1.3em;--e-global-typography-a1e353b-letter-spacing:0px;--e-global-typography-7a8b2db-font-family:"Roboto";--e-global-typography-7a8b2db-font-size:clamp(1.375rem, 1.4545rem + 0.4545vw, 2rem);--e-global-typography-7a8b2db-font-weight:500;--e-global-typography-7a8b2db-line-height:1.3em;--e-global-typography-7a8b2db-letter-spacing:0px;--e-global-typography-7a1c09c-font-family:"Roboto";--e-global-typography-7a1c09c-font-size:clamp(1.375rem, 1.4545rem + 0.4545vw, 2rem);--e-global-typography-7a1c09c-font-weight:400;--e-global-typography-7a1c09c-line-height:1.3em;--e-global-typography-7a1c09c-letter-spacing:0px;--e-global-typography-aa4123a-font-family:"Roboto";--e-global-typography-aa4123a-font-size:clamp(1.25rem, 1.1729rem + 0.3247vw, 1.5625rem);--e-global-typography-aa4123a-font-weight:500;--e-global-typography-aa4123a-line-height:1.3em;--e-global-typography-aa4123a-letter-spacing:0px;--e-global-typography-8069b42-font-family:"Roboto";--e-global-typography-8069b42-font-size:clamp(1.25rem, 1.1729rem + 0.3247vw, 1.5625rem);--e-global-typography-8069b42-font-weight:400;--e-global-typography-8069b42-line-height:1.3em;--e-global-typography-8069b42-letter-spacing:0px;--e-global-typography-c262ee4-font-family:"Roboto";--e-global-typography-c262ee4-font-size:clamp(1.125rem, 1.0942rem + 0.1299vw, 1.25rem);--e-global-typography-c262ee4-font-weight:500;--e-global-typography-c262ee4-line-height:1.3em;--e-global-typography-c262ee4-letter-spacing:0px;--e-global-typography-25ecdb3-font-family:"Roboto";--e-global-typography-25ecdb3-font-size:clamp(1.125rem, 1.0942rem + 0.1299vw, 1.25rem);--e-global-typography-25ecdb3-font-weight:400;--e-global-typography-25ecdb3-line-height:1.3em;--e-global-typography-25ecdb3-letter-spacing:0px;--e-global-typography-f6185c5-font-family:"Roboto";--e-global-typography-f6185c5-font-size:clamp(1rem, 0.9692rem + 0.1299vw, 1.125rem);--e-global-typography-f6185c5-font-weight:400;--e-global-typography-f6185c5-text-transform:uppercase;--e-global-typography-f6185c5-line-height:1em;--e-global-typography-f6185c5-letter-spacing:0px;--e-global-typography-f097856-font-family:"Roboto";--e-global-typography-f097856-font-size:clamp(0.8125rem, 0.7971rem + 0.0649vw, 0.875rem);--e-global-typography-f097856-font-weight:400;--e-global-typography-f097856-text-transform:none;--e-global-typography-f097856-line-height:1.4em;--e-global-typography-f097856-letter-spacing:0.1px;--e-global-typography-8a475c7-font-family:"Roboto";--e-global-typography-8a475c7-font-size:clamp(0.875rem, 0.8442rem + 0.1299vw, 1rem);--e-global-typography-8a475c7-font-weight:400;--e-global-typography-8a475c7-text-transform:none;--e-global-typography-8a475c7-line-height:1.8em;--e-global-typography-8a475c7-letter-spacing:0.1px;--e-global-typography-041aed0-font-family:"Roboto";--e-global-typography-041aed0-font-size:clamp(1rem, 0.9692rem + 0.1299vw, 1.125rem);--e-global-typography-041aed0-font-weight:400;--e-global-typography-041aed0-text-transform:none;--e-global-typography-041aed0-line-height:1.7em;--e-global-typography-041aed0-letter-spacing:0px;}.elementor-kit-20 e-page-transition{background-color:#FFBC7D;}.elementor-kit-20 h1{color:var( --e-global-color-primary );font-size:50px;font-weight:700;letter-spacing:-1px;}.elementor-kit-20 h2{color:var( --e-global-color-primary );font-size:35px;letter-spacing:-1px;}.elementor-kit-20 h3{color:var( --e-global-color-primary );font-size:30px;}.elementor-kit-20 h4{color:var( --e-global-color-primary );font-size:25px;}.elementor-kit-20 h5{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-20 h1{font-size:40px;}.elementor-kit-20 h2{font-size:35px;}.elementor-kit-20 h3{font-size:28px;}.elementor-kit-20 h4{font-size:22px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//*=============================================*/
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

/*=============================================*/

.square {
  aspect-ratio: 1;
}

/*=============================================*/
.bg-zoom-square {
  aspect-ratio: 1;
  background-position: center;
  background-size: 100% !important; /* Ausgangsgröße */
  transition: background-size .6s ease;
}

.bg-zoom-square:hover {
  background-size: 106% !important; /* leichter Zoom */
}

/* BG Zoom */
.bg-zoom {
  position: relative;
  overflow: hidden;
}

.bg-zoom::before {
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: inherit;
  transition: transform 0.6s ease;
  transform: scale(1);
}

.bg-zoom:hover::before {
  transform: scale(1.06);
}

/* Effekt deaktivieren auf Mobile */
@media (max-width: 767px) {
  .bg-zoom::before,
  .bg-zoom:hover::before {
    transform: scale(1) !important;
    transition: none !important;
  }
}



/* Btn move icon */

.btn-move-icon .elementor-button-icon {
  transform: translateX(0);
  transition: transform 200ms ease;
}

/* 2) Bei Hover 4px nach rechts verschieben */
.btn-rotate-move-icon:hover .elementor-button-icon {
  transform: translateX(4px);
}

/*

====================
  Button: Icon-Rotation (Klasse: .btn-rotate-icon)
=============================================*/

/* 1) Icon bereits um 45° gegen den Uhrzeigersinn rotieren */
.btn-rotate-icon .elementor-button-icon {
  transform: rotate(-45deg);
  transition: transform 200ms ease;
}

/* 2) Bei Hover zurück auf 0° drehen */
.btn-rotate-icon:hover .elementor-button-icon {
  transform: rotate(0deg);
}


/*=============================================
  Button: Icon-Rotation + Verschiebung
  (Klasse: .btn-rotate-move-icon)
=============================================*/

/* 1) Icon startet bei -45° Rotation, ohne Verschiebung */
.btn-rotate-move-icon .elementor-button-icon {
  transform: rotate(-45deg) translateX(0);
  transition: transform 200ms ease;
}

/* 2) Bei Hover zurück auf 0° drehen UND 4px nach rechts verschieben */
.btn-rotate-move-icon:hover .elementor-button-icon {
  transform: rotate(0deg) translateX(4px);
}


/* Organische Formen */

.rounded-1 {
  border-radius: 50% 80% 40% 90% / 50% 30% 70% 80% !important;
  overflow: hidden;          
}

.rounded-2 {
  border-radius: 60% 50% 80% 40% / 70% 60% 50% 80%;
  overflow: hidden;          
    
}

.rounded-3 {
  border-radius: 60% 40% 75% 55% / 65% 45% 55% 70% !important;
    overflow: hidden;          
}

.rounded-4 {
  border-radius: 80% 50% 60% 40% / 70% 60% 40% 50% !important;
    overflow: hidden;          
}

/*=============================================
  Root: Globale Variablen
=============================================*/
:root {
  /* Fluid Side Padding: Links & Rechts */
  --fluid-side-padding-min: 1rem;
  --fluid-side-padding-max: 5rem;

  /* Section-mid-m: Top & Bottom Padding (min 4rem, max 7rem) */
  --section-mid-m-padding-min: 4rem;
  --section-mid-m-padding-max: 7rem;

  /* Section-top-m: wie section-mid-m, aber padding-bottom = 0 */
  --section-top-m-padding-min: var(--section-mid-m-padding-min);
  --section-top-m-padding-max: var(--section-mid-m-padding-max);

  /* Section-bot-m: wie section-mid-m, aber padding-top = 0 */
  --section-bot-m-padding-min: var(--section-mid-m-padding-min);
  --section-bot-m-padding-max: var(--section-mid-m-padding-max);

  /* Section-mid-s: Top & Bottom Padding (min 3rem, max 4rem) */
  --section-mid-s-padding-min: 3rem;
  --section-mid-s-padding-max: 4rem;

  /* Section-top-s: wie section-mid-s, aber padding-bottom = 0 */
  --section-top-s-padding-min: var(--section-mid-s-padding-min);
  --section-top-s-padding-max: var(--section-mid-s-padding-max);

  /* Section-bot-s: wie section-mid-s, aber padding-top = 0 */
  --section-bot-s-padding-min: var(--section-mid-s-padding-min);
  --section-bot-s-padding-max: var(--section-mid-s-padding-max);

  /* ===== Größe L ===== */
  /* Section-mid-l: Top & Bottom Padding (min 4rem, max 10rem) */
  --section-mid-l-padding-min: 4rem;
  --section-mid-l-padding-max: 10rem;

  /* Section-top-l: wie section-mid-l, aber padding-bottom = 0 */
  --section-top-l-padding-min: var(--section-mid-l-padding-min);
  --section-top-l-padding-max: var(--section-mid-l-padding-max);

  /* Section-bot-l: wie section-mid-l, aber padding-top = 0 */
  --section-bot-l-padding-min: var(--section-mid-l-padding-min);
  --section-bot-l-padding-max: var(--section-mid-l-padding-max);
}

/*=============================================
  Root: Globale Variablen
=============================================*/
:root {
  /* Fluid Side Padding: Links & Rechts */
  --fluid-side-padding-min: 1rem;
  --fluid-side-padding-max: 5rem;

  /* Section-mid-m: Top & Bottom Padding (min 4rem, max 7rem) */
  --section-mid-m-padding-min: 4rem;
  --section-mid-m-padding-max: 7rem;

  /* Section-top-m: wie section-mid-m, aber padding-bottom = 0 */
  --section-top-m-padding-min: var(--section-mid-m-padding-min);
  --section-top-m-padding-max: var(--section-mid-m-padding-max);

  /* Section-bot-m: wie section-mid-m, aber padding-top = 0 */
  --section-bot-m-padding-min: var(--section-mid-m-padding-min);
  --section-bot-m-padding-max: var(--section-mid-m-padding-max);

  /* Section-mid-s: Top & Bottom Padding (min 3rem, max 4rem) */
  --section-mid-s-padding-min: 3rem;
  --section-mid-s-padding-max: 4rem;

  /* Section-top-s: wie section-mid-s, aber padding-bottom = 0 */
  --section-top-s-padding-min: var(--section-mid-s-padding-min);
  --section-top-s-padding-max: var(--section-mid-s-padding-max);

  /* Section-bot-s: wie section-mid-s, aber padding-top = 0 */
  --section-bot-s-padding-min: var(--section-mid-s-padding-min);
  --section-bot-s-padding-max: var(--section-mid-s-padding-max);

  /* ===== Größe L ===== */
  /* Section-mid-l: Top & Bottom Padding (min 4rem, max 10rem) */
  --section-mid-l-padding-min: 4rem;
  --section-mid-l-padding-max: 10rem;

  /* Section-top-l: wie section-mid-l, aber padding-bottom = 0 */
  --section-top-l-padding-min: var(--section-mid-l-padding-min);
  --section-top-l-padding-max: var(--section-mid-l-padding-max);

  /* Section-bot-l: wie section-mid-l, aber padding-top = 0 */
  --section-bot-l-padding-min: var(--section-mid-l-padding-min);
  --section-bot-l-padding-max: var(--section-mid-l-padding-max);
}

/*=============================================
  Fluid Side-Padding für alle Section-Klassen
=============================================*/
.section-mid-m,
.section-top-m,
.section-bot-m,
.section-mid-s,
.section-top-s,
.section-bot-s,
.section-mid-l,
.section-top-l,
.section-bot-l,
.section-side {
  padding-left: clamp(
    var(--fluid-side-padding-min),
    6.522vw - 0.217rem,
    var(--fluid-side-padding-max)
  ) !important;
  padding-right: clamp(
    var(--fluid-side-padding-min),
    6.522vw - 0.217rem,
    var(--fluid-side-padding-max)
  ) !important;
}

/*=============================================
  Section-mid-m: fluid Top/Bottom Padding
=============================================*/
.section-mid-m {
  padding-top: clamp(
    var(--section-mid-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-mid-m-padding-max)
  ) !important;
  padding-bottom: clamp(
    var(--section-mid-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-mid-m-padding-max)
  ) !important;
}

/*=============================================
  Section-top-m: wie mid-m, aber ohne bottom
=============================================*/
.section-top-m {
  padding-top: clamp(
    var(--section-top-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-top-m-padding-max)
  ) !important;
  padding-bottom: 0 !important;
}

/*=============================================
  Section-bot-m: wie mid-m, aber ohne top
=============================================*/
.section-bot-m {
  padding-top: 0 !important;
  padding-bottom: clamp(
    var(--section-bot-m-padding-min),
    1.087vw + 5.38rem,
    var(--section-bot-m-padding-max)
  ) !important;
}

/*=============================================
  Section-mid-s: Top/Bottom Padding (min 3rem, max 4rem)
=============================================*/
.section-mid-s {
  padding-top: clamp(
    var(--section-mid-s-padding-min),
    0vw + var(--section-mid-s-padding-min),
    var(--section-mid-s-padding-max)
  ) !important;
  padding-bottom: clamp(
    var(--section-mid-s-padding-min),
    0vw + var(--section-mid-s-padding-min),
    var(--section-mid-s-padding-max)
  ) !important;
}

/*=============================================
  Section-top-s: Top Padding (min 3rem, max 4rem)
=============================================*/
.section-top-s {
  padding-top: clamp(
    var(--section-top-s-padding-min),
    0vw + var(--section-top-s-padding-min),
    var(--section-top-s-padding-max)
  ) !important;
  padding-bottom: 0 !important;
}

/*=============================================
  Section-bot-s: Bottom Padding (min 3rem, max 4rem)
=============================================*/
.section-bot-s {
  padding-top: 0 !important;
  padding-bottom: clamp(
    var(--section-bot-s-padding-min),
    0vw + var(--section-bot-s-padding-min),
    var(--section-bot-s-padding-max)
  ) !important;
}

/*=============================================
  ===== Größe L (sichtbar größer als M) =====
  Steilerer Mittelwert: 2vw + 6rem (statt 1.087vw + 5.38rem)
=============================================*/
.section-mid-l {
  padding-top: clamp(
    var(--section-mid-l-padding-min),
    2vw + 6rem,
    var(--section-mid-l-padding-max)
  ) !important;
  padding-bottom: clamp(
    var(--section-mid-l-padding-min),
    2vw + 6rem,
    var(--section-mid-l-padding-max)
  ) !important;
}

/* Section-top-l: wie mid-l, aber ohne bottom */
.section-top-l {
  padding-top: clamp(
    var(--section-top-l-padding-min),
    2vw + 6rem,
    var(--section-top-l-padding-max)
  ) !important;
  padding-bottom: 0 !important;
}

/* Section-bot-l: wie mid-l, aber ohne top */
.section-bot-l {
  padding-top: 0 !important;
  padding-bottom: clamp(
    var(--section-bot-l-padding-min),
    2vw + 6rem,
    var(--section-bot-l-padding-max)
  ) !important;
}

/*=============================================
  Section-side: nur fluid Side-Padding,
  keine Top/Bottom-Vorgaben
=============================================*/
.section-side {
  /* Top & Bottom bleiben unverändert, steuerbar via Elementor */
}

/*=============================================
  Section-side-r / Section-side-l (gerichtete Seitenabstände)
  -side-r: nur rechts Padding, links kein definierter Abstand
  -side-l: nur links Padding, rechts kein definierter Abstand
  <= 1024px: beide Seiten wie .section-side
=============================================*/

/* Desktop/größer als 1024px */
.section-side-r {
  padding-left: 0 !important;
  padding-right: clamp(
    var(--fluid-side-padding-min),
    6.522vw - 0.217rem,
    var(--fluid-side-padding-max)
  ) !important;
}
.section-side-l {
  padding-right: 0 !important;
  padding-left: clamp(
    var(--fluid-side-padding-min),
    6.522vw - 0.217rem,
    var(--fluid-side-padding-max)
  ) !important;
}

/* Mobile & Tablet: <= 1024px -> beide Seiten wie .section-side */
@media (max-width: 1024px) {
  .section-side-r,
  .section-side-l {
    padding-left: clamp(
      var(--fluid-side-padding-min),
      6.522vw - 0.217rem,
      var(--fluid-side-padding-max)
    ) !important;
    padding-right: clamp(
      var(--fluid-side-padding-min),
      6.522vw - 0.217rem,
      var(--fluid-side-padding-max)
    ) !important;
  }
}








/*=============================================
  Button: Icon-Rotation (Klasse: .btn-rotate-icon)
=============================================*/

/* 1) Icon bereits um 45° gegen den Uhrzeigersinn rotieren */
.btn-rotate-icon .elementor-button-icon {
  transform: rotate(-45deg);
  transition: transform 200ms ease;
}

/* 2) Bei Hover zurück auf 0° drehen */
.btn-rotate-icon:hover .elementor-button-icon {
  transform: rotate(0deg);
}

/*=============================================
  Button: Icon-Verschiebung (Klasse: .btn-move-icon)
=============================================*/

/* 1) Icon ohne Rotation, Ausgangsposition */
.btn-move-icon .elementor-button-icon {
  transform: translateX(0);
  transition: transform 200ms ease;
}

/* 2) Bei Hover um 4px nach rechts verschieben */
.btn-move-icon:hover .elementor-button-icon {
  transform: translateX(4px);
}


/*Liquid-glass*/

.liquid-glass {

   backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px); /* Safari & iOS */
  
  box-shadow:
    /* 1. heller Inset-Schatten (unten/rechts)  */
    inset  2px  2px  1px -2px #ffffffb3,
    
    /* 2. heller Inset-Schatten (oben/links)   */
    inset -2px -2px  1px -2px #ffffffb3,
    
    /* 3. dunkler Außen-Schatten               
          0px  8px 24px  0px #00000066,*/
    
    /* 4. weicher Inset-Glanz (unten)          */
    inset  0px  8px  8px  0px #ffffff99;
}

/* Organic, unregelmäßige Rundungen für Elementor-Container */
.organic-edges,
.e-con.organic-edges,
.elementor-element.organic-edges {
  /* elliptische Rundung pro Ecke (TL TR BR BL / TL TR BR BL) */
  border-radius: 50% 80% 40% 90% / 50% 30% 70% 80% !important;
 
  /* optionales Finetuning */
  transition: border-radius 300ms ease;
  will-change: border-radius;
}

/* Leichter Hover-Morph (optional – entfernen, wenn nicht gewünscht) */
.organic-edges:hover,
.e-con.organic-edges:hover,
.elementor-element.organic-edges:hover {
  border-radius: 60% 80% 50% 85% / 55% 35% 65% 75% !important;
}


/* (Optional) leichte Responsive-Anpassung – weniger extreme Rundung auf kleinen Screens */
@media (max-width: 767px) {
  .organic-edges,
  .e-con.organic-edges,
  .elementor-element.organic-edges {
    border-radius: 45% 70% 45% 80% / 55% 35% 60% 70% !important;
  }
}

/* Barrierefreiheit: keine Animationen bei reduzierter Bewegung */
@media (prefers-reduced-motion: reduce) {
  .organic-edges,
  .e-con.organic-edges,
  .elementor-element.organic-edges {
    transition: none;
  }

.frostedglass {
backdrop-filter:blur(20px);
}/* End custom CSS */