
/* variables (edit here)*/

:root {
    /* Global Padding Variables - Editable */
    /* Left and Right Padding All /Sections/Containers*/
    --fluid-side-padding-min: 1.25rem; /* 20px */
    --fluid-side-padding-max: 5rem;   /* 80px */

    /* Top and Bottom Padding All Containers*/
    --section-xxl-padding-min: 9.375rem; /* 150px */
    --section-xxl-padding-max: 10rem; /* 160px */ 
  
    --section-xl-padding-min: 6.875rem; /* 110px */
    --section-xl-padding-max: 7.5rem; /* 120px */
  
    --section-l-padding-min: 5.625rem; /* 90px */
    --section-l-padding-max: 6.25rem; /* 100px */
  
    --section-m-padding-min: 5rem; /* 80px */
    --section-m-padding-max: 5rem; /* 80px */
  
    --section-s-padding-min: 3.75rem; /* 60px */
    --section-s-padding-max: 3.75rem; /* 60px */
  
    --section-xs-padding-min: 2.5rem; /* 40px */
    --section-xs-padding-max: 2.5rem; /* 40px */
  
    --section-xxs-padding-min: 1.5rem; /* 24px */
    --section-xxs-padding-max: 1.5rem; /* 24px */
    
    --section-header-padding-min: 1.25rem; /* 20px */
    --section-header-padding-max: 1.25rem; /* 20px */

  
    /* Hero Sections Height Variable */
    --section-hero-height: 100vh; /* 100% the screen height */
  
    /* Offset Padding for Overlay Headers */
    --section-offset-header: 80px; /* Adjust to the overlay header's negative margin */

    /* Width For Narrow Sections*/
    --section-narrow: 62.5rem; /* 1000px */
    --section-narrow-xs: 45rem; /* 720px */
  }


/* CSS Template (do not edit below) */
  
  
  /* Section/Container Padding - Fluid Variants */
  .section-xxl {
    padding-top: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
    padding-bottom: clamp(var(--section-xxl-padding-min), 1.087vw + 9.13rem, var(--section-xxl-padding-max));
    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-xl {
    padding-top: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
    padding-bottom: clamp(var(--section-xl-padding-min), 1.087vw + 6.63rem, var(--section-xl-padding-max));
    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-l {
    padding-top: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
    padding-bottom: clamp(var(--section-l-padding-min), 1.087vw + 5.38rem, var(--section-l-padding-max));
    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-m {
    padding-top: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
    padding-bottom: clamp(var(--section-m-padding-min), 0vw + 5rem, var(--section-m-padding-max));
    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-s {
    padding-top: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
    padding-bottom: clamp(var(--section-s-padding-min), 0vw + 3.75rem, var(--section-s-padding-max));
    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-xs {
    padding-top: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
    padding-bottom: clamp(var(--section-xs-padding-min), 0vw + 2.5rem, var(--section-xs-padding-max));
    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-xxs {
    padding-top: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
    padding-bottom: clamp(var(--section-xxs-padding-min), 0vw + 1.5rem, var(--section-xxs-padding-max));
    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-header {
    padding-top: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
    padding-bottom: clamp(var(--section-header-padding-min), 0vw + 1.25rem, var(--section-header-padding-max));
    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;
  }
  
  /* Hero Container/Sections Height */
  .section-hero {
    min-height: var(--section-hero-height)!important;
  }

  .section-hero .e-con-inner {
    justify-content: center!important;
}
  
  /* Full Width Sections - No Side Padding */

  .section-full div {
    max-width: 100%!important;
  }
  

  /* Narrow Sections */
  .section-narrow .e-con-inner {
    max-width: var(--section-narrow)!important;
  }

  .section-narrow-xs .e-con-inner {
    max-width: var(--section-narrow-xs)!important;
  }


  /* Offset Padding for Overlay Headers */
  .section-offset {
    padding-top: calc(var(--section-offset-header) + var(--section-xxl-padding-min));
  }

/* Button Styling */
.btn-gold {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding: 4px 24px;
  font-size: 15px;
  font-weight: 600;
  color: #1C1C1C;
  background: linear-gradient(135deg, #d3c27a, #e8dc9e);
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 .5px 1.1px rgba(0,0,0,.05),0 15px 30px rgba(211, 194, 122, 0.25);
  z-index: 0;
}

.btn-gold::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.0) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0.0) 100%
  );
  transform: skewX(-20deg);
  z-index: 1;
  transition: left 0.6s ease;
}

.btn-gold:hover::before {
  left: 130%;
}

.btn-gold:hover {
  transform: scale(0.97);
  box-shadow: 0 4px 14px rgba(211, 194, 122, 0.3);
}

.btn-gold span {
  position: relative;
  z-index: 2;
}


.btn-ghost {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding: 4px 24px;
  font-size: 15px;
  font-weight: 600;
  color: #1C1C1C;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(211, 194, 122, 0.4);
  border-radius: 5px;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.3s ease;
  box-shadow: 0 .5px 1.1px rgba(0,0,0,.05),0 15px 30px rgba(211, 194, 122, 0.15);
  backdrop-filter: blur(4px);
  z-index: 0;
}

.btn-ghost::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0.0) 0%,
    rgba(255, 255, 255, 0.3) 50%,
    rgba(255, 255, 255, 0.0) 100%
  );
  transform: skewX(-20deg);
  z-index: 1;
  transition: left 0.6s ease;
}

.btn-ghost:hover::before {
  left: 130%;
}

.btn-ghost:hover {
  transform: scale(0.97);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 4px 12px rgba(211, 194, 122, 0.2);
}

.btn-ghost span {
  position: relative;
  z-index: 2;
}

.btn-dark {
  position: relative;
  overflow: hidden;
  display: inline-block;
  padding: 4px 24px;
  font-size: 18px;
  font-weight: 600;
  color: #ffffff;
  background: linear-gradient(135deg, #3a3a3a, #1c1c1c);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 .5px 1.1px rgba(0, 0, 0, 0.2);
  z-index: 0;
  text-align: center;
}

.btn-dark::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(0, 0, 0, 0.0) 0%,
    rgba(0, 0, 0, 0.3) 50%,
    rgba(0, 0, 0, 0.0) 100%
  );
  transform: skewX(-20deg);
  z-index: 1;
  transition: left 0.6s ease;
}

.btn-dark:hover::before {
  left: 130%;
}

.btn-dark:hover {
  transform: scale(0.97);
    box-shadow: 0 4px 12px rgba(211, 194, 122, 0.2);
}

.btn-dark span {
  position: relative;
  z-index: 2;
}

/* Glassmorphism */
.glass {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px rgba(31, 38, 135, 0.2);
  padding: clamp(1.1rem, 4vw, 4rem) !important;
  gap: 2rem;
}

/* Headline (ohne Container-Background) */
.animated-headline {
  font-family: var(--e-global-typography-81b8ef8-font-family), Sans-serif;
  font-size: clamp(3rem, 4vw, 5rem);
  font-weight: 700 !important;
  line-height: 1.3;    /* statt clamp(... gleich Fontgröße) */
  overflow: visible;   /* falls ein Parent overflow versteckt */
  letter-spacing: -0.5px;
  overflow-wrap: break-word;
  background: none;      /* Container bleibt transparent */
  color: #1d1d1d;        /* Fallback */
  position: relative;
}

/* Gradient NUR auf dem Text (Spans) */
.animated-headline span {
  display: inline-block;
  font: inherit;
  letter-spacing: inherit;
  white-space: pre;
    overflow: visible !important;
  background-image: linear-gradient(135deg, #3a3a3a, #1c1c1c);
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;

  transform: translateY(100%);
  opacity: 0;
  will-change: transform, opacity;
}

/* >>> Diese Regel hat bei dir gefehlt: triggert die Animation */
.animated-headline.visible span {
  animation: fadeInUp 0.8s ease forwards;
}

/* Keyframes – vorher war eine überflüssige } davor */
@keyframes fadeInUp {
  from { transform: translateY(100%); opacity: 0; }
  to   { transform: translateY(0);     opacity: 1; }
}

/* Optional: alternative Animation */
@keyframes fadeInUpCustom {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to   { opacity: 1; transform: translate3d(0, 0, 0); }
}

/* Falls du die Custom-Animation nutzen willst: */
.move.fadeInUp { 
  animation-name: fadeInUpCustom;
  animation-duration: 1s;
  animation-fill-mode: both;
}

/* Accessibility: Animation aus bei reduzierter Bewegung */
@media (prefers-reduced-motion: reduce) {
  .animated-headline span {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

.card-link {
  position: relative !important;
  color: inherit !important;
  text-decoration: none !important;
        font-size: 1rem;

}

.card-link::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -3px !important;
  height: 1px !important;
  width: 0 !important;
  background-color: #D0A82E !important;
  transition: width 0.3s ease !important;
}

.card-link:hover::after {
  width: 100% !important;
}


.elementor-post__read-more {
    position: relative !important;
  color: inherit !important;
  text-decoration: none !important;
        font-size: 1rem;
    color: #D0A82E !important;
}


.elementor-post__read-more::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: -3px !important;
  height: 1px !important;
  width: 0 !important;
  background-color: #D0A82E !important;
  transition: width 0.3s ease !important;
}

.elementor-post__read-more:hover::after {
  width: 100% !important;
}