/* SOLANERO canonical navigation system — 2026-09-29.
   One header geometry for every public route.
   20260929-Fix (Nutzerfund: "Für Fachbetriebe"/"Anmelden" rutschten bei
   genau 1080px sichtbar unter die Nav in den Hero-Bereich): .nav/.nav-inner/
   .nav-links hatten zusaetzlich zu min-height auch ein festes height!important
   gesetzt. Bei sehr schmalen Desktop-Breiten (~1080-1150px) reicht die Breite
   fuer alle Top-Level-Links nicht mehr in einer Zeile -- .nav-links bricht
   dann bewusst intern um (siehe style.css-Kommentar "Zoom-/Responsive-
   Remediation 20260905", genau dafuer als eigenes Flex-Item mit eigenem
   flex-wrap vorgesehen). Mit fester height wurde die zweite Zeile dabei
   NICHT mehr im Layout beruecksichtigt, sondern sichtbar abgeschnitten und
   ueberlappte optisch den Hero-Bereich darunter. min-height allein (height
   entfernt) laesst die Nav in diesem Randfall in der Hoehe mitwachsen --
   im Normalfall (genug Breite) bleibt die Geometrie exakt identisch, da
   min-height dort ohnehin bereits der volle Inhalt ist. */
@media (min-width:1240px){
  .nav{min-height:73px!important;}
  .nav-inner{min-height:72px!important;max-width:1320px!important;padding:0 44px!important;gap:4px!important;}
  .nav-brand{width:141px!important;min-width:141px!important;height:27px!important;gap:9px!important;margin-right:auto!important;}
  .nav-brand img,.nav-mark img{width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;flex:0 0 27px!important;}
  .nav-links{min-height:44px!important;gap:2px 0!important;align-items:center!important;}
  .nav-links>a:not(.nav-cta),.nav-drop-trigger{font-family:Inter,"Helvetica Neue",system-ui,-apple-system,sans-serif!important;font-size:12.5px!important;font-weight:600!important;line-height:21.5px!important;letter-spacing:.125px!important;padding:8px 12px!important;}
  .nav-cta{font-family:Inter,"Helvetica Neue",system-ui,-apple-system,sans-serif!important;font-size:14px!important;font-weight:600!important;line-height:24.08px!important;letter-spacing:.28px!important;padding:11px 20px!important;height:46px!important;min-height:46px!important;}
}
@media (max-width:1239.98px){
  .nav{height:65px!important;min-height:65px!important;}
  .nav-inner{height:64px!important;min-height:64px!important;padding:0 18px!important;gap:4px!important;}
  .nav-brand{width:141px!important;min-width:141px!important;height:27px!important;gap:9px!important;margin-right:auto!important;}
  .nav-brand img,.nav-mark img{width:27px!important;height:27px!important;max-width:27px!important;max-height:27px!important;flex:0 0 27px!important;}
  .nav-burger{width:38px!important;height:31px!important;padding:8px!important;gap:5px!important;}
}

/* 20260929 P0: cramped desktop widths use the mobile navigation instead of wrapping account/login into the hero. */
@media (max-width:1239.98px){
  .nav-links,.nav-login,.nav-partner-link,.nav-cta{display:none!important;}
  .nav-burger{display:flex!important;}
}
@media (min-width:1240px){
  .nav-links{display:flex!important;}
  .nav-login{display:inline-flex!important;}
  .nav-burger{display:none!important;}
}

/* 20260930: responsives Off-Canvas-Menue statt vollflaechigem Hamburger-Panel.
   Desktop/Laptop: kompakte rechte Seitenleiste. Mobile: bewusst breiter fuer
   Daumenbedienung, aber nie Vollbild. */
@media (max-width:1239.98px){
  .nav-mobile{
    display:block!important;
    position:fixed!important;
    top:65px!important;
    right:0!important;
    left:auto!important;
    bottom:0!important;
    width:clamp(320px,32vw,420px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:none!important;
    height:auto!important;
    padding:14px 20px calc(28px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    background:rgba(255,255,255,.985)!important;
    border-top:0!important;
    border-left:1px solid var(--border-cool,var(--border))!important;
    box-shadow:-18px 12px 42px rgba(17,48,64,.16)!important;
    transform:translateX(105%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:transform .24s ease,opacity .18s ease,visibility 0s linear .24s;
    z-index:1200!important;
  }
  .nav-mobile.open{
    transform:translateX(0);
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:transform .24s ease,opacity .18s ease;
  }
  .nav-mobile a{padding:13px 0!important;}
  .nav-mobile .nm-cta,.nav-mobile .nm-login,.nav-mobile .nm-kunden-login{border-radius:10px!important;}
}
@media (max-width:767.98px){
  .nav-mobile{
    width:min(88vw,380px)!important;
    max-width:none!important;
    padding-left:18px!important;
    padding-right:18px!important;
  }
}
@media (max-width:420px){
  .nav-mobile{width:92vw!important;}
}
@media (min-width:1240px){
  .nav-mobile{display:none!important;}
}
@media (prefers-reduced-motion:reduce){
  .nav-mobile{transition:none!important;}
}

/* 20260930: Off-canvas darf im geschlossenen Zustand keine horizontale
   Dokumentbreite erzeugen. */
html,body{overflow-x:clip;}
@supports not (overflow:clip){html,body{overflow-x:hidden;}}
