.elementor-kit-1314{--e-global-color-primary:#152760;--e-global-color-secondary:#F7A800;--e-global-color-text:#333333;--e-global-color-accent:#FDF6F0;--e-global-color-d1b4a3a:#4054B2;--e-global-color-25fd0dad:#23A455;--e-global-color-39e0ef55:#000;--e-global-color-de56060:#FFF;--e-global-color-b434634:#152760;--e-global-color-ceda595:#3C445A;--e-global-color-5db4501:#F47148;--e-global-color-e822f5a:#152780;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-size:44px;--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Manrope";--e-global-typography-secondary-font-size:21px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.5px;--e-global-typography-text-font-family:"Manrope";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6px;--e-global-typography-accent-font-family:"Manrope";--e-global-typography-accent-font-size:16px;--e-global-typography-accent-font-weight:500;}.elementor-kit-1314 e-page-transition{background-color:#7DF7FF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:20px;--container-default-padding-right:0px;--container-default-padding-bottom:20px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@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-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0%;--container-default-padding-right:0%;--container-default-padding-bottom:0%;--container-default-padding-left:0%;}}/* Start custom CSS */:root{
  --brand:#152780;
  --accent:#6c63ff;
  --accent2:#00e5a8;
  --ink:#0b1020;
  --muted:#5b657a;
  --ring:#eef2ff;
  /* NEUE HEADER-HÖHEN VARIABLEN */
  --header-height-desktop: 120px;
  --header-height-tablet: 100px;
  --header-height-mobile: 80px;
}

/* ===========================
   Global Psy-Dynamic CTA Style
   =========================== */
.hero-buttons a,
.hero-buttons button,
.cta a,
.cta button,
.psy-cta {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
  min-width:220px;
  padding:14px 28px;
  border-radius:12px;
  font-weight:700;
  font-size:15px;
  line-height:1;
  text-decoration:none;
  -webkit-tap-highlight-color:transparent;
  cursor:pointer;
  color:#fff;
  background:linear-gradient(135deg,#ff25b4,#6236ff,#00e6c0);
  background-size:200% 200%;
  box-shadow:
    0 0 18px rgba(98,54,255,.40),
    0 0 28px rgba(255,37,180,.30);
  transition:
    transform .25s ease,
    box-shadow .35s ease,
    background-position .45s ease,
    filter .35s ease;
}

.hero-buttons a:hover,
.hero-buttons button:hover,
.cta a:hover,
.cta button:hover,
.psy-cta:hover {
  background-position:100% 0;
  transform:translateY(-2px) scale(1.03);
  box-shadow:
    0 0 22px rgba(255,37,180,.60),
    0 0 38px rgba(98,54,255,.50);
}

.hero-buttons a::after,
.hero-buttons button::after,
.cta a::after,
.cta button::after,
.psy-cta::after {
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:0; height:0;
  border-radius:50%;
  background:rgba(255,255,255,.32);
  transform:translate(-50%,-50%);
  transition:width .6s ease, height .6s ease, opacity .8s ease;
  pointer-events:none;
  opacity:1;
}

.hero-buttons a:active::after,
.hero-buttons button:active::after,
.cta a:active::after,
.cta button:active::after,
.psy-cta:active::after {
  width:300px; height:300px;
  opacity:0;
}

.hero-buttons a:active,
.hero-buttons button:active,
.cta a:active,
.cta button:active,
.psy-cta:active {
  transform:translateY(0) scale(.99);
  filter:saturate(1.05);
}

.hero-buttons a:focus-visible,
.hero-buttons button:focus-visible,
.cta a:focus-visible,
.cta button:focus-visible,
.psy-cta:focus-visible {
  outline:none;
  box-shadow:
    0 0 0 4px rgba(98,54,255,.25),
    0 0 0 8px rgba(0,230,192,.15),
    0 0 22px rgba(98,54,255,.35);
}

@media (prefers-reduced-motion: reduce){
  .hero-buttons a, .hero-buttons button,
  .cta a, .cta button,
  .psy-cta, .psy-cta::after {
    transition:none !important;
    animation:none !important;
  }
}

/* ===========================
   FIXED HEADER SPACING SYSTEM
   =========================== */

/* 1. Basis-Reset für alle wichtigen Elemente */
html, body {
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Header als Fixed Overlay */
.elementor-location-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  margin: 0 !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* 3. Adminbar Berücksichtigung */
@media (min-width: 783px) {
  body.logged-in .elementor-location-header {
    top: 32px !important;
  }
}

/* 4. Alle Theme-Container ohne Top-Spacing */
.site, 
#page, 
#content, 
.site-content, 
.content-area, 
.page-wrap, 
.content-wrapper, 
main#main,
.elementor,
.elementor-inner {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 5. HERO SECTION AUSNAHME - KRITISCH FÜR MOBILE SICHTBARKEIT */
.elementor-section-wrap > .elementor-section:first-child:not(.hero-section),
.elementor-section-wrap > .e-con:first-child:not(.hero-section),
.elementor > .e-con:first-child:not(.hero-section),
.e-con > .e-con-inner > .e-con:first-child:not(.hero-section),
.elementor-widget-wrap > .elementor-element:first-child:not(.hero-section),
body > .elementor:first-child:not(.hero-section),
#main > .elementor:first-child:not(.hero-section),
.site-content > .elementor:first-child:not(.hero-section) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 6. HERO SECTION SPEZIAL-BEHANDLUNG */
.hero-section,
.elementor-section.hero-section,
.e-con.hero-section {
  margin-top: 0 !important;
  /* WICHTIG: padding-top NICHT auf 0 setzen! */
  padding-top: var(--header-height-desktop) !important;
  min-height: 100vh !important;
  box-sizing: border-box !important;
}

/* 7. Elementor Sticky Spacer komplett entfernen */
.elementor-sticky__spacer {
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  display: none !important;
}

/* 8. Andere wichtige Elemente ohne Top-Spacing (aber nicht Hero) */
.elementor-widget-slider:not(.hero-section),
.elementor-widget-image-carousel:not(.hero-section) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* 9. Container-spezifische Fixes */
.elementor-container,
.e-con-inner,
.elementor-row {
  margin-top: 0 !important;
}

/* 10. Flexbox Container Fixes */
.elementor-widget:first-child:not(.hero-section),
.elementor-column:first-child .elementor-widget:first-child:not(.hero-section) {
  margin-top: 0 !important;
}

/* 11. Zusätzliche Theme-spezifische Resets */
.entry-content:not(.hero-section),
.post-content:not(.hero-section),
.page-content:not(.hero-section),
article:not(.hero-section),
.hentry:not(.hero-section) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ===========================
   MOBILE HERO HEADLINE GARANTIE
   =========================== */

/* Tablet Anpassung */
@media (max-width: 1024px) {
  .hero-section,
  .elementor-section.hero-section,
  .e-con.hero-section {
    padding-top: var(--header-height-tablet) !important;
    min-height: 100vh !important;
  }
}

/* Mobile Hauptfix */
@media (max-width: 768px) {
  .hero-section,
  .elementor-section.hero-section,
  .e-con.hero-section {
    padding-top: var(--header-height-mobile) !important;
    min-height: 100vh !important;
    min-height: -webkit-fill-available !important; /* iOS Safari Fix */
  }
  
  /* Hero Content Sichtbarkeit garantieren */
  .hero-section .hero-content,
  .hero-section .elementor-container,
  .hero-section .e-con-inner {
    min-height: calc(100vh - var(--header-height-mobile)) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
  
  /* Hero Title Mobile Garantie */
  .hero-section .hero-title,
  .hero-section h1,
  .hero-section .elementor-heading-title {
    font-size: clamp(2.5rem, 8vw, 4rem) !important;
    line-height: 1.2 !important;
    margin-bottom: 1rem !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 10 !important;
  }
  
  /* Hero Subtitle Mobile Garantie */
  .hero-section .hero-subtitle,
  .hero-section h2,
  .hero-section .elementor-heading-title:nth-of-type(2) {
    font-size: clamp(1.4rem, 5vw, 2rem) !important;
    line-height: 1.4 !important;
    margin-bottom: 2rem !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 10 !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
}

/* Sehr kleine Bildschirme */
@media (max-width: 480px) {
  :root {
    --header-height-mobile: 70px;
  }
  
  .hero-section,
  .elementor-section.hero-section,
  .e-con.hero-section {
    padding-top: var(--header-height-mobile) !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }
  
  .hero-section .hero-title,
  .hero-section h1 {
    font-size: 2.2rem !important;
    margin-bottom: 0.8rem !important;
  }
  
  .hero-section .hero-subtitle,
  .hero-section h2 {
    font-size: 1.3rem !important;
    margin-bottom: 1.5rem !important;
  }
}

/* Landscape Mobile Fix */
@media (max-width: 768px) and (orientation: landscape) {
  .hero-section,
  .elementor-section.hero-section,
  .e-con.hero-section {
    min-height: 100vh !important;
    padding-top: 60px !important; /* Kleinerer Header bei Landscape */
  }
}

/* ===========================
   NOTFALL-SICHTBARKEITS-GARANTIE
   =========================== */

/* Falls andere CSS-Regeln interferieren */
.hero-section * {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}

/* Elementor spezifische Sichtbarkeits-Garantie */
.elementor-section.hero-section .elementor-heading-title,
.e-con.hero-section .elementor-heading-title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* WordPress/Theme Overrides */
.hero-section .wp-block-heading,
.hero-section .entry-title,
.hero-section .post-title {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* ===========================
   DEBUG HELPER (Bei Bedarf aktivieren)
   =========================== */

/* 
AKTIVIEREN Sie diese Regeln zum Debuggen:

.hero-section {
  border: 3px solid red !important;
  background: rgba(255, 0, 0, 0.1) !important;
}

.hero-section .hero-title,
.hero-section h1 {
  border: 2px solid blue !important;
  background: rgba(0, 0, 255, 0.1) !important;
}

.hero-section .hero-subtitle,
.hero-section h2 {
  border: 2px solid green !important;
  background: rgba(0, 255, 0, 0.1) !important;
}
*//* End custom CSS */