.elementor-195 .elementor-element.elementor-element-7443036{--display:flex;}.elementor-195 .elementor-element.elementor-element-2ed2fbb{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-2ed2fbb */:root{
  --rt-header-h:82px;
  --rt-blue:#0ba6d8;
  --rt-cyan:#18c4d4;
  --rt-deep:#102434;
  --rt-dark:#0b1722;
  --rt-muted:#6d7b86;
  --rt-line:rgba(16,36,52,.12);
  --rt-card:#ffffff;
  --rt-bg:#f3f8fb;
  --rt-soft:#e8f8fc;
  --rt-shadow:0 24px 70px rgba(16,36,52,.14);
  --rt-font:"Poppins",Arial,sans-serif;
}

html[data-theme="dark"]{
  --rt-bg:#0b1722;
  --rt-card:#132333;
  --rt-soft:#102434;
  --rt-deep:#f4fbff;
  --rt-muted:#b7c5cf;
  --rt-line:rgba(255,255,255,.12);
  --rt-shadow:0 24px 70px rgba(0,0,0,.35);
}

html,
body{
  margin:0;
  padding:0;
  overflow-x:hidden;
  font-family:var(--rt-font);
  background:var(--rt-bg);
  color:var(--rt-deep);
}

*{
  box-sizing:border-box;
}

a{
  color:inherit;
  text-decoration:none;
}

img{
  max-width:100%;
  display:block;
}

.rt-header{
  position:sticky;
  top:0;
  z-index:9999;
  width:100%;
  background:rgba(243,248,251,.84);
  backdrop-filter:blur(22px);
  -webkit-backdrop-filter:blur(22px);
  border-bottom:1px solid var(--rt-line);
}

html[data-theme="dark"] .rt-header{
  background:rgba(11,23,34,.86);
}

.rt-header-shell{
  width:100%;
  padding:10px 12px;
}

.rt-header-inner{
  min-height:62px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:rgba(255,255,255,.78);
  border:1px solid var(--rt-line);
  border-radius:22px;
  padding:8px 16px;
  box-shadow:0 12px 40px rgba(16,36,52,.08);
}

html[data-theme="dark"] .rt-header-inner{
  background:rgba(19,35,51,.82);
}

.rt-brand{
  display:flex;
  align-items:center;
  min-width:190px;
}

.rt-brand-logo{
  width:178px;
  max-height:48px;
  object-fit:contain;
}

.rt-nav{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  background:rgba(255,255,255,.72);
  border:1px solid var(--rt-line);
  border-radius:999px;
  padding:5px;
}

html[data-theme="dark"] .rt-nav{
  background:rgba(255,255,255,.06);
}

.rt-nav-link{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--rt-deep);
  font:800 14px/1 var(--rt-font);
  cursor:pointer;
  white-space:nowrap;
}

.rt-nav-link.is-active,
.rt-nav-link:hover{
  background:linear-gradient(135deg,var(--rt-blue),var(--rt-cyan));
  color:#fff;
}

.rt-dropdown{
  position:relative;
}

.rt-dropdown-toggle svg,
.rt-mobile-toggle svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.rt-dropdown-menu{
  position:absolute;
  top:calc(100% + 14px);
  left:50%;
  transform:translateX(-50%) translateY(8px);
  min-width:260px;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:12px;
  border-radius:22px;
  background:var(--rt-card);
  border:1px solid var(--rt-line);
  box-shadow:var(--rt-shadow);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.2s ease;
}

.rt-dropdown.is-open .rt-dropdown-menu,
.rt-dropdown:hover .rt-dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.rt-dropdown-menu a{
  padding:12px 14px;
  border-radius:14px;
  font-weight:800;
  color:var(--rt-muted);
}

.rt-dropdown-menu a:hover{
  background:var(--rt-soft);
  color:var(--rt-deep);
}

.rt-actions{
  display:flex;
  align-items:center;
  gap:8px;
}

.rt-icon-btn,
.rt-lang-btn,
.rt-burger{
  width:48px;
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--rt-line);
  border-radius:16px;
  background:rgba(255,255,255,.82);
  color:var(--rt-deep);
  cursor:pointer;
  font:900 14px/1 var(--rt-font);
}

html[data-theme="dark"] .rt-icon-btn,
html[data-theme="dark"] .rt-lang-btn,
html[data-theme="dark"] .rt-burger{
  background:rgba(255,255,255,.08);
}

.rt-icon-btn svg,
.rt-burger svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.rt-cta-btn{
  height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 22px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--rt-blue),var(--rt-cyan));
  color:#fff;
  font-weight:900;
  box-shadow:0 14px 34px rgba(11,166,216,.28);
  white-space:nowrap;
}

.rt-burger{
  display:none;
}

.rt-mobile-panel{
  display:none;
}

@media (max-width:1180px){
  .rt-nav{
    display:none;
  }

  .rt-burger{
    display:inline-flex;
  }

  .rt-cta-btn{
    display:none;
  }

  .rt-header.is-mobile-open .rt-mobile-panel{
    display:flex;
  }

  .rt-mobile-panel{
    margin-top:10px;
    flex-direction:column;
    gap:8px;
    padding:14px;
    border-radius:22px;
    background:var(--rt-card);
    border:1px solid var(--rt-line);
    box-shadow:var(--rt-shadow);
  }

  .rt-mobile-panel a,
  .rt-mobile-toggle{
    width:100%;
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 14px;
    border:0;
    border-radius:16px;
    background:var(--rt-bg);
    color:var(--rt-deep);
    font:900 15px/1 var(--rt-font);
  }

  .rt-mobile-submenu{
    display:none;
    flex-direction:column;
    gap:8px;
    padding-left:10px;
  }

  .rt-mobile-submenu.is-open{
    display:flex;
  }

  .rt-mobile-cta{
    background:linear-gradient(135deg,var(--rt-blue),var(--rt-cyan)) !important;
    color:#fff !important;
  }

  .rt-mobile-call{
    color:var(--rt-blue) !important;
  }
}

@media (max-width:620px){
  .rt-header-shell{
    padding:6px;
  }

  .rt-header-inner{
    min-height:58px;
    border-radius:18px;
    padding:7px 9px;
  }

  .rt-brand{
    min-width:0;
  }

  .rt-brand-logo{
    width:138px;
  }

  .rt-icon-btn,
  .rt-lang-btn,
  .rt-burger{
    width:42px;
    height:42px;
    border-radius:14px;
  }

  .rt-actions{
    gap:5px;
  }
}
/* =========================================================
   ROHRTECH HEADER FIX – FULL WIDTH + GLEICHE HÖHE
   Ganz unten in das Header-CSS einfügen
========================================================= */

/* Elementor / WordPress Breite überschreiben */
.elementor-section:has(.rt-header),
.elementor-container:has(.rt-header),
.elementor-widget-html:has(.rt-header),
.elementor-widget-container:has(.rt-header){
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
}

body .rt-header{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  left:0 !important;
  right:0 !important;
}

/* Header-Grundhöhe sauber halten */
.rt-header{
  min-height:82px !important;
}

.rt-header-shell{
  width:100% !important;
  max-width:100% !important;
  padding:10px 12px !important;
}

.rt-header-inner{
  width:100% !important;
  max-width:100% !important;
  min-height:62px !important;
  height:62px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin:0 !important;
}

/* Logo mittig ausrichten */
.rt-brand{
  height:48px !important;
  min-height:48px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

.rt-brand-logo{
  width:178px !important;
  height:48px !important;
  max-height:48px !important;
  object-fit:contain !important;
  display:block !important;
}

/* Navigation exakt mittig */
.rt-nav{
  height:52px !important;
  min-height:52px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  padding:5px !important;
  margin:0 !important;
}

.rt-nav-link,
.rt-dropdown-toggle{
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  margin:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* Dropdown-Wrapper darf nichts verschieben */
.rt-dropdown{
  height:42px !important;
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
}

/* Rechte Buttons exakt gleich hoch */
.rt-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;
}

.rt-icon-btn,
.rt-lang-btn,
.rt-burger{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  max-width:48px !important;
  max-height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  padding:0 !important;
  margin:0 !important;
}

.rt-cta-btn{
  height:48px !important;
  min-height:48px !important;
  max-height:48px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  padding:0 22px !important;
  margin:0 !important;
}

/* SVGs mittig */
.rt-icon-btn svg,
.rt-burger svg,
.rt-dropdown-toggle svg{
  display:block !important;
  flex:0 0 auto !important;
}

/* Kein Elementor-Abstand unter/über Header */
.rt-header p,
.rt-header ul,
.rt-header li{
  margin:0 !important;
  padding:0 !important;
}

/* Mobile sauber */
@media (max-width:1180px){
  .rt-header-inner{
    height:62px !important;
    min-height:62px !important;
  }

  .rt-nav{
    display:none !important;
  }

  .rt-burger{
    display:inline-flex !important;
  }

  .rt-cta-btn{
    display:none !important;
  }
}

@media (max-width:620px){
  .rt-header{
    min-height:70px !important;
  }

  .rt-header-shell{
    padding:6px !important;
  }

  .rt-header-inner{
    height:58px !important;
    min-height:58px !important;
    gap:8px !important;
    padding:7px 9px !important;
  }

  .rt-brand{
    height:42px !important;
    min-height:42px !important;
    min-width:0 !important;
  }

  .rt-brand-logo{
    width:138px !important;
    height:42px !important;
    max-height:42px !important;
  }

  .rt-actions{
    height:42px !important;
    min-height:42px !important;
    gap:5px !important;
  }

  .rt-icon-btn,
  .rt-lang-btn,
  .rt-burger{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    max-width:42px !important;
    max-height:42px !important;
  }
}

.rt-header,
.rt-header *,
.rt-footer,
.rt-footer *{
  text-transform:none !important;
}

/* =========================================================
   ROHRTECH HEADER STICKY / FIXED FINAL FIX
   Ganz unten ins Header-CSS einfügen
========================================================= */

:root{
  --rt-header-h:82px;
}

/* Elementor darf den Header nicht einsperren */
.elementor-section:has(.rt-header),
.elementor-container:has(.rt-header),
.elementor-widget-html:has(.rt-header),
.elementor-widget-container:has(.rt-header),
.e-con:has(.rt-header),
.e-container:has(.rt-header){
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  position:static !important;
  z-index:auto !important;
}

body .elementor-widget-html:has(.rt-header),
body .elementor-widget-container:has(.rt-header){
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  overflow:visible !important;
}

/* Platz für fixed Header */
html body{
  padding-top:var(--rt-header-h) !important;
}

/* Header wirklich oben fixieren */
.rt-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:999999 !important;

  width:100% !important;
  max-width:100% !important;
  height:var(--rt-header-h) !important;

  margin:0 !important;
  padding:0 !important;

  transform:none !important;
  overflow:visible !important;
}

/* Header-Innenbereich bleibt sauber */
.rt-header-shell{
  width:100% !important;
  max-width:100% !important;
  height:100% !important;
  margin:0 !important;
  overflow:visible !important;
}

.rt-header-inner{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow:visible !important;
}

/* Dropdowns müssen über allem liegen */
.rt-dropdown,
.rt-dropdown-menu,
.rt-mobile-panel{
  z-index:1000000 !important;
}

/* Wenn Mobile-Menü offen ist, darf Header höher werden */
.rt-header.is-mobile-open{
  height:auto !important;
}

/* Mobile Höhe */
@media(max-width:720px){
  :root{
    --rt-header-h:70px;
  }

  html body{
    padding-top:var(--rt-header-h) !important;
  }

  .rt-header{
    height:var(--rt-header-h) !important;
  }

  .rt-header.is-mobile-open{
    height:auto !important;
  }
}/* End custom CSS */