.elementor-538 .elementor-element.elementor-element-1084be0{--display:flex;}.elementor-538 .elementor-element.elementor-element-b995475{width:100%;max-width:100%;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS for html, class: .elementor-element-b995475 */:root{
  --cws-header-h:78px;
  --cws-blue:#08112a;
  --cws-blue-2:#101d49;
  --cws-blue-3:#162654;
  --cws-accent:#6da8ff;
  --cws-accent-2:#9cc6ff;
  --cws-text:#07111f;
  --cws-muted:#657386;
  --cws-card:#ffffff;
  --cws-header-bg:#eef4ff;
  --cws-header-inner:#ffffff;
  --cws-header-nav:#f5f8ff;
  --cws-header-text:#07111f;
  --cws-header-muted:#657386;
  --cws-header-line:rgba(8,17,42,.10);
  --cws-header-shadow:0 14px 38px rgba(8,17,42,.10);
  --cws-font:"Poppins",Arial,sans-serif;
}

html[data-theme="dark"]{
  --cws-text:#f7fbff;
  --cws-muted:#b5c3db;
  --cws-card:#0f1838;
  --cws-header-bg:#060b22;
  --cws-header-inner:#101d49;
  --cws-header-nav:rgba(255,255,255,.055);
  --cws-header-text:#f7fbff;
  --cws-header-muted:#b5c3db;
  --cws-header-line:rgba(255,255,255,.12);
  --cws-header-shadow:0 18px 48px rgba(0,0,0,.34);
}

html,
body{
  margin:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:hidden !important;
  font-family:var(--cws-font);
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  display:block;
  max-width:100%;
}

/* =========================================================
   ELEMENTOR RESET
========================================================= */

.elementor-section:has(.cws-header),
.elementor-container:has(.cws-header),
.elementor-widget-html:has(.cws-header),
.elementor-widget-container:has(.cws-header),
.e-con:has(.cws-header),
.e-container:has(.cws-header){
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  position:static !important;
}

body .elementor-widget-html:has(.cws-header){
  margin:0 !important;
  padding:0 !important;
}

body{
  padding-top:var(--cws-header-h) !important;
}

/* =========================================================
   HEADER WRAPPER
========================================================= */

.cws-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:999999 !important;

  width:100vw !important;
  max-width:100vw !important;
  height:var(--cws-header-h) !important;

  margin:0 !important;
  padding:0 !important;

  background:
    radial-gradient(circle at 12% 0%, rgba(109,168,255,.16), transparent 30%),
    linear-gradient(180deg, var(--cws-header-bg) 0%, rgba(245,248,255,.92) 100%) !important;

  border:none !important;
  box-shadow:
    0 10px 28px rgba(8,17,42,.08),
    inset 0 -1px 0 var(--cws-header-line) !important;

  overflow:visible !important;
}

html[data-theme="dark"] .cws-header{
  background:
    radial-gradient(circle at 12% 0%, rgba(109,168,255,.12), transparent 30%),
    linear-gradient(180deg, #101b42 0%, #060b22 100%) !important;

  box-shadow:
    0 18px 48px rgba(0,0,0,.34),
    inset 0 -1px 0 rgba(255,255,255,.055) !important;
}

.cws-header-shell{
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  padding:7px 12px !important;
  margin:0 !important;
}

/* =========================================================
   HEADER INNER
========================================================= */

.cws-header-inner{
  position:relative !important;

  width:100% !important;
  height:64px !important;
  min-height:64px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;

  padding:8px 14px !important;
  margin:0 !important;

  border-radius:24px !important;
  border:1px solid var(--cws-header-line) !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.86)),
    var(--cws-header-inner) !important;

  box-shadow:
    var(--cws-header-shadow),
    inset 0 1px 0 rgba(255,255,255,.75) !important;

  overflow:visible !important;
}

html[data-theme="dark"] .cws-header-inner{
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)),
    linear-gradient(180deg, rgba(16,29,73,.98), rgba(6,11,34,.98)) !important;

  border-color:rgba(255,255,255,.105) !important;

  box-shadow:
    0 16px 42px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.cws-header-inner::before,
.cws-header-inner::after{
  display:none !important;
}

/* =========================================================
   LOGO
========================================================= */

.cws-brand{
  height:48px !important;
  min-height:48px !important;
  min-width:180px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;

  line-height:1 !important;
  z-index:2 !important;
}

.cws-brand img{
  width:160px !important;
  height:42px !important;
  max-height:42px !important;
  object-fit:contain !important;
  filter:none !important;
  opacity:1 !important;
}

html[data-theme="dark"] .cws-brand img{
  filter:brightness(0) invert(1) contrast(1.08) !important;
  opacity:.95 !important;
}

/* =========================================================
   NAVIGATION
========================================================= */

.cws-nav{
  height:50px !important;
  min-height:50px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:5px !important;

  margin:0 !important;
  padding:5px !important;

  border-radius:999px !important;
  border:1px solid var(--cws-header-line) !important;

  background:var(--cws-header-nav) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.55),
    0 8px 20px rgba(8,17,42,.05) !important;
}

html[data-theme="dark"] .cws-nav{
  background:
    linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.025)),
    rgba(255,255,255,.035) !important;

  border-color:rgba(255,255,255,.09) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    0 8px 20px rgba(0,0,0,.10) !important;
}

.cws-nav-link,
.cws-dropdown-toggle{
  height:40px !important;
  min-height:40px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;

  padding:0 16px !important;
  margin:0 !important;

  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;

  color:var(--cws-header-text) !important;
  font:800 14px/1 var(--cws-font) !important;

  cursor:pointer !important;
  white-space:nowrap !important;
  text-transform:none !important;
  letter-spacing:0 !important;

  transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease,
    box-shadow .2s ease !important;
}

html[data-theme="dark"] .cws-nav-link,
html[data-theme="dark"] .cws-dropdown-toggle{
  color:rgba(255,255,255,.88) !important;
}

.cws-nav-link:hover,
.cws-dropdown-toggle:hover,
.cws-nav-link.is-active{
  background:linear-gradient(135deg, #2f65bf 0%, #6da8ff 100%) !important;
  color:#fff !important;
  transform:translateY(-1px) !important;
  box-shadow:0 8px 22px rgba(109,168,255,.24) !important;
}

.cws-dropdown{
  position:relative !important;
  height:40px !important;
  min-height:40px !important;

  display:flex !important;
  align-items:center !important;
}

.cws-dropdown-toggle svg{
  width:16px !important;
  height:16px !important;
  display:block !important;

  stroke:currentColor !important;
  stroke-width:2.2 !important;
  fill:none !important;

  margin:0 !important;
  position:relative !important;
  top:0 !important;
}

/* =========================================================
   DROPDOWN MENU
========================================================= */

.cws-dropdown-menu{
  position:absolute !important;
  top:calc(100% + 12px) !important;
  left:50% !important;
  transform:translateX(-50%) translateY(8px) !important;

  min-width:240px !important;

  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;

  padding:12px !important;
  border-radius:22px !important;

  border:1px solid var(--cws-header-line) !important;

  background:
    linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%) !important;

  box-shadow:
    0 20px 54px rgba(8,17,42,.16),
    inset 0 1px 0 rgba(255,255,255,.75) !important;

  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;

  transition:
    opacity .2s ease,
    visibility .2s ease,
    transform .2s ease !important;
}

html[data-theme="dark"] .cws-dropdown-menu{
  background:
    linear-gradient(180deg, #12224d 0%, #060b22 100%) !important;

  border-color:rgba(255,255,255,.10) !important;
  box-shadow:
    0 20px 58px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.cws-dropdown.is-open .cws-dropdown-menu,
.cws-dropdown:hover .cws-dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}

.cws-dropdown-menu a{
  min-height:42px !important;

  display:flex !important;
  align-items:center !important;

  padding:0 14px !important;
  border-radius:14px !important;

  color:var(--cws-header-text) !important;
  font:750 14px/1.2 var(--cws-font) !important;

  text-transform:none !important;
  letter-spacing:0 !important;

  transition:
    background .2s ease,
    color .2s ease,
    transform .2s ease !important;
}

html[data-theme="dark"] .cws-dropdown-menu a{
  color:rgba(255,255,255,.82) !important;
}

.cws-dropdown-menu a:hover{
  background:rgba(109,168,255,.14) !important;
  color:var(--cws-header-text) !important;
  transform:translateX(3px) !important;
}

html[data-theme="dark"] .cws-dropdown-menu a:hover{
  color:#ffffff !important;
}

/* =========================================================
   RIGHT ACTIONS
========================================================= */

.cws-actions{
  height:48px !important;
  min-height:48px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;

  margin:0 !important;
  padding:0 !important;
  z-index:2 !important;
}

.cws-icon-btn,
.cws-lang-btn,
.cws-burger{
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  min-height:46px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:0 !important;
  margin:0 !important;

  border-radius:15px !important;
  border:1px solid var(--cws-header-line) !important;

  background:#ffffff !important;

  color:var(--cws-header-text) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.75),
    0 8px 20px rgba(8,17,42,.06) !important;

  cursor:pointer !important;
  font:850 14px/1 var(--cws-font) !important;
  text-transform:none !important;

  transition:
    transform .2s ease,
    background .2s ease,
    border-color .2s ease,
    box-shadow .2s ease !important;
}

html[data-theme="dark"] .cws-icon-btn,
html[data-theme="dark"] .cws-lang-btn,
html[data-theme="dark"] .cws-burger{
  background:
    linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035)),
    rgba(255,255,255,.04) !important;

  color:#f6fbff !important;

  border-color:rgba(255,255,255,.12) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    0 8px 20px rgba(0,0,0,.10) !important;
}

.cws-icon-btn:hover,
.cws-lang-btn:hover,
.cws-burger:hover{
  transform:translateY(-2px) !important;
  border-color:rgba(109,168,255,.28) !important;
  background:#f5f8ff !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.90),
    0 12px 26px rgba(8,17,42,.10) !important;
}

html[data-theme="dark"] .cws-icon-btn:hover,
html[data-theme="dark"] .cws-lang-btn:hover,
html[data-theme="dark"] .cws-burger:hover{
  background:
    linear-gradient(180deg, rgba(109,168,255,.18), rgba(255,255,255,.045)),
    rgba(255,255,255,.05) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.10),
    0 12px 26px rgba(0,0,0,.16) !important;
}

.cws-icon-btn svg,
.cws-burger svg{
  width:20px !important;
  height:20px !important;

  display:block !important;

  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2.1 !important;

  margin:0 !important;
  position:relative !important;
  top:0 !important;
}

.cws-cta-btn{
  height:46px !important;
  min-height:46px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:0 22px !important;
  margin:0 !important;

  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.16) !important;

  background:linear-gradient(135deg, #2f65bf 0%, #6da8ff 100%) !important;
  color:#fff !important;

  font:850 14px/1 var(--cws-font) !important;
  white-space:nowrap !important;

  box-shadow:
    0 12px 26px rgba(109,168,255,.25),
    inset 0 1px 0 rgba(255,255,255,.18) !important;

  transition:
    transform .2s ease,
    box-shadow .2s ease,
    background .2s ease !important;
}

.cws-cta-btn:hover{
  transform:translateY(-2px) !important;
  box-shadow:
    0 16px 34px rgba(109,168,255,.32),
    inset 0 1px 0 rgba(255,255,255,.22) !important;
}

.cws-burger{
  display:none !important;
}

/* =========================================================
   MOBILE PANEL
========================================================= */

.cws-mobile-panel{
  display:none;
}

@media(max-width:1180px){
  .cws-nav{
    display:none !important;
  }

  .cws-burger{
    display:inline-flex !important;
  }

  .cws-cta-btn{
    display:none !important;
  }

  .cws-header.is-mobile-open{
    height:auto !important;
  }

  .cws-header.is-mobile-open .cws-mobile-panel{
    display:flex !important;
  }

  .cws-mobile-panel{
    width:100% !important;
    margin-top:8px !important;

    flex-direction:column !important;
    gap:8px !important;

    padding:14px !important;
    border-radius:22px !important;

    border:1px solid var(--cws-header-line) !important;

    background:
      linear-gradient(180deg, #ffffff 0%, #f5f8ff 100%) !important;

    box-shadow:
      0 20px 54px rgba(8,17,42,.14),
      inset 0 1px 0 rgba(255,255,255,.75) !important;
  }

  html[data-theme="dark"] .cws-mobile-panel{
    background:
      linear-gradient(180deg, #12224d 0%, #060b22 100%) !important;

    border-color:rgba(255,255,255,.10) !important;
    box-shadow:
      0 20px 54px rgba(0,0,0,.30),
      inset 0 1px 0 rgba(255,255,255,.08) !important;
  }

  .cws-mobile-panel a{
    min-height:48px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;

    padding:0 14px !important;
    border-radius:16px !important;

    background:rgba(109,168,255,.08) !important;
    color:var(--cws-header-text) !important;

    font:800 15px/1 var(--cws-font) !important;
    text-transform:none !important;

    transition:
      transform .2s ease,
      background .2s ease !important;
  }

  html[data-theme="dark"] .cws-mobile-panel a{
    background:rgba(255,255,255,.055) !important;
    color:#f6fbff !important;
  }

  .cws-mobile-panel a:hover{
    transform:translateX(4px) !important;
    background:rgba(109,168,255,.15) !important;
  }

  .cws-mobile-cta{
    background:linear-gradient(135deg, #2f65bf 0%, #6da8ff 100%) !important;
    color:#fff !important;
  }

  .cws-mobile-call{
    color:var(--cws-accent) !important;
  }

  html[data-theme="dark"] .cws-mobile-call{
    color:#9cc6ff !important;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:720px){
  :root{
    --cws-header-h:68px;
  }

  body{
    padding-top:var(--cws-header-h) !important;
  }

  .cws-header{
    height:var(--cws-header-h) !important;
  }

  .cws-header-shell{
    padding:5px 6px !important;
  }

  .cws-header-inner{
    height:58px !important;
    min-height:58px !important;

    padding:7px 9px !important;
    gap:8px !important;
    border-radius:20px !important;
  }

  .cws-brand{
    min-width:0 !important;
    height:42px !important;
    min-height:42px !important;
  }

  .cws-brand img{
    width:136px !important;
    height:38px !important;
    max-height:38px !important;
  }

  .cws-actions{
    height:42px !important;
    min-height:42px !important;
    gap:5px !important;
  }

  .cws-icon-btn,
  .cws-lang-btn,
  .cws-burger{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    border-radius:14px !important;
  }

  .cws-icon-btn svg,
  .cws-burger svg{
    width:18px !important;
    height:18px !important;
  }
}

@media(max-width:420px){
  .cws-brand img{
    width:118px !important;
  }

  .cws-icon-btn,
  .cws-lang-btn,
  .cws-burger{
    width:40px !important;
    height:40px !important;
    min-width:40px !important;
    min-height:40px !important;
  }

  .cws-actions{
    gap:4px !important;
  }
}

/* =========================================================
   CWS HEADER FIX – RECHTS NICHT MEHR ABGESCHNITTEN
========================================================= */

/* 100vw verursacht oft rechts Überstand wegen Scrollbar */
.cws-header{
  width:100% !important;
  max-width:100% !important;
  left:0 !important;
  right:0 !important;
}

/* Shell darf nicht über den Viewport hinauslaufen */
.cws-header-shell{
  width:100% !important;
  max-width:100% !important;
  padding-left:10px !important;
  padding-right:10px !important;
  overflow:visible !important;
}

/* Innerer Header bleibt innerhalb der Breite */
.cws-header-inner{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}

/* Logo nicht zu breit erzwingen */
.cws-brand{
  flex:0 0 auto !important;
  min-width:150px !important;
}

.cws-brand img{
  width:148px !important;
}

/* Navigation darf schrumpfen */
.cws-nav{
  flex:0 1 auto !important;
  min-width:0 !important;
}

/* Rechte Buttons bleiben sichtbar */
.cws-actions{
  flex:0 0 auto !important;
  min-width:max-content !important;
}

/* CTA etwas kompakter, damit rechts nichts rausläuft */
.cws-cta-btn{
  padding-left:18px !important;
  padding-right:18px !important;
}

/* Auf mittleren Screens früher ins Burger-Menü wechseln */
@media(max-width:1320px){
  .cws-nav{
    display:none !important;
  }

  .cws-burger{
    display:inline-flex !important;
  }
}

/* Noch kompakter bei kleineren Desktopbreiten */
@media(max-width:1500px){
  .cws-header-shell{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  .cws-header-inner{
    gap:10px !important;
    padding-left:12px !important;
    padding-right:12px !important;
  }

  .cws-nav-link,
  .cws-dropdown-toggle{
    padding-left:13px !important;
    padding-right:13px !important;
  }

  .cws-actions{
    gap:6px !important;
  }
}

/* Mobile sauber */
@media(max-width:720px){
  .cws-header-shell{
    padding-left:6px !important;
    padding-right:6px !important;
  }

  .cws-brand{
    min-width:0 !important;
  }

  .cws-brand img{
    width:128px !important;
  }
}/* End custom CSS */