@font-face{font-family:"Oswald";src:url(/res/fonts/oswald-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Oswald";src:url(/res/fonts/oswald-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Rubik";src:url(/res/fonts/rubik-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Rubik";src:url(/res/fonts/rubik-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Rubik";src:url(/res/fonts/rubik-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
/* Idræt.dk – banetavle. Mobil først, smal spalte (760 px), pilleformede elementer, kompakt tæthed.
   Monokrom hal-blå skala + én signalgul accent (banestriberne). */

:root {
  --gr-kridt: #F2F5F9;
  --gr-ark: #FFFFFF;
  --gr-dis: #E4EAF2;
  --gr-streg: #C9D3E0;
  --gr-hal: #10284A;
  --gr-staal: #46597A;
  --gr-bane: #1E4E9C;
  --gr-nat: #0A1A30;
  --gr-natflade: #16294A;
  --gr-signal: #FFC629;
  --gr-signallys: #FFF1C2;
  --gr-ftekst: #DCE4EF;
  --gr-fdaemp: #A9B8CC;
  --gr-pille: 999px;
  --gr-flade: 1.5rem;
  --gr-rubrik: "Oswald", "Arial Narrow", sans-serif;
  --gr-brod: "Rubik", "Segoe UI", sans-serif;
  --gr-bredde: 47.5rem;
}

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 1rem; }

body {
  margin: 0;
  background: var(--gr-kridt);
  color: var(--gr-hal);
  font-family: var(--gr-brod);
  font-size: 1rem;
  line-height: 1.55;
  overflow-x: hidden;
}

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

a { color: var(--gr-bane); text-decoration-thickness: 1px; text-underline-offset: .18em; }
a:hover { text-decoration-color: var(--gr-signal); text-decoration-thickness: 3px; }

:focus-visible { outline: 3px solid var(--gr-bane); outline-offset: 2px; border-radius: .25rem; }
.gr-top :focus-visible, .gr-fod :focus-visible, .gr-planhoved :focus-visible, .gr-tavleboks :focus-visible { outline-color: var(--gr-signal); }

h1, h2, h3, h4 { font-family: var(--gr-rubrik); font-weight: 600; line-height: 1.15; margin: 0; color: var(--gr-hal); }

.gr-ramme { max-width: var(--gr-bredde); margin: 0 auto; padding: 0 1rem; }

.gr-spring {
  position: absolute; left: .75rem; top: -4rem; z-index: 20;
  background: var(--gr-signal); color: var(--gr-nat); font-weight: 500;
  padding: .55rem 1rem; border-radius: var(--gr-pille); text-decoration: none;
}
.gr-spring:focus { top: .75rem; }

/* ---------- Top: stablet logo, burgermenu på alle skærme ---------- */
.gr-top { background: var(--gr-nat); color: var(--gr-ftekst); position: relative; }
.gr-topbar { display: flex; align-items: center; gap: 1rem; padding-top: .7rem; padding-bottom: .7rem; }
.gr-logo { display: block; flex: none; border-radius: .5rem; }
.gr-logo svg { display: block; height: 3.4rem; width: auto; }
.gr-topnavn {
  display: none; margin: 0; flex: 1; min-width: 0;
  font-family: var(--gr-rubrik); font-weight: 500; text-transform: uppercase; letter-spacing: .08em;
  font-size: .82rem; color: var(--gr-fdaemp);
}
.gr-burger {
  margin-left: auto; display: inline-flex; align-items: center; gap: .55rem;
  min-height: 2.75rem; padding: .45rem 1rem .45rem .85rem;
  background: transparent; color: var(--gr-ark); cursor: pointer;
  border: 2px solid var(--gr-signal); border-radius: var(--gr-pille);
  font: 500 1rem/1 var(--gr-rubrik); text-transform: uppercase; letter-spacing: .06em;
}
.gr-burger[hidden] { display: none; }
.gr-burger:hover, .gr-burger[aria-expanded="true"] { background: var(--gr-signal); color: var(--gr-nat); }
.gr-burgerikon { display: inline-grid; gap: 4px; width: 1.15rem; }
.gr-burgerikon span { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.gr-burger[aria-expanded="true"] .gr-burgerikon span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.gr-burger[aria-expanded="true"] .gr-burgerikon span:nth-child(2) { opacity: 0; }
.gr-burger[aria-expanded="true"] .gr-burgerikon span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.gr-menu { border-top: 1px solid var(--gr-natflade); padding: .4rem 0 .9rem; }
.gr-js .gr-menu:not(.gr-aaben) { display: none; }
.gr-menuliste { list-style: none; margin: 0; padding: 0; display: grid; }
.gr-menuliste a {
  display: flex; align-items: center; gap: .8rem; padding: .6rem .2rem;
  color: var(--gr-ark); text-decoration: none;
  font-family: var(--gr-rubrik); font-weight: 500; font-size: 1.3rem; line-height: 1.2;
  border-bottom: 1px dashed rgba(220, 228, 239, .28);
}
.gr-menuliste a:hover { color: var(--gr-signal); }
.gr-menunr {
  flex: none; display: inline-grid; place-items: center; width: 2rem; height: 2rem;
  border: 2px solid var(--gr-signal); border-radius: var(--gr-pille);
  color: var(--gr-signal); font-size: .95rem; font-weight: 600;
}
.gr-menuliste a[aria-current] { color: var(--gr-signal); }
.gr-menuliste a[aria-current] .gr-menunr { background: var(--gr-signal); color: var(--gr-nat); }

/* Banestriber: gul linje, mørk bane, blå bane. */
.gr-banestriber { height: 11px; background: linear-gradient(var(--gr-signal) 0 4px, var(--gr-nat) 4px 6px, var(--gr-bane) 6px 9px, var(--gr-nat) 9px 11px); }
.gr-banestriber-fod { background: linear-gradient(var(--gr-nat) 0 2px, var(--gr-bane) 2px 5px, var(--gr-nat) 5px 7px, var(--gr-signal) 7px 11px); }

/* ---------- Hovedområde ---------- */
.gr-hoved { padding: 1.1rem 0 2.5rem; }

.gr-spor { margin: 0 0 1rem; font-size: .88rem; color: var(--gr-staal); }
.gr-spor ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.gr-spor li + li::before { content: "›"; margin-right: .3rem; color: var(--gr-staal); }

.gr-maerke {
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .7rem;
  margin: 0 0 .7rem; font-size: .88rem; color: var(--gr-staal);
}
.gr-maerke > span:first-child {
  display: inline-block; padding: .2rem .75rem; border-radius: var(--gr-pille);
  background: var(--gr-nat); color: var(--gr-signal);
  font-family: var(--gr-rubrik); font-weight: 500; text-transform: uppercase; letter-spacing: .08em; font-size: .8rem;
}
.gr-dato { color: var(--gr-staal); }

.gr-opslagshoved { margin-bottom: 1.1rem; }
.gr-opslagshoved h1, .gr-titelblad h1 {
  font-size: clamp(2rem, 8vw, 3rem); overflow-wrap: break-word; hyphens: auto;
}
.gr-opslagshoved h1::after, .gr-titelblad h1::after {
  content: ""; display: block; width: 3.5rem; height: .35rem; margin-top: .55rem;
  border-radius: var(--gr-pille); background: var(--gr-signal);
}
.gr-indledning { margin: .75rem 0 0; font-size: 1.1rem; line-height: 1.5; }

/* ---------- Forside: titelblad ---------- */
.gr-titelblad h1 { font-size: clamp(3rem, 15vw, 5.2rem); line-height: 1; letter-spacing: -.01em; }
.gr-titelblad h1.gr-langtitel { font-size: clamp(2.3rem, 9vw, 3.6rem); line-height: 1.05; }
.gr-titelbillede { margin: 1.1rem 0 0; }
.gr-titelbillede img, .gr-billede img {
  width: 100%; border-radius: var(--gr-flade); background: var(--gr-dis);
  box-shadow: 0 0 0 4px var(--gr-ark), 0 0 0 6px var(--gr-streg);
}
.gr-billede { margin: 1.25rem 0 1.5rem; }

.gr-sektionshoved { margin-bottom: .85rem; }
.gr-sektionshoved h2 { font-size: 1.7rem; }
.gr-sektionshoved p { margin: .3rem 0 0; color: var(--gr-staal); font-size: .95rem; }

/* ---------- A–Å-register ---------- */
.gr-register {
  margin: 1.75rem 0; padding: 1.1rem 1rem 1.2rem;
  background: var(--gr-ark); border: 1px solid var(--gr-streg); border-radius: var(--gr-flade);
}
.gr-bogstaver ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .3rem; }
.gr-bogstav {
  display: inline-grid; place-items: center; min-width: 2.25rem; height: 2.25rem; padding: 0 .3rem;
  border-radius: var(--gr-pille); font-family: var(--gr-rubrik); font-weight: 600; font-size: 1.05rem;
  background: var(--gr-bane); color: var(--gr-ark); text-decoration: none;
}
a.gr-bogstav:hover { background: var(--gr-nat); color: var(--gr-signal); }
.gr-bogstavtom { background: transparent; color: var(--gr-staal); border: 1px dashed var(--gr-streg); font-weight: 500; }
.gr-opslag .gr-bogstaver { margin: 0 0 1.25rem; padding: .8rem; background: var(--gr-ark); border: 1px solid var(--gr-streg); border-radius: var(--gr-flade); }

.gr-reggrupper {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: .9rem 1.1rem;
  margin-top: 1.1rem; padding-top: 1rem; border-top: 2px dashed var(--gr-streg);
}
.gr-reggruppe { scroll-margin-top: 1rem; }
.gr-regbogstav {
  display: inline-grid; place-items: center; width: 2rem; height: 2rem; margin-bottom: .3rem;
  border-radius: var(--gr-pille); background: var(--gr-signal); color: var(--gr-nat); font-size: 1.1rem;
}
.gr-reggruppe ul { list-style: none; margin: 0; padding: 0; }
.gr-reggruppe li { padding: .12rem 0; font-size: .95rem; line-height: 1.35; }
.gr-reggruppe a { color: var(--gr-hal); text-decoration-color: var(--gr-streg); }
.gr-reggruppe a:hover { color: var(--gr-bane); text-decoration-color: var(--gr-signal); }
.gr-regfod { margin: 1.1rem 0 0; }

/* ---------- Knapper ---------- */
.gr-knap {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem;
  min-height: 2.75rem; padding: .55rem 1.25rem; border: 2px solid var(--gr-bane); border-radius: var(--gr-pille);
  background: var(--gr-bane); color: var(--gr-ark); cursor: pointer; text-decoration: none;
  font: 500 1.05rem/1.15 var(--gr-rubrik); letter-spacing: .03em;
}
.gr-knap:hover { background: var(--gr-nat); border-color: var(--gr-nat); color: var(--gr-ark); }
.gr-knapgul { background: var(--gr-signal); border-color: var(--gr-signal); color: var(--gr-nat); }
.gr-knapgul:hover { background: var(--gr-ark); border-color: var(--gr-ark); color: var(--gr-nat); }
.gr-knaplys { background: var(--gr-ark); color: var(--gr-bane); }
.gr-knaplys:hover { background: var(--gr-bane); border-color: var(--gr-bane); color: var(--gr-ark); }

/* ---------- Brødtekst ---------- */
.gr-tekst { overflow-wrap: anywhere; }
.gr-tekst > :first-child { margin-top: 0; }
.gr-tekst h2 {
  font-size: 1.55rem; margin: 2rem 0 .55rem; padding-left: .8rem;
  border-left: .35rem solid var(--gr-signal); scroll-margin-top: 1rem;
}
.gr-tekst h3 { font-size: 1.22rem; margin: 1.5rem 0 .4rem; scroll-margin-top: 1rem; }
.gr-tekst h4 { font-size: 1.05rem; margin: 1.25rem 0 .3rem; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; }
.gr-tekst p { margin: .7rem 0; }
.gr-tekst ul, .gr-tekst ol { margin: .7rem 0; padding-left: 1.35rem; }
.gr-tekst li { margin: .25rem 0; }
.gr-tekst li::marker { color: var(--gr-bane); font-weight: 500; }
.gr-tekst blockquote {
  margin: 1.25rem 0; padding: .8rem 1.1rem; background: var(--gr-dis);
  border-left: .3rem solid var(--gr-bane); border-radius: 0 var(--gr-flade) var(--gr-flade) 0;
}
.gr-tekst blockquote p { margin: .3rem 0; }
.gr-tekst strong { font-weight: 500; }
.gr-tekst hr { border: 0; height: 4px; margin: 2rem 0; border-radius: var(--gr-pille); background: var(--gr-streg); }

.gr-tabelramme { overflow-x: auto; margin: 1.1rem 0; border: 1px solid var(--gr-streg); border-radius: 1rem; background: var(--gr-ark); }
.gr-tekst table, .gr-rotationstabel { border-collapse: collapse; width: 100%; font-size: .93rem; line-height: 1.4; }
html:not(.gr-js) .gr-tekst table { display: block; overflow-x: auto; }
.gr-tekst th, .gr-tekst td, .gr-rotationstabel th, .gr-rotationstabel td {
  padding: .5rem .7rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--gr-streg);
}
.gr-tekst thead th, .gr-rotationstabel thead th {
  background: var(--gr-dis); font-family: var(--gr-rubrik); font-weight: 500; letter-spacing: .02em; white-space: nowrap;
}
.gr-tekst tbody tr:last-child td, .gr-rotationstabel tbody tr:last-child > * { border-bottom: 0; }
.gr-tekst td { overflow-wrap: normal; min-width: 7rem; }
.gr-tekst td:first-child { min-width: 6rem; }

/* ---------- Indhold (baner) ---------- */
.gr-baner { margin: 2.25rem 0; }
.gr-baneliste {
  list-style: none; margin: 0; padding: 0; overflow: hidden;
  background: var(--gr-ark); border: 1px solid var(--gr-streg); border-radius: var(--gr-flade);
}
.gr-bane { display: grid; grid-template-columns: 2.25rem 1fr; gap: .85rem; padding: .85rem 1rem; }
.gr-bane + .gr-bane { border-top: 2px dashed var(--gr-streg); }
.gr-banenr {
  display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: var(--gr-pille);
  background: var(--gr-nat); color: var(--gr-signal); font: 600 1.05rem/1 var(--gr-rubrik);
}
.gr-baneindhold { min-width: 0; }
.gr-baneindhold h2, .gr-baneindhold h3 { font-size: 1.2rem; font-weight: 500; line-height: 1.25; padding-top: .3rem; }
.gr-baneindhold h2 a, .gr-baneindhold h3 a { color: var(--gr-hal); text-decoration: none; }
.gr-baneindhold h2 a:hover, .gr-baneindhold h3 a:hover { color: var(--gr-bane); text-decoration: underline; text-decoration-color: var(--gr-signal); text-decoration-thickness: 3px; }
.gr-baneindhold p { margin: .25rem 0 0; color: var(--gr-staal); font-size: .93rem; line-height: 1.45; }
.gr-baneindhold .gr-banetype {
  display: inline-block; margin: .3rem 0 0; padding: .05rem .6rem; border-radius: var(--gr-pille);
  background: var(--gr-signal); color: var(--gr-nat); font: 500 .75rem/1.6 var(--gr-rubrik); text-transform: uppercase; letter-spacing: .08em;
}
.gr-banevaerktoej { background: var(--gr-signallys); }

/* ---------- Idrætsdag-boks på forsiden ---------- */
.gr-tavleboks {
  display: grid; gap: 1rem; align-items: center; margin: 2.25rem 0;
  padding: 1.25rem; background: var(--gr-nat); color: var(--gr-ftekst); border-radius: var(--gr-flade);
}
.gr-rotation { width: 6.5rem; height: 6.5rem; }
.gr-tavletekst h2 { color: var(--gr-ark); font-size: 1.55rem; }
.gr-tavletekst p { margin: .5rem 0 0; }
.gr-tavletekst p:last-child { margin-top: 1rem; }

/* ---------- Spørgsmål og kilder ---------- */
.gr-spm { margin: 2.25rem 0 1.5rem; }
.gr-spm h2 { font-size: 1.55rem; margin-bottom: .75rem; }
.gr-spmpunkt { background: var(--gr-ark); border: 1px solid var(--gr-streg); border-radius: 1.25rem; margin: .5rem 0; }
.gr-spmpunkt summary {
  cursor: pointer; list-style: none; display: flex; gap: .7rem; align-items: flex-start;
  padding: .75rem 1rem; font-weight: 500; line-height: 1.4; border-radius: 1.25rem;
}
.gr-spmpunkt summary::-webkit-details-marker { display: none; }
.gr-spmpunkt summary::before {
  content: "+"; flex: none; display: grid; place-items: center; width: 1.5rem; height: 1.5rem; margin-top: -.05rem;
  border-radius: var(--gr-pille); background: var(--gr-bane); color: var(--gr-ark); font: 600 1.05rem/1 var(--gr-rubrik);
}
.gr-spmpunkt[open] summary::before { content: "–"; background: var(--gr-signal); color: var(--gr-nat); }
.gr-spmpunkt p { margin: 0; padding: 0 1rem .9rem 3.2rem; overflow-wrap: anywhere; }

.gr-kilder { margin: 1.75rem 0; padding: 1rem 1.1rem; background: var(--gr-dis); border-radius: var(--gr-flade); font-size: .92rem; }
.gr-kilder h2 { font-size: 1.1rem; text-transform: uppercase; letter-spacing: .06em; font-weight: 500; }
.gr-kilder ol { margin: .5rem 0 0; padding-left: 1.3rem; }
.gr-kilder li { margin: .2rem 0; overflow-wrap: anywhere; }

/* ---------- Bladring ---------- */
.gr-blad { display: grid; gap: .6rem; margin: 2.25rem 0 0; }
.gr-bladlink {
  display: grid; gap: .1rem; padding: .7rem 1.3rem; text-decoration: none;
  background: var(--gr-ark); border: 2px solid var(--gr-streg); border-radius: var(--gr-pille);
}
.gr-bladlink:hover { border-color: var(--gr-bane); }
.gr-bladretning { font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--gr-staal); }
.gr-bladtitel { font: 500 1.12rem/1.25 var(--gr-rubrik); color: var(--gr-hal); }
.gr-bladforrige .gr-bladretning::before { content: "← "; }
.gr-bladnaeste .gr-bladretning::after { content: " →"; }

/* ---------- Postløbsplanlægger ---------- */
.gr-plan { margin: 1.25rem 0 1.75rem; background: var(--gr-ark); border: 1px solid var(--gr-streg); border-radius: var(--gr-flade); overflow: hidden; }
.gr-planhoved { padding: 1rem 1.1rem; background: var(--gr-nat); color: var(--gr-ftekst); }
.gr-planhoved h2 { color: var(--gr-ark); font-size: 1.6rem; }
.gr-planhoved h2::before { content: ""; display: inline-block; width: .8rem; height: .8rem; margin-right: .55rem; border-radius: var(--gr-pille); background: var(--gr-signal); vertical-align: .12em; }
.gr-planhoved p { margin: .45rem 0 0; font-size: .95rem; }
.gr-planform { padding: 1rem 1.1rem .4rem; }
.gr-planform[hidden], .gr-planud[hidden] { display: none; }
.gr-planfelter { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.gr-felt { display: grid; gap: .25rem; align-content: start; min-width: 0; }
.gr-felt label { font: 500 .95rem/1.2 var(--gr-rubrik); letter-spacing: .03em; }
.gr-felthjaelp { font-size: .8rem; color: var(--gr-staal); line-height: 1.3; }
.gr-felt input, .gr-felt textarea {
  width: 100%; min-height: 2.75rem; padding: .5rem 1rem; font: inherit; font-size: 1rem; color: var(--gr-hal);
  background: var(--gr-ark); border: 2px solid var(--gr-staal); border-radius: var(--gr-pille);
}
.gr-felt textarea { border-radius: 1.25rem; resize: vertical; min-height: 9rem; }
.gr-felt input:focus-visible, .gr-felt textarea:focus-visible { outline: 3px solid var(--gr-signal); outline-offset: 1px; border-color: var(--gr-bane); }
.gr-felt input[aria-invalid="true"] { border-color: var(--gr-hal); border-style: dashed; background: var(--gr-signallys); }

.gr-planud { padding: .4rem 1.1rem 1.2rem; }
.gr-planstatus { margin: 0 0 .8rem; font-weight: 500; }
.gr-planstatus.gr-planfejl { padding: .6rem .9rem; background: var(--gr-signallys); border-radius: 1rem; }
.gr-tal { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; margin: 0 0 .8rem; }
.gr-tal div { padding: .55rem .8rem; background: var(--gr-dis); border-radius: 1rem; min-width: 0; }
.gr-tal dt { font-size: .76rem; text-transform: uppercase; letter-spacing: .07em; color: var(--gr-staal); }
.gr-tal dd { margin: .1rem 0 0; font: 500 1.08rem/1.3 var(--gr-rubrik); overflow-wrap: anywhere; }
.gr-plannote { margin: .6rem 0; padding: .6rem .9rem; background: var(--gr-signallys); border-left: .3rem solid var(--gr-signal); border-radius: 0 1rem 1rem 0; font-size: .93rem; }
.gr-plannote[hidden], .gr-tabelramme[hidden] { display: none; }
.gr-planadvarsel { border-left-color: var(--gr-hal); }
.gr-rotationstabel caption { caption-side: top; text-align: left; padding: .6rem .8rem; font: 500 .95rem/1.3 var(--gr-rubrik); }
.gr-rotationstabel th, .gr-rotationstabel td { white-space: nowrap; padding: .4rem .6rem; }
.gr-rotationstabel tbody th { position: sticky; left: 0; background: var(--gr-ark); font-weight: 500; border-right: 1px solid var(--gr-streg); }
.gr-rotationstabel tbody tr:nth-child(even) td { background: var(--gr-kridt); }
.gr-ruterh { font-size: 1.15rem; margin: 1.1rem 0 .3rem; }
.gr-ruter { list-style: none; margin: 0; padding: 0; font-size: .93rem; }
.gr-ruter li { padding: .35rem 0; border-bottom: 1px dashed var(--gr-streg); overflow-wrap: anywhere; }
.gr-ruter strong { font-weight: 500; }
.gr-planfod { margin: .9rem 0 .6rem; font-size: .88rem; color: var(--gr-staal); }

/* ---------- Kontakt ---------- */
.gr-formular {
  display: grid; gap: .9rem; margin-top: 1.25rem; padding: 1.1rem;
  background: var(--gr-ark); border: 1px solid var(--gr-streg); border-radius: var(--gr-flade);
}
.gr-formular .gr-knap { justify-self: start; }
.gr-formnote { margin: 0; font-size: .88rem; color: var(--gr-staal); }
.gr-honning { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* ---------- 404 ---------- */
.gr-ikkefundet { text-align: center; padding: 1rem 0 1.5rem; }
.gr-ikkefundet .gr-maerke { justify-content: center; }
.gr-ikkefundet h1 { font-size: clamp(2rem, 8vw, 3rem); }
.gr-udenfor { width: 100%; max-width: 20rem; height: auto; margin: 0 auto 1rem; display: block; }
.gr-ikkefundetliste { list-style: none; margin: 1.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }

/* ---------- Footer i kolonner ---------- */
.gr-fod { background: var(--gr-nat); color: var(--gr-ftekst); font-size: .93rem; }
.gr-fodgitter { display: grid; gap: 1.5rem; padding-top: 1.75rem; padding-bottom: 1.5rem; }
.gr-fodkol { min-width: 0; }
.gr-fodkol p { margin: .4rem 0 0; }
.gr-fodnavn { font: 600 1.4rem/1.1 var(--gr-rubrik); color: var(--gr-ark); text-transform: uppercase; letter-spacing: .04em; }
.gr-fodnavn + p { margin-top: .4rem; }
.gr-fodnote { color: var(--gr-fdaemp); font-size: .86rem; }
.gr-fodrubrik { font: 500 .95rem/1.2 var(--gr-rubrik); color: var(--gr-signal); text-transform: uppercase; letter-spacing: .1em; margin-bottom: .5rem; }
.gr-fodkol ul { list-style: none; margin: 0; padding: 0; }
.gr-fodkol li { padding: .18rem 0; break-inside: avoid; }
.gr-fodkol a { color: var(--gr-ftekst); text-decoration-color: rgba(220, 228, 239, .4); }
.gr-fodkol a:hover { color: var(--gr-signal); text-decoration-color: var(--gr-signal); }
.gr-fodbund { margin: 0; padding: .9rem 0 1.2rem; border-top: 1px solid var(--gr-natflade); color: var(--gr-fdaemp); font-size: .84rem; }

/* ---------- Større skærme ---------- */
@media (min-width: 30rem) {
  .gr-planfelter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gr-fodom { grid-column: 1 / -1; }
  .gr-fodgitter { grid-template-columns: 1.5fr 1fr; }
}
@media (min-width: 40rem) {
  .gr-topnavn { display: block; }
  .gr-menuliste { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 2rem; }
  .gr-register { padding: 1.4rem 1.5rem 1.5rem; }
  .gr-tavleboks { grid-template-columns: auto 1fr; gap: 1.5rem; padding: 1.5rem 1.75rem; }
  .gr-rotation { width: 8.5rem; height: 8.5rem; }
  .gr-bane { grid-template-columns: 2.5rem 1fr; padding: .9rem 1.4rem; }
  .gr-banenr { width: 2.5rem; height: 2.5rem; }
  .gr-blad { grid-template-columns: 1fr 1fr; }
  .gr-bladnaeste { grid-column: 2; text-align: right; }
  .gr-planfelter { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .gr-tal { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .gr-ruter { columns: 2; column-gap: 1.5rem; }
  .gr-ruter li { break-inside: avoid; }
  .gr-fodom { grid-column: auto; }
  .gr-fodgitter { grid-template-columns: 1.3fr 1.5fr 1fr; gap: 2rem; }
  .gr-fodkol nav ul, nav.gr-fodkol ul { columns: 2; column-gap: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}

@media print {
  .gr-top, .gr-fod, .gr-spor, .gr-blad, .gr-planform, #pl-print, .gr-billede, .gr-spring { display: none !important; }
  body { background: #fff; }
  .gr-plan, .gr-tabelramme { border: 0; overflow: visible; }
  .gr-planhoved { background: #fff; color: #000; padding-left: 0; }
  .gr-planhoved h2 { color: #000; }
}
