/* ==========================================================================
   navigation.css
   Toppmenyn som ligger på alla sidor: logotyp, navigation, språkväxlare
   och mobilmenyn.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Header
   Ligger fast överst. Den är genomskinlig högst upp på sidan och får en
   suddig bakgrund så fort man scrollar (klassen sätts av navigation.js).
   -------------------------------------------------------------------------- */
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 80;
  height: var(--header-height);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 clamp(20px, 4vw, 56px);
  background: transparent;
  border-bottom: 1px solid transparent;
  transition: background 0.4s ease, border-color 0.4s ease, backdrop-filter 0.4s ease;
}

.site-header--solid {
  background: oklch(0.12 0.018 258 / 0.62);
  backdrop-filter: blur(18px) saturate(140%);
  border-bottom: 1px solid oklch(0.5 0.04 200 / 0.18);
}

/* --------------------------------------------------------------------------
   2. Logotyp
   -------------------------------------------------------------------------- */
.site-logo {
  display: flex;
  align-items: center;
  gap: 12px;
}

.site-logo__mark {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  overflow: hidden;
  background: var(--background);
  display: flex;
  align-items: center;
  justify-content: center;
}

.site-logo__mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-logo__name {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.2px;
  color: oklch(0.9 0.014 75);
}

/* --------------------------------------------------------------------------
   3. Navigation
   -------------------------------------------------------------------------- */
.header-right {
  display: flex;
  align-items: center;
  gap: 30px;
}

.site-nav {
  display: flex;
  gap: 38px;
  font-size: 13px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  font-weight: 500;
}

.site-nav a {
  color: oklch(0.82 0.008 258);
  transition: color 0.2s ease;
}

.site-nav a:hover {
  color: oklch(0.97 0.004 258);
}

/* --------------------------------------------------------------------------
   4. Språkväxlare (EN / SV)
   Två riktiga knappar, så att de fungerar med tangentbord.
   -------------------------------------------------------------------------- */
.language-toggle {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  letter-spacing: 0.5px;
  font-weight: 600;
  border: 1px solid oklch(0.4 0.02 258 / 0.4);
  border-radius: 20px;
  padding: 5px 6px;
}

.language-toggle__button {
  background: none;
  border: none;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  padding: 2px 4px;
  cursor: pointer;
  color: oklch(0.62 0.012 258);
  transition: color 0.2s ease;
}

/* Aktivt språk markeras med accentfärgen. */
.language-toggle__button[aria-pressed='true'] {
  color: var(--accent);
}

.language-toggle__separator {
  color: oklch(0.4 0.02 258 / 0.6);
}

/* --------------------------------------------------------------------------
   5. Hamburgerknapp (visas bara på mobil, se responsive.css)
   -------------------------------------------------------------------------- */
.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  width: 26px;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  height: 1.5px;
  width: 100%;
  background: oklch(0.85 0.01 258);
}

.menu-toggle span:last-child {
  width: 70%;
  align-self: flex-end;
}

/* --------------------------------------------------------------------------
   6. Mobilmeny
   Dold som standard. JavaScript sätter klassen mobile-menu--open.
   -------------------------------------------------------------------------- */
.mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 90;
  background: oklch(0.13 0.018 258 / 0.97);
  backdrop-filter: blur(14px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.mobile-menu--open {
  display: flex;
}

.mobile-menu a {
  font-family: var(--font-display);
  font-size: 26px;
  color: oklch(0.95 0.004 258);
}

.mobile-menu__close {
  position: absolute;
  top: 32px;
  right: 32px;
  background: none;
  border: none;
  font-size: 28px;
  line-height: 1;
  color: oklch(0.7 0.01 258);
  cursor: pointer;
}
