.elementor-kit-7{--e-global-color-primary:#C04239;--e-global-color-secondary:#0F0553;--e-global-color-text:#2F2D2D;--e-global-color-accent:#C04239;--e-global-color-9fa453d:#E6E6E6;--e-global-color-5619074:#E4E4E4;--e-global-color-ebaa8a4:#252E36;--e-global-color-6b5aaf2:#0F0553;--e-global-color-ad82cd9:#FFFFFF;--e-global-color-2ff016b:#FAF7F2;--e-global-color-594205b:#E633127D;--e-global-typography-primary-font-family:"Nunito Sans";--e-global-typography-primary-font-size:2.75rem;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.5lh;--e-global-typography-primary-letter-spacing:0.04em;--e-global-typography-primary-word-spacing:0.03em;--e-global-typography-secondary-font-family:"Nunito Sans";--e-global-typography-secondary-font-size:2.25rem;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.4lh;--e-global-typography-secondary-letter-spacing:0.035em;--e-global-typography-secondary-word-spacing:0.03em;--e-global-typography-text-font-family:"Lora";--e-global-typography-text-font-size:1.1rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6lh;--e-global-typography-text-word-spacing:0.02em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-size:1.25rem;--e-global-typography-accent-font-weight:500;--e-global-typography-accent-line-height:1.3lh;--e-global-typography-accent-letter-spacing:0.04em;--e-global-typography-accent-word-spacing:0.02em;--e-global-typography-cf69c49-font-family:"Nunito Sans";--e-global-typography-cf69c49-font-size:1.0625rem;--e-global-typography-cf69c49-font-weight:600;--e-global-typography-cf69c49-line-height:1.35lh;--e-global-typography-cf69c49-letter-spacing:0.03em;--e-global-typography-cf69c49-word-spacing:0.02em;--e-global-typography-5ec5e68-font-family:"Lora";--e-global-typography-5ec5e68-font-size:0.9375rem;--e-global-typography-5ec5e68-font-weight:300;--e-global-typography-5ec5e68-line-height:0.85lh;--e-global-typography-5ec5e68-letter-spacing:0.01em;--e-global-typography-5ec5e68-word-spacing:0.02em;--e-global-typography-def8cf6-font-family:"Nunito Sans";--e-global-typography-def8cf6-font-size:0.9375rem;--e-global-typography-def8cf6-font-weight:500;--e-global-typography-def8cf6-text-transform:uppercase;--e-global-typography-def8cf6-text-decoration:none;--e-global-typography-def8cf6-line-height:1.3lh;--e-global-typography-def8cf6-letter-spacing:0.08em;--e-global-typography-def8cf6-word-spacing:0.04em;--e-global-typography-944af38-font-family:"Nunito Sans";--e-global-typography-944af38-font-size:1.25rem;--e-global-typography-944af38-font-weight:800;--e-global-typography-944af38-text-transform:uppercase;--e-global-typography-944af38-text-decoration:none;--e-global-typography-944af38-line-height:1.4lh;--e-global-typography-944af38-letter-spacing:0.03em;--e-global-typography-944af38-word-spacing:0.02em;--e-global-typography-27bd1f1-font-size:1rem;--e-global-typography-27bd1f1-font-weight:600;--e-global-typography-27bd1f1-line-height:1.45lh;--e-global-typography-27bd1f1-letter-spacing:0.035em;--e-global-typography-27bd1f1-word-spacing:0.02em;color:#2F2D2D;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 );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-def8cf6-font-family ), Sans-serif;font-size:var( --e-global-typography-def8cf6-font-size );font-weight:var( --e-global-typography-def8cf6-font-weight );text-transform:var( --e-global-typography-def8cf6-text-transform );text-decoration:var( --e-global-typography-def8cf6-text-decoration );line-height:var( --e-global-typography-def8cf6-line-height );letter-spacing:var( --e-global-typography-def8cf6-letter-spacing );word-spacing:var( --e-global-typography-def8cf6-word-spacing );color:var( --e-global-color-2ff016b );border-radius:6px 6px 6px 6px;padding:10px 10px 10px 10px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-2ff016b );box-shadow:0px 0px 4px 4px rgba(198.96495361328124, 192.47096049699195, 192.47096049699195, 0.5);}.elementor-kit-7 p{margin-block-end:1.2em;}.elementor-kit-7 a{color:var( --e-global-color-primary );}.elementor-kit-7 a:hover{color:var( --e-global-color-primary );text-decoration:underline;}.elementor-kit-7 h1{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:3rem;font-weight:700;line-height:1.5lh;letter-spacing:0.04em;word-spacing:0.03em;}.elementor-kit-7 h2{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:2rem;font-weight:600;line-height:1.4lh;letter-spacing:0.035em;word-spacing:0.03em;}.elementor-kit-7 h3{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:1.5rem;font-weight:600;line-height:1.35lh;word-spacing:0.03em;}.elementor-kit-7 h4{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:1.5rem;font-weight:600;line-height:1.35lh;letter-spacing:0.03em;word-spacing:0.025em;}.elementor-kit-7 h5{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:1.25rem;font-weight:600;line-height:1.4lh;letter-spacing:0.035em;word-spacing:0.02em;}.elementor-kit-7 h6{color:var( --e-global-color-primary );font-family:"Poppins", Sans-serif;font-size:1rem;font-weight:600;line-height:1.45lh;letter-spacing:0.035em;word-spacing:0.02em;}.elementor-kit-7 label{color:var( --e-global-color-9fa453d );}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{padding:15px 15px 15px 15px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:25px;}.elementor-element{--widgets-spacing:25px 25px;--widgets-spacing-row:25px;--widgets-spacing-column:25px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header .site-navigation .menu li{text-transform:uppercase;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1366px){.elementor-kit-7{--e-global-typography-944af38-font-size:1.1rem;--e-global-typography-944af38-line-height:1.2lh;--e-global-typography-944af38-letter-spacing:0.02em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-7 h1{font-size:2.5rem;line-height:3lh;letter-spacing:0.035em;word-spacing:0.03em;}.elementor-kit-7 h2{font-size:1.7rem;}.elementor-kit-7 h3{font-size:1.3rem;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-def8cf6-font-size );line-height:var( --e-global-typography-def8cf6-line-height );letter-spacing:var( --e-global-typography-def8cf6-letter-spacing );word-spacing:var( --e-global-typography-def8cf6-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:70%;}.e-con{--container-max-width:70%;--container-default-padding-top:0.10rem;--container-default-padding-right:0.10rem;--container-default-padding-bottom:0.10rem;--container-default-padding-left:0.10rem;}}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-primary-font-size:2.4rem;--e-global-typography-primary-line-height:1.5lh;--e-global-typography-primary-letter-spacing:0.04em;--e-global-typography-primary-word-spacing:0.03em;--e-global-typography-secondary-font-size:2rem;--e-global-typography-secondary-line-height:1.45lh;--e-global-typography-secondary-letter-spacing:0.035em;--e-global-typography-secondary-word-spacing:0.03em;--e-global-typography-text-font-size:1rem;--e-global-typography-text-line-height:1.65lh;--e-global-typography-text-letter-spacing:0.015em;--e-global-typography-text-word-spacing:0.02em;--e-global-typography-accent-font-size:1.125rem;--e-global-typography-accent-line-height:1.3lh;--e-global-typography-accent-word-spacing:0.02em;--e-global-typography-cf69c49-font-size:1rem;--e-global-typography-cf69c49-line-height:1.35lh;--e-global-typography-cf69c49-letter-spacing:0.03em;--e-global-typography-cf69c49-word-spacing:0.02em;--e-global-typography-5ec5e68-font-size:0.9rem;--e-global-typography-5ec5e68-line-height:0.9lh;--e-global-typography-5ec5e68-letter-spacing:0.015em;--e-global-typography-5ec5e68-word-spacing:0.02em;--e-global-typography-def8cf6-font-size:0.9rem;--e-global-typography-def8cf6-line-height:1.3lh;--e-global-typography-def8cf6-letter-spacing:0.07em;--e-global-typography-def8cf6-word-spacing:0.04em;--e-global-typography-944af38-font-size:1.125rem;--e-global-typography-944af38-line-height:1.4lh;--e-global-typography-944af38-letter-spacing:0.03em;--e-global-typography-944af38-word-spacing:0.02em;--e-global-typography-27bd1f1-font-size:0.9rem;--e-global-typography-27bd1f1-line-height:1.5lh;--e-global-typography-27bd1f1-letter-spacing:0.035em;--e-global-typography-27bd1f1-word-spacing:0.02em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-7 p{margin-block-end:1.1em;}.elementor-kit-7 h1{font-size:2.4rem;line-height:1.5lh;letter-spacing:0.04em;word-spacing:0.03em;}.elementor-kit-7 h2{font-size:2rem;line-height:1.45lh;letter-spacing:0.035em;word-spacing:0.3em;}.elementor-kit-7 h3{font-size:1.5rem;line-height:1.4lh;letter-spacing:0.03em;word-spacing:0.025em;}.elementor-kit-7 h4{font-size:1.375rem;line-height:1.4lh;letter-spacing:0.03em;word-spacing:0.025em;}.elementor-kit-7 h5{font-size:1.125rem;line-height:1.45lh;letter-spacing:0.035em;word-spacing:0.02em;}.elementor-kit-7 h6{font-size:0.9rem;line-height:1.5lh;letter-spacing:0.035em;word-spacing:0.02em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-def8cf6-font-size );line-height:var( --e-global-typography-def8cf6-line-height );letter-spacing:var( --e-global-typography-def8cf6-letter-spacing );word-spacing:var( --e-global-typography-def8cf6-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-primary-font-size:2.2rem;--e-global-typography-primary-line-height:1.3lh;--e-global-typography-primary-letter-spacing:0.035em;--e-global-typography-primary-word-spacing:0.03em;--e-global-typography-secondary-font-size:1.7rem;--e-global-typography-secondary-line-height:1.4lh;--e-global-typography-secondary-letter-spacing:0.03em;--e-global-typography-secondary-word-spacing:0.03em;--e-global-typography-text-font-size:1rem;--e-global-typography-text-line-height:1.7lh;--e-global-typography-text-letter-spacing:0.015em;--e-global-typography-text-word-spacing:0.02em;--e-global-typography-accent-font-size:1rem;--e-global-typography-accent-letter-spacing:0.035em;--e-global-typography-accent-word-spacing:0.02em;--e-global-typography-cf69c49-font-size:0.95rem;--e-global-typography-cf69c49-line-height:1.4lh;--e-global-typography-cf69c49-letter-spacing:0.03em;--e-global-typography-cf69c49-word-spacing:0.02em;--e-global-typography-5ec5e68-font-size:0.875rem;--e-global-typography-5ec5e68-line-height:0.95lh;--e-global-typography-5ec5e68-letter-spacing:0.015em;--e-global-typography-5ec5e68-word-spacing:0.02em;--e-global-typography-def8cf6-font-size:0.875rem;--e-global-typography-def8cf6-line-height:1.35lh;--e-global-typography-def8cf6-letter-spacing:0.06em;--e-global-typography-def8cf6-word-spacing:0.04em;--e-global-typography-944af38-font-size:1rem;--e-global-typography-944af38-line-height:1.45lh;--e-global-typography-944af38-letter-spacing:0.03em;--e-global-typography-944af38-word-spacing:0.02em;--e-global-typography-27bd1f1-font-size:0.9rem;--e-global-typography-27bd1f1-line-height:1.55lh;--e-global-typography-27bd1f1-letter-spacing:0.03em;--e-global-typography-27bd1f1-word-spacing:0.02em;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );word-spacing:var( --e-global-typography-text-word-spacing );}.elementor-kit-7 p{margin-block-end:1em;}.elementor-kit-7 h1{font-size:2.2rem;line-height:1.3lh;letter-spacing:0.035em;word-spacing:0.03em;}.elementor-kit-7 h2{font-size:1.7rem;line-height:1.4lh;letter-spacing:0.03em;word-spacing:0.03em;}.elementor-kit-7 h3{font-size:1.375rem;line-height:1.45lh;letter-spacing:0.025em;word-spacing:0.025em;}.elementor-kit-7 h4{font-size:1.25rem;line-height:1.45lh;letter-spacing:0.025em;word-spacing:0.025em;}.elementor-kit-7 h5{font-size:1.0625rem;line-height:1.5lh;letter-spacing:0.03em;word-spacing:0.02em;}.elementor-kit-7 h6{font-size:0.9rem;line-height:1.55lh;letter-spacing:0.03em;word-spacing:0.02em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:var( --e-global-typography-def8cf6-font-size );line-height:var( --e-global-typography-def8cf6-line-height );letter-spacing:var( --e-global-typography-def8cf6-letter-spacing );word-spacing:var( --e-global-typography-def8cf6-word-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:760px;}.e-con{--container-max-width:760px;}}/* Start custom CSS *//* =========================================================
   LEGENDE – KLASSEN (am TOP-LEVEL-Container/Section eintragen)
   -----------------------------------------------------------
   Default ohne Klasse (im Content):
     Desktop ~50px | Tablet ~40px | Mobile ~32px Abstand oben & unten

   Gesamtabstand (oben+unten überschreiben):
     .abstand-0    → 0
     .abstand-xs   → 1rem  (~16px)
     .abstand-sm   → 2rem  (~32px)
     .abstand-md   → 3rem  (~48px)
     .abstand-lg   → 4rem  (~64px)
     .abstand-xl   → 6rem  (~96px)
     .abstand-xxl  → 8rem  (~128px)
     .abstand-xxxl → 10rem (~160px)

   Nur oben:
     .abstand-oben-0 / -xs / -sm / -md / -lg / -xl / -xxl / -xxxl

   Nur unten:
     .abstand-unten-0 / -xs / -sm / -md / -lg / -xl / -xxl / -xxxl

   Vollbild (Hero):
     .fullscreen              → min-height:100svh (Fallback 100vh), Inhalt zentriert
     .fullscreen-ohne-header  → Höhe = 100svh minus Headerhöhe (automatisch via JS)
     .fullscreen-exakt        → exakt 100svh/100vh (keine Auto-Höhe)
     (optional) .safe-area    → iOS-Notch-Padding
========================================================= */


/* ================================
   DEFAULT-ABSTAND (nur CONTENT)
   Desktop ≈ 50px | Tablet ≈ 40px | Mobile ≈ 32px
   Header/Footer bleiben unberührt
================================== */
:root{
  --vpad-d: 3.125rem; /* Desktop ~50px */
  --vpad-t: 2.5rem;   /* Tablet  ~40px */
  --vpad-m: 2rem;     /* Mobile  ~32px */

  /* Fallback für automatische Headerhöhe (JS überschreibt diesen Wert) */
  --header-h: 80px;   /* nur Startwert; JS setzt die echte Höhe */
}

/* Top-Level Flex-Container UND (falls vorhanden) klassische Sections im Content */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-section-wrap > .e-con,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-top-section,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-section-wrap > .elementor-top-section{
  padding-top: var(--vpad-d);
  padding-bottom: var(--vpad-d);
}

/* Tablet */
@media (max-width:1024px){
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-section-wrap > .e-con,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-top-section,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-section-wrap > .elementor-top-section{
    padding-top: var(--vpad-t);
    padding-bottom: var(--vpad-t);
  }
}
/* Mobile */
@media (max-width:760px){
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .e-con,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-section-wrap > .e-con,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-top-section,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer) > .elementor-section-wrap > .elementor-top-section{
    padding-top: var(--vpad-m);
    padding-bottom: var(--vpad-m);
  }
}

/* Verhindere „Restabstände“ durch erste/letzte Kinder (Margin-Collapsing) */
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con > .e-con-inner > :first-child,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-top-section > .elementor-container > :first-child{ margin-top: 0 !important; }
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .e-con > .e-con-inner > :last-child,
.elementor:not(.elementor-location-header):not(.elementor-location-footer) .elementor-top-section > .elementor-container > :last-child { margin-bottom: 0 !important; }


/* ======================
   FULLSCREEN / HERO (mit Auto-Headerhöhe)
   - entfernt Default-Padding im Hero
   - zentriert Inhalt
   - svh stabil auf Mobilgeräten
====================== */

/* Vollbild inkl. Header im Flow */
.elementor .elementor-element.fullscreen {
  min-height: 100svh;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
@supports not (height: 100svh) {
  .elementor .elementor-element.fullscreen { min-height: 100vh; }
}

/* Vollbild OHNE Header (Header sticky/overlay) – automatische Headerhöhe via --header-h */
.elementor .elementor-element.fullscreen-ohne-header {
  min-height: calc(100svh - var(--header-h));
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
@supports not (height: 100svh) {
  .elementor .elementor-element.fullscreen-ohne-header { min-height: calc(100vh - var(--header-h)); }
}

/* Exakte Höhe erzwingen (falls gewünscht) */
.elementor .elementor-element.fullscreen-exakt { 
  height: 100svh;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
  display: flex;
  align-items: center;
}
@supports not (height: 100svh) { .elementor .elementor-element.fullscreen-exakt { height: 100vh; } }

/* Optional: iOS Notch-Schutz */
.safe-area { 
  padding-top: max(0px, env(safe-area-inset-top));
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}


/* ======================
   ABSTAND-KLASSEN (robust)
   -> am Top-Level-Container/Section eintragen
   -> hohe Spezifität + !important
   -> wirken auch bei Elementor-eigenen Styles
====================== */

/* 0 – komplett ohne Luft (setzt auch gap/row-gap auf 0) */
.elementor .elementor-element.abstand-0,
.elementor .elementor-element.abstand-0 > .e-con-inner,
.elementor .elementor-element.abstand-0 > .elementor-container{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.elementor .elementor-element.abstand-0{ gap: 0 !important; row-gap: 0 !important; }
/* Sicherheitsnetz gegen Restmargins in abstand-0 */
.elementor .elementor-element.abstand-0 > .e-con-inner > :first-child,
.elementor .elementor-element.abstand-0 > .elementor-container > :first-child{ margin-top: 0 !important; }
.elementor .elementor-element.abstand-0 > .e-con-inner > :last-child,
.elementor .elementor-element.abstand-0 > .elementor-container > :last-child { margin-bottom: 0 !important; }

/* Größen (oben+unten) – wirken auf Element + inneren Wrapper */
.elementor .elementor-element.abstand-xs,
.elementor .elementor-element.abstand-xs > .e-con-inner,
.elementor .elementor-element.abstand-xs > .elementor-container{ padding-top:1rem !important;  padding-bottom:1rem !important; }

.elementor .elementor-element.abstand-sm,
.elementor .elementor-element.abstand-sm > .e-con-inner,
.elementor .elementor-element.abstand-sm > .elementor-container{ padding-top:2rem !important;  padding-bottom:2rem !important; }

.elementor .elementor-element.abstand-md,
.elementor .elementor-element.abstand-md > .e-con-inner,
.elementor .elementor-element.abstand-md > .elementor-container{ padding-top:3rem !important;  padding-bottom:3rem !important; }

.elementor .elementor-element.abstand-lg,
.elementor .elementor-element.abstand-lg > .e-con-inner,
.elementor .elementor-element.abstand-lg > .elementor-container{ padding-top:4rem !important;  padding-bottom:4rem !important; }

.elementor .elementor-element.abstand-xl,
.elementor .elementor-element.abstand-xl > .e-con-inner,
.elementor .elementor-element.abstand-xl > .elementor-container{ padding-top:6rem !important;  padding-bottom:6rem !important; }

.elementor .elementor-element.abstand-xxl,
.elementor .elementor-element.abstand-xxl > .e-con-inner,
.elementor .elementor-element.abstand-xxl > .elementor-container{ padding-top:8rem !important;  padding-bottom:8rem !important; }

.elementor .elementor-element.abstand-xxxl,
.elementor .elementor-element.abstand-xxxl > .e-con-inner,
.elementor .elementor-element.abstand-xxxl > .elementor-container{ padding-top:10rem !important; padding-bottom:10rem !important; }

/* Nur oben */
.elementor .elementor-element.abstand-oben-0,
.elementor .elementor-element.abstand-oben-0 > .e-con-inner,
.elementor .elementor-element.abstand-oben-0 > .elementor-container{ padding-top:0 !important; }

.elementor .elementor-element.abstand-oben-xs,
.elementor .elementor-element.abstand-oben-xs > .e-con-inner,
.elementor .elementor-element.abstand-oben-xs > .elementor-container{ padding-top:1rem !important; }

.elementor .elementor-element.abstand-oben-sm,
.elementor .elementor-element.abstand-oben-sm > .e-con-inner,
.elementor .elementor-element.abstand-oben-sm > .elementor-container{ padding-top:2rem !important; }

.elementor .elementor-element.abstand-oben-md,
.elementor .elementor-element.abstand-oben-md > .e-con-inner,
.elementor .elementor-element.abstand-oben-md > .elementor-container{ padding-top:3rem !important; }

.elementor .elementor-element.abstand-oben-lg,
.elementor .elementor-element.abstand-oben-lg > .e-con-inner,
.elementor .elementor-element.abstand-oben-lg > .elementor-container{ padding-top:4rem !important; }

.elementor .elementor-element.abstand-oben-xl,
.elementor .elementor-element.abstand-oben-xl > .e-con-inner,
.elementor .elementor-element.abstand-oben-xl > .elementor-container{ padding-top:6rem !important; }

.elementor .elementor-element.abstand-oben-xxl,
.elementor .elementor-element.abstand-oben-xxl > .e-con-inner,
.elementor .elementor-element.abstand-oben-xxl > .elementor-container{ padding-top:8rem !important; }

.elementor .elementor-element.abstand-oben-xxxl,
.elementor .elementor-element.abstand-oben-xxxl > .e-con-inner,
.elementor .elementor-element.abstand-oben-xxxl > .elementor-container{ padding-top:10rem !important; }

/* Nur unten */
.elementor .elementor-element.abstand-unten-0,
.elementor .elementor-element.abstand-unten-0 > .e-con-inner,
.elementor .elementor-element.abstand-unten-0 > .elementor-container{ padding-bottom:0 !important; }

.elementor .elementor-element.abstand-unten-xs,
.elementor .elementor-element.abstand-unten-xs > .e-con-inner,
.elementor .elementor-element.abstand-unten-xs > .elementor-container{ padding-bottom:1rem !important; }

.elementor .elementor-element.abstand-unten-sm,
.elementor .elementor-element.abstand-unten-sm > .e-con-inner,
.elementor .elementor-element.abstand-unten-sm > .elementor-container{ padding-bottom:2rem !important; }

.elementor .elementor-element.abstand-unten-md,
.elementor .elementor-element.abstand-unten-md > .e-con-inner,
.elementor .elementor-element.abstand-unten-md > .elementor-container{ padding-bottom:3rem !important; }

.elementor .elementor-element.abstand-unten-lg,
.elementor .elementor-element.abstand-unten-lg > .e-con-inner,
.elementor .elementor-element.abstand-unten-lg > .elementor-container{ padding-bottom:4rem !important; }

.elementor .elementor-element.abstand-unten-xl,
.elementor .elementor-element.abstand-unten-xl > .e-con-inner,
.elementor .elementor-element.abstand-unten-xl > .elementor-container{ padding-bottom:6rem !important; }

.elementor .elementor-element.abstand-unten-xxl,
.elementor .elementor-element.abstand-unten-xxl > .e-con-inner,
.elementor .elementor-element.abstand-unten-xxl > .elementor-container{ padding-bottom:8rem !important; }

.elementor .elementor-element.abstand-unten-xxxl,
.elementor .elementor-element.abstand-unten-xxxl > .e-con-inner,
.elementor .elementor-element.abstand-unten-xxxl > .elementor-container{ padding-bottom:10rem !important; }

/* Optional: iOS Notch-Schutz für Vollbildbereiche */
.safe-area { 
  padding-top: max(0px, env(safe-area-inset-top));
  padding-bottom: max(0px, env(safe-area-inset-bottom));
}




/* ================================
   INHALTSBREITE BEGRENZEN (nur Content)
   Desktop: 75% (max 1280px)
   Tablet : 90% (max 1024px)
   Mobile : 97% (max 760px)
   Abschnitte/Container mit Klasse .full-site sind ausgenommen (volle Breite)
================================== */

/* Desktop */
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  > .elementor-top-section:not(.full-site) > .elementor-container,
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  > .elementor-section-wrap > .elementor-top-section:not(.full-site) > .elementor-container,
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  > .e-con:not(.full-site) > .e-con-inner,
.elementor:not(.elementor-location-header):not(.elementor-location-footer)
  > .elementor-section-wrap > .e-con:not(.full-site) > .e-con-inner {
  width: min(75%, 1280px);
  margin-inline: auto;
}

/* Tablet */
@media (max-width: 1024px){
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .elementor-top-section:not(.full-site) > .elementor-container,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .elementor-section-wrap > .elementor-top-section:not(.full-site) > .elementor-container,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .e-con:not(.full-site) > .e-con-inner,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .elementor-section-wrap > .e-con:not(.full-site) > .e-con-inner {
    width: min(90%, 1024px);
  }
}

/* Mobile */
@media (max-width: 760px){
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .elementor-top-section:not(.full-site) > .elementor-container,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .elementor-section-wrap > .elementor-top-section:not(.full-site) > .elementor-container,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .e-con:not(.full-site) > .e-con-inner,
  .elementor:not(.elementor-location-header):not(.elementor-location-footer)
    > .elementor-section-wrap > .e-con:not(.full-site) > .e-con-inner {
    width: min(97%, 760px);
  }
}

/* Hinweis:
   – Für volle Breite/„Full Bleed“ gib der Sektion/dem Container die Klasse: full-site
   – Kein padding hier gesetzt → kollidiert nicht mit deinen abstand-Klassen
*//* End custom CSS */