/**
 * TRUE CARE – Header-Komponente (BEM)
 * Mobile First
 *
 * Struktur (Figma):
 *   Logo zentriert → Tagline → Navigation horizontal
 *   Kein CTA-Button. Dropdown mit Pfeil-Icon.
 */

/* ── Block: .site-header ─────────────────────────────────────────────────────── */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--z-header);
  background-color: var(--color-bg-white);
  border-bottom: 1px solid var(--color-secondary);
  transition: background-color var(--transition-normal), box-shadow var(--transition-normal);
}

/* Modifier: Header nach Scroll */
.site-header--scrolled {
  box-shadow: var(--shadow-md);
}

/* ── Element: Inneres Layout (Mobile: relativ für Burger-Positionierung) ───── */

.site-header__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--spacing-sm) var(--container-pad);
  max-width: var(--container-max);
  margin: 0 auto;
  /* Mindesthöhe Mobile */
  min-height: 64px;
  justify-content: center;
}

/* ── Element: Logo ───────────────────────────────────────────────────────────── */

.site-header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  margin-top: 0;
}

.site-header__logo-img {
  height: auto;
  max-height: 54px;
  width: auto;
  max-width: 200px;
  object-fit: contain;
}

/* Fallback: Text-Logo */
.site-header__logo-text {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  font-weight: 300;
  letter-spacing: 0.2em;
  color: var(--color-text-primary);
  text-transform: uppercase;
}

/* ── Element: Tagline ────────────────────────────────────────────────────────── */

.site-header__tagline {
  font-family: var(--font-body);
  font-size: 0.625rem; /* 10px */
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin: 0;
  padding: 0;
  line-height: 1;
}

/* ── Element: Navigation (Mobile: versteckt) ─────────────────────────────────── */

.site-header__nav {
  display: none;
  width: 100%;
}

/* Mobile Menü geöffnet */
.site-header__nav.site-header__nav--open {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--spacing-md) 0 var(--spacing-sm);
  border-top: 1px solid var(--color-secondary);
  margin-top: var(--spacing-sm);
}

/* ── Element: ul.nav-main (Haupt-Reset + Mobile Stack) ───────────────────────── */

.nav-main {
  list-style: none;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Mobile: Links untereinander */
.nav-main > li {
  display: block;
  border-bottom: 1px solid var(--color-secondary);
}

.nav-main > li:last-child {
  border-bottom: none;
}

.nav-main > li > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing-sm) 0;
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--color-text-primary);
  text-decoration: none;
  text-transform: uppercase;
  transition: color var(--transition-fast);
}

.nav-main > li > a:hover,
.nav-main > li.current-menu-item > a,
.nav-main > li.current-menu-ancestor > a {
  color: var(--color-primary);
}

/* ── Pfeil-Icon bei Dropdown-Eltern-Items ─────────────────────────────────────── */

.nav-main .menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform var(--transition-fast);
  flex-shrink: 0;
  margin-left: var(--spacing-xs);
}

/* Pfeil dreht sich wenn Dropdown offen */
.nav-main .menu-item-has-children.is-open > a::after {
  transform: rotate(-135deg) translateY(-2px);
}

/* ── Sprach-Switcher ─────────────────────────────────────────────────────────── */

.site-header__lang {
  display: flex;
  gap: var(--spacing-xs);
  font-size: var(--font-size-sm);
  padding: var(--spacing-sm) 0 0;
  margin-top: var(--spacing-xs);
}

.lang-switch {
  color: var(--color-text-primary);
  text-decoration: none;
  font-weight: 400;
  letter-spacing: 0.06em;
  transition: color var(--transition-fast);
}

.lang-switch:hover,
.lang-switch--active {
  color: var(--color-primary);
}

/* ── Burger-Button (absolut positioniert, nur Mobile) ────────────────────────── */

.site-header__burger {
  position: absolute;
  right: var(--container-pad);
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 4px;
  background: none;
  border: none;
  cursor: pointer;
  padding: var(--spacing-xs);
}

.site-header__burger-line {
  display: block;
  width: 20px;
  height: 2px;
  background-color: var(--color-text-primary);
  transition: transform var(--transition-fast), opacity var(--transition-fast);
}

/* Burger → X wenn geöffnet: Position fixieren auf Logo-Höhe */
.site-header__burger[aria-expanded="true"] {
  top: 39px; /* Logo-Mitte: pad(12) + halbe Logo-Höhe(27) — kein margin-top mehr */
  transform: translateY(-50%);
}

.site-header__burger[aria-expanded="true"] .site-header__burger-line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.site-header__burger[aria-expanded="true"] .site-header__burger-line:nth-child(2) {
  opacity: 0;
}

.site-header__burger[aria-expanded="true"] .site-header__burger-line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

/* ── Dropdown-Navigation (Mobile: via .is-open) ──────────────────────────────── */

/* Untermenü: Mobile – standardmäßig ausgeblendet */
.nav-main .sub-menu {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0 0 0 var(--spacing-md);
  border-left: 2px solid var(--color-secondary);
  margin-left: var(--spacing-xs);
  margin-bottom: var(--spacing-xs);
}

/* Mobile Untermenü öffnet sich via JS .is-open */
.nav-main li.menu-item-has-children.is-open > .sub-menu {
  display: block;
}

.nav-main .sub-menu li {
  display: block;
}

.nav-main .sub-menu a {
  display: block;
  padding: var(--spacing-xs) 0;
  font-family: var(--font-body);
  font-size: var(--font-size-sm);
  font-weight: 400;
  color: var(--color-text-primary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.nav-main .sub-menu a:hover {
  color: var(--color-primary);
}

/* ── Desktop (1024px+) ───────────────────────────────────────────────────────── */

@media (min-width: 1024px) {

  /* Inner: mehr Höhe, Nav-Row unten */
  .site-header__inner {
    min-height: auto;
    padding-top: var(--spacing-sm);
    padding-bottom: 0;
    gap: 0;
  }

  /* Logo Desktop */
  .site-header__logo-img {
    max-height: 64px;
    max-width: 220px;
  }

  .site-header__logo-text {
    font-size: 1.75rem;
  }

  /* Tagline Abstand */
  .site-header__tagline {
    margin-top: 1px;
    font-size: 0.625rem;
  }

  /* Navigation: sichtbar, horizontal zentriert */
  .site-header__nav {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: var(--spacing-lg);
    padding: 0;
  }

  /* Nav bleibt sichtbar – .--open wird auf Desktop ignoriert */
  .site-header__nav.site-header__nav--open {
    /* Reset Mobile-Open-Styles für Desktop */
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin-top: var(--spacing-lg);
  }

  /* ul.nav-main: horizontale Flex-Row */
  .nav-main {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0;
    width: auto;
  }

  /* Menüpunkte nebeneinander */
  .nav-main > li {
    display: block;
    border-bottom: none;
    position: relative;
  }

  /* Desktop Links */
  .nav-main > li > a {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: 0.75rem; /* 12px */
    letter-spacing: 0.1em;
    justify-content: flex-start;
    gap: var(--spacing-xs);
  }

  /* Aktiver Menüpunkt: Unterstrich */
  .nav-main > li.current-menu-item > a,
  .nav-main > li.current-menu-ancestor > a {
    color: var(--color-primary);
  }

  /* Pfeil-Icon: kleineres, dezentes Dreieck auf Desktop */
  .nav-main .menu-item-has-children > a::after {
    width: 5px;
    height: 5px;
  }

  /* Burger: auf Desktop ausblenden */
  .site-header__burger {
    display: none;
  }

  /* Sprach-Switcher: auf Desktop ausblenden (oder anpassen nach Bedarf) */
  .site-header__lang {
    display: none;
  }

  /* ── Dropdown-Navigation (Desktop: Hover + .is-open) ───────────────────── */

  /* Untermenü: standardmäßig ausgeblendet (opacity transition statt display) */
  .nav-main .sub-menu {
    display: block; /* Block für Transition – über opacity/visibility gesteuert */
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: var(--z-overlay);
    min-width: 220px;
    background-color: var(--color-bg-white);
    border: 1px solid var(--color-secondary);
    border-radius: var(--border-radius-sm);
    box-shadow: var(--shadow-md);
    padding: var(--spacing-xs) 0;
    margin: 0;
    border-left: none;
    /* Ausgeblendet bis :hover oder .is-open */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-4px);
    transition:
      opacity var(--transition-fast),
      visibility var(--transition-fast),
      transform var(--transition-fast);
  }

  /* Untermenü sichtbar: Hover (Desktop) ODER JS-Klasse .is-open */
  .nav-main li.menu-item-has-children:hover > .sub-menu,
  .nav-main li.menu-item-has-children.is-open > .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
  }

  /* Links im Dropdown */
  .nav-main .sub-menu a {
    display: block;
    padding: var(--spacing-sm) var(--spacing-lg);
    font-size: var(--font-size-sm);
    font-weight: 400;
    color: var(--color-text-primary);
    white-space: nowrap;
  }

  .nav-main .sub-menu a:hover {
    background-color: var(--color-bg-light);
    color: var(--color-primary);
  }

  /* Aktiver Menüpunkt im Dropdown */
  .nav-main .sub-menu .current-menu-item > a,
  .nav-main .sub-menu .current-page-ancestor > a {
    color: var(--color-primary);
  }

}

/* ── Tablet (768px–1023px): Logo etwas größer ────────────────────────────────── */

@media (min-width: 768px) and (max-width: 1023px) {
  .site-header__logo-img {
    max-height: 58px;
    max-width: 210px;
  }

  .site-header__burger {
    top: var(--spacing-md);
    transform: none;
  }
}
