@font-face{font-family:"Libre Franklin";src:url(/assets/fonts/libre-franklin-800.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url(/assets/fonts/libre-franklin-800i.woff2) format("woff2");font-weight:800;font-style:italic;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url(/assets/fonts/libre-franklin-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url(/assets/fonts/libre-franklin-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Franklin";src:url(/assets/fonts/libre-franklin-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/assets/fonts/ibm-plex-mono-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
/* Løbeprogram – tema "banegrøn".
   Mættet banegrøn på ren hvid, en fast farvekode pr. løbetype (fra hvile til interval)
   og banelinjer fra atletikbanen. Mobil først; BEM med præfikset k5. */

:root {
  --k5-white: #FFFFFF;
  --k5-ink: #0C1F17;
  --k5-green: #007A49;
  --k5-green-d: #00663D;
  --k5-deep: #062519;
  --k5-mint: #EAF6EF;
  --k5-slate: #4A5A53;
  --k5-line: #D2E1D9;
  --k5-error: #A30D2A;
  --k5-hvile: #E3E9E6;
  --k5-rolig: #3CCB6F;
  --k5-langtur: #00B2D6;
  --k5-fartleg: #FFC61E;
  --k5-tempo: #FF7A1A;
  --k5-interval: #D61236;
  --k5-pale: #BFE8D0;
  --k5-radius: 2px;
  --k5-max: 960px;
  --k5-col: 46rem;
  --k5-pad: 1.25rem;
  --k5-head: "Libre Franklin", "Arial Narrow", Arial, sans-serif;
  --k5-body: "Libre Franklin", "Segoe UI", Arial, sans-serif;
  --k5-mono: "IBM Plex Mono", Consolas, monospace;
}

/* Farvekoden for løbetyperne: --k5-c er farven, --k5-on teksten ovenpå. */
[class*="--hvile"] { --k5-c: var(--k5-hvile); --k5-on: var(--k5-ink); }
[class*="--rolig"] { --k5-c: var(--k5-rolig); --k5-on: var(--k5-ink); }
[class*="--langtur"] { --k5-c: var(--k5-langtur); --k5-on: var(--k5-ink); }
[class*="--fartleg"] { --k5-c: var(--k5-fartleg); --k5-on: var(--k5-ink); }
[class*="--tempo"] { --k5-c: var(--k5-tempo); --k5-on: var(--k5-ink); }
[class*="--interval"] { --k5-c: var(--k5-interval); --k5-on: var(--k5-white); }

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--k5-white);
  color: var(--k5-ink);
  font: 400 1.0625rem/1.65 var(--k5-body);
  overflow-wrap: break-word;
}

img { display: block; max-width: 100%; height: auto; }

a { color: var(--k5-green); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { color: var(--k5-green-d); text-decoration-thickness: 2px; }

:focus-visible { outline: 3px solid var(--k5-green); outline-offset: 2px; }
.k5-track :focus-visible,
.k5-footer :focus-visible,
.k5-next :focus-visible,
.k5-tool--tempo :focus-visible,
.k5-calc__result :focus-visible { outline-color: var(--k5-fartleg); }

.k5-sr {
  position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
  overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0;
}

.k5-skip {
  position: absolute; left: .75rem; top: -4rem; z-index: 10;
  padding: .6rem 1rem; background: var(--k5-deep); color: var(--k5-white);
  font-weight: 600; border-radius: var(--k5-radius); text-decoration: none;
}
.k5-skip:focus { top: .75rem; color: var(--k5-white); }

/* ---------- Header: centreret logo, menu under ---------- */

.k5-header { background: var(--k5-white); }

.k5-header__inner {
  max-width: var(--k5-max);
  margin: 0 auto;
  padding: 1.25rem var(--k5-pad) .6rem;
  text-align: center;
}

.k5-header__logo { display: inline-block; line-height: 0; border-radius: var(--k5-radius); }
.k5-header__logo svg { display: block; width: auto; height: 38px; max-width: 100%; }

.k5-header__tagline {
  margin: .55rem 0 0;
  font: 500 .75rem/1.3 var(--k5-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--k5-slate);
}

.k5-nav { border-top: 1px solid var(--k5-line); }

.k5-nav__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 .15rem;
  max-width: var(--k5-max);
  margin: 0 auto;
  padding: .2rem .5rem;
  list-style: none;
}

.k5-nav__link {
  display: block;
  padding: .55rem .6rem .45rem;
  border-bottom: 3px solid transparent;
  color: var(--k5-ink);
  font-weight: 600;
  font-size: .9375rem;
  line-height: 1.3;
  text-decoration: none;
}
.k5-nav__link:hover { color: var(--k5-green); border-bottom-color: var(--k5-line); }
.k5-nav__link--active,
.k5-nav__link--active:hover { color: var(--k5-green); border-bottom-color: var(--k5-green); }

/* Intensitetsskalaen under menuen */
.k5-scale { display: flex; height: 6px; }
.k5-scale__seg { flex: 1; background: var(--k5-c); }

/* ---------- Ramme ---------- */

.k5-main { display: block; }

.k5-wrap {
  max-width: var(--k5-max);
  margin: 0 auto;
  padding: 1.5rem var(--k5-pad) 3.5rem;
}

/* ---------- Typografi ---------- */

.k5-title {
  margin: .25rem 0 .8rem;
  font: 800 clamp(1.85rem, 1.35rem + 2.4vw, 2.7rem)/1.08 var(--k5-head);
  letter-spacing: -.015em;
  color: var(--k5-ink);
  hyphens: auto;
}
.k5-title--xl { font-size: clamp(2.1rem, 1.3rem + 3.6vw, 3.3rem); }
.k5-title__lead { display: block; }
.k5-title__accent { display: block; font-style: italic; color: var(--k5-green); }

.k5-section-title {
  margin: 0 0 .5rem;
  font: 800 clamp(1.5rem, 1.25rem + 1.1vw, 2rem)/1.15 var(--k5-head);
  letter-spacing: -.01em;
}
.k5-section-title em { font-style: italic; color: var(--k5-green); }

.k5-section-intro { margin: 0 0 1rem; max-width: 40rem; }

.k5-lead { margin: 0 0 1rem; max-width: 40rem; font-size: 1.1875rem; line-height: 1.55; }

.k5-eyebrow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem .6rem;
  margin: 0 0 .9rem;
  font: 500 .8125rem/1.3 var(--k5-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--k5-slate);
}
.k5-eyebrow__mark {
  padding: .3rem .55rem;
  background: var(--k5-green);
  color: var(--k5-white);
  border-radius: var(--k5-radius);
}

.k5-meta { margin: 0; font: 500 .8125rem/1.4 var(--k5-mono); color: var(--k5-slate); }

/* ---------- Knapper og mærkater ---------- */

.k5-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .55rem 1.15rem;
  border: 2px solid var(--k5-green);
  border-radius: var(--k5-radius);
  background: var(--k5-green);
  color: var(--k5-white);
  font: 600 1rem/1.2 var(--k5-body);
  text-decoration: none;
  cursor: pointer;
}
.k5-btn:hover { background: var(--k5-green-d); border-color: var(--k5-green-d); color: var(--k5-white); text-decoration: none; }
.k5-btn--line { background: var(--k5-white); color: var(--k5-green); }
.k5-btn--line:hover { background: var(--k5-mint); color: var(--k5-green-d); }

.k5-tags { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0 0 .9rem; }

.k5-tags__step,
.k5-chip {
  display: inline-block;
  padding: .35rem .55rem .3rem;
  border-radius: var(--k5-radius);
  font: 500 .75rem/1.1 var(--k5-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.k5-tags__step { background: var(--k5-ink); color: var(--k5-white); }
.k5-chip { background: var(--k5-c, var(--k5-mint)); color: var(--k5-on, var(--k5-ink)); }
.k5-chip--tool { background: var(--k5-green); color: var(--k5-white); }

.k5-dot {
  display: inline-block;
  width: .9rem;
  height: .9rem;
  border-radius: var(--k5-radius);
  background: var(--k5-c);
  vertical-align: middle;
}
.k5-dot--hvile { box-shadow: inset 0 0 0 1px var(--k5-slate); }

/* ---------- Billeder med AI-mærkning ---------- */

.k5-figure { margin: 1.5rem 0; }
.k5-figure__img { width: 100%; border-radius: var(--k5-radius); background: var(--k5-mint); }
.k5-figure__caption {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin-top: .45rem;
  font: 500 .75rem/1.3 var(--k5-mono);
  color: var(--k5-slate);
}
.k5-figure__caption::before {
  content: "";
  flex: none;
  width: .6rem;
  height: .6rem;
  background: var(--k5-green);
  border-radius: 1px;
}

/* ---------- Forside: intro ---------- */

.k5-intro { padding: .5rem 0 1rem; }
.k5-intro__actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.25rem 0 0; }
.k5-figure--intro { margin: 1.75rem 0 0; }

/* ---------- Forside: metoden som seks baner ---------- */

.k5-track {
  margin: 2.25rem calc(var(--k5-pad) * -1) 3rem;
  padding: 1.75rem var(--k5-pad) 0;
  background: var(--k5-green);
  color: var(--k5-white);
}

.k5-track__title {
  margin: 0 0 .5rem;
  font: 800 clamp(1.6rem, 1.3rem + 1.4vw, 2.3rem)/1.1 var(--k5-head);
  color: var(--k5-white);
}
.k5-track__title em { font-style: italic; color: var(--k5-fartleg); }
.k5-track__intro { margin: 0; max-width: 38rem; }

.k5-track__lanes {
  margin: 1.5rem calc(var(--k5-pad) * -1) 0;
  padding: 0;
  list-style: none;
  border-top: 3px solid var(--k5-white);
}

.k5-lane {
  --s: 0;
  position: relative;
  display: grid;
  grid-template-columns: 2.6rem minmax(0, 1fr);
  gap: .9rem;
  padding: 1.1rem var(--k5-pad) 1.15rem calc(var(--k5-pad) + var(--s) * .3rem);
  border-bottom: 3px solid var(--k5-white);
}
.k5-lane--2 { --s: 1; }
.k5-lane--3 { --s: 2; }
.k5-lane--4 { --s: 3; }
.k5-lane--5 { --s: 4; }
.k5-lane--6 { --s: 5; }

.k5-lane__nr {
  font: italic 800 2.6rem/1 var(--k5-head);
  color: var(--k5-white);
  text-align: center;
}

.k5-lane__title { margin: .15rem 0 .3rem; font: 800 1.2rem/1.2 var(--k5-head); color: var(--k5-white); }
.k5-lane__text { margin: 0 0 .65rem; }
.k5-lane__links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.k5-lane__link {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  min-height: 2.25rem;
  padding: .3rem .7rem;
  border: 2px solid var(--k5-white);
  border-radius: var(--k5-radius);
  color: var(--k5-white);
  font-weight: 600;
  font-size: .9375rem;
  text-decoration: none;
}
.k5-lane__link::after { content: "→"; }
.k5-lane__link:hover { background: var(--k5-white); color: var(--k5-green); text-decoration: none; }

/* ---------- Brødtekst ---------- */

.k5-prose { max-width: var(--k5-col); overflow-wrap: anywhere; }
.k5-prose--home { margin: 0 auto 3rem; }

.k5-prose > :first-child { margin-top: 0; }
.k5-prose p, .k5-prose ul, .k5-prose ol, .k5-prose blockquote, .k5-prose table { margin: 0 0 1.1rem; }

.k5-prose h2 {
  position: relative;
  margin: 2.4rem 0 .8rem;
  padding-top: 1rem;
  font: 800 clamp(1.4rem, 1.2rem + .9vw, 1.75rem)/1.2 var(--k5-head);
  letter-spacing: -.01em;
}
.k5-prose h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 3.6rem;
  height: 5px;
  background: linear-gradient(90deg,
    var(--k5-hvile) 0 16.66%, var(--k5-rolig) 16.66% 33.33%, var(--k5-langtur) 33.33% 50%,
    var(--k5-fartleg) 50% 66.66%, var(--k5-tempo) 66.66% 83.33%, var(--k5-interval) 83.33% 100%);
}
.k5-prose h3 { margin: 1.9rem 0 .55rem; font: italic 800 1.25rem/1.25 var(--k5-head); color: var(--k5-green); }
.k5-prose h4 {
  margin: 1.5rem 0 .4rem;
  font: 600 .875rem/1.3 var(--k5-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
}

.k5-prose ul, .k5-prose ol { padding-left: 1.4rem; }
.k5-prose li { margin: .3rem 0; }
.k5-prose li > ul, .k5-prose li > ol { margin: .3rem 0 0; }
.k5-prose ul > li::marker { color: var(--k5-green); }
.k5-prose ol > li::marker { color: var(--k5-green); font: 600 .95em var(--k5-mono); }

.k5-prose blockquote {
  margin-left: 0;
  margin-right: 0;
  padding: 1rem 1.15rem;
  border-left: 5px solid var(--k5-green);
  background: var(--k5-mint);
  font-size: 1.125rem;
}
.k5-prose blockquote > :last-child { margin-bottom: 0; }

.k5-prose strong { font-weight: 600; }

.k5-prose table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  font-size: .95rem;
  line-height: 1.45;
  overflow-wrap: normal;
}
.k5-prose th, .k5-prose td {
  min-width: 6.5rem;
  padding: .6rem .75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--k5-line);
}
.k5-prose th { background: var(--k5-deep); color: var(--k5-white); font-weight: 600; }
.k5-prose tbody tr:nth-child(even) { background: var(--k5-mint); }

/* ---------- Forside: løbetyperne i farver ---------- */

.k5-types { margin: 0 0 3rem; }

.k5-types__axis {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin: 1rem 0 0;
  padding-bottom: .4rem;
  border-bottom: 2px solid var(--k5-ink);
  font: 500 .75rem/1.2 var(--k5-mono);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--k5-slate);
}
.k5-types__axis::after {
  content: "";
  position: absolute;
  right: -1px;
  bottom: -6px;
  border: 5px solid transparent;
  border-left: 9px solid var(--k5-ink);
  border-right: 0;
}

.k5-types__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }

.k5-type {
  display: grid;
  grid-template-columns: .75rem minmax(0, 1fr);
  column-gap: .9rem;
  padding: .75rem 0;
  border-bottom: 1px solid var(--k5-line);
}
.k5-type__bar { grid-row: 1 / span 2; background: var(--k5-c); border-radius: 1px; }
.k5-type--hvile .k5-type__bar { box-shadow: inset 0 0 0 1px var(--k5-slate); }
.k5-type__name { margin: 0 0 .15rem; font: 800 1.05rem/1.25 var(--k5-head); }
.k5-type__link { color: var(--k5-ink); text-decoration-color: var(--k5-c); text-decoration-thickness: 3px; text-underline-offset: .25em; }
.k5-type__link:hover { color: var(--k5-green); text-decoration-thickness: 3px; }
.k5-type__text { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--k5-slate); }

/* ---------- Forside: værktøjerne ---------- */

.k5-tools { margin: 0 0 3rem; }
.k5-tools__grid { display: grid; gap: 1rem; margin-top: 1rem; }

.k5-tool {
  padding: 1.25rem;
  border-radius: var(--k5-radius);
  background: var(--k5-mint);
  border-top: 5px solid var(--k5-green);
}
.k5-tool__title { margin: 0 0 .4rem; font: 800 1.3rem/1.2 var(--k5-head); }
.k5-tool__link { color: inherit; }
.k5-tool__link:hover { color: inherit; }
.k5-tool__text { margin: 0; }

.k5-tool--tempo { background: var(--k5-deep); color: var(--k5-white); border-top-color: var(--k5-fartleg); }
.k5-tool--tempo .k5-tool__link { color: var(--k5-white); }

.k5-tool__display {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .2rem .5rem;
  margin: 0 0 1rem;
  font-family: var(--k5-mono);
}
.k5-tool__digits { font-size: 2.2rem; font-weight: 500; line-height: 1.1; color: var(--k5-fartleg); }
.k5-tool__unit { font-size: .85rem; color: var(--k5-pale); }
.k5-tool__swap { font-size: 1.4rem; color: var(--k5-white); padding: 0 .2rem; }

.k5-weekstrip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 4px;
  margin: 0 0 1rem;
  padding: 0;
  list-style: none;
}
.k5-weekstrip__day {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 3.4rem;
  padding-bottom: .3rem;
  border-radius: var(--k5-radius);
  background: var(--k5-c);
  color: var(--k5-on);
  font: 500 .8rem/1 var(--k5-mono);
}
.k5-weekstrip__day--hvile { background: var(--k5-white); box-shadow: inset 0 0 0 1px var(--k5-line); height: 2.2rem; align-self: end; }
.k5-weekstrip__day--interval { height: 4.2rem; }
.k5-weekstrip__day--langtur { height: 4.6rem; }
.k5-weekstrip { align-items: end; }

/* ---------- Oversigt (træningsdagbog) ---------- */

.k5-log { margin: 0 0 3rem; }
.k5-log__list { margin: 1rem 0 0; padding: 0; list-style: none; border-top: 3px solid var(--k5-ink); }

.k5-log__row {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr);
  gap: .35rem .9rem;
  padding: .95rem 0;
  border-bottom: 1px solid var(--k5-line);
}
.k5-log__step {
  padding-top: .2rem;
  font: 500 .75rem/1.3 var(--k5-mono);
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--k5-green);
}
.k5-log__title { margin: 0 0 .2rem; font: 800 1.1rem/1.3 var(--k5-head); }
.k5-log__link { color: var(--k5-ink); text-decoration: none; }
.k5-log__link:hover { color: var(--k5-green); text-decoration: underline; }
.k5-log__desc { margin: 0; font-size: .9375rem; line-height: 1.5; color: var(--k5-slate); }
.k5-log__tags { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; }

/* ---------- Artikel ---------- */

.k5-crumbs { max-width: var(--k5-col); margin: 0 auto 1.25rem; }
.k5-crumbs__list {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  font: 500 .8125rem/1.4 var(--k5-mono);
  color: var(--k5-slate);
}
.k5-crumbs__item + .k5-crumbs__item::before { content: "/"; margin: 0 .5rem; color: var(--k5-slate); }
.k5-crumbs__link { color: var(--k5-green); }

.k5-article { max-width: var(--k5-col); margin: 0 auto; }
.k5-article__head { margin-bottom: 1.25rem; }
.k5-article .k5-figure { margin: 1.25rem 0 2rem; }

/* FAQ */
.k5-faq { margin: 2.75rem 0 0; }
.k5-faq__title { margin: 0 0 .75rem; font: 800 1.5rem/1.2 var(--k5-head); }
.k5-faq__title em { font-style: italic; color: var(--k5-green); }
.k5-faq__item { border-top: 1px solid var(--k5-line); }
.k5-faq__item:last-child { border-bottom: 1px solid var(--k5-line); }
.k5-faq__q {
  position: relative;
  padding: .9rem 2.25rem .9rem 0;
  font-weight: 600;
  font-size: 1.0625rem;
  line-height: 1.4;
  list-style: none;
  cursor: pointer;
}
.k5-faq__q::-webkit-details-marker { display: none; }
.k5-faq__q::after {
  content: "+";
  position: absolute;
  right: .25rem;
  top: .7rem;
  font: 500 1.35rem/1 var(--k5-mono);
  color: var(--k5-green);
}
.k5-faq__item[open] .k5-faq__q::after { content: "–"; }
.k5-faq__a { margin: 0 0 1.1rem; overflow-wrap: anywhere; }

/* Kilder */
.k5-sources { margin: 2.5rem 0 0; padding: 1rem 1.15rem; background: var(--k5-mint); border-radius: var(--k5-radius); }
.k5-sources__title { margin: 0 0 .5rem; font: 500 .8125rem/1.3 var(--k5-mono); letter-spacing: .05em; text-transform: uppercase; }
.k5-sources__list { margin: 0; padding-left: 1.4rem; font-size: .9375rem; overflow-wrap: anywhere; }
.k5-sources__item { margin: .25rem 0; }
.k5-sources__item::marker { font: 500 .85em var(--k5-mono); color: var(--k5-slate); }

/* Næste bane */
.k5-next { margin: 2.75rem 0 0; }
.k5-next__link {
  display: block;
  padding: 1.1rem 1.25rem 1.2rem;
  border-radius: var(--k5-radius);
  background: var(--k5-green);
  color: var(--k5-white);
  text-decoration: none;
  box-shadow: inset 0 -6px 0 var(--k5-green-d);
}
.k5-next__link:hover { background: var(--k5-green-d); color: var(--k5-white); }
.k5-next__label { display: block; margin-bottom: .3rem; font: 500 .75rem/1.3 var(--k5-mono); letter-spacing: .05em; text-transform: uppercase; }
.k5-next__title { display: block; font: italic 800 1.25rem/1.25 var(--k5-head); }
.k5-next__title::after { content: " →"; font-style: normal; }

/* ---------- Værktøjerne (widgets) ---------- */

.k5-calc {
  margin: 1.25rem 0 2rem;
  padding: 1.25rem 1rem;
  border-top: 6px solid var(--k5-green);
  border-radius: var(--k5-radius);
  background: var(--k5-mint);
}
.k5-calc__title { margin: 0 0 .35rem; font: 800 1.5rem/1.2 var(--k5-head); }
.k5-calc__intro { margin: 0 0 1rem; font-size: .9875rem; }
.k5-calc__grid { display: grid; gap: 1rem; }

.k5-calc__card {
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--k5-line);
  border-radius: var(--k5-radius);
  background: var(--k5-white);
  min-width: 0;
}
.k5-calc__sub { margin: 0 0 .75rem; font: 800 1.1rem/1.25 var(--k5-head); }
.k5-calc__sub em { font-style: italic; color: var(--k5-green); }

.k5-calc__set { min-width: 0; margin: 0 0 .9rem; padding: 0; border: 0; }
.k5-calc__legend { margin-bottom: .4rem; padding: 0; font-weight: 600; font-size: .9375rem; }
.k5-calc__row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: .4rem; margin-bottom: .6rem; }
.k5-calc__row--dist { gap: .75rem; margin-bottom: 1rem; }
.k5-calc__field { display: flex; flex-direction: column; gap: .25rem; min-width: 0; }
.k5-calc__label { font: 500 .75rem/1.2 var(--k5-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--k5-slate); }

.k5-calc__input {
  width: 4.6rem;
  min-height: 2.75rem;
  padding: .4rem .55rem;
  border: 2px solid var(--k5-slate);
  border-radius: var(--k5-radius);
  background: var(--k5-white);
  color: var(--k5-ink);
  font: 500 1.2rem/1.2 var(--k5-mono);
}
.k5-calc__field--wide .k5-calc__input { width: 7.5rem; }
.k5-calc__field--select .k5-calc__input,
select.k5-calc__input { width: 100%; max-width: 100%; font: 600 1rem/1.2 var(--k5-body); }
.k5-calc__colon { padding-bottom: .55rem; font: 500 1.3rem/1 var(--k5-mono); }
.k5-calc__btn { margin-top: .1rem; }

.k5-calc__out { margin-top: 1rem; padding-top: .6rem; border-top: 2px solid var(--k5-ink); }
.k5-calc__big { margin: 0; font: 500 1.6rem/1.25 var(--k5-mono); color: var(--k5-green); }
.k5-calc__small { margin: .25rem 0 0; font-size: .9375rem; color: var(--k5-slate); }
.k5-calc__small span { font-family: var(--k5-mono); color: var(--k5-ink); }

.k5-calc__split { display: grid; gap: .5rem 1.25rem; }

.k5-calc__status { margin: .5rem 0; font-weight: 600; color: var(--k5-error); }
.k5-calc__status:empty { display: none; }

.k5-calc__result {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  margin: 1rem 0;
}
.k5-calc__pair { padding: .6rem .7rem; background: var(--k5-deep); border-radius: var(--k5-radius); }
.k5-calc__pair:first-child { grid-column: 1 / -1; }
.k5-calc__pair dt { font: 500 .7rem/1.2 var(--k5-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--k5-pale); }
.k5-calc__pair dd { margin: .2rem 0 0; font: 500 1.2rem/1.2 var(--k5-mono); color: var(--k5-fartleg); }

.k5-calc__tablewrap { overflow-x: auto; }
.k5-calc__splits { width: 100%; border-collapse: collapse; font-size: .95rem; }
.k5-calc__splits caption { padding-bottom: .4rem; text-align: left; font-weight: 600; }
.k5-calc__splits th, .k5-calc__splits td { padding: .4rem .6rem; text-align: left; border-bottom: 1px solid var(--k5-line); }
.k5-calc__splits thead th { background: var(--k5-ink); color: var(--k5-white); font-weight: 600; }
.k5-calc__splits td { font-family: var(--k5-mono); }
.k5-calc__splits tbody th { font-weight: 400; font-family: var(--k5-mono); }

.k5-calc__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.k5-calc__field--off .k5-calc__input { border-style: dashed; background: var(--k5-mint); }

.k5-calc__sum { margin: .75rem 0 0; font-weight: 600; }
.k5-calc__note { margin: 1rem 0 0; font-size: .9rem; line-height: 1.5; color: var(--k5-slate); }

/* Ugeskemaet */
.k5-week { display: grid; gap: 4px; margin: 1rem 0 .5rem; padding: 0; list-style: none; }
.k5-week__day {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  min-height: 3rem;
  padding: .6rem .8rem;
  border: 2px dashed var(--k5-slate);
  border-radius: var(--k5-radius);
  background: var(--k5-white);
  color: var(--k5-ink);
}
.k5-week__day[class*="--"] { border-style: solid; border-color: var(--k5-c); background: var(--k5-c); color: var(--k5-on); }
.k5-week__day--hvile { border-color: var(--k5-hvile); }
.k5-week__name { font: 500 .8rem/1.2 var(--k5-mono); letter-spacing: .04em; text-transform: uppercase; }
.k5-week__type { font: 800 1.05rem/1.2 var(--k5-head); }
.k5-week__day--hvile .k5-week__type { font-style: italic; font-weight: 800; }

/* ---------- Kontakt ---------- */

.k5-form { display: grid; gap: 1rem; margin-top: 1.5rem; padding: 1.25rem; border-top: 6px solid var(--k5-green); background: var(--k5-mint); border-radius: var(--k5-radius); }
.k5-form__field { display: grid; gap: .3rem; }
.k5-form__label { font-weight: 600; }
.k5-form__input {
  width: 100%;
  min-height: 2.9rem;
  padding: .6rem .7rem;
  border: 2px solid var(--k5-slate);
  border-radius: var(--k5-radius);
  background: var(--k5-white);
  color: var(--k5-ink);
  font: 400 1rem/1.4 var(--k5-body);
}
.k5-form__input--area { min-height: 9rem; resize: vertical; }
.k5-form label { font-weight: 600; }
.k5-form__trap {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.k5-form__submit { justify-self: start; }
.k5-form__note { margin: 0; font-size: .9rem; color: var(--k5-slate); }
.k5-form [role="status"] { font-weight: 600; }

/* ---------- Footer: minimal og centreret ---------- */

.k5-footer { background: var(--k5-deep); color: var(--k5-white); text-align: center; }
.k5-footer__lanes {
  height: 26px;
  background:
    linear-gradient(var(--k5-white), var(--k5-white)) 0 7px / 100% 3px no-repeat,
    linear-gradient(var(--k5-white), var(--k5-white)) 0 16px / 100% 3px no-repeat,
    var(--k5-green);
}
.k5-footer__inner { max-width: var(--k5-max); margin: 0 auto; padding: 2rem var(--k5-pad) 2.25rem; }
.k5-footer__name { margin: 0 0 .2rem; font: italic 800 1.45rem/1.2 var(--k5-head); }
.k5-footer__tagline { margin: 0 auto 1.1rem; max-width: 34rem; font-size: .95rem; color: var(--k5-pale); }
.k5-footer__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .2rem 1.3rem; margin: 0 0 1.1rem; padding: 0; list-style: none; }
.k5-footer__link { display: inline-block; padding: .3rem 0; color: var(--k5-white); font-weight: 600; }
.k5-footer__link:hover { color: var(--k5-fartleg); }
.k5-footer__note { margin: 0 auto .8rem; max-width: 36rem; font-size: .85rem; line-height: 1.5; color: var(--k5-pale); }
.k5-footer__copy { margin: 0; font: 500 .75rem/1.4 var(--k5-mono); color: #9FD8B8; }

/* ---------- Større skærme ---------- */

@media (min-width: 40rem) {
  .k5-header__logo svg { height: 44px; }
  .k5-nav__link { padding-left: .8rem; padding-right: .8rem; }

  .k5-calc { padding: 1.5rem; }
  .k5-calc__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k5-calc__card--wide { grid-column: 1 / -1; }
  .k5-calc__split { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .k5-calc__result { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .k5-calc__pair:first-child { grid-column: auto; }
  .k5-calc__fields { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .k5-calc__field--select { min-width: 15rem; }

  .k5-week { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .k5-week__day { flex-direction: column; align-items: flex-start; justify-content: space-between; min-height: 7rem; padding: .6rem .5rem; }
  .k5-week__name { font-size: .7rem; }
  .k5-week__type { font-size: .95rem; overflow-wrap: anywhere; }

  .k5-log__row { grid-template-columns: 4.6rem minmax(0, 1fr) auto; }
  .k5-log__tags { grid-column: 3; grid-row: 1; justify-content: flex-end; align-self: start; max-width: 11rem; padding-top: .15rem; }
}

@media (min-width: 48rem) {
  .k5-wrap { padding-top: 2rem; }

  .k5-intro--image {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    gap: 2.25rem;
    align-items: center;
  }
  .k5-figure--intro { margin: 0; }

  .k5-lane {
    grid-template-columns: 3.6rem minmax(0, 1fr);
    gap: 1.25rem;
    padding-left: calc(var(--k5-pad) + var(--s) * 1.1rem);
  }
  .k5-lane__nr { font-size: 3.2rem; }
  .k5-lane::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: calc(var(--k5-pad) * .5 + var(--s) * 1.1rem);
    width: 3px;
    background: var(--k5-white);
  }

  .k5-types__list { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 0 .75rem; }
  .k5-type { grid-template-columns: minmax(0, 1fr); padding: 0; border-bottom: 0; }
  .k5-type__bar { grid-row: auto; height: 12px; margin: .75rem 0 .65rem; }

  .k5-tools__grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: stretch; }

  .k5-calc__fields { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (min-width: 62rem) {
  .k5-track { margin-left: 0; margin-right: 0; border-radius: var(--k5-radius); padding-left: 2rem; padding-right: 2rem; }
  .k5-track__lanes { margin-left: -2rem; margin-right: -2rem; }
  .k5-lane { padding-right: 2rem; }
}

@media print {
  .k5-nav, .k5-scale, .k5-footer__lanes, .k5-next, .k5-skip { display: none; }
  .k5-track { background: none; color: var(--k5-ink); }
  .k5-track *, .k5-lane__nr, .k5-lane__title { color: var(--k5-ink); }
}
