/* ==========================================================================
   Header / Navigation
   ========================================================================== */

/* Header wrapper — stays in flow as a spacer */
.header-wrapper {
  position: relative;
  z-index: 10;
  height: 73px; /* spacer: 10px padding-top + 53px content + 10px padding-bottom */
}

/* Fixed nav bar */
.header {
  position: fixed;
  /* 10px page__inner margin + 12px main-wrapper padding-top */
  top: calc(22px + var(--admin-bar-h, 0px));
  /* 10px page__inner margin + 10px header-wrapper padding */
  left: 20px;
  right: 20px;
  z-index: 900;
  background: var(--blue-100);
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 10px;
}

.header__logo {
  display: flex;
  align-items: flex-end;
  height: 53px;
  flex-shrink: 0;
  font-family: var(--font-primary);
  font-weight: var(--fw-bold);
  font-size: 2.625rem; /* ~42px — matches SVG glyph scale */
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--green-1200);
  text-decoration: none;
}

.header__nav-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding-right: 21px;
}

.header__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 53px;
}

.header__nav-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  font-family: var(--font-primary);
  font-weight: var(--fw-semibold);
  font-size: 1rem;
  line-height: 1.1;
  color: var(--green-1200);
  white-space: nowrap;
}

.header__contact-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.header__contact-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px;
  font-family: var(--font-primary);
  font-weight: var(--fw-semibold);
  font-size: 1rem;
  line-height: 1.1;
  color: var(--green-1200);
  white-space: nowrap;
}

/* Logo text — fades in as hero text shrinks into position */
.header__logo-text {
  opacity: 0;
  transition: opacity 0.15s ease;
}

.header__logo-text--visible {
  opacity: 1;
}

.header__lang-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 19.591px;
  height: 30.218px;
  flex-shrink: 0;
  opacity: 0;
  transition: opacity 0.15s ease;
}

.header__lang-icon--visible {
  opacity: 1;
}

.header__lang-icon img {
  width: 100%;
  height: 100%;
}
