/* ═══ MOBILE NAVIGATION – finale, einheitliche Regeln (wird zuletzt geladen) ═══ */
@media (max-width:767px){

  /* ── Header: Logo links, Sprache + Menü rechts ── */
  .nav{height:68px!important;min-height:68px!important;padding:0 12px 0 20px!important;gap:4px;justify-content:flex-start!important}
  .nav-logo{display:flex;align-items:center;flex:0 1 auto;min-width:0}
  .nav-logo img{height:40px!important;width:auto!important}
  .nav .lang-switch{margin:0 0 0 auto!important}
  .nav .lang-switch-trigger{border:0!important;padding:0 10px!important;min-width:44px;min-height:44px;gap:5px;
    font-size:11px;letter-spacing:.16em;color:rgba(246,241,233,.75)}
  .nav .lang-switch-dropdown{top:calc(100% + 12px)}

  /* Burger → sauberes, symmetrisches X */
  .nav .nav-hamburger{position:relative;display:block!important;width:44px;height:44px;min-width:44px;min-height:44px;padding:0!important;flex:0 0 44px}
  .nav .nav-hamburger span{position:absolute;left:11px;top:50%;width:22px;height:1.5px;margin-top:-.75px;
    background:rgba(246,241,233,.92);transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .2s ease}
  .nav .nav-hamburger span:nth-child(1){transform:translateY(-7px)}
  .nav .nav-hamburger span:nth-child(2){transform:none}
  .nav .nav-hamburger span:nth-child(3){transform:translateY(7px)}
  .nav .nav-hamburger.open span:nth-child(1){transform:rotate(45deg)}
  .nav .nav-hamburger.open span:nth-child(2){opacity:0}
  .nav .nav-hamburger.open span:nth-child(3){transform:rotate(-45deg)}

  /* Header bleibt bei offenem Menü dunkel und ruhig */
  body:has(.nav-overlay.open) .nav{background:#111110!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}

  /* ── Overlay ── */
  .nav-overlay{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;
    gap:0!important;padding:84px 24px calc(32px + env(safe-area-inset-bottom))!important;overflow-y:auto;overscroll-behavior:contain;
    background:var(--white)}

  /* Reihenfolge wie in der Desktop-Navigation, Kontakt als Abschluss */
  .nav-overlay>*{order:3}
  .nav-overlay>a:first-child{order:0}
  .nav-overlay>.nav-overlay-group{order:1}
  .nav-overlay>.nav-overlay-group~.nav-overlay-group{order:2}
  .nav-overlay>a[href*="#contact"]{order:10}

  /* Hauptpunkte: gleiche Größe, gleiche Höhe, feine Trennlinie */
  .nav-overlay>a,
  .nav-overlay>a[style],
  .nav-overlay .nav-overlay-toggle{
    width:100%!important;min-height:60px!important;margin:0!important;padding:0!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;text-align:left!important;
    font-family:inherit;font-size:22px!important;font-weight:300!important;line-height:1.25!important;letter-spacing:0!important;
    color:var(--black)!important;background:none;border:0}
  .nav-overlay>a,
  .nav-overlay>.nav-overlay-group{border:0!important;border-bottom:1px solid rgba(17,17,16,.09)!important}
  .nav-overlay>.nav-overlay-group{width:100%!important;margin:0!important}
  .nav-overlay>a:hover,
  .nav-overlay .nav-overlay-toggle:hover{color:var(--gold)!important}

  .nav-overlay .nav-overlay-toggle::after{width:8px;height:8px;margin-right:6px;flex:0 0 auto;
    border-right:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold)}

  /* Untermenü: zugeklappt wirklich 0px – keine Reste sichtbar */
  .nav-overlay .nav-overlay-sub{overflow:hidden}
  .nav-overlay .nav-overlay-sub-inner{overflow:hidden;gap:0!important;padding:0!important;margin-left:2px}
  .nav-overlay .nav-overlay-sub-inner::after{content:"";display:block;flex:0 0 14px;height:14px}
  .nav-overlay .nav-overlay-sub{transition:grid-template-rows .3s cubic-bezier(.22,1,.36,1)}
  .nav-overlay .nav-overlay-sub a,
  .nav-overlay .nav-overlay-sub a[style]{
    width:100%!important;min-height:44px!important;margin:0!important;padding:10px 0 10px 18px!important;
    display:flex!important;align-items:center!important;justify-content:flex-start!important;text-align:left!important;
    font-size:16px!important;font-weight:400!important;line-height:1.35!important;letter-spacing:0!important;
    color:var(--black-muted)!important;border:0!important;border-left:1px solid var(--gold-line)!important}
  .nav-overlay .nav-overlay-sub a:hover,
  .nav-overlay .nav-overlay-sub a:active{color:var(--gold)!important;border-left-color:var(--gold)!important}

  /* Kontakt als klarer Abschluss-Button */
  .nav-overlay>a[href*="#contact"]{margin-top:32px!important;justify-content:center!important;border:0!important;
    min-height:56px!important;background:var(--black);color:var(--white)!important;
    font-size:12px!important;font-weight:500!important;letter-spacing:.22em!important;text-transform:uppercase}
  .nav-overlay>a[href*="#contact"]:hover{background:var(--gold);color:var(--white)!important}

  /* Schwebende Kontakt-Buttons verdecken das Menü nicht */
  body:has(.nav-overlay.open) .cta-dock,
  body:has(.nav-overlay.open) .fixed-contact-buttons{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
}
