.elementor-360 .elementor-element.elementor-element-94189ea{--display:flex;}.elementor-360 .elementor-element.elementor-element-b459ddc{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-b459ddc *//* =========================================
   OPEN SCHLÜSSELDIENST HEADER FINAL
========================================= */

:root{
  --osd-header-h:82px;

  --osd-page-bg:#eef1f2;
  --osd-header-bg:rgba(224,228,229,.88);
  --osd-shell-bg:rgba(241,243,244,.92);
  --osd-pill-bg:#ffffff;

  --osd-text:#23272b;
  --osd-muted:#697078;

  --osd-border:rgba(40,48,54,.11);
  --osd-border-strong:rgba(40,48,54,.18);

  --osd-silver:#8e969d;
  --osd-silver-dark:#737b83;
  --osd-silver-soft:rgba(142,150,157,.12);

  --osd-shadow:0 14px 34px rgba(20,25,30,.10);
  --osd-shadow-soft:0 8px 20px rgba(20,25,30,.07);
}

html[data-theme="dark"]{
  --osd-page-bg:#111416;
  --osd-header-bg:rgba(22,25,27,.88);
  --osd-shell-bg:rgba(31,35,38,.92);
  --osd-pill-bg:#262b2f;

  --osd-text:#f4f6f7;
  --osd-muted:#c5ccd1;

  --osd-border:rgba(255,255,255,.10);
  --osd-border-strong:rgba(255,255,255,.16);

  --osd-silver:#aab2b8;
  --osd-silver-dark:#8e979f;
  --osd-silver-soft:rgba(170,178,184,.13);

  --osd-shadow:0 14px 34px rgba(0,0,0,.32);
  --osd-shadow-soft:0 8px 20px rgba(0,0,0,.24);
}

html{
  scroll-padding-top:calc(var(--osd-header-h) + 16px);
}

body{
  padding-top:0 !important;
}

/* Elementor Ränder killen */
.elementor-section:has(.osd-header),
.elementor-container:has(.osd-header),
.elementor-widget-html:has(.osd-header),
.elementor-widget-html:has(.osd-header) .elementor-widget-container,
.elementor-widget-container:has(.osd-header),
.e-con:has(.osd-header),
.e-container:has(.osd-header){
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  position:static !important;
}

/* Header */
.osd-header,
.osd-header *{
  box-sizing:border-box !important;
  text-transform:none !important;
}

.osd-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:999999 !important;

  width:100% !important;
  max-width:100% !important;

  margin:0 !important;
  padding:8px 14px !important;

  background:var(--osd-header-bg) !important;
  backdrop-filter:blur(18px) !important;
  -webkit-backdrop-filter:blur(18px) !important;
  border:0 !important;
  overflow:visible !important;
}

.osd-header-shell{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  background:var(--osd-shell-bg) !important;
  border:1px solid var(--osd-border) !important;
  border-radius:22px !important;
  box-shadow:var(--osd-shadow-soft) !important;
  overflow:visible !important;
}

.osd-header-inner{
  height:66px !important;
  min-height:66px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:18px !important;
  padding:7px 18px !important;
  overflow:visible !important;
}

/* Logo */
.osd-brand{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  height:52px !important;
  min-width:230px !important;
  text-decoration:none !important;
}

.osd-brand-logo{
  display:block !important;
  height:46px !important;
  width:auto !important;
  max-width:260px !important;
  object-fit:contain !important;
}

/* Desktop Nav */
.osd-nav{
  justify-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;

  height:54px !important;
  min-height:54px !important;
  padding:7px !important;

  background:var(--osd-pill-bg) !important;
  border:1px solid var(--osd-border) !important;
  border-radius:999px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55) !important;
}

.osd-nav-link,
.osd-dropdown-toggle{
  appearance:none !important;
  -webkit-appearance:none !important;
  border:0 !important;
  outline:0 !important;

  height:40px !important;
  min-height:40px !important;
  max-height:40px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;

  padding:0 18px !important;
  margin:0 !important;

  border-radius:999px !important;
  background:transparent !important;

  color:var(--osd-text) !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:850 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  cursor:pointer !important;

  transition:.22s ease !important;
}

.osd-nav-link:hover,
.osd-dropdown-toggle:hover{
  background:var(--osd-silver-soft) !important;
}

.osd-nav-link.is-active,
.osd-dropdown-toggle.is-active{
  background:linear-gradient(135deg,var(--osd-silver),var(--osd-silver-dark)) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(80,86,92,.22) !important;
}

.osd-dropdown-toggle span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:40px !important;
  line-height:40px !important;
}

.osd-dropdown-toggle svg{
  position:relative !important;
  top:0 !important;
  margin:0 0 0 2px !important;
  width:14px !important;
  height:14px !important;
  display:block !important;
  flex:0 0 14px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  transition:.2s ease !important;
}

.osd-dropdown.is-open .osd-dropdown-toggle svg{
  transform:rotate(180deg) !important;
}

/* Dropdown */
.osd-dropdown{
  position:relative !important;
  height:40px !important;
  display:inline-flex !important;
  align-items:center !important;
}

.osd-dropdown-menu{
  position:absolute !important;
  top:calc(100% + 12px) !important;
  left:0 !important;
  z-index:1000000 !important;

  min-width:310px !important;
  padding:10px !important;

  background:var(--osd-pill-bg) !important;
  border:1px solid var(--osd-border) !important;
  border-radius:18px !important;
  box-shadow:var(--osd-shadow) !important;

  opacity:0 !important;
  visibility:hidden !important;
  transform:translateY(8px) !important;
  pointer-events:none !important;
  transition:.2s ease !important;
}

.osd-dropdown.is-open .osd-dropdown-menu,
.osd-dropdown:hover .osd-dropdown-menu{
  opacity:1 !important;
  visibility:visible !important;
  transform:translateY(0) !important;
  pointer-events:auto !important;
}

.osd-dropdown-menu::before{
  content:"" !important;
  position:absolute !important;
  top:-8px !important;
  left:40px !important;
  width:16px !important;
  height:16px !important;
  transform:rotate(45deg) !important;
  background:var(--osd-pill-bg) !important;
  border-left:1px solid var(--osd-border) !important;
  border-top:1px solid var(--osd-border) !important;
}

.osd-dropdown-menu a{
  display:block !important;
  padding:13px 14px !important;
  border-radius:12px !important;

  color:var(--osd-text) !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.35 !important;
  white-space:normal !important;
  text-transform:none !important;
}

.osd-dropdown-menu a:hover{
  background:var(--osd-silver-soft) !important;
}

/* Actions */
.osd-actions{
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  height:52px !important;
  min-width:0 !important;
}

.osd-icon-btn,
.osd-lang-btn,
.osd-burger,
.osd-cta-btn{
  height:46px !important;
  min-height:46px !important;
  max-height:46px !important;
  box-sizing:border-box !important;
}

.osd-icon-btn,
.osd-lang-btn,
.osd-burger{
  width:46px !important;
  min-width:46px !important;
  max-width: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(--osd-border) !important;
  background:var(--osd-pill-bg) !important;
  color:var(--osd-text) !important;
  text-decoration:none !important;
  cursor:pointer !important;
  line-height:1 !important;
  transition:.22s ease !important;
}

.osd-icon-btn:hover,
.osd-lang-btn:hover,
.osd-burger:hover{
  transform:translateY(-1px) !important;
  background:#fff !important;
}

html[data-theme="dark"] .osd-icon-btn:hover,
html[data-theme="dark"] .osd-lang-btn:hover,
html[data-theme="dark"] .osd-burger:hover{
  background:#2d3338 !important;
}

.osd-lang-btn{
  font-size:15px !important;
  font-weight:900 !important;
  text-align:center !important;
}

.osd-icon-btn svg,
.osd-burger svg{
  width:20px !important;
  height:20px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  margin:0 !important;
  padding:0 !important;
}

.osd-cta-btn{
  min-width:190px !important;
  padding:0 24px !important;

  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  border-radius:999px !important;
  background:linear-gradient(135deg,var(--osd-silver),var(--osd-silver-dark)) !important;
  color:#fff !important;
  text-decoration:none !important;

  font-size:15px !important;
  font-weight:900 !important;
  line-height:1 !important;
  white-space:nowrap !important;

  box-shadow:0 10px 22px rgba(80,86,92,.20) !important;
  transition:.22s ease !important;
}

.osd-cta-btn:hover{
  transform:translateY(-1px) !important;
  filter:brightness(1.04) !important;
}

.osd-burger{
  display:none !important;
}

/* Mobile Panel */
.osd-mobile-panel{
  display:none !important;
  padding:0 12px 12px !important;
}

.osd-header.is-mobile-open .osd-mobile-panel{
  display:block !important;
}

.osd-mobile-panel > a,
.osd-mobile-toggle,
.osd-mobile-cta,
.osd-mobile-call{
  width:100% !important;
  min-height:46px !important;
  margin-top:8px !important;
  padding:12px 14px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;

  border:1px solid var(--osd-border) !important;
  border-radius:14px !important;
  background:var(--osd-pill-bg) !important;
  color:var(--osd-text) !important;

  text-decoration:none !important;
  font-size:15px !important;
  font-weight:850 !important;
  cursor:pointer !important;
  text-transform:none !important;
}

.osd-mobile-toggle svg{
  width:16px !important;
  height:16px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  transition:.2s ease !important;
}

.osd-mobile-toggle.is-open svg{
  transform:rotate(180deg) !important;
}

.osd-mobile-submenu{
  display:none !important;
  padding:6px 4px 2px 12px !important;
}

.osd-mobile-submenu.is-open{
  display:block !important;
}

.osd-mobile-submenu a{
  display:block !important;
  padding:11px 12px !important;
  border-radius:12px !important;
  color:var(--osd-muted) !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:750 !important;
  text-transform:none !important;
}

.osd-mobile-submenu a:hover{
  background:var(--osd-silver-soft) !important;
}

.osd-mobile-cta{
  justify-content:center !important;
  background:linear-gradient(135deg,var(--osd-silver),var(--osd-silver-dark)) !important;
  color:#fff !important;
}

.osd-mobile-call{
  justify-content:center !important;
}

/* Header Gap Fix */
.osd-page{
  margin-top:0 !important;
  padding-top:0 !important;
}

.osd-hero{
  margin-top:0 !important;
  padding-top:calc(var(--osd-header-h, 82px) + 24px) !important;
}

.osd-header + *,
.elementor-widget-html:has(.osd-header) + *,
.e-con:has(.osd-header) + *,
.elementor-section:has(.osd-header) + *{
  margin-top:0 !important;
  padding-top:0 !important;
}

/* Desktop */
@media(min-width:1181px){
  .osd-nav{
    display:flex !important;
  }

  .osd-cta-btn{
    display:inline-flex !important;
  }

  .osd-burger{
    display:none !important;
  }

  .osd-mobile-panel{
    display:none !important;
  }

  .osd-header.is-mobile-open .osd-mobile-panel{
    display:none !important;
  }
}

/* Tablet / Mobile */
@media(max-width:1180px){
  .osd-nav{
    display:none !important;
  }

  .osd-cta-btn{
    display:none !important;
  }

  .osd-burger{
    display:inline-flex !important;
  }

  .osd-header-inner{
    grid-template-columns:auto 1fr auto !important;
  }
}

@media(max-width:640px){
  :root{
    --osd-header-h:72px;
  }

  .osd-header{
    padding:7px 8px !important;
  }

  .osd-header-shell{
    border-radius:17px !important;
  }

  .osd-header-inner{
    height:58px !important;
    min-height:58px !important;
    padding:7px 10px !important;
    gap:8px !important;
  }

  .osd-brand{
    min-width:0 !important;
    height:44px !important;
  }

  .osd-brand-logo{
    height:34px !important;
    max-width:145px !important;
  }

  .osd-actions{
    gap:7px !important;
    height:44px !important;
  }

  .osd-icon-btn,
  .osd-lang-btn,
  .osd-burger{
    width:40px !important;
    min-width:40px !important;
    max-width:40px !important;
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
    border-radius:13px !important;
  }

  .osd-icon-btn svg,
  .osd-burger svg{
    width:18px !important;
    height:18px !important;
  }

  .osd-lang-btn{
    font-size:14px !important;
  }

  .osd-hero{
    padding-top:calc(var(--osd-header-h, 72px) + 18px) !important;
  }
}/* End custom CSS */