/* MeinAboWein – zentrale Header-Navigation, Version 2.1.4 */

/* Das Wortzeichen steht bereits im Logo. Der zusätzliche Seitentitel wird ausgeblendet. */
.ast-site-title-wrap,.site-title,.ast-site-title,.site-branding .site-title,.site-header .ast-site-identity .site-title,.ast-site-identity .site-title,.ast-site-identity .site-description{display:none!important}
.site-header .custom-logo-link,.ast-site-identity .custom-logo-link{display:inline-flex!important;align-items:center!important;text-decoration:none!important}
.site-header .custom-logo-link img{display:block!important}

:root{--mab-header-bg:#232f37;--mab-header-gold:#c6a572;--mab-header-text:#fff}
.site-header,.ast-primary-header-bar{position:sticky!important;top:0!important;z-index:99990!important;background:rgba(35,47,55,.98)!important;box-shadow:0 8px 26px rgba(17,25,30,.14)!important;transform:none!important}
body.admin-bar .site-header,body.admin-bar .ast-primary-header-bar{top:32px!important}
.ast-primary-header-bar .main-header-menu{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:0!important}
.ast-primary-header-bar .main-header-menu>.menu-item{position:relative!important;display:flex!important;align-items:center!important}
.ast-primary-header-bar .main-header-menu>.menu-item>.menu-link{display:flex!important;align-items:center!important;min-height:64px!important;padding:0 10px!important;color:var(--mab-header-text)!important;font-size:.88rem!important;font-weight:700!important;line-height:1.25!important;text-decoration:none!important;white-space:nowrap!important}
.ast-primary-header-bar .main-header-menu>.menu-item>.menu-link:hover,.ast-primary-header-bar .main-header-menu>.menu-item:focus-within>.menu-link{color:var(--mab-header-gold)!important}
.mab-managed-submenu-toggle{display:inline-grid!important;place-items:center!important;width:28px!important;height:40px!important;margin-left:-8px!important;padding:0!important;border:0!important;background:transparent!important;color:#fff!important;cursor:pointer!important}
.mab-managed-submenu-toggle span{width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .18s ease}
.mab-managed-dropdown>.sub-menu{display:block!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;position:absolute!important;z-index:99999!important;left:0!important;top:calc(100% - 2px)!important;min-width:270px!important;margin:0!important;padding:8px!important;border:1px solid rgba(198,165,114,.35)!important;border-radius:4px!important;background:#fff!important;box-shadow:0 18px 42px rgba(17,25,30,.2)!important;transform:translateY(8px)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease!important}
.mab-managed-dropdown:hover>.sub-menu,.mab-managed-dropdown:focus-within>.sub-menu,.mab-managed-dropdown.is-open>.sub-menu{visibility:visible!important;opacity:1!important;pointer-events:auto!important;transform:translateY(0)!important}
.mab-managed-dropdown:hover>.mab-managed-submenu-toggle span,.mab-managed-dropdown:focus-within>.mab-managed-submenu-toggle span,.mab-managed-dropdown.is-open>.mab-managed-submenu-toggle span{transform:rotate(225deg) translate(-1px,-1px)}
.mab-managed-dropdown>.sub-menu .menu-item{display:block!important;width:100%!important}
.mab-managed-dropdown>.sub-menu .menu-link{display:block!important;width:100%!important;padding:11px 13px!important;border-radius:3px!important;color:#232f37!important;font-size:.91rem!important;font-weight:700!important;line-height:1.35!important;white-space:normal!important;text-decoration:none!important}
.mab-managed-dropdown>.sub-menu .menu-link:hover,.mab-managed-dropdown>.sub-menu .menu-link:focus{background:#f6f4ef!important;color:#7c5f2f!important}
.mab-managed-cart>.menu-link{color:var(--mab-header-gold)!important}
.mab-language-de .mab-managed-home>.menu-link{font-weight:800!important}
.mab-managed-dropdown:last-child>.sub-menu{left:auto!important;right:0!important;min-width:190px!important}
.mab-managed-dropdown:last-child>.mab-managed-parent-link{color:var(--mab-header-gold)!important}
.mab-v3-page-hero,.mab-v3-hero{scroll-margin-top:90px}

@media(max-width:1150px) and (min-width:922px){
  .ast-primary-header-bar .main-header-menu>.menu-item>.menu-link{padding-inline:7px!important;font-size:.8rem!important}
  .mab-managed-submenu-toggle{width:24px!important}
}

@media(max-width:921px){
  body.admin-bar .site-header,body.admin-bar .ast-primary-header-bar{top:46px!important}
  .ast-mobile-header-wrap .ast-primary-header-bar,.ast-primary-header-bar{position:sticky!important;min-height:64px!important}
  .ast-header-break-point .main-header-menu,.ast-header-break-point .main-navigation ul{display:block!important;width:100%!important}
  .ast-header-break-point .main-header-menu>.menu-item{display:grid!important;grid-template-columns:minmax(0,1fr) 48px!important;width:100%!important;border-bottom:1px solid rgba(255,255,255,.1)!important;background:#172128!important}
  .ast-header-break-point .main-header-menu>.menu-item:not(.mab-managed-dropdown){grid-template-columns:1fr!important}
  .ast-header-break-point .main-header-menu>.menu-item>.menu-link{min-height:52px!important;padding:14px 18px!important;color:#fff!important;font-size:1rem!important;white-space:normal!important}
  .ast-header-break-point .mab-managed-submenu-toggle{width:48px!important;height:52px!important;margin:0!important;border-left:1px solid rgba(255,255,255,.1)!important}
  .ast-header-break-point .mab-managed-dropdown>.sub-menu{display:none!important;position:static!important;grid-column:1/-1!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;width:100%!important;min-width:0!important;margin:0!important;padding:6px 0 10px 14px!important;border:0!important;border-radius:0!important;background:#10181e!important;box-shadow:none!important;transform:none!important;transition:none!important}
  .ast-header-break-point .mab-managed-dropdown.is-open>.sub-menu{display:block!important}
  .ast-header-break-point .mab-managed-dropdown>.sub-menu .menu-link{padding:12px 18px!important;color:#fff!important;font-size:.94rem!important}
  .ast-header-break-point .mab-managed-dropdown>.sub-menu .menu-link:hover,.ast-header-break-point .mab-managed-dropdown>.sub-menu .menu-link:focus{background:rgba(198,165,114,.13)!important;color:#e4cda7!important}
}

@media(max-width:782px){body.admin-bar .site-header,body.admin-bar .ast-primary-header-bar{top:46px!important}}
@media(prefers-reduced-motion:reduce){.mab-managed-dropdown>.sub-menu,.mab-managed-submenu-toggle span{transition:none!important}}

/* ============================================================
 * 2.1.2 – belastbarer Astra-Mobile-Menü-Fix
 *
 * Astra kann im mobilen Offcanvas-Menü eigene helle Hintergründe
 * auf Link-Wrapper und Menüebenen legen. Dadurch waren die weißen
 * Beschriftungen unsichtbar, während nur die Pfeilflächen dunkel
 * blieben. Diese Regeln setzen jede beteiligte Ebene ausdrücklich.
 * ============================================================ */
@media (max-width:980px){
  body.ast-header-break-point .ast-mobile-popup-drawer,
  body.ast-header-break-point .ast-mobile-popup-inner,
  body.ast-header-break-point .ast-mobile-popup-content,
  body.ast-header-break-point .ast-mobile-popup-content .ast-builder-menu-mobile,
  body.ast-header-break-point .ast-mobile-popup-content .ast-builder-menu-mobile .main-navigation,
  body.ast-header-break-point .ast-mobile-popup-content .ast-builder-menu-mobile .main-header-menu,
  body.ast-header-break-point .ast-mobile-popup-content .main-navigation,
  body.ast-header-break-point .ast-mobile-popup-content .main-navigation > ul,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu{
    background:#0f141a!important;
    color:#fff!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu ul{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 52px!important;
    align-items:stretch!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    background:#172128!important;
    overflow:visible!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item:not(.mab-managed-dropdown):not(.menu-item-has-children){
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item > a,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item > .menu-link,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu .menu-item > a,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu .menu-item > .menu-link{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    min-height:54px!important;
    height:auto!important;
    margin:0!important;
    padding:14px 18px!important;
    box-sizing:border-box!important;
    background:#172128!important;
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    font-size:1rem!important;
    font-weight:700!important;
    line-height:1.35!important;
    white-space:normal!important;
    text-indent:0!important;
    text-decoration:none!important;
    overflow-wrap:anywhere!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item > a:hover,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item > a:focus,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item > .menu-link:hover,
  body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > .menu-item > .menu-link:focus{
    background:#1d2a32!important;
    color:#e4cda7!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .mab-managed-submenu-toggle,
  body.ast-header-break-point .ast-mobile-popup-content .ast-menu-toggle{
    position:static!important;
    display:grid!important;
    grid-column:2!important;
    grid-row:1!important;
    place-items:center!important;
    width:52px!important;
    min-width:52px!important;
    height:auto!important;
    min-height:54px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-left:1px solid rgba(255,255,255,.12)!important;
    border-radius:0!important;
    background:#172128!important;
    color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    box-shadow:none!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .mab-managed-dropdown > .sub-menu,
  body.ast-header-break-point .ast-mobile-popup-content .menu-item-has-children > .sub-menu{
    grid-column:1/-1!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:6px 0 10px 14px!important;
    border:0!important;
    border-radius:0!important;
    background:#10181e!important;
    box-shadow:none!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .mab-managed-dropdown > .sub-menu .menu-item,
  body.ast-header-break-point .ast-mobile-popup-content .menu-item-has-children > .sub-menu .menu-item{
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#10181e!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .mab-managed-dropdown > .sub-menu .menu-link,
  body.ast-header-break-point .ast-mobile-popup-content .menu-item-has-children > .sub-menu .menu-link{
    min-height:48px!important;
    padding:12px 18px!important;
    background:#10181e!important;
    color:#fff!important;
    opacity:1!important;
  }

  body.ast-header-break-point .ast-mobile-popup-content .mab-managed-dropdown > .sub-menu .menu-link:hover,
  body.ast-header-break-point .ast-mobile-popup-content .mab-managed-dropdown > .sub-menu .menu-link:focus,
  body.ast-header-break-point .ast-mobile-popup-content .menu-item-has-children > .sub-menu .menu-link:hover,
  body.ast-header-break-point .ast-mobile-popup-content .menu-item-has-children > .sub-menu .menu-link:focus{
    background:rgba(198,165,114,.14)!important;
    color:#e4cda7!important;
  }

  body.ast-header-break-point .ast-mobile-popup-drawer .ast-mobile-popup-header,
  body.ast-header-break-point .ast-mobile-popup-drawer .ast-mobile-popup-close{
    background:#0f141a!important;
    color:#fff!important;
  }
}

/*
 * MeinAboWein – kritischer Mobile-Menü-Fix 2.4.5
 *
 * Deckt die aktuelle Astra-Popup-Struktur und ältere Astra-Mobile-Menüs ab.
 * Die Regeln werden zusätzlich direkt im <head> ausgegeben, damit sie nach
 * Astra-/Customizer-CSS greifen und nicht von der Reihenfolge externer Dateien
 * abhängen.
 */
@media (max-width: 1024px) {
  html body.ast-header-break-point .ast-mobile-popup-drawer,
  html body.ast-header-break-point .ast-mobile-popup-inner,
  html body.ast-header-break-point .ast-mobile-popup-content,
  html body.ast-header-break-point .ast-mobile-header-content,
  html body.ast-header-break-point .ast-builder-menu-mobile,
  html body.ast-header-break-point .main-header-bar-navigation,
  html body.ast-header-break-point #ast-mobile-site-navigation,
  html body.ast-header-break-point #ast-mobile-site-navigation .main-navigation,
  html body.ast-header-break-point .ast-mobile-popup-content .main-navigation,
  html body.ast-header-break-point .ast-mobile-header-content .main-navigation,
  html body.ast-header-break-point .main-header-menu,
  html body.ast-header-break-point .main-header-menu ul {
    background-color: #0f141a !important;
    color: #ffffff !important;
  }

  html body.ast-header-break-point .main-header-menu,
  html body.ast-header-break-point .main-header-menu ul {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    box-sizing: border-box !important;
  }

  html body.ast-header-break-point .main-header-menu li {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background-color: #172128 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    overflow: visible !important;
  }

  html body.ast-header-break-point .main-header-menu > li > a,
  html body.ast-header-break-point .main-header-menu > li > .menu-link,
  html body.ast-header-break-point #ast-mobile-site-navigation .main-header-menu > li > a,
  html body.ast-header-break-point .ast-mobile-popup-content .main-header-menu > li > a,
  html body.ast-header-break-point .ast-mobile-header-content .main-header-menu > li > a {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 56px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 15px 68px 15px 20px !important;
    box-sizing: border-box !important;
    background: #172128 !important;
    background-color: #172128 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-indent: 0 !important;
    text-align: left !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    pointer-events: auto !important;
  }

  html body.ast-header-break-point .main-header-menu > li:not(.menu-item-has-children):not(.mab-managed-dropdown) > a,
  html body.ast-header-break-point .main-header-menu > li:not(.menu-item-has-children):not(.mab-managed-dropdown) > .menu-link {
    padding-right: 20px !important;
  }

  html body.ast-header-break-point .main-header-menu a *,
  html body.ast-header-break-point .main-header-menu .menu-link *,
  html body.ast-header-break-point .main-header-menu .menu-text,
  html body.ast-header-break-point .main-header-menu .ast-header-navigation-arrow {
    color: inherit !important;
    -webkit-text-fill-color: currentColor !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  html body.ast-header-break-point .main-header-menu > li > a:hover,
  html body.ast-header-break-point .main-header-menu > li > a:focus,
  html body.ast-header-break-point .main-header-menu > li.current-menu-item > a,
  html body.ast-header-break-point .main-header-menu > li.current-menu-ancestor > a {
    background: #1d2a32 !important;
    background-color: #1d2a32 !important;
    color: #e4cda7 !important;
    -webkit-text-fill-color: #e4cda7 !important;
  }

  /* Eigenes und Astra-eigenes Untermenü-Element rechts stabilisieren. */
  html body.ast-header-break-point .main-header-menu > li > .mab-managed-submenu-toggle,
  html body.ast-header-break-point .main-header-menu > li > .ast-menu-toggle {
    position: absolute !important;
    z-index: 4 !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    display: grid !important;
    place-items: center !important;
    width: 56px !important;
    min-width: 56px !important;
    max-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 0 !important;
    background: #172128 !important;
    background-color: #172128 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    box-shadow: none !important;
    transform: none !important;
    pointer-events: auto !important;
  }

  /* Manche Astra-Versionen setzen den Pfeil innerhalb des Links ein. */
  html body.ast-header-break-point .main-header-menu > li > a > .dropdown-menu-toggle,
  html body.ast-header-break-point .main-header-menu > li > a > .ast-header-navigation-arrow {
    position: absolute !important;
    z-index: 3 !important;
    top: 0 !important;
    right: 0 !important;
    display: grid !important;
    place-items: center !important;
    width: 56px !important;
    min-width: 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-left: 1px solid rgba(255,255,255,.12) !important;
    background: #172128 !important;
    background-color: #172128 !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }

  html body.ast-header-break-point .main-header-menu button svg,
  html body.ast-header-break-point .main-header-menu button path,
  html body.ast-header-break-point .main-header-menu .dropdown-menu-toggle svg,
  html body.ast-header-break-point .main-header-menu .dropdown-menu-toggle path {
    color: #ffffff !important;
    fill: #ffffff !important;
    stroke: #ffffff !important;
    opacity: 1 !important;
  }

  html body.ast-header-break-point .main-header-menu .sub-menu {
    position: static !important;
    z-index: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 0 8px 14px !important;
    box-sizing: border-box !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #10181e !important;
    background-color: #10181e !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body.ast-header-break-point .main-header-menu .sub-menu li {
    background: #10181e !important;
    background-color: #10181e !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
  }

  html body.ast-header-break-point .main-header-menu .sub-menu li > a,
  html body.ast-header-break-point .main-header-menu .sub-menu li > .menu-link {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 18px !important;
    box-sizing: border-box !important;
    background: #10181e !important;
    background-color: #10181e !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    font-size: 15px !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    text-decoration: none !important;
  }

  html body.ast-header-break-point .main-header-menu .sub-menu li > a:hover,
  html body.ast-header-break-point .main-header-menu .sub-menu li > a:focus,
  html body.ast-header-break-point .main-header-menu .sub-menu li.current-menu-item > a {
    background: rgba(198,165,114,.14) !important;
    background-color: rgba(198,165,114,.14) !important;
    color: #e4cda7 !important;
    -webkit-text-fill-color: #e4cda7 !important;
  }

  /* Leere weiße Deckflächen aus Theme-/Builder-Pseudoelementen verhindern. */
  html body.ast-header-break-point .main-header-menu li::before,
  html body.ast-header-break-point .main-header-menu li::after,
  html body.ast-header-break-point .main-header-menu a::before,
  html body.ast-header-break-point .main-header-menu a::after {
    max-height: 56px !important;
    pointer-events: none !important;
  }

  html body.ast-header-break-point .ast-mobile-popup-header,
  html body.ast-header-break-point .ast-mobile-popup-close,
  html body.ast-header-break-point .ast-mobile-popup-close button {
    background: #0f141a !important;
    background-color: #0f141a !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}
