/* VFBW Modern UI 1.0 — nur Darstellung, keine Änderungen an Inhalten. */
#vfh-header {
  background: linear-gradient(110deg,rgba(13,33,55,.97),rgba(7,19,34,.97)) !important;
  border-bottom: 1px solid rgba(147,211,255,.15) !important;
  box-shadow: 0 12px 36px rgba(0,8,20,.18);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
#vfh-header .vfh-nav { gap: 14px; }
#vfh-header .vfh-menu { gap: 3px; }
#vfh-header .vfh-menu > li {
  border: 1px solid transparent;
  border-radius: 999px;
  transition: background-color .18s,border-color .18s;
}
#vfh-header .vfh-menu > li > a {
  color: #e7f0fa !important;
  padding: 11px 10px !important;
  border-radius: 999px;
  background: transparent !important;
  text-decoration: none;
  font-weight: 650;
}
#vfh-header .vfh-menu > li:hover,
#vfh-header .vfh-menu > li:focus-within,
#vfh-header .vfh-menu > li.vfh-open {
  background: rgba(133,202,255,.09);
  border-color: rgba(133,202,255,.22);
}
#vfh-header .vfh-menu > li.vfh-open > a { color: #a7e2ff !important; }
#vfh-header .vfh-sub-toggle {
  width: 30px !important;
  min-width: 30px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 !important;
  margin: 0 3px 0 -3px;
  background: transparent !important;
  color: #9acfee !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
}
#vfh-header .vfh-sub-toggle:hover,
#vfh-header .vfh-sub-toggle[aria-expanded="true"] {
  background: rgba(134,210,255,.14) !important;
  color: #fff !important;
}
#vfh-header .vfh-menu .sub-menu {
  padding: 10px !important;
  min-width: 290px;
  border: 1px solid rgba(150,213,255,.22) !important;
  border-radius: 22px !important;
  background: linear-gradient(145deg,#142b44,#091a2e) !important;
  box-shadow: 0 24px 65px rgba(0,5,18,.5),inset 0 1px 0 rgba(255,255,255,.06) !important;
}
#vfh-header .vfh-menu .sub-menu li { border: 0 !important; }
#vfh-header .vfh-menu .sub-menu a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  padding: 12px 15px !important;
  margin: 3px 0;
  border-radius: 13px !important;
  background: rgba(255,255,255,.025) !important;
  color: #e3effc !important;
  line-height: 1.4;
  transition: background-color .18s,color .18s;
}
#vfh-header .vfh-menu .sub-menu a::after {
  content: "\2197";
  font-size: 17px;
  color: #83d6ff;
  opacity: .7;
}
#vfh-header .vfh-menu .sub-menu a:hover,
#vfh-header .vfh-menu .sub-menu a:focus-visible {
  color: #fff !important;
  background: rgba(89,181,245,.16) !important;
}
#vfh-header .vfh-icon,
#vfh-drawer .vfh-icon,
#vfh-drawer-close {
  color: #d8f1ff !important;
  background: rgba(138,206,255,.09) !important;
  border: 1px solid rgba(138,206,255,.24) !important;
  border-radius: 15px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.07) !important;
}
#vfh-drawer {
  background: linear-gradient(155deg,#132c48,#071627 75%) !important;
}
#vfh-drawer .vfh-menu > li {
  margin-bottom: 10px;
  border: 1px solid rgba(151,213,255,.16) !important;
  border-radius: 17px !important;
  background: rgba(255,255,255,.035) !important;
  overflow: visible;
}
#vfh-drawer .vfh-menu > li > a {
  color: #edf6ff !important;
  padding: 17px 18px !important;
  font-weight: 650;
}
#vfh-drawer .vfh-sub-toggle {
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(136,205,255,.09) !important;
  color: #a4ddff !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}
#vfh-drawer .vfh-menu .sub-menu {
  margin: 0 9px 9px !important;
  padding: 6px !important;
  border: 0 !important;
  background: rgba(2,12,26,.3) !important;
  border-radius: 13px !important;
}
#vfh-drawer .vfh-menu .sub-menu a {
  min-height: 48px;
  padding: 13px 14px !important;
  color: #daedff !important;
  border-radius: 10px;
}
#vfh-drawer .vfh-menu .sub-menu a:hover,
#vfh-drawer .vfh-menu .sub-menu a:focus-visible {
  background: rgba(114,199,255,.12) !important;
  color: #fff !important;
}
#vfh-home .hh-button,
#content .wp-block-button__link,
#content .elementor-button,
#vfh-header .vfh-search-submit,
#vfh-drawer .vfh-search-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 13px 22px;
  border: 1px solid rgba(195,238,255,.5) !important;
  border-radius: 14px !important;
  background: linear-gradient(115deg,#b0e7ff,#68c2f6) !important;
  color: #08233b !important;
  box-shadow: 0 6px 22px rgba(47,152,221,.16),inset 0 1px 0 rgba(255,255,255,.45);
  font-weight: 700;
  line-height: 1.4;
  text-decoration: none;
  transition: transform .18s,box-shadow .18s,background-color .18s;
}
#vfh-home .hh-button.hh-ghost {
  color: #e9f5ff !important;
  border-color: rgba(157,215,255,.3) !important;
  background: rgba(145,209,255,.065) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
@media (hover:hover) {
  #vfh-home .hh-button:hover,
  #content .wp-block-button__link:hover,
  #content .elementor-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(47,152,221,.25);
  }
}
#vfh-header a:focus-visible,
#vfh-header button:focus-visible,
#vfh-drawer a:focus-visible,
#vfh-drawer button:focus-visible,
#vfh-home .hh-button:focus-visible,
#content .wp-block-button__link:focus-visible,
#content .elementor-button:focus-visible {
  outline: 3px solid #b5e8ff !important;
  outline-offset: 4px;
}
/* Verdeckte Untermenüs bleiben auch bei neuen Layoutregeln verborgen. */
#vfh-header .sub-menu[hidden],
#vfh-drawer .sub-menu[hidden] { display: none !important; }
@media (min-width:1100px) {
  #vfh-desktop-item-7855 > .sub-menu:not([hidden]) {
    display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 4px 8px;
    width: 460px;
    max-width: calc(100vw - 40px);
  }
}
@media (prefers-reduced-motion:reduce) {
  #vfh-header *,#vfh-drawer *,#vfh-home .hh-button,
  #content .wp-block-button__link,#content .elementor-button {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
    transform: none !important;
  }
}

/* VFBW 1.0.1: Desktop-Menünamen öffnen ohne überlagernde Pfeile. */
#vfh-header .ast-menu-toggle,
#vfh-header .dropdown-menu-toggle,
#vfh-drawer .ast-menu-toggle,
#vfh-drawer .dropdown-menu-toggle { display: none !important; }
#vfh-header .vfh-menu > li.vfh-has-sub { position: relative; }
#vfh-header .vfh-menu > li.vfh-has-sub > a { padding: 11px 14px !important; }
#vfh-header .vfh-menu > li.vfh-has-sub > .vfh-sub-toggle,
#vfh-header .vfh-menu > li.vfh-has-sub > .vfh-sub-toggle:hover,
#vfh-header .vfh-menu > li.vfh-has-sub > .vfh-sub-toggle:focus,
#vfh-header .vfh-menu > li.vfh-has-sub > .vfh-sub-toggle[aria-expanded] {
 position: absolute !important; inset: 0 !important;
 width: 100% !important; min-width: 0 !important;
 height: 100% !important; min-height: 0 !important;
 margin: 0 !important; padding: 0 !important;
 background: transparent !important; border: 0 !important;
 box-shadow: none !important; z-index: 1; cursor: pointer;
}
#vfh-header .vfh-menu > li.vfh-has-sub > .vfh-sub-toggle::before,
#vfh-header .vfh-menu > li.vfh-has-sub > .vfh-sub-toggle::after {
 content: none !important; display: none !important;
}
#vfh-drawer .vfh-menu > li.vfh-has-sub > a { padding-right: 70px !important; }

#vfh-header .vfh-menu .sub-menu a::after { content: none !important; display: none !important; }
