/* Kring Systems: fælles menu. Afgrænset til .ks-header, så den kan bruges på alle sider. */
@font-face { font-family: "Space Grotesk KS"; src: url("/assets/ks/fonts/space-grotesk.woff2") format("woff2"); font-weight: 300 700; font-display: swap; }
@font-face { font-family: "Inter KS"; src: url("/assets/ks/fonts/inter.woff2") format("woff2"); font-weight: 100 900; font-display: swap; }

.ks-header {
  --ksb: #0D0D0D; --ksw: #F5F5F2; --ksg: #C8F576; --ksgr: #909090;
  position: sticky; top: 0; z-index: 200;
  background: rgba(13, 13, 13, .94);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  font-family: "Inter KS", "Inter", system-ui, sans-serif; color: var(--ksw); line-height: 1.2;
}
.ks-header *, .ks-header *::before, .ks-header *::after { box-sizing: border-box; margin: 0; padding: 0; }
.ks-header ul { list-style: none; }
.ks-header a { color: inherit; text-decoration: none; }
/* Nulstil gamle "nav { ... }" regler fra de eksisterende sider */
.ks-header .ks-nav { position: static; display: block; padding: 0; background: none; border: 0; flex-direction: initial; }

.ks-skip { position: absolute; left: 1rem; top: -4rem; padding: .7rem 1rem; background: var(--ksg); color: var(--ksb) !important; font-weight: 600; z-index: 300; }
.ks-skip:focus { top: .5rem; }

.ks-header-inner { max-width: 1240px; margin: 0 auto; padding: 0 40px; min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.ks-logo { font-family: "Space Grotesk KS", "Space Grotesk", sans-serif; font-size: 13px; font-weight: 700; letter-spacing: .28em; white-space: nowrap; }

.ks-nav-list { display: flex; align-items: center; gap: 4px; }
.ks-nav-list > li > a, .ks-sub-toggle {
  display: inline-flex; align-items: center; gap: 6px; padding: 10px 12px;
  font: inherit; font-size: 11px; font-weight: 500; letter-spacing: .15em; text-transform: uppercase;
  color: var(--ksgr); background: none; border: 0; cursor: pointer; transition: color .2s;
}
.ks-nav-list > li > a:hover, .ks-sub-toggle:hover, .ks-has-sub.is-open .ks-sub-toggle { color: var(--ksw); }
.ks-nav-list a[aria-current="page"], .ks-sub-toggle[data-current] { color: var(--ksw); box-shadow: inset 0 -1px 0 var(--ksg); }
.ks-header a:focus-visible, .ks-header button:focus-visible { outline: 2px solid var(--ksg); outline-offset: 2px; }
.ks-sub-toggle svg { transition: transform .15s; }
.ks-sub-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.ks-nav-list > li.ks-cta > a { background: var(--ksg); color: var(--ksb); font-weight: 600; border-radius: 2px; padding: 10px 18px; margin-left: 8px; }
.ks-nav-list > li.ks-cta > a:hover { color: var(--ksb); opacity: .88; }

.ks-has-sub { position: relative; }
.ks-sub { position: absolute; top: calc(100% + 10px); left: 0; min-width: 320px; background: #1C1C1C; border: 1px solid rgba(255,255,255,.08); border-top: 2px solid var(--ksg); padding: 8px 0; display: none; }
.ks-has-sub.is-open .ks-sub { display: block; }
.ks-sub a { display: flex; align-items: baseline; gap: 14px; padding: 12px 20px; font-size: 14px; color: var(--ksw); }
.ks-sub a:hover, .ks-sub a[aria-current="page"] { background: rgba(200,245,118,.06); color: var(--ksg); }
.ks-sub-num { font-family: "Space Grotesk KS", "Space Grotesk", sans-serif; font-size: 11px; letter-spacing: .2em; color: var(--ksg); }
.ks-sub-all a { font-size: 12px; color: var(--ksgr); border-bottom: 1px solid rgba(255,255,255,.06); margin-bottom: 4px; }

.ks-lang { display: flex; align-items: center; gap: 8px; margin-left: 10px; }
.ks-lang a, .ks-lang button { font-family: "Space Grotesk KS", "Space Grotesk", sans-serif; font-size: 11px; font-weight: 600; letter-spacing: .15em; color: var(--ksgr); background: none; border: 0; border-bottom: 1px solid transparent; padding: 3px 0; cursor: pointer; }
.ks-lang .is-active, .ks-lang .active { color: var(--ksg); border-bottom-color: var(--ksg); }
.ks-lang .inactive { color: var(--ksgr); }
.ks-lang-sep { color: rgba(255,255,255,.15); font-size: 11px; }

.ks-menu-btn { display: none; font: inherit; font-size: 11px; font-weight: 600; letter-spacing: .15em; text-transform: uppercase; background: none; color: var(--ksw); border: 1px solid rgba(255,255,255,.25); padding: 10px 16px; border-radius: 2px; cursor: pointer; }

@media (hover: hover) and (min-width: 1081px) {
  .ks-has-sub:hover .ks-sub, .ks-has-sub:focus-within .ks-sub { display: block; }
  .ks-has-sub:hover::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 12px; }
}
@media (max-width: 1080px) {
  .ks-header-inner { padding: 0 20px; min-height: 64px; }
  .ks-menu-btn { display: inline-block; }
  .ks-header .ks-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #0D0D0D; border-bottom: 1px solid rgba(255,255,255,.08); max-height: calc(100vh - 64px); overflow-y: auto; }
  .ks-header.is-open .ks-nav { display: block; }
  .ks-header .ks-nav-list { flex-direction: column; align-items: stretch; padding: 8px 20px 28px; gap: 0; }
  .ks-nav-list > li { border-bottom: 1px solid rgba(255,255,255,.06); }
  .ks-nav-list > li > a, .ks-sub-toggle { width: 100%; padding: 18px 0; font-size: 12px; justify-content: space-between; }
  .ks-header .ks-sub { position: static; display: block; min-width: 0; border: 0; padding: 0 0 12px; background: none; }
  .ks-sub-toggle svg { display: none; }
  .ks-sub-toggle { cursor: default; }
  .ks-sub a { padding: 10px 0; }
  .ks-sub-all a { border: 0; }
  .ks-nav-list > li.ks-cta { border: 0; }
  .ks-nav-list > li.ks-cta > a { justify-content: center; margin: 20px 0 0; padding: 16px; }
  .ks-lang { border: 0 !important; margin: 20px 0 0; }
  .ks-nav-list a[aria-current="page"], .ks-sub-toggle[data-current] { box-shadow: none; color: var(--ksg); }
  html:not(.js) .ks-header .ks-nav { display: block; position: static; }
  html:not(.js) .ks-menu-btn { display: none; }
  html:not(.js) .ks-header-inner { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) { .ks-sub-toggle svg { transition: none; } }
