@font-face{font-family:"Fraunces";src:url(/media/fonts/fraunces-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/media/fonts/barlow-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/media/fonts/barlow-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow";src:url(/media/fonts/barlow-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
/* singles-day.dk – forbrugerguide i to spor.
   Ren hvid bund, blæk-bjælke, fuchsia for "Dagen", jade for "Dine rettigheder", lime som lille accent på mørkt.
   Fraunces 300 i store, tynde overskrifter; Barlow i brødtekst. Radius 2px. Ingen JS. */

:root {
  --hvid: #FFFFFF;
  --blaek: #0F1A2B;
  --grafit: #4A5568;
  --fuchsia: #C4126E;
  --jade: #00775F;
  --lime: #D4F55A;
  --rosa: #FDE8F2;
  --mint: #E0F5EF;
  --is: #F2F4F7;
  --streg: #D6DCE4;
  --lyserosa: #FF85BF;
  --mintgroen: #4FD8B4;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Barlow", "Helvetica Neue", Arial, sans-serif;
  --r: 2px;
  --bredde: 1200px;
  --tekstbredde: 44rem;
}

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--hvid);
  color: var(--blaek);
  font-family: var(--sans);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img, svg { max-width: 100%; }

a { color: var(--blaek); }

:focus-visible {
  outline: 3px solid var(--blaek);
  outline-offset: 3px;
}

.jt-ramme {
  width: 100%;
  max-width: var(--bredde);
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 2.5rem);
}

/* ---------- Spring til indhold ---------- */
.jt-spring {
  position: absolute;
  left: 1rem;
  top: -10rem;
  z-index: 10;
  padding: .7rem 1.1rem;
  background: var(--lime);
  color: var(--blaek);
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--r);
}
.jt-spring:focus { top: 1rem; }

/* ---------- Masthead i to rækker ---------- */
.jt-mast-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding-block: 1.05rem;
}
.jt-logo {
  display: inline-flex;
  line-height: 0;
  border-radius: var(--r);
}
.jt-logo svg { height: 40px; width: auto; display: block; }
.jt-mast-om {
  margin: 0;
  display: flex;
  align-items: center;
  gap: .75rem;
  color: var(--grafit);
  font-size: .9375rem;
  line-height: 1.3;
  text-align: right;
}
.jt-mast-dato {
  font-family: var(--serif);
  font-weight: 300;
  font-size: 2rem;
  line-height: 1;
  color: var(--blaek);
  letter-spacing: .01em;
}
.jt-mast-tekst { max-width: 15em; }

.jt-menu { background: var(--blaek); }
.jt-menu-liste {
  list-style: none;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0 .35rem;
}
.jt-menu-punkt { margin: 0; }
.jt-menu-link {
  display: flex;
  align-items: center;
  gap: .55rem;
  padding: .9rem .75rem .75rem;
  color: var(--hvid);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.2;
  text-decoration: none;
  border-bottom: 4px solid transparent;
}
.jt-menu-link::before {
  content: "";
  flex: none;
  width: .55rem;
  height: .55rem;
  border: 2px solid var(--hvid);
  border-radius: var(--r);
}
.jt-menu-link-dagen::before { background: var(--lyserosa); border-color: var(--lyserosa); }
.jt-menu-link-ret::before { background: var(--mintgroen); border-color: var(--mintgroen); }
.jt-menu-link:hover { border-bottom-color: rgba(255, 255, 255, .45); }
.jt-menu-link[aria-current="page"] { border-bottom-color: var(--lime); color: var(--lime); }
.jt-menu-link:focus-visible { outline-color: var(--lime); outline-offset: -4px; }

.jt-forbehold {
  background: var(--is);
  border-bottom: 1px solid var(--streg);
}
.jt-forbehold-tekst {
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: .6rem;
  padding-block: .6rem;
  font-size: .9375rem;
  line-height: 1.4;
}
.jt-forbehold-ikon {
  flex: none;
  width: 1.1rem;
  height: 1.1rem;
  color: var(--jade);
}

/* ---------- Fælles etiketter og titler ---------- */
.jt-kicker {
  margin: 0 0 1rem;
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--fuchsia);
}
.jt-kicker-skille { color: var(--grafit); margin-inline: .2rem; }
.jt-artikel-ret .jt-kicker { color: var(--jade); }
.jt-artikel-about .jt-kicker,
.jt-artikel-faq .jt-kicker,
.jt-artikel-privacy .jt-kicker,
.jt-artikel-contact .jt-kicker { color: var(--blaek); }

.jt-kicker-link {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  color: inherit;
  text-decoration: none;
}
.jt-kicker-maerke {
  display: inline-block;
  padding: .3rem .55rem .25rem;
  background: var(--fuchsia);
  color: var(--hvid);
  border-radius: var(--r);
}
.jt-artikel-ret .jt-kicker-maerke { background: var(--jade); }
.jt-kicker-link:hover .jt-kicker-navn { text-decoration: underline; text-underline-offset: 3px; }

.jt-sektionstitel {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2rem, 4.6vw, 3.1rem);
  line-height: 1.08;
  letter-spacing: -.012em;
  margin: 0 0 .7rem;
}
.jt-sektionstekst {
  margin: 0;
  color: var(--grafit);
  font-size: 1.125rem;
  line-height: 1.55;
}

/* ---------- Forside: intro med 11.11-grene ---------- */
.jt-intro {
  display: grid;
  gap: 1.5rem;
  align-items: center;
  padding-block: clamp(2rem, 6vw, 4.5rem) clamp(1.5rem, 4vw, 3rem);
}
.jt-intro-titel {
  font-family: var(--serif);
  font-weight: 300;
  margin: 0 0 1.4rem;
}
.jt-intro-stor {
  display: block;
  font-size: clamp(3.4rem, 14vw, 7.75rem);
  line-height: .94;
  letter-spacing: -.025em;
}
.jt-intro-stor-lang {
  font-size: clamp(2.4rem, 8vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -.018em;
}
.jt-intro-under {
  display: block;
  max-width: 20em;
  margin-top: 1rem;
  padding-top: .9rem;
  border-top: 4px solid var(--fuchsia);
  font-size: clamp(1.4rem, 3vw, 2.1rem);
  line-height: 1.18;
  letter-spacing: -.005em;
}
.jt-skjult {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.jt-intro-ingres {
  margin: 0 0 1.9rem;
  max-width: 32em;
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  line-height: 1.45;
  color: var(--grafit);
}
.jt-sporknapper {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.jt-sporknapper-punkt { margin: 0; }
.jt-sporknap {
  display: inline-flex;
  flex-direction: column;
  min-width: 12.5rem;
  padding: .75rem 1.15rem .8rem;
  color: var(--hvid);
  text-decoration: none;
  border-radius: var(--r);
  border-bottom: 5px solid rgba(15, 26, 43, .35);
}
.jt-sporknap-dagen { background: var(--fuchsia); }
.jt-sporknap-ret { background: var(--jade); }
.jt-sporknap:hover { background: var(--blaek); }
.jt-sporknap-nr {
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jt-sporknap-navn {
  font-family: var(--serif);
  font-weight: 300;
  font-size: 1.6rem;
  line-height: 1.15;
}

.jt-grene { margin: 0; }
.jt-grene-tegning {
  display: block;
  width: 100%;
  max-width: 30rem;
  height: auto;
  margin-inline: auto;
}
.jt-grene-tekst {
  max-width: 30rem;
  margin: .6rem auto 0;
  font-size: .875rem;
  line-height: 1.45;
  color: var(--grafit);
  text-align: center;
}

/* Kalenderstrimmel: 11. november 2026–2030 */
.jt-kalender {
  display: grid;
  gap: .8rem 2rem;
  align-items: center;
  margin-bottom: clamp(2.75rem, 7vw, 5rem);
  padding-block: 1rem 1.1rem;
  border-top: 3px solid var(--blaek);
  border-bottom: 1px solid var(--streg);
}
.jt-kalender-titel {
  margin: 0;
  font-family: var(--sans);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
}
.jt-kalender-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .3rem;
}
.jt-kalender-dag {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: .1rem .45rem;
  border-left: 3px solid var(--fuchsia);
  line-height: 1.3;
}
.jt-kalender-weekend { border-left-color: var(--jade); }
.jt-kalender-aar {
  font-size: 1.125rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.jt-kalender-ugedag { font-size: .9375rem; color: var(--grafit); }
.jt-kalender-mere { margin: 0; }
.jt-kalender-link {
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: var(--fuchsia);
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
}
.jt-kalender-link:hover { background: var(--rosa); }

/* ---------- De to spor ---------- */
.jt-sporene { margin-bottom: clamp(3rem, 8vw, 5.5rem); }
.jt-sporene-hoved { max-width: var(--tekstbredde); margin-bottom: 1.9rem; }
.jt-sporene-gitter {
  display: grid;
  gap: 2.5rem;
}
.jt-spor { min-width: 0; }
.jt-spor-hoved {
  padding: 1.4rem 1.4rem 1.6rem;
  color: var(--hvid);
  border-radius: var(--r) var(--r) 0 0;
}
.jt-spor-dagen .jt-spor-hoved { background: var(--fuchsia); }
.jt-spor-ret .jt-spor-hoved { background: var(--jade); }
.jt-spor-nr {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem;
  margin: 0 0 .35rem;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.jt-spor-antal { letter-spacing: .04em; }
.jt-spor-titel {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2.1rem, 4.4vw, 2.9rem);
  line-height: 1.04;
  letter-spacing: -.01em;
  margin: 0 0 .65rem;
}
.jt-spor-om {
  margin: 0;
  max-width: 32em;
  font-size: 1.0625rem;
  line-height: 1.5;
}
.jt-spor-liste {
  list-style: none;
  margin: 0;
  padding: .4rem 0 0;
  position: relative;
}
.jt-spor-punkt { margin: 0; }
.jt-spor-link {
  position: relative;
  display: block;
  padding: 1rem .75rem 1rem 2.6rem;
  color: var(--blaek);
  text-decoration: none;
  border-bottom: 1px solid var(--streg);
}
.jt-spor-navn {
  display: block;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
  text-decoration-color: transparent;
}
.jt-spor-resume {
  display: block;
  margin-top: .2rem;
  color: var(--grafit);
  font-size: 1rem;
  line-height: 1.5;
}
/* Spor 1 som tidslinje */
.jt-spor-dagen .jt-spor-liste::before {
  content: "";
  position: absolute;
  left: .95rem;
  top: 0;
  bottom: 1.6rem;
  width: 2px;
  background: var(--fuchsia);
}
.jt-spor-dagen .jt-spor-link::before {
  content: "";
  position: absolute;
  left: .55rem;
  top: 1.3rem;
  width: .85rem;
  height: .85rem;
  background: var(--hvid);
  border: 3px solid var(--fuchsia);
  border-radius: var(--r);
}
.jt-spor-dagen .jt-spor-link:hover { background: var(--rosa); }
.jt-spor-dagen .jt-spor-link:hover .jt-spor-navn { text-decoration-color: var(--fuchsia); }
/* Spor 2 med paragrafmærker */
.jt-spor-ret .jt-spor-link::before {
  content: "§";
  position: absolute;
  left: .2rem;
  top: 1.05rem;
  width: 1.6rem;
  height: 1.6rem;
  display: grid;
  place-items: center;
  background: var(--jade);
  color: var(--hvid);
  font-family: var(--serif);
  font-size: 1rem;
  line-height: 1;
  border-radius: var(--r);
}
.jt-spor-ret .jt-spor-link:hover { background: var(--mint); }
.jt-spor-ret .jt-spor-link:hover .jt-spor-navn { text-decoration-color: var(--jade); }

.jt-ogsaa {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem 1.5rem;
  margin-top: 2rem;
  padding-top: 1rem;
  border-top: 3px solid var(--blaek);
}
.jt-ogsaa-titel {
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.jt-ogsaa-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.5rem;
}
.jt-ogsaa-punkt { margin: 0; }
.jt-ogsaa-link {
  font-weight: 600;
  font-size: 1.0625rem;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .2em;
  text-decoration-color: var(--jade);
}
.jt-ogsaa-link:hover { background: var(--mint); }

/* ---------- Billeder ---------- */
.jt-figur { margin: 0 0 2.5rem; }
.jt-figur-billede {
  display: block;
  width: 100%;
  height: auto;
  background: var(--is);
  border-radius: var(--r);
}
.jt-figur-bred .jt-figur-billede { aspect-ratio: 21 / 9; object-fit: cover; }
.jt-billedtekst {
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-top: .55rem;
  font-size: .8125rem;
  line-height: 1.4;
  color: var(--grafit);
}
.jt-billedtekst::before {
  content: "";
  flex: none;
  width: .9rem;
  height: .45rem;
  background: linear-gradient(90deg, var(--fuchsia) 50%, var(--jade) 50%);
}

/* ---------- Forsidens brødtekst ---------- */
.jt-forside-krop { padding-bottom: 1rem; }
.jt-tekst-forside,
.jt-forside-efter {
  max-width: var(--tekstbredde);
  margin-inline: auto;
}
/* Punktlister på forsiden vises som tjekliste ("før du betaler"). */
.jt-tekst.jt-tekst-forside > ul {
  list-style: none;
  margin: 1.5em 0 1.75em;
  padding: 1.25rem 1.25rem 1.1rem;
  background: var(--mint);
  border-left: 5px solid var(--jade);
  border-radius: var(--r);
}
.jt-tekst.jt-tekst-forside > ul > li {
  position: relative;
  margin: 0 0 .75em;
  padding-left: 2.1rem;
}
.jt-tekst.jt-tekst-forside > ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .22em;
  width: 1.25rem;
  height: 1.25rem;
  background: var(--hvid);
  border: 2px solid var(--jade);
  border-radius: var(--r);
}
.jt-tekst.jt-tekst-forside > ul > li > ul { list-style: square; margin-top: .4em; }
.jt-tekst.jt-tekst-forside > ul a { text-decoration-color: var(--jade); }
.jt-tekst.jt-tekst-forside > ul a:hover { background: var(--hvid); }

/* ---------- Brødtekst ---------- */
.jt-tekst {
  max-width: var(--tekstbredde);
  font-size: 1.125rem;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.jt-tekst > :first-child { margin-top: 0; }
.jt-tekst p { margin: 0 0 1.15em; }
.jt-tekst h2 {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 2.45rem);
  line-height: 1.14;
  letter-spacing: -.01em;
  margin: 2.1em 0 .6em;
  overflow-wrap: break-word;
  hyphens: auto;
}
.jt-tekst h3 {
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.3;
  margin: 1.8em 0 .5em;
}
.jt-tekst h4 {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: .02em;
  margin: 1.6em 0 .4em;
}
.jt-tekst a {
  color: var(--blaek);
  text-decoration: underline;
  text-decoration-color: var(--fuchsia);
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}
.jt-tekst a:hover { background: var(--rosa); }
.jt-artikel-ret .jt-tekst a { text-decoration-color: var(--jade); }
.jt-artikel-ret .jt-tekst a:hover { background: var(--mint); }
.jt-tekst strong { font-weight: 600; }
.jt-tekst ul,
.jt-tekst ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.jt-tekst ul { list-style: square; }
.jt-tekst li { margin: .35em 0; padding-left: .2em; }
.jt-tekst li > ul,
.jt-tekst li > ol { margin: .35em 0 .5em; }
.jt-tekst ul > li::marker { color: var(--fuchsia); }
.jt-tekst ol > li::marker { color: var(--fuchsia); font-weight: 600; }
.jt-artikel-ret .jt-tekst ul > li::marker,
.jt-artikel-ret .jt-tekst ol > li::marker { color: var(--jade); }
.jt-tekst blockquote {
  margin: 1.75em 0;
  padding: 1.1rem 1.35rem;
  background: var(--rosa);
  border-left: 5px solid var(--fuchsia);
  border-radius: var(--r);
  font-family: var(--serif);
  font-weight: 300;
  font-size: 1.3rem;
  line-height: 1.5;
}
.jt-artikel-ret .jt-tekst blockquote { background: var(--mint); border-left-color: var(--jade); }
.jt-tekst blockquote > :last-child { margin-bottom: 0; }

/* Tabeller: smalle nok til 390 px uden vandret scroll (ingen JS). */
.jt-tekst table {
  width: 100%;
  margin: 1.75em 0;
  border-collapse: collapse;
  font-size: 1rem;
  line-height: 1.45;
  font-variant-numeric: tabular-nums;
}
.jt-tekst th,
.jt-tekst td {
  padding: .65rem .8rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--streg);
  overflow-wrap: break-word;
}
.jt-tekst thead th {
  background: var(--blaek);
  color: var(--hvid);
  font-weight: 600;
  border-bottom: 0;
}
.jt-tekst thead th:first-child { border-radius: var(--r) 0 0 0; }
.jt-tekst thead th:last-child { border-radius: 0 var(--r) 0 0; }
.jt-tekst tbody tr:nth-child(even) { background: var(--is); }
.jt-tekst tbody td:first-child { font-weight: 600; }

/* ---------- Spørgsmål og svar ---------- */
.jt-spoergsmaal {
  max-width: var(--tekstbredde);
  margin-top: 3.25rem;
  padding-top: 1.4rem;
  border-top: 3px solid var(--blaek);
}
.jt-spoergsmaal-titel {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(1.8rem, 3.8vw, 2.4rem);
  line-height: 1.15;
  margin: 0 0 .75rem;
}
.jt-spoergsmaal-liste { margin: 0; }
.jt-spoergsmaal-par {
  padding: 1.1rem 0 1.15rem;
  border-bottom: 1px solid var(--streg);
}
.jt-spoergsmaal-sp {
  position: relative;
  padding-left: 1.5rem;
  margin: 0 0 .4rem;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.35;
}
.jt-spoergsmaal-sp::before {
  content: "";
  position: absolute;
  left: 0;
  top: .4em;
  width: .7rem;
  height: .7rem;
  background: var(--fuchsia);
  border-radius: var(--r);
}
.jt-artikel-ret .jt-spoergsmaal-sp::before { background: var(--jade); }
.jt-spoergsmaal-sv {
  margin: 0;
  padding-left: 1.5rem;
  font-size: 1.0625rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

/* ---------- Kilder ---------- */
.jt-kilder {
  max-width: var(--tekstbredde);
  margin-top: 2.5rem;
  padding: 1.2rem 1.4rem 1.3rem;
  background: var(--is);
  border-radius: var(--r);
}
.jt-kilder-titel {
  margin: 0 0 .6rem;
  font-family: var(--sans);
  font-size: .9375rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.jt-kilder-liste { margin: 0; padding-left: 1.2rem; list-style: square; }
.jt-kilder-punkt { margin: .35rem 0; overflow-wrap: anywhere; }
.jt-kilder-punkt::marker { color: var(--jade); }
.jt-kilder-link {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}
.jt-kilder-link:hover { text-decoration-thickness: 2px; }
.jt-kilder-vaert { color: var(--grafit); font-size: .875rem; }

/* ---------- Artikler ---------- */
.jt-sti { padding-top: 1.3rem; }
.jt-sti-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .2rem .5rem;
  font-size: .9375rem;
  color: var(--grafit);
}
.jt-sti-punkt { margin: 0; }
.jt-sti-punkt + .jt-sti-punkt::before {
  content: "/";
  margin-right: .5rem;
  color: var(--grafit);
}
.jt-sti-link {
  color: var(--grafit);
  text-decoration: underline;
  text-underline-offset: .18em;
}
.jt-sti-link:hover { color: var(--blaek); }
.jt-sti-her { color: var(--blaek); }

.jt-artikel-hoved {
  max-width: 56rem;
  padding-block: clamp(1.6rem, 4vw, 2.9rem) clamp(1.5rem, 3vw, 2.25rem);
}
.jt-artikel-titel {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2.35rem, 6.2vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.018em;
  margin: 0 0 1.1rem;
  overflow-wrap: break-word;
  hyphens: auto;
}
.jt-artikel-ingres {
  margin: 0 0 1rem;
  max-width: 38em;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  line-height: 1.5;
  color: var(--grafit);
}
.jt-artikel-meta { margin: 0; font-size: .9375rem; color: var(--grafit); }
.jt-artikel > .jt-figur { max-width: 60rem; }

.jt-artikel-krop {
  display: grid;
  gap: 3rem;
  padding-bottom: 3rem;
}
.jt-artikel-hovedspalte { min-width: 0; }

.jt-sidespalte {
  align-self: start;
  padding-top: 1rem;
  border-top: 6px solid var(--fuchsia);
}
.jt-artikel-ret .jt-sidespalte { border-top-color: var(--jade); }
.jt-sidespalte-titel {
  display: flex;
  flex-direction: column;
  margin: 0 0 .5rem;
}
.jt-sidespalte-nr {
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--grafit);
}
.jt-sidespalte-navn {
  font-family: var(--serif);
  font-weight: 300;
  font-size: 1.75rem;
  line-height: 1.15;
}
.jt-sidespalte-liste { list-style: none; margin: 0; padding: 0; }
.jt-sidespalte-punkt { margin: 0; border-bottom: 1px solid var(--streg); }
.jt-sidespalte-link {
  display: block;
  padding: .6rem .5rem .6rem .8rem;
  border-left: 4px solid transparent;
  text-decoration: none;
  font-size: 1.0625rem;
  line-height: 1.35;
}
.jt-sidespalte-link:hover { background: var(--rosa); }
.jt-artikel-ret .jt-sidespalte-link:hover { background: var(--mint); }
.jt-sidespalte-link[aria-current="page"] {
  border-left-color: var(--fuchsia);
  background: var(--rosa);
  font-weight: 600;
}
.jt-artikel-ret .jt-sidespalte-link[aria-current="page"] { border-left-color: var(--jade); background: var(--mint); }
.jt-sidespalte-andet { margin: 1.1rem 0 0; }
.jt-sidespalte-andetlink {
  display: inline-block;
  padding: .55rem .8rem;
  color: var(--hvid);
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--r);
}
.jt-sidespalte-andetlink-dagen { background: var(--fuchsia); }
.jt-sidespalte-andetlink-ret { background: var(--jade); }
.jt-sidespalte-andetlink:hover { background: var(--blaek); }

.jt-videre {
  display: grid;
  gap: 1rem;
  margin: 0 0 1rem;
  padding-top: 1.25rem;
  border-top: 3px solid var(--blaek);
}
.jt-videre-link {
  display: block;
  padding: 1rem 1.2rem 1.1rem;
  color: var(--blaek);
  text-decoration: none;
  background: var(--is);
  border-radius: var(--r);
  border-bottom: 4px solid var(--streg);
}
.jt-videre-link:hover { border-bottom-color: var(--blaek); }
.jt-artikel-dagen ~ .jt-videre .jt-videre-link:hover { background: var(--rosa); border-bottom-color: var(--fuchsia); }
.jt-artikel-ret ~ .jt-videre .jt-videre-link:hover { background: var(--mint); border-bottom-color: var(--jade); }
.jt-videre-skift { background: var(--mint); border-bottom-color: var(--jade); }
.jt-videre-retning {
  display: block;
  margin-bottom: .25rem;
  font-size: .8125rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--grafit);
}
.jt-videre-navn {
  display: block;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 1.4rem;
  line-height: 1.25;
}

/* ---------- Kontakt ---------- */
.jt-kontakt {
  display: grid;
  gap: 2.5rem;
  padding-bottom: 3rem;
}
.jt-kontakt-formular { min-width: 0; max-width: 36rem; }
.jt-kontakt-formular [role="status"] {
  margin: 0 0 1.25rem;
  padding: .85rem 1.1rem;
  background: var(--mint);
  border-left: 5px solid var(--jade);
  border-radius: var(--r);
  font-weight: 600;
}
.jt-formular {
  display: grid;
  gap: 1.15rem;
  padding: 1.5rem;
  border: 2px solid var(--blaek);
  border-top-width: 6px;
  border-radius: var(--r);
}
.jt-felt { display: grid; gap: .35rem; }
.jt-felt label { font-weight: 600; }
.jt-felt-input,
.jt-felt input {
  width: 100%;
  padding: .75rem .85rem;
  font: inherit;
  font-size: 1.0625rem;
  color: var(--blaek);
  background: var(--hvid);
  border: 2px solid var(--grafit);
  border-radius: var(--r);
}
.jt-felt-tekstfelt { min-height: 10rem; resize: vertical; }
.jt-felt-input:focus-visible,
.jt-felt input:focus-visible {
  outline: 3px solid var(--fuchsia);
  outline-offset: 2px;
  border-color: var(--blaek);
}
.jt-faelde {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.jt-formular-send { margin-top: .25rem; }
.jt-knap {
  padding: .85rem 1.6rem;
  font: inherit;
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--hvid);
  background: var(--jade);
  border: 0;
  border-bottom: 4px solid rgba(15, 26, 43, .4);
  border-radius: var(--r);
  cursor: pointer;
}
.jt-knap:hover { background: var(--blaek); }
.jt-formular-note {
  margin: 0;
  font-size: .9375rem;
  line-height: 1.5;
  color: var(--grafit);
}
.jt-formular-link { color: var(--blaek); text-decoration-thickness: 2px; text-decoration-color: var(--jade); text-underline-offset: .18em; }

/* ---------- 404 ---------- */
.jt-tabt { padding-block: clamp(2.5rem, 8vw, 6rem); }
.jt-tabt-kode {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .4rem 1rem;
  margin: 0 0 .5rem;
}
.jt-tabt-tal {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(4.5rem, 16vw, 9rem);
  line-height: 1;
  color: var(--fuchsia);
}
.jt-tabt-forklaring {
  font-size: .875rem;
  font-weight: 600;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--grafit);
}
.jt-tabt-titel {
  font-family: var(--serif);
  font-weight: 300;
  font-size: clamp(2.2rem, 5.5vw, 3.6rem);
  line-height: 1.08;
  margin: 0 0 1rem;
}
.jt-tabt-tekst { max-width: 36em; margin: 0 0 1.75rem; font-size: 1.15rem; color: var(--grafit); }
.jt-tabt-liste {
  list-style: none;
  margin: 0 0 1.75rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.jt-tabt-punkt { margin: 0; }
.jt-tabt-hjem { margin: 0; }
.jt-tabt-link {
  font-weight: 600;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--fuchsia);
  text-underline-offset: .2em;
}

/* ---------- Oversigt (list) ---------- */
.jt-oversigt { margin: 1rem 0 3rem; }

/* ---------- Footer: minimal og centreret ---------- */
.jt-fod { margin-top: clamp(3rem, 7vw, 5rem); }
.jt-fod-streg { display: flex; height: 6px; }
.jt-fod-streg-dagen { flex: 1; background: var(--fuchsia); }
.jt-fod-streg-ret { flex: 1; background: var(--jade); }
.jt-fod-indre {
  display: grid;
  justify-items: center;
  gap: .8rem;
  padding-block: 2.25rem 2.5rem;
  text-align: center;
}
.jt-fod-navn {
  margin: 0;
  font-family: var(--serif);
  font-weight: 300;
  font-size: 1.9rem;
  line-height: 1.1;
}
.jt-fod-om {
  margin: 0;
  max-width: 34em;
  font-size: .9375rem;
  line-height: 1.5;
  color: var(--grafit);
}
.jt-fod-menu { margin-top: .3rem; }
.jt-fod-liste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .3rem 1.4rem;
}
.jt-fod-punkt { margin: 0; }
.jt-fod-link {
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .22em;
}
.jt-fod-link:hover { text-decoration-thickness: 2px; }
.jt-fod-link[aria-current="page"] { text-decoration-color: var(--fuchsia); text-decoration-thickness: 3px; }
.jt-fod-copy { margin: 0; font-size: .875rem; color: var(--grafit); }

/* ---------- Mobil ---------- */
@media (max-width: 699px) {
  .jt-mast-top { padding-block: .85rem; }
  .jt-logo svg { height: 32px; }
  .jt-mast-om { display: none; }
  .jt-menu-liste { gap: 0; padding-inline: .5rem; }
  .jt-menu-link { padding: .7rem .55rem .55rem; font-size: .9375rem; gap: .45rem; }
  .jt-forbehold-tekst { font-size: .875rem; align-items: flex-start; }
  .jt-forbehold-ikon { margin-top: .1rem; }
  .jt-sporknap { min-width: 0; flex: 1 1 auto; }
  .jt-sporknapper-punkt { flex: 1 1 11rem; display: flex; }
  .jt-grene-tegning { max-width: 15rem; }
  .jt-kalender-dag { padding: .1rem .3rem; border-left-width: 2px; }
  .jt-kalender-aar { font-size: 1rem; }
  .jt-kalender-ugedag { font-size: .8125rem; }
  .jt-spor-hoved { padding: 1.2rem 1.1rem 1.3rem; }
  .jt-spor-link { padding-right: .25rem; }
  .jt-tekst { font-size: 1.0625rem; }
  .jt-tekst table { font-size: .9375rem; }
  .jt-tekst th,
  .jt-tekst td { padding: .5rem .45rem; overflow-wrap: anywhere; hyphens: auto; }
  /* Første kolonne holder hele ord, så rækkenavne ikke deles midt i ordet. */
  .jt-tekst th:first-child,
  .jt-tekst td:first-child { overflow-wrap: break-word; }
  /* Tabeller med 3+ kolonner stables som kort: første celle er kortets titel, resten står parvis.
     Kolonnehovederne står i samme mønster øverst som en mørk forklaring. */
  .jt-tekst table:has(tr > :nth-child(3)),
  .jt-tekst table:has(tr > :nth-child(3)) thead,
  .jt-tekst table:has(tr > :nth-child(3)) tbody { display: block; }
  .jt-tekst table:has(tr > :nth-child(3)) tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 .5rem;
    background: var(--hvid);
    border: 1px solid var(--streg);
    border-left: 4px solid var(--fuchsia);
    border-radius: var(--r);
  }
  .jt-artikel-ret .jt-tekst table:has(tr > :nth-child(3)) tr { border-left-color: var(--jade); }
  .jt-tekst table:has(tr > :nth-child(3)) thead tr {
    margin-bottom: .65rem;
    background: var(--blaek);
    border-color: var(--blaek);
  }
  .jt-tekst table:has(tr > :nth-child(3)) tbody tr:nth-child(even) { background: var(--is); }
  .jt-tekst table:has(tr > :nth-child(3)) th,
  .jt-tekst table:has(tr > :nth-child(3)) td {
    display: block;
    padding: .4rem .65rem;
    border: 0;
    border-radius: 0;
  }
  .jt-tekst table:has(tr > :nth-child(3)) tr > :first-child {
    grid-column: 1 / -1;
    padding-top: .6rem;
    font-size: 1rem;
  }
  .jt-tekst table:has(tr > :nth-child(3)) tr > :last-child { padding-bottom: .6rem; }
  .jt-tekst table:has(tr > :nth-child(3)) th:empty { display: none; }
  .jt-tekst.jt-tekst-forside > ul { padding: 1rem .9rem .9rem; }
  .jt-formular { padding: 1.1rem; }
  .jt-figur-bred .jt-figur-billede { aspect-ratio: 16 / 9; }
}

/* ---------- Større skærme ---------- */
@media (min-width: 860px) {
  .jt-sporene-gitter { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.5rem; }
  .jt-videre { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jt-videre-naeste { grid-column: 2; text-align: right; }
}
@media (min-width: 920px) {
  .jt-intro { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 3rem; }
  .jt-kalender { grid-template-columns: auto minmax(0, 1fr) auto; }
  .jt-kalender-titel { max-width: 8em; }
}
@media (min-width: 1000px) {
  .jt-artikel-krop-spalte { grid-template-columns: minmax(0, 1fr) 17.5rem; gap: 4.5rem; }
  .jt-sidespalte { position: sticky; top: 1.5rem; }
  .jt-kontakt { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 4rem; align-items: start; }
}

@media (prefers-reduced-motion: no-preference) {
  .jt-sporknap,
  .jt-spor-link,
  .jt-videre-link,
  .jt-knap { transition: background-color .15s ease, border-color .15s ease; }
}

@media print {
  .jt-menu, .jt-sporknapper, .jt-sidespalte, .jt-videre, .jt-spring { display: none; }
  body { font-size: 11pt; }
}

/* Sidespalte på sider uden for sporene (spørgsmål og svar, om sitet) */
.jt-sidespalte-neutral { border-top-color: var(--blaek); }
.jt-sidespalte-om {
  margin: 1rem 0 0;
  font-size: .9375rem;
  line-height: 1.5;
  color: var(--grafit);
}
.jt-sidespalte-om + .jt-sidespalte-andet { margin-top: .5rem; }

/* Kortvisningen af brede tabeller på mobil: små farvefelter kobler hver værdi til sin kolonne i forklaringen. */
@media (max-width: 699px) {
  .jt-tekst table:has(tr > :nth-child(3)) tr > :nth-child(n+2) {
    position: relative;
    padding-left: 1.75rem;
  }
  .jt-tekst table:has(tr > :nth-child(3)) tr > :nth-child(n+2)::before {
    content: "";
    position: absolute;
    left: .65rem;
    top: .82em;
    width: .6rem;
    height: .6rem;
    background: #A0AEC0;
    border-radius: var(--r);
  }
  .jt-tekst table:has(tr > :nth-child(3)) tr > :nth-child(2)::before { background: var(--lyserosa); }
  .jt-tekst table:has(tr > :nth-child(3)) tr > :nth-child(3)::before { background: var(--mintgroen); }
  .jt-tekst table:has(tr > :nth-child(3)) tr > :nth-child(4)::before { background: var(--lime); box-shadow: inset 0 0 0 1px rgba(15, 26, 43, .35); }
}
