/* ============================================================
   nav.css — Hauptnavigation + Burger-Menü (zentral gestempelt
   über tools/partials/header.html auf allen Shop-Seiten).
   Bewusst OHNE CSS-Variablen aus shop.css: die Portal-Seiten
   (sammelwelten/*, produkte/*) laden nur ihre Inline-Styles.
   Alles strikt auf .main-nav / .nav-burger genamespaced, damit
   nichts mit Seiten-Styles kollidiert.
   ============================================================ */

/* --- Leiste (2. Zeile im grünen Header) --- */
.main-nav {
  background: #2e7d32;
  border-top: 1px solid rgba(255,255,255,0.18);
}
.main-nav__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 2px;
}
.main-nav__item { position: relative; }
.main-nav__item > a {
  display: inline-block;
  padding: 9px 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.main-nav__item > a:hover,
.main-nav__item > a:focus-visible { background: rgba(255,255,255,0.14); text-decoration: none; }
.main-nav__item > a[aria-current="page"] { box-shadow: inset 0 -3px 0 #fff; }

/* Untermenü-Pfeil (Button, für Tastatur + Touch) */
.main-nav__toggle {
  border: none;
  background: transparent;
  color: #fff;
  cursor: pointer;
  padding: 9px 8px 7px 0;
  margin-left: -8px;
  vertical-align: middle;
}
.main-nav__toggle svg { transition: transform .15s; }

/* --- Dropdown (Desktop) --- */
.main-nav__sub {
  list-style: none;
  margin: 0;
  padding: 8px 0;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 240px;
  background: #fff;
  border: 1px solid #e3e7ec;
  border-radius: 6px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.16);
  display: none;
  z-index: 60;
}
.main-nav__sub a {
  display: block;
  padding: 8px 18px;
  color: #1a1a1a;
  font-size: 15px;
  text-decoration: none;
  white-space: nowrap;
}
.main-nav__sub a:hover,
.main-nav__sub a:focus-visible { background: #e8f5e9; color: #2e7d32; text-decoration: none; }
.main-nav__all a { font-weight: 700; color: #2e7d32; border-top: 1px solid #e3e7ec; margin-top: 6px; padding-top: 12px; }

/* Desktop: Dropdown per Hover/Fokus (rein CSS, funktioniert ohne JS) */
@media (min-width: 881px) {
  .has-sub:hover > .main-nav__sub,
  .has-sub:focus-within > .main-nav__sub,
  .has-sub.is-open > .main-nav__sub { display: block; }
  .nav-burger { display: none; }
}

/* --- Mobil (≤880px, gleicher Umbruchpunkt wie der Header) --- */
@media (max-width: 880px) {
  .nav-burger { display: inline-flex; }

  /* Navigation als aufklappbares Panel unter dem Header */
  .main-nav { display: none; }
  body.nav-offen .main-nav { display: block; }

  .main-nav__list { flex-direction: column; gap: 0; padding: 6px 0 10px; }
  .main-nav__item > a { display: block; padding: 11px 4px; font-size: 16px; }
  .main-nav__item { display: flex; flex-wrap: wrap; align-items: center; }
  .main-nav__item > a { flex: 1 1 auto; }
  .main-nav__toggle { padding: 11px 10px; margin: 0; }

  /* Untermenüs: eingerückt, per Toggle */
  .main-nav__sub {
    position: static;
    display: none;
    flex-basis: 100%;
    min-width: 0;
    background: rgba(255,255,255,0.10);
    border: none;
    border-radius: 4px;
    box-shadow: none;
    padding: 4px 0;
    margin: 0 0 6px;
  }
  .main-nav__item.is-open > .main-nav__sub { display: block; }
  .main-nav__item.is-open > .main-nav__toggle svg { transform: rotate(180deg); }
  .main-nav__sub a { color: #fff; padding: 9px 22px; white-space: normal; }
  .main-nav__sub a:hover,
  .main-nav__sub a:focus-visible { background: rgba(255,255,255,0.16); color: #fff; }
  .main-nav__all a { color: #fff; border-top: 1px solid rgba(255,255,255,0.25); }
}
