/* ===== AJW Sticky Header: hide on scroll down, show on scroll up + smoky =====
   Hinweis: Unterstützt deine alten Variablen --wh-* als Fallback.
*/
:root {
  --wh-header-bg: #ffffff;
  --wh-header-shadow: rgba(0, 0, 0, 0.08);
  --wh-header-blur: 12px;
  --wh-header-transition: 0.50s cubic-bezier(.61,0,.12,.95);

  /* Plugin-interne Offsets (werden per JS gesetzt) */
  --ajw-top-offset: 0px;   /* z.B. WP-Adminbar */
  --ajw-body-offset: 0px;  /* nur wenn Theme die Adminbar nicht korrekt offsettet */
  --ajw-header-height: 80px;
}

/* Fixierter Header (nur der gefundene Header bekommt per JS die Klasse) */
.ajw-sticky-header {
  position: fixed;
  top: var(--ajw-top-offset, 0px);
  left: 0;
  right: 0;
  z-index: 9999;

  background: var(--wh-header-bg, #ffffff);
  transition:
    transform var(--wh-header-transition, 0.50s cubic-bezier(.61,0,.12,.95)),
    background-color var(--wh-header-transition, 0.50s cubic-bezier(.61,0,.12,.95)),
    backdrop-filter var(--wh-header-transition, 0.50s cubic-bezier(.61,0,.12,.95)),
    box-shadow var(--wh-header-transition, 0.50s cubic-bezier(.61,0,.12,.95)),
    opacity var(--wh-header-transition, 0.50s cubic-bezier(.61,0,.12,.95));

  box-shadow: none;
  backdrop-filter: none;
  transform: translateY(0);
  opacity: 1;
  will-change: transform, opacity, backdrop-filter;
}

/* Platz für den fixierten Header schaffen (nur wenn JS den Header erfolgreich aktiviert) */
html.ajw-sticky-header--enabled body {
  padding-top: calc(var(--ajw-header-height, 80px) + var(--ajw-body-offset, 0px));
}

/* Scroll-Effekte (smoky Look) */
.ajw-sticky-header.is-condensed {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(var(--wh-header-blur, 12px));
  box-shadow: 0 6px 18px var(--wh-header-shadow, rgba(0, 0, 0, 0.08));
}

/* Beim Runterscrollen "ausfahren" (nach oben raus) */
.ajw-sticky-header.scroll-down {
  transform: translateY(-100%);
  opacity: 0.95;
}

/* Beim Hochscrollen wieder einfahren (sichtbar) */
.ajw-sticky-header.scroll-up {
  transform: translateY(0);
  opacity: 1;
}

/* Optional: Logo leicht verkleinern im kondensierten Zustand */
.ajw-sticky-header.is-condensed .site-branding img {
  transform: scale(0.94);
  transition: transform var(--wh-header-transition, 0.50s cubic-bezier(.61,0,.12,.95));
}

/* Beachtung von "Bewegung reduzieren" */
@media (prefers-reduced-motion: reduce) {
  .ajw-sticky-header { transition: none !important; }
}


/* ===== AJW Sticky Header: Submenu Open/Close (integrated) ===== */
/* ================================
   WarteHeld · Gutenberg Submenü (stabil)
   Papier-aufziehen + weiches Zuklappen
   Timing: 0.50s cubic-bezier(.61,0,.12,.95)
   ================================ */
:root{
  --wh-submenu-speed:.50s;
  --wh-submenu-ease:cubic-bezier(.61,0,.12,.95);
}

/* Grundzustand: nie display:none animieren */
.ajw-sticky-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container{
  display:block !important;              /* verhindert display:none vom Theme */
  overflow:hidden;                       /* für clip-path */
  pointer-events:none;
  visibility:hidden;
  opacity:0;
  clip-path:inset(0 0 100% 0);           /* „dünner Strich“ */
  transform:translateY(-2px);
  transition:
    clip-path var(--wh-submenu-speed) var(--wh-submenu-ease),
    opacity   var(--wh-submenu-speed) var(--wh-submenu-ease),
    transform var(--wh-submenu-speed) var(--wh-submenu-ease),
    visibility 0s linear var(--wh-submenu-speed); /* erst NACH Animation verstecken */
}

/* 1) Fallback: :hover / :focus-within darf IMMER öffnen (auch ohne JS) */
.ajw-sticky-header .wp-block-navigation .has-child:hover .wp-block-navigation__submenu-container,
.ajw-sticky-header .wp-block-navigation .has-child:focus-within .wp-block-navigation__submenu-container{
  clip-path:inset(0 0 0 0);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  transition:
    clip-path var(--wh-submenu-speed) var(--wh-submenu-ease),
    opacity   var(--wh-submenu-speed) var(--wh-submenu-ease),
    transform var(--wh-submenu-speed) var(--wh-submenu-ease),
    visibility 0s;
}

/* 2) JS-Modus: .wh-open am LI hält offen – unabhängig von :hover */
.ajw-sticky-header .wp-block-navigation .has-child.wh-open .wp-block-navigation__submenu-container{
  clip-path:inset(0 0 0 0);
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
}

/* 3) Schließen erzwingen: .wh-open.wh-closing → Rück-Animation */
.ajw-sticky-header .wp-block-navigation .has-child.wh-open.wh-closing .wp-block-navigation__submenu-container{
  clip-path:inset(0 0 100% 0);
  opacity:0;
  pointer-events:none;
  transform:translateY(-2px);
}

/* Bewegungsarme Nutzer */
@media (prefers-reduced-motion: reduce){
  .ajw-sticky-header .wp-block-navigation .has-child .wp-block-navigation__submenu-container{
    transition:none !important;
    clip-path:none !important;
    transform:none !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
}
