/* ================================
   Dropmenu – Grundlayout (Desktop)
   ================================ */

/* Container der Drop-Down-Navigation */
.dropmenu {
  position: relative;
}

/* Alle ULs im Dropmenu */
.dropmenu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Hauptmenü (erste UL im Dropmenu) horizontal anordnen */
.dropmenu > ul {
  display: flex;
  gap: 1rem;
  align-items: center;
}

/* Jeder Menüpunkt ist Positionierungskontext für sein Dropdown */
.dropmenu li {
  position: relative;
}

/* Standard-Dropdowns: werden nach unten aufgeklappt */
.dropmenu li > ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: #fff;
  border: 1px solid #ddd;
  padding: 0.5rem 0.75rem;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
  z-index: 2000;
}

/* Hover oder Tastatur-Fokus zeigt Untermenü */
.dropmenu li:hover > ul,
.dropmenu li:focus-within > ul {
  display: block;
}

/* Unter-Untermenüs ebenfalls nach unten ausrichten */
.dropmenu li > ul > li > ul {
  top: 100%;
  left: 0;
}

/* Verhindern, dass Untermenüs abgeschnitten werden */
.navbar,
.site-nav,
.dropmenu {
  overflow: visible;
}

/* Letzte/n vorletzte/n Menüpunkte: Dropdown nach rechts ausrichten (falls nötig) */
.dropmenu > ul > li:last-child > ul,
.dropmenu > ul > li:nth-last-child(2) > ul {
  right: 0;
  left: auto;
}

/* Links im Menü */
.dropmenu a {
  display: block;
  padding: 0.35rem 0.25rem;
  text-decoration: none;
}

/* Aktiver Menüpunkt */
.dropmenu li.active > a,
.dropmenu li.active-parent > a {
  font-weight: 600;
}

/* =========================================
   Sprachumschalter – Desktop
   ========================================= */


/* ================================
   Overlay-Menü (Mobile)
   ================================ */

/* Overlay-Menü Liste horizontal mit Sprach-Item */
nav.overlay-menu ul.tree {
  display: flex;
  align-items: center;
  gap: 1rem;
}

/* Sprachumschalter im Overlay-Menü nach rechts schieben */
nav.overlay-menu ul.tree > li.langswitch {
  margin-left: auto;
  position: relative;
}

/* Label der aktuellen Sprache im Overlay-Menü */
nav.overlay-menu ul.tree > li.langswitch > a {
  display: block;
  padding: 0.35rem 0.25rem;
  font-weight: 600;
}

/* Das Sprach-UL als Dropdown im Overlay-Menü */
nav.overlay-menu ul.tree > li.langswitch > ul.langswitcher {
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 140px;

  margin: 0;
  padding: 0.5rem 0.75rem;
  list-style: none;

  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);

  display: none;
  z-index: 2100;
}

/* Overlay-Menü: Menü + Sprachswitcher nebeneinander ausrichten */
nav.overlay-menu {
  display: flex;
  align-items: center;          /* vertikal zentrieren */
  justify-content: space-between; /* Menü links, Sprache rechts */
}

/* Grundformatierung für beide ULs im Overlay-Menü */
nav.overlay-menu > ul {
  margin: 0;
  padding: 0;
}

/* Sprachswitcher: DE / EN nebeneinander */
nav.overlay-menu > ul.langswitcher {
  list-style: none;
  display: flex;
  gap: 0.75rem;                  /* Abstand zwischen DE und EN */
  align-items: center;
}

/* Links im Sprachswitcher optisch an Menü anpassen */
nav.overlay-menu > ul.langswitcher a {
  display: block;
  padding: 0.35rem 0.25rem;      /* wie die anderen Menü-Links */
  text-decoration: none;
}
