/* Fanball: skitse. Konventionelt dansk sportsmedie, tæt og energisk, men ordentligt.
   Mørkeblå og hvid bærer, rød kun til "nyt" og kategorier. Mobil først.
   Grafik bærer information (resultat, tal, form), aldrig pynt. */

:root {
  --navy: #0A1530;
  --navy-2: #13224A;
  --roed: #E4002B;
  --roed-lys: #FCE8EC;
  --roed-tekst: #C8002A; /* rød som tekst: --roed har kun 4,1:1 på --roed-lys og 4,4:1 på --flade (WCAG kræver 4,5) */
  --gul: #FFC21A;
  --flade: #F2F3F6;
  --kort: #FFFFFF;
  --tekst: #0E1424;
  --daempet: #5D6577;
  --linje: #E2E5EB;
  --r: 3px;
  --overskrift: "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;
  --broed: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #fff; color: var(--tekst); font: 400 16px/1.5 var(--broed); }
a { color: inherit; }
img { max-width: 100%; }
button { font: inherit; }

.ramme { width: 100%; max-width: 1240px; margin-inline: auto; padding-inline: 16px; }

.skitse {
  background: var(--gul); color: #3A2A00; font-size: .78rem; font-weight: 600;
  padding: .45rem 16px; text-align: center;
}
.skitse a { color: inherit; font-weight: 700; margin-left: .3rem; }

/* --- Kampbånd: faste bredder, blød kant viser at det kan swipes --------- */
.kampbaand { background: #050B1C; color: #fff; }
.kampbaand-spor {
  display: flex; gap: 1px; overflow-x: auto; scroll-snap-type: x proximity;
  scrollbar-width: none; max-width: 1240px; margin-inline: auto;
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);
          mask-image: linear-gradient(to right, #000 calc(100% - 40px), transparent);
}
.kampbaand-spor::-webkit-scrollbar { display: none; }
.chip {
  flex: none; width: 140px; scroll-snap-align: start; padding: .55rem .8rem;
  text-decoration: none; background: #0B1530; display: grid; gap: .2rem;
}
.chip:hover { background: var(--navy-2); }
.chip-status { font-size: .72rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #8FA0C6; }
.chip-hold { display: flex; align-items: center; gap: .45rem; font-size: .84rem; font-weight: 500; white-space: nowrap; color: #C9D3EA; }
.chip-hold img { width: 16px; height: 16px; object-fit: contain; }
.chip-hold b { margin-left: auto; font-variant-numeric: tabular-nums; font-weight: 700; color: #fff; }

/* --- Header -------------------------------------------------------------- */
.top { background: var(--navy); color: #fff; position: sticky; top: 0; z-index: 10; }
.top-indre { display: flex; align-items: center; justify-content: space-between; height: 56px; }
.logo { font: 800 1.75rem/1 var(--overskrift); letter-spacing: -.01em; text-decoration: none; }
.top-handling { display: flex; gap: .2rem; }
.ikon { background: none; border: 0; color: #fff; width: 44px; height: 44px; display: grid; place-items: center; cursor: pointer; border-radius: var(--r); }
.ikon:hover { background: var(--navy-2); }
.menu { display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; padding-bottom: .6rem; }
.menu::-webkit-scrollbar { display: none; }
.menu a {
  flex: none; text-decoration: none; font-size: .88rem; font-weight: 600; color: #C9D3EA;
  padding: .5rem .85rem; border-radius: var(--r); background: rgba(255,255,255,.06);
}
.menu a.aktiv { background: #fff; color: var(--navy); }

.breaking { background: var(--roed); color: #fff; font-weight: 600; font-size: .9rem; }
.breaking .ramme { padding-block: .55rem; display: flex; gap: .7rem; align-items: center; }
.breaking-maerke {
  font: 800 .78rem/1 var(--overskrift); letter-spacing: .08em; text-transform: uppercase;
  background: #fff; color: var(--roed-tekst); padding: .25rem .45rem; border-radius: 3px; flex: none;
}

/* --- Gitter ------------------------------------------------------------- */
.gitter { display: grid; gap: 20px; padding-block: 20px 40px; }
.hovedspalte, .sidespalte { display: grid; gap: 20px; align-content: start; min-width: 0; }

/* Kategorier som mærker med svag baggrund. */
.kicker {
  display: inline-block; font: 700 .78rem/1 var(--overskrift); letter-spacing: .08em;
  text-transform: uppercase; color: var(--roed-tekst); background: var(--roed-lys);
  padding: .3rem .45rem; border-radius: 3px; margin-bottom: .55rem;
}
.meta { display: flex; align-items: center; gap: .5rem; font-size: .78rem; color: var(--daempet); margin: .6rem 0 0; }
.ai-maerke {
  font: 700 .72rem/1 var(--broed); letter-spacing: .04em; color: var(--navy-2);
  border: 1px solid #C7CEDD; padding: .2rem .35rem; border-radius: 3px; cursor: help;
}
.kort-link { text-decoration: none; display: block; }
.kort-link:hover h1, .kort-link:hover h2 { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }

/* --- Datagrafik ------------------------------------------------------------ */
.grafik { aspect-ratio: 16 / 9; border-radius: var(--r); overflow: hidden; color: #fff; position: relative; }

/* Kamp og stilling: hjemmeholdets farve til venstre, udeholdets til højre. */
.grafik--kamp {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; padding: 0 6%;
  background:
    linear-gradient(105deg, var(--f1) 0 50%, var(--f2) 50% 100%);
}
.grafik--kamp::before { content: ""; position: absolute; inset: 0; background: rgba(5,10,22,.55); }
.grafik--kamp > * { position: relative; }
.gk-side { display: grid; justify-items: center; gap: .4rem; text-align: center; font-weight: 700; font-size: .9rem; }
.gk-side img { width: 56px; height: 56px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }
.gk-midt { display: grid; justify-items: center; gap: .2rem; text-align: center; }
.gk-score, .gk-tid { font: 800 2.6rem/1 var(--overskrift); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.gk-midt small { font-size: .78rem; font-weight: 600; color: #DCE3F2; }
.grafik--stor .gk-side img { width: 84px; height: 84px; }
.grafik--stor .gk-side { font-size: 1.05rem; }
.grafik--stor .gk-score, .grafik--stor .gk-tid { font-size: 3.6rem; }

/* Et tal: målkongens mål. */
.grafik--tal { display: flex; align-items: center; justify-content: center; gap: .8rem; background: var(--f1); }
.grafik--tal::before { content: ""; position: absolute; inset: 0; background: rgba(5,10,22,.5); }
.grafik--tal > * { position: relative; }
.grafik--tal img { width: 52px; height: 52px; object-fit: contain; }
.grafik--tal b { font: 800 5rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.grafik--tal span { font: 700 1.3rem/1 var(--overskrift); text-transform: uppercase; letter-spacing: .06em; align-self: flex-end; padding-bottom: .9rem; }

/* Formen: resultaterne som felter. */
.grafik--form { display: flex; align-items: center; justify-content: center; gap: 1rem; background: var(--f1); }
.grafik--form::before { content: ""; position: absolute; inset: 0; background: rgba(5,10,22,.55); }
.grafik--form > * { position: relative; }
.grafik--form img { width: 48px; height: 48px; object-fit: contain; }
.gf-raekke { display: flex; gap: .35rem; }
.gf-raekke i {
  width: 40px; height: 46px; display: grid; place-items: center; font: 800 1.5rem/1 var(--overskrift);
  font-style: normal; border-radius: 4px; background: #1E7F4F;
}
.gf-raekke .gf-t { background: var(--roed); }
.gf-raekke .gf-u { background: #7A8296; }

/* Bundstriden: de tre nederste. */
.grafik--tabel { background: var(--navy); display: grid; align-content: center; gap: 2px; padding: 0 8%; }
.gt-raekke { display: grid; grid-template-columns: 1.6rem 26px 1fr auto; gap: .6rem; align-items: center; padding: .45rem .7rem; background: rgba(255,255,255,.06); border-radius: 4px; }
.gt-raekke img { width: 26px; height: 26px; object-fit: contain; }
.gt-plads { color: #8FA0C6; font-variant-numeric: tabular-nums; }
.gt-navn { font-weight: 600; }
.gt-raekke b { font: 800 1.5rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.gt-raekke:last-child { background: rgba(228,0,43,.28); }

/* --- Historier ------------------------------------------------------------ */
.hovedhistorie { background: var(--kort); border-radius: var(--r); overflow: hidden; }
.hovedhistorie .grafik { border-radius: 0; }
.hovedhistorie-tekst { padding: 14px 16px 18px; }
.hovedhistorie h1 { font: 800 clamp(1.9rem, 1.2rem + 3vw, 3rem)/1.02 var(--overskrift); letter-spacing: -.01em; margin: 0; }
.dek { font-size: 1.02rem; color: #2C3446; margin: .6rem 0 0; max-width: 62ch; }

.sekundaere { display: grid; gap: 16px; grid-template-columns: 1fr; }
.kort { background: var(--kort); border-radius: var(--r); padding: 12px; }
.kort .grafik { margin-bottom: .75rem; }
.kort h2 { font: 700 1.38rem/1.08 var(--overskrift); margin: 0; }
.kort-dek { font-size: .9rem; color: #3A4256; margin: .35rem 0 0; }

/* Mobil: sekundære historier som rækker med lille grafik. */
@media (max-width: 599px) {
  .sekundaere .kort-link { display: grid; grid-template-columns: 116px 1fr; gap: .8rem; align-items: start; }
  .sekundaere .grafik { margin: 0; aspect-ratio: 1 / 1; }
  .sekundaere .kort h2 { font-size: 1.18rem; }
  .sekundaere .kort-dek { display: none; }
  .sekundaere .gk-side span, .sekundaere .grafik--tal span { display: none; }
  .sekundaere .gk-side img { width: 32px; height: 32px; }
  .sekundaere .gk-score, .sekundaere .gk-tid { font-size: 1.6rem; }
  .sekundaere .gk-midt small { font-size: .72rem; }
  .sekundaere .grafik--kamp { grid-template-columns: 1fr; padding: .4rem; gap: .2rem; justify-items: center; }
  .sekundaere .grafik--tal { flex-direction: column; gap: .1rem; }
  .sekundaere .grafik--tal b { font-size: 3rem; }
  .sekundaere .grafik--tal img { width: 28px; height: 28px; }
  .sekundaere .grafik--form { flex-direction: column; gap: .4rem; }
  .sekundaere .grafik--form img { width: 28px; height: 28px; }
  .sekundaere .gf-raekke i { width: 20px; height: 24px; font-size: .9rem; }
  .sekundaere .grafik--tabel { padding: .35rem; }
  .sekundaere .gt-raekke { grid-template-columns: 18px 1fr auto; padding: .25rem .35rem; gap: .3rem; }
  .sekundaere .gt-plads, .sekundaere .gt-navn { display: none; }
  .sekundaere .gt-raekke img { width: 18px; height: 18px; }
  .sekundaere .gt-raekke b { font-size: 1rem; }
}

/* --- Blokke ------------------------------------------------------------- */
.blok-hoved { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.blok-hoved h2 { font: 800 1.45rem/1 var(--overskrift); margin: 0; }
.blok-hoved a { font-size: .82rem; font-weight: 600; color: var(--navy-2); }

.blok { background: var(--kort); border-radius: var(--r); padding: 16px; }
.nyhedsstroem { list-style: none; margin: 0; padding: 0; }
.nyhedsstroem li a {
  display: grid; grid-template-columns: 3.6rem 1fr; gap: .8rem; padding: .7rem 0;
  border-top: 1px solid var(--linje); text-decoration: none; font-weight: 500;
}
.nyhedsstroem li:first-child a { border-top: 0; }
.nyhedsstroem time { font-size: .78rem; color: var(--daempet); font-weight: 600; font-variant-numeric: tabular-nums; padding-top: .1rem; }
.nyhedsstroem a:hover span { text-decoration: underline; }

/* --- Sidespalte ---------------------------------------------------------- */
.boks { background: var(--kort); border-radius: var(--r); padding: 16px; }

/* Faneblade uden JavaScript: to radioknapper styrer, hvilket panel der vises. */
.faner > input { position: absolute; opacity: 0; pointer-events: none; }
.fane-knapper { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; background: var(--flade); padding: 4px; border-radius: var(--r); margin-bottom: .8rem; }
.fane-knapper label {
  text-align: center; font: 700 1.05rem/1 var(--overskrift); letter-spacing: .02em; padding: .7rem .4rem;
  border-radius: 4px; cursor: pointer; color: var(--daempet); min-height: 44px; display: grid; place-items: center;
}
.fane { display: none; }
#fane-tabel:checked ~ .fane--tabel, #fane-maal:checked ~ .fane--maal { display: block; }
#fane-tabel:checked ~ .fane-knapper label[for="fane-tabel"],
#fane-maal:checked ~ .fane-knapper label[for="fane-maal"] { background: var(--kort); color: var(--tekst); box-shadow: 0 0 0 1px var(--linje); }
.faner > input:focus-visible ~ .fane-knapper label { outline: 2px solid var(--navy-2); outline-offset: 2px; }

.mini-tabel { width: 100%; border-collapse: collapse; font-size: .86rem; font-variant-numeric: tabular-nums; }
.mini-tabel th { font-size: .72rem; font-weight: 600; color: var(--daempet); text-align: right; padding: .3rem .25rem; text-transform: uppercase; letter-spacing: .05em; }
.mini-tabel th:nth-child(2) { text-align: left; }
.mini-tabel td { padding: .42rem .25rem; border-top: 1px solid var(--linje); text-align: right; }
.mini-tabel td:first-child { color: var(--daempet); width: 1.6rem; }
.mini-tabel td.navn { text-align: left; font-weight: 500; display: flex; align-items: center; gap: .45rem; }
.mini-tabel td.navn img { width: 18px; height: 18px; object-fit: contain; }

.annonce-etiket { font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--daempet); }
.annonce--bred { display: grid; gap: .4rem; }
.annonce-flade {
  min-height: 110px; border: 2px dashed #C3C9D5; border-radius: var(--r); background: #F7F8FA;
  display: grid; place-content: center; text-align: center; font-weight: 600; color: var(--daempet); padding: 1rem; font-size: .9rem;
}
.annonce-flade small { display: block; font-weight: 500; font-size: .76rem; margin-top: .3rem; }
.spil-ansvarligt { font-size: .74rem; color: var(--daempet); margin: .2rem 0 0; }

.boks--odds { border-top: 4px solid var(--gul); }
.odds-raekke { display: grid; gap: .45rem; padding: .7rem 0; border-top: 1px solid var(--linje); }
.odds-raekke:first-of-type { border-top: 0; }
.odds-kamp { display: flex; justify-content: space-between; align-items: baseline; gap: .6rem; font-size: .9rem; }
.odds-kamp span { font-size: .76rem; color: var(--daempet); white-space: nowrap; }
.odds-knapper { display: grid; grid-template-columns: repeat(3, 1fr); gap: .4rem; }
.odds-knapper span {
  text-decoration: none; text-align: center; font-weight: 700; font-variant-numeric: tabular-nums;
  background: var(--flade); border: 1px solid var(--linje); border-radius: var(--r); padding: .45rem .2rem;
  min-height: 44px; display: grid; place-content: center; line-height: 1.1;
  transition: background-color .12s, color .12s, border-color .12s;
}
.odds-knapper span small { font-size: .72rem; color: var(--daempet); font-weight: 600; }
.odds-note { font-size: .76rem; color: var(--daempet); margin: .6rem 0 0; }

.topscorere { list-style: none; margin: 0; padding: 0; }
.topscorere li { display: grid; grid-template-columns: 1.4rem 22px 1fr auto; gap: .55rem; align-items: center; padding: .5rem 0; border-top: 1px solid var(--linje); }
.topscorere li:first-child { border-top: 0; }
.topscorere img { width: 22px; height: 22px; object-fit: contain; }
.ts-plads { color: var(--daempet); font-variant-numeric: tabular-nums; font-size: .86rem; }
.ts-navn { font-weight: 600; font-size: .92rem; line-height: 1.2; }
.ts-navn small { display: block; font-weight: 400; color: var(--daempet); font-size: .76rem; }
.topscorere b { font: 800 1.4rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }

.boks--afstemning { background: var(--navy); color: #fff; }
.boks--afstemning .blok-hoved h2 { color: #fff; }
.spoergsmaal { font: 700 1.25rem/1.15 var(--overskrift); margin: 0 0 .7rem; }
.boks--afstemning form { display: grid; gap: .4rem; }
.boks--afstemning label { display: flex; align-items: center; gap: .6rem; background: rgba(255,255,255,.07); padding: .6rem .7rem; border-radius: var(--r); min-height: 44px; cursor: pointer; font-weight: 500; }
.boks--afstemning button { margin-top: .3rem; min-height: 44px; border: 0; border-radius: var(--r); background: var(--roed); color: #fff; font-weight: 700; cursor: pointer; }
.boks--afstemning button:hover, .boks--afstemning button:focus-visible { filter: brightness(1.1); }

/* --- Sidefod ------------------------------------------------------------- */
.bund { background: var(--navy); color: #C9D3EA; padding-block: 32px 40px; font-size: .88rem; }
.logo--lys { color: #fff; }
.bund-links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; margin: 1rem 0; }
.bund-links a { text-decoration: none; color: #fff; padding: .6rem 0; border-bottom: 1px solid rgba(255,255,255,.1); min-height: 44px; display: flex; align-items: center; }
.bund p { max-width: 70ch; }
.bund .spil-ansvarligt { color: #9EB0D6; }

/* --- Større skærme --------------------------------------------------------- */
@media (min-width: 600px) {
  .sekundaere { grid-template-columns: 1fr 1fr; }
  .bund-links { display: flex; flex-wrap: wrap; gap: .4rem 1.6rem; }
  .bund-links a { border: 0; padding: .2rem 0; min-height: 0; }
}
@media (min-width: 980px) {
  .gitter { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; padding-top: 28px; }
  .hovedhistorie .grafik { aspect-ratio: 21 / 9; }
  .hovedhistorie-tekst { padding: 20px 26px 24px; }
  .sidespalte { position: sticky; top: 112px; }
}

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

/* --- Avis i stedet for kasser (02-10-2026) --------------------------------
   Hvid side, ingen kort i kort. Historier og moduler adskilles af streger,
   og hver sektion har en tyk streg over overskriften, som på en avisside.
   Kun afstemningen beholder en flade, fordi den er noget man gør. */
.hovedhistorie, .kort, .blok, .boks { background: none; border-radius: 0; padding: 0; }
.hovedhistorie .grafik { border-radius: var(--r); }
.hovedhistorie-tekst { padding: 14px 0 0; }
.blok-hoved { border-top: 3px solid var(--navy); padding-top: .6rem; margin-bottom: .4rem; }
.boks--odds { border-top: 0; }
.boks--odds .blok-hoved { border-top-color: var(--gul); }
.sekundaere { gap: 0; }
.sekundaere .kort { border-top: 1px solid var(--linje); padding: 14px 0; }
.boks--afstemning { background: var(--navy); padding: 16px; border-radius: var(--r); }
.boks--afstemning .blok-hoved { border-top: 0; padding-top: 0; }
.fane-knapper { border-radius: var(--r); }
.annonce-flade { border-radius: var(--r); }
.grafik { border-radius: var(--r); }
@media (min-width: 600px) {
  .sekundaere { column-gap: 24px; }
  .sekundaere .kort { padding: 16px 0 18px; }
  .sekundaere .kort:nth-child(-n+2) { border-top: 0; padding-top: 18px; }
}
@media (min-width: 980px) {
  .hovedhistorie-tekst { padding: 18px 0 0; }
  .sidespalte { border-left: 1px solid var(--linje); padding-left: 28px; }
}

/* Tallet og enheden hører sammen: "6" med "mål" lige under. */
.gtal { display: grid; justify-items: center; line-height: 1; }
.grafik--tal .gtal span { align-self: auto; padding: 0; margin-top: .15rem; font-size: 1.1rem; }
@media (max-width: 599px) { .sekundaere .grafik--tal .gtal span { display: block; font-size: .8rem; } }

/* ===================== Kampcentret (kamp.php) ===================== */

/* Resultattavlen: hjemmeholdets farve til venstre, udeholdets til højre, mørkt slør over. */
.kc-hoved { position: relative; color: #fff; background: linear-gradient(100deg, var(--f1) 0 50%, var(--f2) 50% 100%); }
.kc-hoved::before { content: ""; position: absolute; inset: 0; background: rgba(5,10,22,.78); }
.kc-hoved > * { position: relative; }
.kc-meta { text-align: center; font-size: .8rem; color: #B9C4DE; margin: 0; padding-top: 18px; }
.kc-meta--bund { padding: 10px 0 14px; }
.kc-tavle { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); gap: .8rem; align-items: start; padding-top: 16px; }
.kc-hold { display: grid; justify-items: center; text-align: center; gap: .45rem; }
.kc-hold img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,.4)); }
.kc-navn { font: 800 1.25rem/1.05 var(--overskrift); margin: 0; overflow-wrap: anywhere; }
.kc-scorere { list-style: none; margin: 0; padding: 0; font-size: .8rem; color: #DCE3F2; display: grid; gap: .15rem; }
.roedt-kort { display: inline-block; width: .55em; height: .75em; background: var(--roed); border-radius: 1px; margin-right: .35em; vertical-align: -.05em; }
.kc-midt { display: grid; justify-items: center; gap: .25rem; padding-top: 10px; }
.kc-score { font: 800 3.4rem/1 var(--overskrift); font-variant-numeric: tabular-nums; letter-spacing: .01em; }
.kc-tid { font-size: 2.6rem; }
.kc-status { font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #DCE3F2; text-align: center; max-width: 7.5rem; }
.kc-status--live { color: #fff; background: var(--roed); padding: .2rem .45rem; border-radius: var(--r); }
.kc-pause { font-size: .76rem; color: #B9C4DE; font-variant-numeric: tabular-nums; }

/* Underfaner: springer til afsnittet. Kan swipes på mobil. */
.kc-faner { display: flex; gap: .3rem; overflow-x: auto; scrollbar-width: none; padding-bottom: 12px; }
.kc-faner::-webkit-scrollbar { display: none; }
.kc-faner a {
  flex: none; text-decoration: none; font-size: .88rem; font-weight: 600; color: #fff;
  padding: .5rem .85rem; border-radius: var(--r); background: rgba(255,255,255,.1); min-height: 40px; display: flex; align-items: center;
}
.kc-faner a:hover { background: rgba(255,255,255,.2); }
.kc-afsnit { scroll-margin-top: 120px; display: grid; gap: .4rem; }
.kc-broedtekst { font-size: 1.05rem; margin: 0; max-width: 65ch; }
.kc-note { font-size: .8rem; color: var(--daempet); margin: .4rem 0 0; max-width: 70ch; }

/* Sandsynligheder: tre felter i neutrale trin; bredden er sandsynligheden. */
.sands { display: flex; gap: 3px; border-radius: var(--r); overflow: hidden; }
.sands-del { min-width: 64px; padding: .6rem .7rem; display: grid; gap: .1rem; }
.sands-del b { font: 800 1.6rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.sands-del span { font-size: .78rem; font-weight: 600; }
.sands-del--h { background: var(--navy); color: #fff; }
.sands-del--u { background: #8A91A3; color: var(--tekst); } /* hvid gav 3,1:1, mørk 5,9:1 */
.sands-del--a { background: #D5D9E2; color: var(--tekst); }

.kc-odds { margin-top: .8rem; }
.kc-odds .blok-hoved { border-top-color: var(--gul); }

.kc-form { display: grid; gap: 1rem; }
.kc-form h3 { display: flex; align-items: center; gap: .5rem; font: 700 1.1rem/1 var(--overskrift); margin: .3rem 0 .4rem; }
.kc-form h3 img { width: 22px; height: 22px; object-fit: contain; }
.form-liste { list-style: none; margin: 0; padding: 0; }
.form-liste a { display: grid; grid-template-columns: 26px 1fr auto; gap: .6rem; align-items: center; padding: .45rem 0; border-top: 1px solid var(--linje); text-decoration: none; font-size: .9rem; }
.form-liste li:first-child a { border-top: 0; }
.form-liste b { font-variant-numeric: tabular-nums; }
.fr { width: 24px; height: 24px; display: grid; place-items: center; font: 800 .9rem/1 var(--overskrift); font-style: normal; color: #fff; border-radius: var(--r); }
.fr-v { background: #1E7F4F; } .fr-u { background: #646B7D; } .fr-t { background: var(--roed); }

/* Tidslinjen: hjemmeholdets hændelser til venstre, udeholdets til højre, minuttet i midten. */
.tidslinje { list-style: none; margin: 0; padding: 0; position: relative; }
.tidslinje::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 2px; background: var(--linje); transform: translateX(-1px); }
.tl { display: grid; grid-template-columns: 1fr 3.2rem 1fr; align-items: center; padding: .45rem 0; position: relative; }
.tl-min {
  grid-column: 2; grid-row: 1; justify-self: center; font: 700 .9rem/1 var(--overskrift); font-variant-numeric: tabular-nums;
  background: #fff; border: 2px solid var(--linje); border-radius: var(--r); padding: .3rem .4rem; z-index: 1;
}
.tl-tekst { grid-row: 1; display: grid; gap: .1rem; font-size: .92rem; }
.tl--h .tl-tekst { grid-column: 1; text-align: right; padding-right: .7rem; }
.tl--u .tl-tekst { grid-column: 3; padding-left: .7rem; }
.tl-tekst small { color: var(--daempet); font-size: .78rem; }
.tl-stilling { font: 800 1.15rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.tl-tegn { display: none; }
.tl-tegn--roedt + .tl-tekst b::before { content: ""; display: inline-block; width: .55em; height: .75em; background: var(--roed); border-radius: 1px; margin-right: .35em; vertical-align: -.05em; }
.tl-pause { display: grid; place-items: center; padding: .5rem 0; position: relative; }
.tl-pause span { background: var(--navy); color: #fff; font: 700 .85rem/1 var(--overskrift); letter-spacing: .04em; padding: .35rem .6rem; border-radius: var(--r); font-variant-numeric: tabular-nums; z-index: 1; }

/* Statistik i holdenes draktfarver (udeholdet gråt, hvis farverne ligner hinanden). */
.kc-stat { display: grid; gap: .75rem; }
.kc-stat-hold { display: flex; justify-content: space-between; font-weight: 700; font-size: .9rem; }
.kc-stat-hold span { display: flex; align-items: center; gap: .4rem; }
.kc-stat-hold img { width: 22px; height: 22px; object-fit: contain; }
.kc-stat-raekke { display: grid; grid-template-columns: 4rem 1fr 4rem; gap: .2rem .6rem; align-items: baseline; }
.kc-stat-raekke > span { text-align: center; font-size: .82rem; color: var(--daempet); }
.kc-stat-raekke > b { font-variant-numeric: tabular-nums; font-size: .95rem; }
.kc-stat-raekke > b:last-of-type { text-align: right; }
.kc-stat-spor { grid-column: 1 / -1; height: 6px; background: var(--su); border-radius: 2px; overflow: hidden; }
.kc-stat-spor i { display: block; height: 100%; background: var(--sh); }

/* Banen: lodret, hjemme øverst. Dæmpet grøn, ikke neon. */
.kc-opstilling { max-width: 520px; margin-inline: auto; width: 100%; display: grid; gap: .5rem; }
.kc-bane-hold { display: flex; align-items: center; gap: .5rem; font-size: .9rem; }
.kc-bane-hold img { width: 22px; height: 22px; object-fit: contain; }
.kc-bane-hold span { margin-left: auto; color: var(--daempet); font-variant-numeric: tabular-nums; font-weight: 600; }
.bane { position: relative; aspect-ratio: 68 / 105; background: #1E5A3A; border-radius: var(--r); overflow: hidden; }
.bane-linjer { position: absolute; inset: 3%; border: 2px solid rgba(255,255,255,.35); }
.bane-linjer i { position: absolute; border: 2px solid rgba(255,255,255,.35); }
.bane-linjer .midt { left: 0; right: 0; top: 50%; border-width: 2px 0 0; }
.bane-linjer .cirkel { left: 50%; top: 50%; width: 26%; aspect-ratio: 1; border-radius: 50%; transform: translate(-50%, -50%); }
.bane-linjer .felt { left: 22%; right: 22%; height: 15%; }
.bane-linjer .felt--top { top: -2px; border-top: 0; }
.bane-linjer .felt--bund { bottom: -2px; border-bottom: 0; }
.spiller { position: absolute; transform: translate(-50%, -50%); display: grid; justify-items: center; gap: 2px; width: 22%; }
.troeje {
  width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  font: 700 .82rem/1 var(--broed); font-variant-numeric: tabular-nums; border: 2px solid rgba(255,255,255,.85);
}
.spiller-navn { font-size: .72rem; font-weight: 600; color: #fff; text-align: center; line-height: 1.1; text-shadow: 0 1px 2px rgba(0,0,0,.6); max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kc-baenk { display: grid; gap: 1rem; margin-top: .8rem; font-size: .88rem; }
.kc-baenk h3 { font: 700 1.1rem/1 var(--overskrift); margin: 0 0 .3rem; }
.kc-baenk p { margin: .2rem 0; color: #2C3446; }

/* Sidespalten: begge hold fremhævet i tabellen, rundens øvrige kampe. */
.mini-tabel tr.fremhaev td { background: #EEF1F8; font-weight: 700; }
.runde-liste { list-style: none; margin: 0; padding: 0; }
.runde-liste a { display: grid; grid-template-columns: 1fr auto 1fr; gap: .5rem; align-items: center; padding: .55rem 0; border-top: 1px solid var(--linje); text-decoration: none; font-size: .88rem; font-weight: 500; }
.runde-liste li:first-child a { border-top: 0; }
.rl-hold { display: flex; align-items: center; gap: .4rem; min-width: 0; }
.rl-hold img { width: 18px; height: 18px; object-fit: contain; }
.rl-hold--ude { justify-content: flex-end; }
.rl-midt { font-variant-numeric: tabular-nums; font-weight: 700; min-width: 3rem; text-align: center; }
.runde-liste a:hover { background: var(--flade); }

@media (min-width: 600px) {
  .kc-form { grid-template-columns: 1fr 1fr; gap: 1.6rem; }
  .kc-baenk { grid-template-columns: 1fr 1fr; }
  .kc-hold img { width: 84px; height: 84px; }
  .kc-navn { font-size: 1.7rem; }
  .kc-score { font-size: 4.6rem; }
  .kc-scorere { font-size: .86rem; }
}
@media (max-width: 380px) {
  .kc-score { font-size: 2.8rem; }
  .kc-hold img { width: 52px; height: 52px; }
}

/* ===================== Kampcentret: statistik og bane, løftet (02-10-2026) ===================== */

/* Nøgletal: to kort øverst. */
.kcs { display: grid; gap: .55rem; }
.kcs-noegle { display: grid; gap: 12px; margin-bottom: .6rem; }
.kcs-kort { background: var(--flade); border-radius: var(--r); padding: 14px; display: grid; gap: .6rem; }
.kcs-etiket { font: 700 .78rem/1 var(--overskrift); letter-spacing: .08em; text-transform: uppercase; color: var(--daempet); }
.kcs-besid { display: flex; height: 44px; border-radius: var(--r); overflow: hidden; gap: 2px; }
.kcs-besid span { display: flex; align-items: center; padding: 0 .8rem; font: 800 1.5rem/1 var(--overskrift); font-variant-numeric: tabular-nums; min-width: 4.2rem; }
.kcs-besid span:first-child { background: var(--sh); color: var(--th); }
.kcs-besid span:last-child { background: var(--su); color: var(--tu); justify-content: flex-end; }
.kcs-hold { display: flex; justify-content: space-between; font-size: .84rem; font-weight: 600; }
.kcs-hold span { display: flex; align-items: center; gap: .4rem; }
.kcs-hold img { width: 20px; height: 20px; object-fit: contain; }
.kcs-xg { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; text-align: center; }
.kcs-xg div { display: grid; justify-items: center; gap: .15rem; }
.kcs-xg b { font: 800 2.6rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.kcs-xg div:first-child b { color: var(--sh); }
.kcs-xg div:last-child b { color: var(--su); }
.kcs-xg span { font-size: .74rem; font-weight: 700; color: var(--daempet); text-transform: uppercase; letter-spacing: .06em; }
.kcs-xg em { font-style: normal; font-weight: 700; font-size: .9rem; background: #fff; border: 1px solid var(--linje); padding: .2rem .5rem; border-radius: var(--r); margin-top: .2rem; }
.kcs-xg-mod { font: 700 .9rem/1 var(--overskrift); color: var(--daempet); text-transform: uppercase; }
.kcs-forklar { font-size: .78rem; color: var(--daempet); margin: 0; }

/* Grupper og spejlede bjælker: hvert hold vokser ud fra midten. */
.kcs-gruppe { font: 800 1.05rem/1 var(--overskrift); letter-spacing: .02em; margin: .9rem 0 .2rem; padding-bottom: .35rem; border-bottom: 1px solid var(--linje); }
.kcs-raekke { display: grid; grid-template-columns: 4.2rem 1fr 1fr 4.2rem; column-gap: .5rem; row-gap: .3rem; align-items: center; padding: .25rem 0; }
.kcs-tal { grid-column: 1; grid-row: 1; justify-self: start; font-variant-numeric: tabular-nums; font-size: .95rem; padding: .18rem .45rem; border-radius: var(--r); }
.kcs-tal--hoejre { grid-column: 4; justify-self: end; }
.kcs-tal--h { background: var(--sh); color: var(--th); }
.kcs-tal--u { background: var(--su); color: var(--tu); }
.kcs-navn { grid-column: 2 / span 2; grid-row: 1; text-align: center; font-size: .86rem; color: #3A4256; font-weight: 500; }
.kcs-spor { grid-row: 2; height: 6px; background: var(--flade); border-radius: 3px; overflow: hidden; display: flex; }
.kcs-spor--h { grid-column: 1 / span 2; justify-content: flex-end; margin-right: 2px; }
.kcs-spor--u { grid-column: 3 / span 2; margin-left: 2px; }
.kcs-spor i { display: block; height: 100%; border-radius: 3px; }
.kcs-spor--h i { background: var(--sh); }
.kcs-spor--u i { background: var(--su); }

/* Banen: lodret på mobil, liggende på desktop. Stribet græs, dæmpet grøn. */
.kc-bane-top { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .4rem; }
.kc-bane-hold--u { justify-content: flex-end; }
.kc-bane-hold--u span { margin-left: 0; margin-right: auto; }
.kc-bane-top .kc-bane-hold { flex: 1; }
.kc-bane-top .kc-bane-hold span { margin-left: .4rem; }
.kc-bane-top .kc-bane-hold--u span { margin-left: 0; margin-right: .4rem; }
.bane {
  position: relative; aspect-ratio: 68 / 105; border-radius: var(--r); overflow: hidden;
  background: repeating-linear-gradient(to bottom, #23633F 0 9.0909%, #276C45 9.0909% 18.1818%);
  max-width: 520px; margin-inline: auto; width: 100%;
}
.bane-tegning { position: absolute; inset: 0; width: 100%; height: 100%; }
.bane-tegning * { fill: none; stroke: rgba(255,255,255,.45); stroke-width: 2px; vector-effect: non-scaling-stroke; }
.bane-tegning--vandret { display: none; }
.spiller {
  position: absolute; left: calc(var(--x) * 1%); top: calc(var(--y) * 1%); transform: translate(-50%, -50%);
  display: grid; justify-items: center; gap: 3px; width: 23%;
}
.troeje {
  position: relative; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
  font: 700 .86rem/1 var(--broed); font-variant-numeric: tabular-nums; border: 2px solid #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,.35);
}
.spiller-navn {
  font-size: .72rem; font-weight: 600; color: #fff; background: rgba(5,10,22,.55); padding: .12rem .35rem; border-radius: 3px;
  max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.rating {
  position: absolute; top: -8px; right: -18px; font: 700 .68rem/1 var(--broed); font-style: normal; font-variant-numeric: tabular-nums;
  background: #5D6577; color: #fff; padding: .16rem .25rem; border-radius: 3px;
}
.rating--god { background: #1E7F4F; } /* hvid tekst: #2E9E5B gav 3,4:1 */
.rating--svag { background: #C2410C; }
.rating--bedst { background: var(--gul); color: #3A2A00; }
.maerker { position: absolute; top: -6px; left: calc(50% - 30px); display: flex; gap: 2px; }
.m { display: inline-grid; place-items: center; width: 14px; height: 14px; font-style: normal; flex: none; }
.m-maal { border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 2px #0E1424; position: relative; }
.m-maal::after { content: ""; width: 5px; height: 5px; background: #0E1424; transform: rotate(45deg); }
.m-oplaeg { border-radius: 50%; background: #fff; color: #0E1424; font: 800 .62rem/1 var(--broed); box-shadow: inset 0 0 0 1px #0E1424; }
.m-gult { width: 9px; height: 13px; background: var(--gul); border-radius: 2px; }
.m-roedt { width: 9px; height: 13px; background: var(--roed); border-radius: 2px; }
.ud { font: 700 .66rem/1 var(--broed); font-style: normal; color: #fff; background: var(--roed); padding: .14rem .28rem; border-radius: 3px; font-variant-numeric: tabular-nums; }
.ud::before { content: ""; display: inline-block; border: 4px solid transparent; border-top-color: #fff; border-bottom: 0; margin-right: .2rem; vertical-align: .1em; }

.kc-forklaring { display: flex; flex-wrap: wrap; gap: .5rem 1.1rem; font-size: .8rem; color: var(--daempet); margin: .7rem 0 0; }
.kc-forklaring span { display: inline-flex; align-items: center; gap: .4rem; }
.rating--forklar, .ud--forklar { position: static; }

.udskift { list-style: none; margin: 0 0 .5rem; padding: 0; }
.udskift li { display: grid; grid-template-columns: 2.6rem 1fr; grid-template-rows: auto auto; column-gap: .5rem; padding: .45rem 0; border-top: 1px solid var(--linje); font-size: .88rem; }
.udskift li:first-child { border-top: 0; }
.udskift-min { grid-row: 1 / span 2; font: 800 1.05rem/1.4 var(--overskrift); font-variant-numeric: tabular-nums; }
.udskift .ind { font-weight: 600; }
.udskift .ind::before, .udskift .ud-navn::before { content: ""; display: inline-block; border: 5px solid transparent; margin-right: .35rem; vertical-align: .05em; }
.udskift .ind::before { border-bottom-color: #2E9E5B; border-top: 0; }
.udskift .ud-navn { color: var(--daempet); font-size: .82rem; }
.udskift .ud-navn::before { border-top-color: var(--roed); border-bottom: 0; }
.kc-ubrugte { font-size: .84rem; color: #3A4256; margin: .25rem 0; }

@media (min-width: 600px) {
  .kcs-noegle { grid-template-columns: 1fr 1fr; }
}
/* Liggende bane: hjemmeholdet til venstre. x og y byttes om. */
@media (min-width: 900px) {
  .bane { aspect-ratio: 105 / 68; max-width: none; background: repeating-linear-gradient(to right, #23633F 0 9.0909%, #276C45 9.0909% 18.1818%); }
  .bane-tegning--lodret { display: none; }
  .bane-tegning--vandret { display: block; }
  .spiller { left: calc(var(--y) * 1%); top: calc(var(--x) * 1%); width: 13%; }
  .spiller--u { top: calc(var(--x) * 1%); }
}

/* Mobilbanen: højere end målestokken, så rækkerne får luft; udskiftninger står i
   listen under banen i stedet for på den. */
.rating { font-size: .7rem; }
.ud { font-size: .7rem; }
.m-oplaeg { font-size: .64rem; }
.kc-bane-hold b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kc-bane-hold span { white-space: nowrap; }
@media (max-width: 599px) {
  .bane { aspect-ratio: 68 / 128; }
  .spiller .ud { display: none; }
  .troeje { width: 30px; height: 30px; font-size: .78rem; }
  .rating { right: -16px; top: -7px; }
  .maerker { left: calc(50% - 26px); }
  .spiller-navn { padding: .08rem .3rem; }
  .kc-bane-top { font-size: .84rem; }
  .kc-bane-top .kc-bane-hold { min-width: 0; }
}

/* ===================== Artikelsiden (artikel.php) ===================== */
.gitter--artikel { padding-top: 22px; }
.artikel { min-width: 0; max-width: 720px; }
.kruemme { display: flex; flex-wrap: wrap; gap: .4rem; font-size: .8rem; color: var(--daempet); margin-bottom: .9rem; }
.kruemme a { color: var(--daempet); }
.artikel-titel { font: 800 clamp(2rem, 1.4rem + 2.6vw, 3.1rem)/1.02 var(--overskrift); letter-spacing: -.01em; margin: 0; }
.artikel-dek { font-size: 1.18rem; line-height: 1.5; color: #2C3446; margin: .8rem 0 0; }
.byline {
  display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; margin: 1.1rem 0 1.2rem;
  padding: .7rem 0; border-top: 1px solid var(--linje); border-bottom: 1px solid var(--linje); font-size: .84rem; color: var(--daempet);
}
.byline-afsender { display: inline-flex; align-items: center; gap: .45rem; color: var(--tekst); }
.del { margin-left: auto; }
.del-knap {
  display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: 0 .8rem; cursor: pointer;
  background: #fff; border: 1px solid var(--linje); border-radius: var(--r); color: var(--tekst); font-weight: 600; font-size: .84rem;
}
.del-knap:hover { border-color: var(--navy); }

/* Resultattavlen øverst i artiklen, linker til kampcentret. */
.artikel-tavle {
  position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .6rem;
  padding: 18px 16px; border-radius: var(--r); color: #fff; text-decoration: none; overflow: hidden;
  background: linear-gradient(100deg, var(--f1) 0 50%, var(--f2) 50% 100%);
}
.artikel-tavle::before { content: ""; position: absolute; inset: 0; background: rgba(5,10,22,.62); }
.artikel-tavle > * { position: relative; }
.at-hold { display: grid; justify-items: center; gap: .35rem; font-weight: 700; text-align: center; }
.at-hold img { width: 52px; height: 52px; object-fit: contain; }
.at-midt { display: grid; justify-items: center; gap: .2rem; }
.at-midt b { font: 800 3rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.at-midt small { font-size: .76rem; font-weight: 600; color: #DCE3F2; text-decoration: underline; text-underline-offset: 3px; }
.artikel-tavle:hover .at-midt small { color: #fff; }

/* Brødteksten: læseflade, ikke instrument. */
.artikel-tekst { font-size: 1.12rem; line-height: 1.7; margin-top: 1.4rem; }
.artikel-tekst p { margin: 0 0 1.05em; }
.artikel-tekst .indledning { font-weight: 600; }
.artikel-tekst h2 { font: 800 1.65rem/1.1 var(--overskrift); margin: 1.6em 0 .5em; }

.faktaboks { border-top: 3px solid var(--navy); background: var(--flade); padding: 14px 16px 16px; margin: 1.4rem 0 1.6rem; font-size: .92rem; line-height: 1.45; border-radius: 0 0 var(--r) var(--r); }
.faktaboks h3 { font: 800 1.2rem/1 var(--overskrift); margin: 0 0 .7rem; }
.faktaboks dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: .6rem 1rem; margin: 0 0 .9rem; }
.faktaboks dt { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--daempet); }
.faktaboks dd { margin: .1rem 0 0; font-weight: 600; }
.faktaboks .tal { font-variant-numeric: tabular-nums; }
.fakta-maal { list-style: none; margin: 0; padding: .6rem 0 0; border-top: 1px solid var(--linje); display: grid; gap: .35rem; }
.fakta-maal li { display: grid; grid-template-columns: 2.4rem 2.6rem 1fr; gap: .5rem; align-items: baseline; }
.fakta-maal li span { color: var(--daempet); }
.fakta-maal .fm--u { color: #3A4256; }

.annonce--artikel { margin: 1.6rem 0; font-size: 1rem; line-height: 1.4; }

.blok-titel { font: 800 1.45rem/1 var(--overskrift); margin: 0 0 .7rem; border-top: 3px solid var(--navy); padding-top: .6rem; }
.artikel-naeste { margin-top: 2rem; }
.naeste-gitter { display: grid; gap: 12px; }
.naeste-kort { display: grid; gap: .4rem; padding: 12px 14px; border: 1px solid var(--linje); border-radius: var(--r); text-decoration: none; }
.naeste-kort:hover { border-color: var(--navy); }
.nk-dato { font-size: .8rem; font-weight: 600; color: var(--roed-tekst); }
.nk-hold { display: flex; align-items: center; gap: .5rem; font-weight: 600; }
.nk-hold img { width: 22px; height: 22px; object-fit: contain; }

.saadan-lavet { margin-top: 2rem; padding: 16px; border: 1px solid var(--linje); border-left: 4px solid var(--navy-2); border-radius: var(--r); font-size: .9rem; color: #2C3446; }
.saadan-lavet h2 { font: 800 1.15rem/1 var(--overskrift); margin: 0 0 .5rem; }
.saadan-lavet p { margin: .4rem 0 0; }

.kc-laes { display: inline-flex; align-items: center; gap: .4rem; font-weight: 700; color: var(--navy-2); margin-top: .3rem; }

@media (min-width: 600px) {
  .naeste-gitter { grid-template-columns: 1fr 1fr; }
  .at-hold img { width: 64px; height: 64px; }
  .at-midt b { font-size: 3.6rem; }
}
@media (max-width: 599px) {
  .del { margin-left: 0; }
  .artikel-tekst { font-size: 1.06rem; }
}

/* ===================== Tabelside og klubside ===================== */

/* Sidehoved: mørk flade med titel og underfaner. */
.side-hoved { background: var(--navy); color: #fff; }
.side-hoved .ramme:first-child { padding-top: 22px; }
.side-hoved h1 { font: 800 clamp(2.2rem, 1.6rem + 2.6vw, 3.4rem)/1 var(--overskrift); margin: .2rem 0 .4rem; }
.side-hoved-kicker { font: 700 .8rem/1 var(--overskrift); letter-spacing: .1em; text-transform: uppercase; color: var(--gul); margin: 0; }
.side-hoved-tal { margin: 0 0 14px; color: #B9C4DE; font-size: .9rem; }
.side-hoved-tal b { color: #fff; }

.tabelside { display: grid; gap: 28px; padding-block: 24px 40px; }
.tabelside-to { display: grid; gap: 28px; }

/* Den store tabel. */
.stor-tabel { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; font-size: .92rem; }
.stor-tabel th { font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--daempet); text-align: right; padding: .5rem .45rem; border-bottom: 2px solid var(--navy); }
.stor-tabel td { text-align: right; padding: .62rem .45rem; border-bottom: 1px solid var(--linje); }
.stor-tabel .v { text-align: left; }
.stor-tabel .plads { width: 2rem; color: var(--daempet); font-weight: 600; }
.stor-tabel .point { font-weight: 800; font-size: 1rem; }
.stor-tabel tbody tr:hover td { background: #F7F8FA; }
.tabel-hold { display: flex; align-items: center; gap: .6rem; text-decoration: none; font-weight: 600; }
.tabel-hold img { width: 24px; height: 24px; object-fit: contain; }
.tabel-hold:hover span { text-decoration: underline; }
.th-kort { display: none; }
.zone-top .plads { box-shadow: inset 3px 0 0 #2E9E5B; }
.zone-bund .plads { box-shadow: inset 3px 0 0 #C3C9D5; }
.zone-skel td { padding: 0; border-bottom: 0; }
.zone-skel span { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .04em; color: var(--daempet); padding: .35rem .45rem .2rem; }
.zone-skel td { border-top: 2px dashed #C3C9D5; display: table-cell; }
.zone-skel span:last-child { float: right; }
.form-felter { display: inline-flex; gap: 3px; }
.form-felter .fr { width: 22px; height: 22px; font-size: .82rem; }

.dag { font: 700 1rem/1 var(--overskrift); letter-spacing: .02em; color: var(--daempet); text-transform: uppercase; margin: .8rem 0 .2rem; }
.runde-liste--stor a { padding: .7rem 0; font-size: .95rem; }
.runde-liste--stor .rl-hold img { width: 22px; height: 22px; }
.runde-liste li { position: relative; }
.ref-maerke { position: absolute; right: 0; top: -2px; font-size: .64rem; font-weight: 700; color: var(--roed-tekst); text-transform: uppercase; letter-spacing: .06em; display: none; }
.topscorere--stor li { padding: .6rem 0; }
.topscorere--stor .ts-navn small a { color: var(--daempet); }

/* Klubhovedet i klubbens egen farve. */
.klub-hoved { position: relative; color: #fff; background: var(--f1); }
.klub-hoved::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(5,10,22,.82), rgba(5,10,22,.55)); }
.klub-hoved > * { position: relative; }
.klub-hoved-indre { display: grid; grid-template-columns: auto 1fr; gap: 14px 18px; align-items: center; padding-top: 22px; padding-bottom: 16px; }
.klub-logo { width: 72px; height: 72px; object-fit: contain; filter: drop-shadow(0 3px 8px rgba(0,0,0,.4)); }
.klub-titel h1 { font: 800 clamp(2rem, 1.5rem + 2.4vw, 3.2rem)/1 var(--overskrift); margin: .25rem 0 .55rem; }
.klub-tal { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin: 0; border-radius: var(--r); overflow: hidden; }
.klub-tal div { background: rgba(255,255,255,.08); padding: .7rem .8rem; }
.klub-tal dt { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #B9C4DE; }
.klub-tal dd { margin: .25rem 0 0; font: 800 1.9rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.klub-tal small { display: block; font: 500 .76rem/1.3 var(--broed); color: #B9C4DE; margin-top: .2rem; }

.klub-kort { display: grid; gap: 12px; margin-bottom: 1rem; }
.klub-kamp { display: grid; gap: .5rem; padding: 14px; border: 1px solid var(--linje); border-radius: var(--r); text-decoration: none; }
.klub-kamp:hover { border-color: var(--navy); }
.klub-kamp .kicker { justify-self: start; margin: 0; }
.kk-hold { display: grid; grid-template-columns: 22px 1fr auto 1fr 22px; gap: .5rem; align-items: center; font-weight: 700; }
.kk-hold img { width: 22px; height: 22px; object-fit: contain; }
.kk-hold b { font: 800 1.5rem/1 var(--overskrift); font-variant-numeric: tabular-nums; padding: 0 .3rem; }
.kk-hold > :nth-child(4) { text-align: right; }
.kk-meta { font-size: .8rem; color: var(--daempet); display: flex; align-items: center; gap: .4rem; }
.kk-meta .fr { width: 20px; height: 20px; font-size: .78rem; }
.kk-odds { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; font-size: .84rem; }
.kk-odds > span { background: var(--flade); border: 1px solid var(--linje); border-radius: var(--r); padding: .3rem .55rem; color: var(--daempet); font-weight: 600; }
.kk-odds b { color: var(--tekst); font-variant-numeric: tabular-nums; }
.kk-odds small { flex-basis: 100%; font-size: .74rem; color: var(--daempet); }

.hjemme-ude { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hu-kort { background: var(--flade); border-radius: var(--r); padding: 14px; display: grid; gap: .25rem; }
.hu-point { font: 800 2.4rem/1 var(--overskrift); font-variant-numeric: tabular-nums; margin-top: .2rem; }
.hu-forklar { font-size: .8rem; font-weight: 600; }
.hu-detalje { font-size: .78rem; color: var(--daempet); }

.kampliste { list-style: none; margin: 0; padding: 0; }
.kampliste a { display: grid; grid-template-columns: 3.2rem 1.6rem 1fr auto; gap: .6rem; align-items: center; padding: .6rem 0; border-top: 1px solid var(--linje); text-decoration: none; font-size: .92rem; }
.kampliste li:first-child a { border-top: 0; }
.kampliste a:hover { background: #F7F8FA; }
.kl-dato { font-size: .8rem; color: var(--daempet); font-variant-numeric: tabular-nums; }
.kl-sted { font: 700 .74rem/1 var(--broed); color: var(--daempet); border: 1px solid var(--linje); border-radius: var(--r); padding: .2rem 0; text-align: center; }
.kl-mod { display: flex; align-items: center; gap: .5rem; font-weight: 600; min-width: 0; }
.kl-mod img { width: 20px; height: 20px; object-fit: contain; }
.kl-res { display: flex; align-items: center; gap: .45rem; }
.kl-res b { font-variant-numeric: tabular-nums; min-width: 2.4rem; text-align: right; }
.kl-res .fr { width: 22px; height: 22px; font-size: .8rem; }
.kl-res--tid { font-weight: 700; color: var(--navy-2); font-variant-numeric: tabular-nums; }

.scorer-liste { list-style: none; margin: 0; padding: 0; }
.scorer-liste li { display: grid; grid-template-columns: 1.6rem minmax(0, 1fr) 2rem 3.6rem; grid-template-areas: "plads navn maal opl" ". bar bar bar"; gap: .2rem .6rem; align-items: center; padding: .55rem 0; border-top: 1px solid var(--linje); }
.scorer-liste li:first-child { border-top: 0; }
.sl-plads { grid-area: plads; color: var(--daempet); font-variant-numeric: tabular-nums; }
.sl-navn { grid-area: navn; font-weight: 600; }
.sl-maal { grid-area: maal; font: 800 1.4rem/1 var(--overskrift); text-align: right; font-variant-numeric: tabular-nums; }
.sl-oplaeg { grid-area: opl; font-size: .78rem; color: var(--daempet); text-align: right; }
.sl-bar { grid-area: bar; height: 5px; background: var(--flade); border-radius: 3px; overflow: hidden; }
.sl-bar i { display: block; height: 100%; background: var(--navy); border-radius: 3px; }

.spiller-tabel td.sp-navn { font-weight: 600; white-space: normal; }
.spiller-tabel .m { vertical-align: -.1em; margin-right: .25rem; }
.mini-tabel td.navn a { display: flex; align-items: center; gap: .45rem; text-decoration: none; }
.mini-tabel td.navn a:hover { text-decoration: underline; }

@media (min-width: 760px) {
  .tabelside-to { grid-template-columns: 1fr 1fr; }
  .klub-hoved-indre { grid-template-columns: auto 1fr auto; }
  .klub-tal { grid-column: auto; min-width: 360px; }
  .klub-logo { width: 96px; height: 96px; }
  .klub-kort { grid-template-columns: 1fr 1fr; }
  .ref-maerke { display: block; }
}
@media (max-width: 599px) {
  .th-lang { display: none; }
  .th-kort { display: inline; }
  .stor-tabel .kun-bred, .spiller-tabel .kun-bred { display: none; }
  .stor-tabel td, .stor-tabel th { padding-left: .3rem; padding-right: .3rem; }
  .form-felter .fr { width: 18px; height: 20px; font-size: .74rem; }
  .form-kol .fr:nth-child(n+4) { display: none; }
  .kampliste a { grid-template-columns: 2.8rem 1.5rem 1fr auto; gap: .45rem; }
}
.kc-klub { display: grid; justify-items: center; gap: .45rem; color: inherit; text-decoration: none; }
.kc-klub:hover .kc-navn { text-decoration: underline; }
.fane-link { display: inline-block; margin-top: .6rem; font-size: .84rem; font-weight: 700; color: var(--navy-2); }
.zone-skel td { text-align: left; }
.klub-kamp { align-content: start; }

/* Logoer på hvid flade: FCK, Lyngby og FCM har hvid yderkant (målt: 84-100 % af kanten),
   som forsvinder mod papiret. En hårfin kontur giver formen tilbage uden at farve logoet. */
.mini-tabel td.navn img, .topscorere img, .kc-form h3 img, .kc-stat-hold img, .kc-bane-hold img,
.rl-hold img, .kcs-hold img, .nk-hold img, .tabel-hold img, .kk-hold img, .kl-mod img {
  filter: drop-shadow(0 0 .6px rgba(10,21,48,.55)) drop-shadow(0 0 .6px rgba(10,21,48,.35));
}

/* Fotos fra API-Football (se fb_foto). Stadion bag scoretavlen, portrætter ved mål og bedste rating. */
.kc-hoved--foto { background: var(--navy) var(--foto) center 55% / cover no-repeat; }
.kc-hoved--foto::before { background: linear-gradient(180deg, rgba(5,10,22,.62) 0%, rgba(5,10,22,.80) 55%, rgba(5,10,22,.92) 100%); }
.kc-hoved--foto::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--f1) 0 50%, var(--f2) 50% 100%); }
.foto-kredit { display: block; font-size: .68rem; color: #8592AF; margin-top: .3rem; }

.tl-foto { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; background: #E9ECF2; border: 2px solid #fff; outline: 1px solid var(--linje); }
.tl--h .tl-tekst:has(.tl-foto) { grid-template-columns: 1fr 44px; column-gap: .6rem; align-items: center; }
.tl--h .tl-tekst:has(.tl-foto) > :not(.tl-foto) { grid-column: 1; }
.tl--h .tl-foto { grid-column: 2; grid-row: 1 / span 3; }
.tl--u .tl-tekst:has(.tl-foto) { grid-template-columns: 44px 1fr; column-gap: .6rem; align-items: center; }
.tl--u .tl-tekst:has(.tl-foto) > :not(.tl-foto) { grid-column: 2; }
.tl--u .tl-foto { grid-column: 1; grid-row: 1 / span 3; }

.hoejeste { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin-top: 1.4rem; padding: .9rem 0; border-top: 3px solid var(--navy); border-bottom: 1px solid var(--linje); }
.hoejeste-foto { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; object-position: top; background: var(--klub, #E9ECF2); }
.hoejeste-tekst { display: grid; gap: .15rem; min-width: 0; }
.hoejeste-tekst small { font: 700 .74rem/1 var(--overskrift); letter-spacing: .08em; text-transform: uppercase; color: var(--roed-tekst); }
.hoejeste-tekst b { font: 800 1.6rem/1.05 var(--overskrift); }
.hoejeste-tekst span { font-size: .85rem; color: var(--daempet); }
.hoejeste-tal { font: 800 2rem/1 var(--overskrift); font-style: normal; font-variant-numeric: tabular-nums; background: var(--gul); color: var(--navy); padding: .45rem .6rem; border-radius: var(--r); }
@media (max-width: 560px) {
  .hoejeste-foto { width: 64px; height: 64px; }
  .hoejeste-tekst b { font-size: 1.3rem; }
  .hoejeste-tal { font-size: 1.5rem; }
  .tl-foto { width: 36px; height: 36px; }
  .tl--h .tl-tekst:has(.tl-foto) { grid-template-columns: 1fr 36px; }
  .tl--u .tl-tekst:has(.tl-foto) { grid-template-columns: 36px 1fr; }
}

.klub-hoved--foto { background: var(--navy) var(--foto) center 50% / cover no-repeat; }
.klub-hoved--foto::before { background: linear-gradient(90deg, rgba(5,10,22,.90) 0%, rgba(5,10,22,.72) 60%, rgba(5,10,22,.55) 100%); }
.klub-hoved--foto::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--f1); }
.klub-stadion { margin: .45rem 0 0; font-size: .82rem; color: #C3CCE0; }
.klub-stadion .foto-kredit { display: inline; margin: 0 0 0 .4rem; }

.sl-navn { display: flex; align-items: center; gap: .6rem; min-width: 0; }
.sp-foto { flex: none; width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: top; background: #E9ECF2; outline: 1px solid var(--linje); }
.sp-foto--tom { display: inline-block; background: #F1F3F7; }
.sp-navn { white-space: nowrap; }
.sp-foto--lille { width: 26px; height: 26px; vertical-align: middle; margin-right: .5rem; }

.artikel-figur { margin: 0 0 1.4rem; }
.artikel-figur .artikel-tavle { margin: 0; }
.artikel-tavle--foto { background: var(--navy) var(--foto) center 55% / cover no-repeat; min-height: 260px; align-content: end; padding-top: 60px; }
.artikel-tavle--foto::before { background: linear-gradient(180deg, rgba(5,10,22,.25) 0%, rgba(5,10,22,.55) 45%, rgba(5,10,22,.88) 100%); }
.artikel-tavle--foto::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: linear-gradient(90deg, var(--f1) 0 50%, var(--f2) 50% 100%); }
.artikel-figur figcaption { font-size: .78rem; color: var(--daempet); padding: .45rem 0 0; border-bottom: 1px solid var(--linje); padding-bottom: .45rem; }
@media (min-width: 900px) { .artikel-tavle--foto { min-height: 340px; } }

.fakta-maal li { grid-template-columns: 2.4rem 2.6rem 28px 1fr; align-items: center; }
.fm-foto { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; object-position: top; background: #F1F3F7; outline: 1px solid var(--linje); display: block; }

/* Målkongens portræt i grafikken; klublogoet bliver et lille mærke. */
.grafik--portraet .g-portraet { width: 42%; max-width: 168px; height: auto; aspect-ratio: 1; border-radius: 50%; object-fit: cover; object-position: top; background: #fff; border: 4px solid #fff; }
.grafik--portraet .g-portraet + img { width: 34px; height: 34px; align-self: flex-end; margin: 0 0 1.1rem -2.2rem; }
.grafik--portraet { gap: 1.2rem; }
@media (max-width: 599px) {
  .sekundaere .grafik--portraet { gap: .15rem; }
  .sekundaere .grafik--portraet .g-portraet { width: 56%; height: auto; border-width: 2px; }
  .sekundaere .grafik--portraet b { font-size: 1.9rem; }
  .sekundaere .grafik--portraet .g-portraet + img { display: none; }
}

.topscorere li { grid-template-columns: 1.4rem 40px 1fr auto; }
.topscorere li > img { justify-self: center; }
.ts-foto { position: relative; width: 40px; height: 40px; }
.ts-foto img:first-child { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; object-position: top; background: #E9ECF2; outline: 1px solid var(--linje); }
.topscorere .ts-foto .ts-logo { position: absolute; right: -4px; bottom: -3px; width: 18px; height: 18px; background: #fff; border-radius: 50%; padding: 1px; }

/* ---------- Spillersiden ---------- */
.spiller-hoved { position: relative; color: #fff; background: var(--navy); overflow: hidden; }
.spiller-hoved::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, var(--f1) 0 30%, transparent 30%); opacity: .6; }
.spiller-hoved::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--f1); }
.spiller-hoved > * { position: relative; }
.spiller-hoved-indre { display: grid; grid-template-columns: auto 1fr; gap: 14px 22px; align-items: end; padding-top: 24px; padding-bottom: 18px; }
.spiller-foto { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; object-position: top; background: #fff; border: 4px solid #fff; }
.spiller-foto--tom { display: block; background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); }
.spiller-titel h1 { font: 800 clamp(2.2rem, 1.6rem + 2.8vw, 3.6rem)/.95 var(--overskrift); margin: .3rem 0 .6rem; }
.spiller-klub { display: inline-flex; align-items: center; gap: .45rem; color: #fff; font-weight: 600; text-decoration: none; }
.spiller-klub img { width: 26px; height: 26px; object-fit: contain; }
.spiller-klub:hover { text-decoration: underline; }
.spiller-fakta { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; margin: 0; border-radius: var(--r); overflow: hidden; }
.spiller-fakta div { background: rgba(255,255,255,.08); padding: .65rem .8rem; }
.spiller-fakta dt { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #B9C4DE; }
.spiller-fakta dd { margin: .25rem 0 0; font: 800 1.6rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.spiller-fakta dd.dd-tekst { font-size: 1.35rem; }
.spiller-fakta small { display: block; font: 500 .76rem/1.3 var(--broed); color: #B9C4DE; margin-top: .2rem; }
@media (min-width: 900px) {
  .spiller-hoved-indre { grid-template-columns: auto 1fr minmax(320px, 400px); }
  .spiller-fakta { grid-column: auto; align-self: end; }
  .spiller-foto { width: 180px; height: 180px; }
}
@media (max-width: 599px) {
  .spiller-foto { width: 96px; height: 96px; border-width: 3px; }
  .spiller-hoved-indre { align-items: center; }
}

.spiller-tal { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); border-top: 3px solid var(--navy); }
.spiller-tal > div { display: grid; gap: .1rem; padding: .9rem .9rem .8rem 0; border-bottom: 1px solid var(--linje); }
.spiller-tal b { font: 800 2.6rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.spiller-tal span { font: 700 .8rem/1.1 var(--overskrift); letter-spacing: .06em; text-transform: uppercase; }
.spiller-tal small { font-size: .78rem; color: var(--daempet); min-height: 1em; }
.spiller-tal .st-rating b { display: inline-block; justify-self: start; background: var(--gul); color: var(--navy); padding: .1rem .4rem; border-radius: var(--r); }
.spiller-detaljer { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 0 1rem; margin: .4rem 0 0; }
.spiller-detaljer div { display: flex; justify-content: space-between; align-items: baseline; gap: .5rem; padding: .5rem 0; border-bottom: 1px solid var(--linje); }
.spiller-detaljer dt { font-size: .86rem; color: var(--daempet); }
.spiller-detaljer dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.spiller-detaljer dd small { display: block; font-weight: 400; font-size: .74rem; color: var(--daempet); }

/* Rating kamp for kamp: én søjle pr. af klubbens kampe. */
.rating-graf { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(26px, 1fr); gap: 4px; align-items: end; padding: .6rem 0 .2rem; overflow-x: auto; }
.rg-kamp { display: grid; grid-template-rows: 18px 150px 22px auto; justify-items: center; gap: 3px; text-decoration: none; color: var(--blaek, #0E1424); }
.rg-markoerer { display: flex; gap: 1px; align-items: end; }
.rg-markoerer .m { width: 11px; height: 11px; }
.rg-soejle { box-sizing: border-box; padding-top: 16px; width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: center; background: repeating-linear-gradient(0deg, transparent 0 37px, #EEF0F4 37px 38px); border-bottom: 2px solid var(--navy); }
.rg-soejle i { position: relative; width: 78%; max-width: 34px; background: var(--navy); border-radius: 2px 2px 0 0; }
.rg-soejle i.r-god { background: #1D7A4E; }
.rg-soejle i.r-svag { background: #9AA3B5; }
.rg-soejle i.r-bedst { background: var(--gul); }
.rg-soejle i b { position: absolute; left: 50%; bottom: 100%; transform: translate(-50%, -2px); font: 700 .72rem/1 var(--overskrift); font-variant-numeric: tabular-nums; color: var(--navy); white-space: nowrap; }
.rg-soejle em { font-style: normal; font-size: .62rem; color: var(--daempet); writing-mode: vertical-rl; transform: rotate(180deg); margin-bottom: 6px; }
.rg-kamp img { width: 20px; height: 20px; object-fit: contain; }
.rg-kamp small { font-size: .66rem; color: var(--daempet); }
.rg-ikke img { opacity: .45; }
.rg-kamp:hover .rg-soejle { background-color: #F6F7FA; }
@media (max-width: 599px) { .rg-kamp { grid-template-rows: 18px 120px 20px auto; } .rg-soejle i b { font-size: .62rem; } }

.kamp-log { margin-top: 1rem; }
.kamp-log .fr { width: auto; padding: 0 .35rem; }
.daempet-raekke td { color: var(--daempet); }
.ikke-med { text-align: left; font-style: italic; }
.karriere tr.ny-saeson td { border-top: 2px solid var(--navy); }
.skifter { list-style: none; margin: 0; padding: 0; }
.skifter li { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr) 1.2rem minmax(0, 1fr) 7.5rem; gap: .5rem; align-items: center; padding: .6rem 0; border-top: 1px solid var(--linje); font-size: .9rem; }
.sk-dato { color: var(--daempet); font-variant-numeric: tabular-nums; }
.sk-hold { display: flex; align-items: center; gap: .4rem; font-weight: 600; min-width: 0; }
.sk-hold img { width: 22px; height: 22px; object-fit: contain; flex: none; }
.sk-pil { color: var(--roed-tekst); font-weight: 800; text-align: center; }
.sk-type { text-align: right; font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--daempet); }
@media (max-width: 599px) {
  .skifter li { grid-template-columns: minmax(0, 1fr) 1.2rem minmax(0, 1fr); }
  .sk-dato { grid-column: 1 / -1; }
  .sk-type { grid-column: 1 / -1; }
}
.annonce--side { margin-top: 1.4rem; }
.ts-navn a { color: inherit; text-decoration: none; }
.ts-navn a:hover { text-decoration: underline; }
.kamp-log .rating { position: static; display: inline-block; font-size: .8rem; padding: .2rem .35rem; }
a.spiller { color: inherit; text-decoration: none; }
a.spiller:hover .spiller-navn { text-decoration: underline; }
.tl-tekst b a, .hoejeste-tekst b a, .sl-navn a, .sp-navn a, .udskift a { color: inherit; text-decoration: none; }
.tl-tekst b a:hover, .hoejeste-tekst b a:hover, .sl-navn a:hover, .sp-navn a:hover, .udskift a:hover { text-decoration: underline; }
.hovedspalte, .kc-afsnit { min-width: 0; }
.rating-graf { max-width: 100%; }
@media (max-width: 599px) { .rg-soejle i b { font-size: .7rem; } .rg-soejle em { font-size: .7rem; } .rating-graf { gap: 2px; } }
@media (max-width: 599px) {
  .kun-bred-i { display: none; }
  .kamp-log th, .kamp-log td { padding-left: .3rem; padding-right: .3rem; }
  .kamp-log .kl-mod img { width: 18px; height: 18px; }
}
@media (max-width: 599px) { .spiller-fakta dd { font-size: 1.2rem; white-space: nowrap; } .spiller-fakta dd.dd-tekst { font-size: 1.05rem; } .spiller-fakta div { padding: .55rem .6rem; } }
@media (max-width: 599px) { .sk-type:empty { display: none; } .skifter .sk-type { text-align: left; } }
.sk-hold span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Rundeartikler (optakt og rundens tal) ---------- */
.rundeboks { margin: 1.4rem 0 .4rem; border-top: 3px solid var(--navy); padding-top: .6rem; }
.rundeboks-titel { font: 700 .8rem/1 var(--overskrift); letter-spacing: .08em; text-transform: uppercase; color: var(--daempet); margin: .4rem 0 .6rem; }
.rb-program { list-style: none; margin: 0; padding: 0; }
.rb-program li { padding: .65rem 0; border-bottom: 1px solid var(--linje); }
.rb-kamp { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr) minmax(0, 1fr); gap: .6rem; align-items: center; color: inherit; text-decoration: none; }
.rb-kamp:hover .rb-hold { text-decoration: underline; }
.rb-tid { font-size: .8rem; color: var(--daempet); font-variant-numeric: tabular-nums; }
.rb-hold { display: flex; align-items: center; gap: .45rem; font-weight: 700; min-width: 0; }
.rb-hold--ude { justify-content: flex-end; }
.rb-hold img { width: 22px; height: 22px; object-fit: contain; flex: none; }
.rb-bar { display: flex; gap: 2px; margin-top: .45rem; height: 22px; border-radius: var(--r); overflow: hidden; font: 700 .74rem/22px var(--broed); font-style: normal; font-variant-numeric: tabular-nums; }
.rb-bar i { font-style: normal; text-align: center; white-space: nowrap; overflow: hidden; min-width: 2.4rem; }
.rb-h { background: var(--navy); color: #fff; }
.rb-u { background: #C9CFDA; color: var(--navy); }
.rb-a { background: #7D869A; color: #fff; }
.rb-tabel { margin-top: .2rem; }
.rb-tabel .rb-streg td { border-bottom: 2px solid var(--navy); }
.rb-flyt { font-size: .74rem; font-weight: 700; white-space: nowrap; }
.rb-flyt--op { color: #1D7A4E; }
.rb-flyt--ned { color: var(--roed-tekst); }
.rb-flyt--nul { color: var(--daempet); }
.nyhedsliste { list-style: none; margin: 0; padding: 0; }
.nyhedsliste li { border-top: 1px solid var(--linje); }
.nyhedsliste li:first-child { border-top: 0; }
.nyhedsliste a { display: grid; gap: .15rem; padding: .6rem 0; color: inherit; text-decoration: none; font: 700 1.05rem/1.2 var(--overskrift); }
.nyhedsliste a:hover { text-decoration: underline; }
.nyhedsliste small, .rundelink small { font: 700 .7rem/1 var(--broed); letter-spacing: .06em; text-transform: uppercase; color: var(--roed-tekst); }
.rundelink { display: grid; gap: .2rem; margin: 0 0 .8rem; padding: .7rem .8rem; border-left: 4px solid var(--roed); background: var(--flade, #F4F6F9); color: inherit; text-decoration: none; font: 700 1.1rem/1.2 var(--overskrift); }
.rundelink:hover { text-decoration: underline; }
@media (max-width: 599px) {
  .rb-kamp { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .rb-tid { grid-column: 1 / -1; }
}

/* ---------- Spillerstatistik og rundens hold ---------- */
.sk-gitter { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.sk-kort { border: 1px solid var(--linje); border-top: 3px solid var(--navy); border-radius: var(--r); background: #fff; display: grid; grid-template-rows: auto 1fr auto; }
.sk-kort-hoved { display: flex; justify-content: space-between; align-items: center; padding: .7rem .9rem .3rem; color: inherit; text-decoration: none; }
.sk-kort-hoved h3 { font: 700 1.05rem/1.15 var(--overskrift); margin: 0; }
.sk-kort-hoved span { color: var(--daempet); font-size: 1.3rem; }
.sk-kort-hoved:hover h3 { text-decoration: underline; }
.sk-liste { list-style: none; margin: 0; padding: 0 .9rem; }
.sk-raekke { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: .6rem; align-items: center; padding: .5rem 0; border-top: 1px solid var(--linje); }
.sk-raekke:first-child { border-top: 0; }
.sk-foto { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; object-position: top; background: #E9ECF2; outline: 1px solid var(--linje); display: block; }
.sk-foto--tom { background: #F1F3F7; }
.sk-navn { display: grid; min-width: 0; font-weight: 600; font-size: .92rem; }
.sk-navn a { color: inherit; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sk-navn a:hover { text-decoration: underline; }
.sk-navn small { display: flex; align-items: center; gap: .3rem; font-weight: 400; font-size: .76rem; color: var(--daempet); }
.sk-navn small img { width: 14px; height: 14px; object-fit: contain; }
.sk-vaerdi { font: 700 .95rem/1 var(--overskrift); font-variant-numeric: tabular-nums; padding: .3rem .45rem; border-radius: var(--r); }
.sk-vaerdi--foerst { background: var(--gul); color: var(--navy); }
.sk-alle { display: block; text-align: center; padding: .55rem; border-top: 1px solid var(--linje); font: 700 .8rem/1 var(--broed); color: var(--navy); text-decoration: none; letter-spacing: .04em; text-transform: uppercase; }
.sk-alle:hover { background: var(--flade, #F4F6F9); }
.sk-tilbage { display: inline-block; margin-bottom: .6rem; font-weight: 600; color: var(--navy); }
.sk-kilde { margin-top: 1.6rem; }
.statistikside { padding-bottom: 2rem; }

.rh-afsnit .blok-hoved { align-items: center; }
.rh-skift { display: inline-flex; align-items: center; gap: .6rem; font: 700 .95rem/1 var(--overskrift); }
.rh-skift a { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--navy); color: #fff; text-decoration: none; font-size: 1.1rem; }
.rh-bane { position: relative; background: #1F6B3E; background-image: repeating-linear-gradient(0deg, #1F6B3E 0 44px, #22733F 44px 88px); border-radius: var(--r); padding: 18px 6px 14px; display: grid; gap: 14px; max-width: 560px; }
.rh-linjer { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); stroke: rgba(255,255,255,.35); stroke-width: .5; fill: none; pointer-events: none; }
.rh-raekke { position: relative; display: flex; justify-content: space-evenly; }
.rh-spiller { display: grid; justify-items: center; gap: 3px; width: 86px; color: #fff; text-decoration: none; position: relative; }
.rh-foto { position: relative; width: 52px; height: 52px; }
.rh-foto img:first-child { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; object-position: top; background: #fff; border: 2px solid #fff; }
.rh-foto:empty, .rh-foto:not(:has(img:first-child:not(.rh-logo))) { border-radius: 50%; background: rgba(255,255,255,.18); }
.rh-logo { position: absolute; right: -4px; bottom: -2px; width: 20px !important; height: 20px !important; border: 0 !important; background: #fff !important; border-radius: 50%; padding: 1px; object-fit: contain !important; }
.rh-rating { position: absolute; top: -6px; right: 8px; font: 700 .72rem/1 var(--broed); font-style: normal; background: #1E7F4F; color: #fff; padding: .18rem .3rem; border-radius: 3px; font-variant-numeric: tabular-nums; }
.rh-rating--bedst { background: var(--gul); color: var(--navy); }
.rh-navn { font: 700 .82rem/1.1 var(--overskrift); text-shadow: 0 1px 2px rgba(0,0,0,.5); max-width: 86px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
a.rh-spiller:hover .rh-navn { text-decoration: underline; }
@media (max-width: 599px) {
  .rh-spiller { width: 72px; }
  .rh-foto, .rh-foto img:first-child { width: 44px; height: 44px; }
  .rh-navn { font-size: .74rem; max-width: 72px; }
}
.rh-layout { display: grid; gap: 14px; align-items: start; }
@media (min-width: 900px) { .rh-layout { grid-template-columns: minmax(0, 560px) minmax(260px, 1fr); } }
.rh-top .sk-liste { padding-bottom: .4rem; }

/* ---------- Transfers ---------- */
.tr-klubber { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 12px; scrollbar-width: thin; }
.tr-klubber a { display: inline-flex; align-items: center; gap: .35rem; padding: .4rem .65rem; border-radius: var(--r); background: rgba(255,255,255,.08); color: #fff; text-decoration: none; font-weight: 600; font-size: .85rem; white-space: nowrap; }
.tr-klubber a img { width: 18px; height: 18px; object-fit: contain; }
.tr-klubber a.aktiv { background: #fff; color: var(--navy); }
.tr-liste { list-style: none; margin: 0; padding: 0; }
.tr-skifte { display: grid; grid-template-columns: 3rem minmax(0, 1.3fr) minmax(0, 1fr) 1.2rem minmax(0, 1fr) 7.5rem; gap: .5rem; align-items: center; padding: .55rem 0; border-top: 1px solid var(--linje); font-size: .9rem; }
.tr-skifte:first-child { border-top: 0; }
.tr-dato { color: var(--daempet); font-variant-numeric: tabular-nums; font-size: .82rem; }
.tr-spiller { display: flex; align-items: center; gap: .5rem; min-width: 0; font-weight: 700; }
.tr-spiller a { color: inherit; text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-spiller a:hover { text-decoration: underline; }
.tr-spiller span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-spiller .sk-foto { width: 30px; height: 30px; flex: none; }
.tr-klub { display: flex; align-items: center; gap: .35rem; min-width: 0; }
.tr-klub img { width: 20px; height: 20px; object-fit: contain; flex: none; }
.tr-klub span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tr-pil { color: var(--roed-tekst); font-weight: 800; text-align: center; }
.tr-type { justify-self: end; font: 700 .7rem/1 var(--broed); letter-spacing: .04em; text-transform: uppercase; padding: .3rem .45rem; border-radius: var(--r); background: #EEF0F4; color: var(--navy); white-space: nowrap; }
.tr-type--leje, .tr-type--leje_retur { background: #FFF4D6; }
.tr-type--fri { background: #E3F2EA; color: #1D5E3D; }
.tr-type--kontrakt_udloebet { background: #F4F4F4; color: var(--daempet); }
.tr--ind { box-shadow: inset 3px 0 0 #1D9E5B; padding-left: .5rem; }
.tr--ud { box-shadow: inset 3px 0 0 var(--roed); padding-left: .5rem; }
@media (max-width: 699px) {
  .tr-skifte { grid-template-columns: 2.6rem minmax(0, 1fr) auto; grid-template-areas: "dato spiller type" "dato fra fra" "dato til til"; row-gap: .25rem; }
  .tr-dato { grid-area: dato; align-self: start; padding-top: .35rem; }
  .tr-spiller { grid-area: spiller; }
  .tr-type { grid-area: type; }
  .tr-skifte .tr-klub:nth-of-type(3) { grid-area: fra; }
  .tr-pil { display: none; }
  .tr-skifte .tr-klub:nth-of-type(5) { grid-area: til; }
  .tr-skifte .tr-klub:nth-of-type(5)::before { content: "→"; color: var(--roed-tekst); font-weight: 800; }
}
.tr-kort { display: grid; grid-template-columns: auto 1fr; gap: .6rem 1rem; align-items: center; margin: 1.4rem 0 .8rem; padding: 1rem; border-top: 3px solid var(--navy); background: var(--flade, #F4F6F9); border-radius: 0 0 var(--r) var(--r); }
.tr-kort-foto { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; object-position: top; background: #fff; grid-row: span 2; }
.tr-kort-navn { display: grid; gap: .2rem; font: 800 1.5rem/1.05 var(--overskrift); }
.tr-kort-navn a { color: inherit; text-decoration: none; }
.tr-kort-navn small { font: 500 .82rem/1.3 var(--broed); color: var(--daempet); }
.tr-kort-vej { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; font-weight: 700; }
.tr-kort-klub { display: inline-flex; align-items: center; gap: .4rem; }
.tr-kort-klub img { width: 28px; height: 28px; object-fit: contain; }
.tr-saesoner { margin-bottom: 1rem; }
.tr-opsum { width: 100%; border-collapse: collapse; font-size: .9rem; font-variant-numeric: tabular-nums; }
.tr-opsum th { font-size: .7rem; font-weight: 700; color: var(--daempet); text-transform: uppercase; letter-spacing: .05em; text-align: right; padding: .35rem .4rem; white-space: nowrap; }
.tr-opsum td { padding: .45rem .4rem; border-top: 1px solid var(--linje); text-align: right; white-space: nowrap; }
.tr-opsum .v { text-align: left; }
.tr-opsum td.v a { display: inline-flex; align-items: center; gap: .45rem; color: inherit; text-decoration: none; font-weight: 600; }
.tr-opsum td.v a:hover { text-decoration: underline; }
.tr-opsum td.v img { width: 20px; height: 20px; object-fit: contain; flex: none; }
.kun-smal-i { display: none; }
@media (max-width: 599px) { .kun-smal-i { display: inline; } .tr-opsum { font-size: .86rem; } .tr-opsum th, .tr-opsum td { padding-left: .3rem; padding-right: .3rem; } }
.tr-modsiges { grid-column: 2 / -1; font-size: .76rem; color: var(--roed-tekst); }

/* ---------- Milepæle og rekorder ---------- */
.mp-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.mp-fund { display: grid; grid-template-columns: 3.4rem 1fr; gap: .8rem; align-items: start; padding: .65rem .75rem; border: 1px solid var(--linje); border-left: 4px solid var(--navy); border-radius: var(--r); background: #fff; }
.mp-tal { font: 800 2rem/1 var(--overskrift); font-variant-numeric: tabular-nums; color: var(--navy); text-align: center; padding-top: .1rem; }
.mp-tekst { display: grid; gap: .15rem; font-weight: 600; font-size: .95rem; }
.mp-tekst small { font: 700 .7rem/1 var(--broed); letter-spacing: .06em; text-transform: uppercase; color: var(--roed-tekst); }
.mp-tekst em { font-style: normal; font-weight: 400; font-size: .82rem; color: var(--daempet); }
.mp--stime_brudt, .mp--svageste_start { border-left-color: var(--daempet); }
.mp--maal_milepael, .mp--kampe_milepael, .mp--hattrick, .mp--foerste_maal { border-left-color: var(--gul); }

/* ---------- Danskere ude ---------- */
.dk-liste { list-style: none; margin: 0; padding: 0; }
.dk-spiller { display: grid; grid-template-columns: 44px minmax(0, 1fr) repeat(3, 3rem); gap: .7rem; align-items: center; padding: .6rem 0; border-top: 1px solid var(--linje); }
.dk-spiller:first-child { border-top: 0; }
.dk-foto { width: 44px; height: 44px; }
.dk-navn { display: grid; gap: .15rem; min-width: 0; }
.dk-navn b { font: 700 1.05rem/1.15 var(--overskrift); }
.dk-navn small { display: flex; align-items: center; gap: .3rem; font-size: .78rem; color: var(--daempet); flex-wrap: wrap; }
.dk-navn small img { width: 15px; height: 15px; object-fit: contain; }
.dk-seneste { color: #2C3446 !important; }
.dk-tal { display: grid; justify-items: center; }
.dk-tal b { font: 800 1.25rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.dk-tal small { font-size: .66rem; color: var(--daempet); text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 599px) { .dk-spiller { grid-template-columns: 40px minmax(0, 1fr) repeat(2, 2.6rem); } }
.dk-tabel td.v { white-space: normal; }
.dk-celle { display: flex; align-items: center; gap: .45rem; }
.dk-celle img { width: 20px; height: 20px; object-fit: contain; flex: none; }
.dk-celle span { display: grid; }
.dk-celle small { font-size: .74rem; color: var(--daempet); font-weight: 400; }
.dk-celle small { overflow-wrap: anywhere; }
@media (max-width: 599px) { .dk-tabel .kun-bred { display: none; } .dk-tabel { table-layout: fixed; } .dk-tabel th:first-child, .dk-tabel td:first-child { width: auto; } .dk-tabel th:not(:first-child), .dk-tabel td:not(:first-child) { width: 3rem; } }
.dk-maerke { display: inline-block; margin-left: .45rem; font: 700 .62rem/1 var(--broed); font-style: normal; letter-spacing: .05em; text-transform: uppercase; padding: .22rem .35rem; border-radius: 3px; background: var(--roed); color: #fff; vertical-align: .15em; }
.dk-maerke--u21 { background: var(--navy); }

/* Kampprogrammet (/superligaen/kampe/) */
.kc-faner a.aktiv { background: #fff; color: var(--navy); }
.kc-faner a { justify-content: center; min-width: 40px; }
.rl-midt small { display: block; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--daempet); }
.dag small { font: 500 .78rem/1 var(--broed); text-transform: none; letter-spacing: 0; }
.kampe-aflyst a { opacity: .55; }
.kampe-igang .rl-midt { color: var(--roed-tekst); }
.kampe-runde--aktuel .blok-hoved { border-top-color: var(--roed); }

/* Nyhedsoversigten (/nyheder/) */
.nyheds-oversigt { list-style: none; margin: 0; padding: 0; }
.nyheds-oversigt a { display: flex; gap: .9rem; padding: .9rem 0; border-top: 1px solid var(--linje); text-decoration: none; color: inherit; }
.nyheds-oversigt li:first-child a { border-top: 0; }
.nyheds-oversigt a:hover b { text-decoration: underline; }
.no-logoer { flex: none; display: grid; gap: 4px; align-content: start; padding-top: .2rem; }
.no-logoer img { width: 26px; height: 26px; object-fit: contain; }
.no-tekst { display: grid; gap: .2rem; min-width: 0; }
.no-tekst small { font: 700 .74rem/1.2 var(--overskrift); letter-spacing: .08em; text-transform: uppercase; color: var(--roed-tekst); }
.no-tekst b { font: 700 1.25rem/1.15 var(--overskrift); }
.no-dek { color: var(--daempet); font-size: .92rem; }
.no-tekst .meta { margin: .1rem 0 0; }

/* Kluboversigten (/klubber/) */
.klub-gitter { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 560px) { .klub-gitter { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .klub-gitter { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.klub-gitter a { display: grid; justify-items: center; gap: .35rem; padding: 16px 10px 12px; border: 1px solid var(--linje); border-top: 4px solid var(--kf, var(--navy)); border-radius: var(--r); text-decoration: none; color: inherit; text-align: center; height: 100%; box-sizing: border-box; }
.klub-gitter a:hover { background: var(--flade); }
.klub-gitter img { width: 56px; height: 56px; object-fit: contain; }
.klub-gitter b { font: 700 1.1rem/1.1 var(--overskrift); }
.klub-gitter small { color: var(--daempet); font-size: .8rem; font-variant-numeric: tabular-nums; }
.klub-gitter .form-felter { justify-content: center; }

/* 404 */
.fejlside h1 { font: 800 clamp(2.2rem, 1.6rem + 2.6vw, 3.4rem)/1 var(--overskrift); margin: .2rem 0 .4rem; }
.fejlside .side-hoved-kicker { color: var(--roed-tekst); }

/* Søgning (/soeg/) */
.skjult { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.soeg-form { display: flex; gap: 6px; padding-bottom: 18px; max-width: 560px; }
.soeg-form input { flex: 1; min-width: 0; min-height: 44px; padding: 0 .8rem; border: 0; border-radius: var(--r); font: 500 1rem var(--broed); }
.soeg-form button { min-height: 44px; padding: 0 1.1rem; border: 0; border-radius: var(--r); background: var(--roed); color: #fff; font-weight: 700; cursor: pointer; }
.soeg-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 16px; }
.soeg-liste a { display: flex; align-items: center; gap: .6rem; padding: .55rem 0; border-top: 1px solid var(--linje); text-decoration: none; color: inherit; min-height: 44px; }
.soeg-liste a:hover b { text-decoration: underline; }
.soeg-liste img:not(.sk-foto) { width: 28px; height: 28px; object-fit: contain; }
.soeg-liste small { margin-left: auto; color: var(--daempet); font-size: .8rem; }

/* Landsholdet (/landsholdet/) */
.lh-hold { gap: 1.2rem; }
.lh-hold + .lh-hold { margin-top: 1.6rem; }
.lh-titel { font: 800 clamp(1.7rem, 1.3rem + 1.6vw, 2.4rem)/1 var(--overskrift); margin: 0; padding-top: .6rem; border-top: 4px solid var(--roed); }
.lh-hold h3 { font: 700 1.15rem/1.1 var(--overskrift); margin: 0; }
.lh-to { display: grid; gap: 1.2rem; align-items: start; }
@media (min-width: 760px) { .lh-to { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.lh-kamp { display: grid; grid-template-columns: 1fr auto 1fr; gap: .5rem; align-items: center; font-size: .95rem; font-weight: 500; }
.lh-kamp .lh-meta { grid-column: 1 / -1; }
.runde-liste li > .lh-kamp { padding: .7rem 0; border-top: 1px solid var(--linje); }
.runde-liste li:first-child > .lh-kamp { border-top: 0; }
.lh-meta { display: block; font-size: .76rem; color: var(--daempet); }
.lh-resultater { list-style: none; margin: 0; padding: 0; }
.lh-res { padding: .7rem 0 .7rem .7rem; border-top: 1px solid var(--linje); border-left: 3px solid var(--linje); display: grid; gap: .3rem; }
.lh-res:first-child { border-top: 0; }
.lh-res--v { border-left-color: #1E8E3E; }
.lh-res--t { border-left-color: var(--roed); }
.lh-res--u { border-left-color: #9AA1AE; }
.lh-scorere { margin: 0; font-size: .82rem; color: var(--daempet); }
.lh-scorere span { font-weight: 700; color: var(--tekst); }
.lh-gruppe tr.lh-dk td { background: var(--roed-lys); font-weight: 700; }
.lh-spillere .dk-celle small { display: block; }
.lh-hold, .lh-hold .kc-afsnit { grid-template-columns: minmax(0, 1fr); }
.lh-spillere { width: 100%; }
.lh-spillere td.v { white-space: normal; overflow-wrap: anywhere; }

/* Afstemningen: fordelingen efter stemmen */
.boks--afstemning label:has(input:checked) { background: rgba(255,255,255,.18); }
.stem-fordeling { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.stem-fordeling li { display: grid; grid-template-columns: 1fr auto; gap: .25rem .6rem; align-items: baseline; }
.stem-navn { font-weight: 500; min-width: 0; }
.stem-navn small { display: inline-block; margin-left: .3rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--gul); }
.stem-pct { font-variant-numeric: tabular-nums; }
.stem-bjaelke { grid-column: 1 / -1; height: 8px; border-radius: var(--r); background: linear-gradient(to right, #fff var(--p), rgba(255,255,255,.12) var(--p)); }
.stem--min .stem-bjaelke { background: linear-gradient(to right, var(--gul) var(--p), rgba(255,255,255,.12) var(--p)); }
.stem-note, .stem-besked { font-size: .78rem; color: #B9C4DE; margin: .6rem 0 0; }
.stem-besked { color: #fff; font-weight: 600; margin: 0 0 .5rem; }
.rss-link { color: #fff; font-weight: 600; }

/* Reklamelinks (_affiliate.php): mærket står før linket */
.reklamelink { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; margin-top: .7rem; }
.reklame-maerke { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--daempet); }
.reklamelink a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border-radius: var(--r); background: var(--navy); color: #fff; font-weight: 700; text-decoration: none; }
.reklamelink a:hover, .reklamelink a:focus-visible { background: var(--navy-2); }

/* Grafiske elementer (AI-genereret, se _grafik.php). Kun med body.med-grafik (FB_GRAFIK_TIL).
   Toppen er ÉN flade: kampbånd, menu og sidehoved viser hvert sit udsnit af samme billede
   (background-attachment: fixed på desktop), med en mørk overgang under teksten til venstre.
   På mobil: samme navy i alle tre bånd, billedet i sidehovedet. Motivet følger sidehovedets
   variant (body:has), så alle tre bånd bruger samme billede. Stregtegningerne (SVG) er ikke i brug. */
.med-grafik {
  --sh-billede: url(grafik/stadion-navy.webp?v=2);
  --sh-slør: linear-gradient(90deg, rgba(10,21,48,.85) 0%, rgba(10,21,48,.55) 30%, rgba(10,21,48,.08) 62%, rgba(10,21,48,0));
}
.med-grafik:has(.side-hoved--kampe) { --sh-billede: url(grafik/projektoer-navy.webp?v=2); }
.med-grafik:has(.side-hoved--statistik), .med-grafik:has(.side-hoved--nyheder) { --sh-billede: url(grafik/graes-navy.webp?v=2); }

/* Mobil og grundlag: én navy i alle bånd, billedet i sidehovedet. */
.med-grafik .kampbaand { background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.07); }
.med-grafik .side-hoved {
  background-color: var(--navy);
  background-image: var(--sh-slør), var(--sh-billede);
  background-repeat: no-repeat; background-position: 0 0, center 45%; background-size: 100% 100%, cover;
}

/* Desktop: billedet går igennem hele toppen. */
@media (min-width: 760px) {
  .med-grafik .kampbaand, .med-grafik .top, .med-grafik .side-hoved {
    background-color: var(--navy);
    background-image: var(--sh-slør), var(--sh-billede);
    /* Billedet skaleres til skærmens bredde (mindst 1200 px) og flyttes op, så tribuner og bane,
       ikke himmel og tag, står bag toppen. */
    background-repeat: no-repeat; background-attachment: fixed, fixed;
    background-position: 0 0, center calc(max(100vw, 1200px) * -0.2); background-size: 100% 100%, max(100vw, 1200px) auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .med-grafik .kampbaand, .med-grafik .top, .med-grafik .side-hoved { background-attachment: scroll; }
}

/* Bag tabellerne: stadion som svag blyantstegning (element-varianten), kun i hjørnerne og langs
   kanterne. Et hvidt slør er tæt i midten (under tallene) og åbner sig mod hjørnerne; midten
   ligger lidt til venstre, så hjørnerne til højre står stærkest. Bunden er hvid, intet gråt skær. */
.med-grafik .mini-tabel, .med-grafik .stor-tabel {
  background:
    radial-gradient(ellipse 62% 70% at 40% 50%, #fff 45%, rgba(255,255,255,.75) 68%, rgba(255,255,255,0) 100%),
    url(grafik/stadion-element.webp?v=3) center 60% / cover no-repeat;
}

/* Søgefeltet i toppen (soeg.js): åbnes af søgeikonet, resultaterne kommer, mens man skriver. */
.soeg-panel { background: var(--navy); border-top: 1px solid rgba(255,255,255,.08); padding: 12px 0 14px; }
.soeg-form--top { max-width: none; padding-bottom: 0; }
.soeg-panel-res:not(:empty) { margin-top: 12px; background: #fff; color: var(--tekst); border-radius: var(--r); padding: 12px 16px 14px; max-height: min(70vh, 620px); overflow-y: auto; display: grid; gap: 14px; }
.soeg-panel-res .blok-hoved h2 { font-size: 1.05rem; }
.soeg-alle { font-weight: 700; color: var(--navy); }
.soeg-liste .sk-foto { flex: none; }

/* Søgesiden: luft, stort felt, forslag og et indhold før man har søgt. */
.soeg-form--stor { max-width: 720px; gap: 8px; padding: 6px 0 0; }
.soeg-form--stor input { min-height: 56px; padding: 0 1.1rem; font-size: 1.1rem; }
.soeg-form--stor button { min-height: 56px; padding: 0 1.6rem; font-size: 1rem; }
.soeg-forslag { margin: 12px 0 26px; color: #B9C4DE; font-size: .9rem; }
.soeg-forslag a { color: #fff; font-weight: 600; }
.soeg-indhold { display: grid; gap: 36px; padding-block: 32px 56px; }
.soeg-indhold .kc-afsnit { gap: .8rem; }
.soeg-to { display: grid; gap: 36px; }
@media (min-width: 860px) { .soeg-to { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.soeg-klubber { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.soeg-klubber a { display: flex; align-items: center; gap: .6rem; padding: .7rem .8rem; border: 1px solid var(--linje); border-radius: var(--r); text-decoration: none; color: inherit; font-weight: 600; min-height: 48px; }
.soeg-klubber a:hover { border-color: var(--navy); }
.soeg-klubber img { width: 28px; height: 28px; object-fit: contain; flex: none; }
/* Resultater som luftige kort */
.soeg-indhold .soeg-liste, .soeg-panel-res .soeg-liste { gap: 10px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.soeg-indhold .soeg-liste a, .soeg-panel-res .soeg-liste a { padding: .7rem .8rem; border: 1px solid var(--linje); border-radius: var(--r); min-height: 56px; }
.soeg-indhold .soeg-liste a:hover, .soeg-panel-res .soeg-liste a:hover { border-color: var(--navy); }
.soeg-liste--en { grid-template-columns: 1fr !important; }
.soeg-liste span { display: grid; min-width: 0; }
.soeg-liste span small { margin: 0; }
.soeg-liste em { margin-left: auto; font-style: normal; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.soeg-to { align-items: start; }

/* Landskampsreferat: resultatboks over teksten */
.lk-boks { display: grid; gap: .8rem; }
.lk-resultat { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .8rem; }
.lk-hold { display: flex; align-items: center; gap: .55rem; font-size: 1.05rem; min-width: 0; }
.lk-hold--ude { justify-content: flex-end; text-align: right; }
.lk-hold img { width: 34px; height: 24px; object-fit: contain; flex: none; }
.lk-score { display: grid; justify-items: center; }
.lk-score b { font: 800 2.2rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.lk-score small { font-size: .74rem; color: var(--daempet); }
.lk-maal { list-style: none; margin: 0; padding: .6rem 0 0; border-top: 1px solid var(--linje); display: grid; gap: .3rem; font-size: .9rem; }
.lk-maal b { font-variant-numeric: tabular-nums; display: inline-block; min-width: 2.4rem; }
.lk-maal .lk--u { text-align: right; }
.lk-meta { margin: 0; font-size: .8rem; color: var(--daempet); }
.lh-scorere a { font-weight: 700; color: var(--navy); }
@media (max-width: 599px) { .lk-hold { font-size: .92rem; } .lk-hold img { width: 26px; height: 18px; } .lk-score b { font-size: 1.8rem; } }

.lk-score--tid b { font-size: 1.9rem; }
.lh-meta a { font-weight: 700; color: var(--navy); }

/* Nyhedsoversigten som kort: billede, farve pr. type og én dato.
   Farverne er mørke nok til lille tekst på hvidt (mindst 4,5:1). */
.nk--referat { --nk: #C8102E; }
.nk--landskamp { --nk: #C2410C; }
.nk--optakt { --nk: #1D4ED8; }
.nk--rundens_tal { --nk: #0B7A50; }
.nk--milepaele { --nk: #8A5A00; }
.nk--transfer { --nk: #6D28D9; }
.nk--danskere_ude { --nk: #0E7490; }
.nyheds-kort { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.nk a { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 16px; align-items: start; text-decoration: none; color: inherit; padding-bottom: 14px; border-bottom: 1px solid var(--linje); }
.nk:last-child a { border-bottom: 0; }
.nk a:hover b { text-decoration: underline; }
.nk-billede { position: relative; aspect-ratio: 16 / 10; border-radius: var(--r); overflow: hidden; background: var(--navy) center / cover no-repeat; display: grid; place-items: center; border-bottom: 4px solid var(--nk, var(--navy)); }
.nk-billede--stadion { background-image: url(grafik/stadion-navy.webp?v=2); }
.nk-billede--graes { background-image: url(grafik/graes-navy.webp?v=2); }
.nk-billede--projektoer { background-image: url(grafik/projektoer-navy.webp?v=2); }
.nk-logoer { display: flex; gap: 14px; align-items: center; }
.nk-logoer img { width: 46px; height: 46px; object-fit: contain; filter: drop-shadow(0 0 1px rgba(255,255,255,.35)); }
.nk-foto { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; object-position: center top; background: #fff; border: 3px solid #fff; }
.nk-tekst { display: grid; gap: .25rem; min-width: 0; }
.nk-type { font: 700 .74rem/1.2 var(--overskrift); letter-spacing: .08em; text-transform: uppercase; color: var(--nk, var(--roed)); }
.nk-tekst b { font: 700 1.25rem/1.15 var(--overskrift); }
.nk-tekst .meta { margin: .15rem 0 0; }
@media (max-width: 599px) {
  .nk a { grid-template-columns: 108px minmax(0, 1fr); gap: 12px; }
  .nk-logoer { gap: 8px; }
  .nk-logoer img { width: 32px; height: 32px; }
  .nk-foto { width: 50px; height: 50px; border-width: 2px; }
  .nk-tekst b { font-size: 1.08rem; }
  .nk .no-dek { display: none; }
}

/* AI-illustrationer til nyheder (_nyhedsbillede.php): altid mærket. */
.nk-illu { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nk-illu-maerke { position: absolute; left: 6px; bottom: 6px; font-size: .62rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: rgba(10,21,48,.72); padding: 2px 5px; border-radius: 2px; }
.nb-figur { margin: 0 0 18px; }
.nb-figur img { display: block; width: 100%; height: auto; border-radius: var(--r); }
.nb-figur figcaption { display: flex; align-items: center; gap: .45rem; margin-top: .4rem; font-size: .78rem; color: var(--daempet); }

/* Live (live.js, _live.php): ikke en livescore, altid med tidspunkt */
.chip--live { background: rgba(228,0,43,.22); }
.chip--live .chip-status { color: #fff; font-weight: 800; }
.chip--live .chip-status::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--roed); margin-right: 5px; vertical-align: middle; animation: live-blink 1.6s ease-in-out infinite; }
@keyframes live-blink { 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .chip--live .chip-status::before { animation: none; } }
.live-blok { border: 1px solid var(--linje); border-top: 4px solid var(--roed); border-radius: var(--r); padding: 14px 16px; gap: .7rem; }
.live-hoved { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; }
.live-maerke { font: 800 .74rem/1 var(--overskrift); letter-spacing: .1em; text-transform: uppercase; color: #fff; background: var(--roed); padding: .3rem .5rem; border-radius: 2px; }
.live-maerke--slut { background: var(--navy); }
.live-stilling { font: 800 1.35rem/1.1 var(--overskrift); }
.live-stilling span { font-variant-numeric: tabular-nums; margin: 0 .25rem; }
.live-minut { margin-left: auto; font-weight: 800; color: var(--roed-tekst); font-variant-numeric: tabular-nums; }
.live-liste { list-style: none; margin: 0; padding: 0; display: grid; }
.live-h { display: grid; grid-template-columns: 3.2rem 14px minmax(0, 1fr); gap: .6rem; align-items: center; padding: .45rem 0; border-top: 1px solid var(--linje); font-size: .9rem; }
.live-h-min { font-weight: 700; font-variant-numeric: tabular-nums; color: var(--daempet); }
.live-ikon { width: 12px; height: 12px; border-radius: 50%; background: var(--linje); display: block; }
.live-ikon--maal, .live-ikon--straffe, .live-ikon--selvmaal { background: var(--navy); box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px var(--navy); }
.live-ikon--gult { width: 10px; height: 14px; border-radius: 2px; background: #F2C200; }
.live-ikon--roedt { width: 10px; height: 14px; border-radius: 2px; background: var(--roed); }
.live-ikon--skift { background: none; border: 2px solid var(--daempet); }
.live-h--maal b, .live-h--straffe b, .live-h--selvmaal b { color: var(--navy); }
.live-tom, .live-note { margin: 0; font-size: .8rem; color: var(--daempet); }
.live-blok[hidden] { display: none; }
.live-maerke--foer { background: var(--navy-2); }
.live-stat { display: grid; gap: .5rem; padding-top: .3rem; }
.live-stat-r { display: grid; grid-template-columns: 3rem 1fr 3rem; align-items: center; gap: .2rem .5rem; font-size: .85rem; }
.live-stat-r span { text-align: center; color: var(--daempet); }
.live-stat-r b { font-variant-numeric: tabular-nums; }
.live-stat-r b:last-of-type { text-align: right; }
.live-stat-bar { grid-column: 1 / -1; height: 5px; border-radius: 3px; background: linear-gradient(to right, var(--navy) var(--h), #C9CFDA var(--h)); }
.live-opst { display: grid; gap: 14px; padding-top: .4rem; border-top: 1px solid var(--linje); }
@media (min-width: 600px) { .live-opst { grid-template-columns: 1fr 1fr; } }
.live-opst h4 { margin: .4rem 0; font: 700 1rem/1.2 var(--overskrift); }
.live-opst h4 small { color: var(--daempet); font: 500 .8rem var(--broed); margin-left: .3rem; }
.live-opst ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .15rem; font-size: .88rem; }
.live-opst li span { display: inline-block; min-width: 1.8rem; color: var(--daempet); font-variant-numeric: tabular-nums; }
.live-baenk { margin: .4rem 0 0; font-size: .8rem; color: var(--daempet); }

/* Livescore (/livescore/) */
.ls-live-antal { display: inline-block; vertical-align: middle; font: 800 .8rem/1 var(--overskrift); letter-spacing: .08em; text-transform: uppercase; background: var(--roed); color: #fff; padding: .35rem .55rem; border-radius: 2px; margin-left: .4rem; }
.ls-uge { display: flex; align-items: stretch; gap: 4px; padding-bottom: 14px; overflow-x: auto; scrollbar-width: none; }
.ls-uge::-webkit-scrollbar { display: none; }
.ls-dag, .ls-pil { flex: 1 0 auto; min-width: 44px; display: grid; place-items: center; gap: .1rem; padding: .45rem .3rem; border-radius: var(--r); background: rgba(255,255,255,.08); color: #fff; text-decoration: none; }
.ls-pil { flex: 0 0 40px; font-size: 1.4rem; }
.ls-dag small { font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; color: #B9C4DE; }
.ls-dag b { font: 700 1.1rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.ls-dag.aktiv { background: #fff; color: var(--navy); }
.ls-dag.aktiv small { color: var(--daempet); }
.ls-dag--i-dag:not(.aktiv) b { color: var(--gul); }
.ls-gruppe { border: 1px solid var(--linje); border-radius: var(--r); overflow: hidden; }
.ls-liga { display: flex; align-items: center; gap: .55rem; margin: 0; padding: .6rem .8rem; font: 700 1.02rem/1.2 var(--overskrift); background: var(--flade); border-bottom: 1px solid var(--linje); }
.ls-liga img { width: 22px; height: 22px; object-fit: contain; }
.ls-liga small { margin-left: auto; font: 700 .72rem var(--broed); color: var(--daempet); }
.ls-liste { list-style: none; margin: 0; padding: 0; }
.ls-kamp > a, .ls-kamp > div { display: grid; grid-template-columns: 3.6rem minmax(0, 1fr) 2rem; grid-template-rows: auto auto; align-items: center; column-gap: .7rem; row-gap: .15rem; padding: .55rem .8rem; border-top: 1px solid var(--linje); text-decoration: none; color: inherit; }
.ls-kamp:first-child > a, .ls-kamp:first-child > div { border-top: 0; }
.ls-kamp > a:hover { background: var(--flade); }
.ls-status { grid-row: 1 / 3; align-self: stretch; display: grid; place-items: center; font-weight: 700; font-size: .85rem; font-variant-numeric: tabular-nums; color: var(--daempet); border-radius: 2px; }
.ls--live .ls-status { background: var(--roed); color: #fff; }
.ls--aflyst .ls-status { font-size: .74rem; }
.ls-hold { display: flex; align-items: center; gap: .45rem; font-size: .92rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ls-hold img { width: 18px; height: 18px; object-fit: contain; flex: none; }
.ls-maal { text-align: right; font-variant-numeric: tabular-nums; font-size: .95rem; }
.ls--live .ls-maal { color: var(--roed-tekst); }
.ls--aflyst .ls-hold, .ls--aflyst .ls-maal { opacity: .55; }
.hovedspalte[data-ls-dato] { gap: 14px; }

/* Kamp i gang: pulserende prik (båndet, kampsiden og livescoren). Ingen bevægelse ved reduceret bevægelse. */
@keyframes live-puls { 0% { box-shadow: 0 0 0 0 rgba(228,0,43,.7); } 70% { box-shadow: 0 0 0 6px rgba(228,0,43,0); } 100% { box-shadow: 0 0 0 0 rgba(228,0,43,0); } }
.chip--live .chip-status::before { animation: live-puls 1.6s ease-out infinite; }
.kc-status--live::before, .ls--live .ls-status::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: middle; animation: live-puls 1.6s ease-out infinite; }
.ls--live .ls-status { display: flex; align-items: center; justify-content: center; }
.ls--live .ls-status::before { background: #fff; margin-right: 4px; }
@media (prefers-reduced-motion: reduce) {
  .chip--live .chip-status::before, .kc-status--live::before, .ls--live .ls-status::before { animation: none; }
}
/* På røde flader (kampsidens LIVE-mærke, livescoren) pulserer prikken hvidt og blinker, ellers ses den ikke. */
@keyframes live-puls-hvid { 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.85); opacity: 1; } 50% { opacity: .55; } 70% { box-shadow: 0 0 0 6px rgba(255,255,255,0); } 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); opacity: 1; } }
.kc-status--live::before, .ls--live .ls-status::before { background: #fff; animation: live-puls-hvid 1.6s ease-out infinite; }
@media (prefers-reduced-motion: reduce) { .kc-status--live::before, .ls--live .ls-status::before { animation: none; } }

/* Vejret ved kampen (DMI) */
.vejr-boks { display: grid; gap: .5rem; }
.vejr-temp { display: flex; align-items: baseline; gap: .7rem; margin: 0; }
.vejr-temp b { font: 800 2.4rem/1 var(--overskrift); font-variant-numeric: tabular-nums; }
.vejr-temp span { font-size: .85rem; color: var(--daempet); }
.vejr-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: .2rem; font-size: .9rem; }
.vejr-kilde { margin: 0; font-size: .74rem; color: var(--daempet); }

/* "Nyt"-bjælken er et link (til referatet eller kampsiden) */
a.breaking { display: block; color: #fff; text-decoration: none; }
a.breaking .ramme { display: flex; }
a.breaking:hover, a.breaking:focus-visible { background: #C40025; }
.breaking-pil { margin-left: auto; font-size: 1.2rem; line-height: 1; }

/* --- Forsiden på kampdag: live-historie (11-10-2026) ------------------------ */
.kicker--live { background: var(--roed); color: #fff; }
.kicker--live::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #fff; margin-right: 6px; vertical-align: middle; animation: live-blink 1.6s ease-in-out infinite; }
.gk-live { color: #fff; font-weight: 800; }
@media (prefers-reduced-motion: reduce) { .kicker--live::before { animation: none; } }

/* --- Profil med passkey (11-10-2026) ----------------------------------------- */
.konto { display: grid; gap: 16px; padding-top: 32px; padding-bottom: 48px; max-width: 460px; margin-inline: auto; }
.konto:has(.konto-inde:not([hidden])) { max-width: 540px; }
.konto-ude, .konto-inde { display: grid; gap: 16px; }
.konto-ude[hidden], .konto-inde[hidden] { display: none; }
/* Mens et gemt login tjekkes, vises hverken login eller profil (ingen blink af login-formularen). */
.konto-henter { display: none; margin: 0; color: var(--daempet); }
.konto[data-henter] { min-height: 100vh; align-content: start; } /* holder sidefoden nede, til profilen er hentet */
.konto[data-henter] .konto-henter { display: block; }
.konto[data-henter] .konto-ude { display: none; }
.konto-kort { border: 1px solid var(--linje); border-radius: var(--r); padding: 24px; background: #fff; }
.konto-kort h2 { font: 800 1.6rem/1.1 var(--overskrift); margin: 0 0 .35rem; }
.konto-kort p { margin: 0 0 1rem; }
.konto-indledning { color: var(--daempet); }
.konto-kort form, form.konto-kort { display: grid; gap: .5rem; }
.konto-kort label { font-weight: 700; font-size: .9rem; }
.konto-kort input { min-height: 48px; padding: 0 .85rem; border: 1px solid var(--linje); border-radius: var(--r); font: inherit; background: #fff; color: var(--tekst); width: 100%; box-sizing: border-box; }
.konto-kort input:focus-visible { outline: 2px solid var(--navy-2); outline-offset: 1px; }
.konto-opret .konto-lille { margin: -.1rem 0 .4rem; }
.konto-knap { min-height: 48px; padding: 0 1.2rem; border: 0; border-radius: var(--r); background: var(--roed); color: #fff; font-weight: 700; cursor: pointer; justify-self: start; display: inline-flex; align-items: center; justify-content: center; gap: .55rem; }
.konto-knap:hover, .konto-knap:focus-visible { filter: brightness(1.1); }
.konto-knap:disabled { opacity: .5; cursor: not-allowed; }
.konto-knap--bred { width: 100%; justify-self: stretch; }
.konto-knap--lys { background: var(--navy); }
.konto-knap--fare { background: none; color: var(--roed-tekst); border: 1px solid var(--roed); }
.konto-skille { display: flex; align-items: center; gap: .75rem; margin: 22px 0 16px; color: var(--daempet); font-size: .85rem; }
.konto-skille::before, .konto-skille::after { content: ""; flex: 1; border-top: 1px solid var(--linje); }
.konto-fakta { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.konto-fakta li { font-size: .78rem; line-height: 1.35; color: var(--daempet); }
.konto-fakta b { display: block; color: var(--tekst); font-size: .82rem; margin-bottom: .1rem; }
@media (max-width: 420px) { .konto-fakta { grid-template-columns: 1fr; } }
.konto-lille { font-size: .82rem; color: var(--daempet); margin: 0; }
.konto-noegler { list-style: none; padding: 0; margin: 0 0 .8rem; display: grid; }
.konto-noegler li { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--linje); }
.konto-noegler li > span { display: grid; gap: .1rem; }
.konto-noegler li:last-child { border-bottom: 0; }
.konto-noegler small { color: var(--daempet); font-size: .8rem; }
.konto-besked { margin: 0; padding: .7rem .9rem; border-left: 3px solid var(--navy-2); background: #fff; border-radius: var(--r); }
.konto-besked--fejl { border-left-color: var(--roed); }
.konto-om { text-align: center; }

/* Logget ind: profilkort, "Om dig", passkeys, diskret bund */
.konto-kort--profil { display: flex; align-items: center; gap: 18px; background: var(--navy); color: #fff; border-color: var(--navy); position: relative; overflow: hidden; }
.konto-kort--klub { border-top: 4px solid var(--klub, var(--roed)); }
.konto-kort--profil::after { content: ""; position: absolute; right: -40px; top: -40px; width: 160px; height: 160px; border-radius: 50%; background: var(--klub, var(--navy-2)); opacity: .18; }
.konto-avatar { position: relative; flex: none; width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; background: var(--klub, var(--navy-2)); color: #fff; font: 800 1.7rem/1 var(--overskrift); letter-spacing: .02em; box-shadow: 0 0 0 3px rgba(255,255,255,.15); }
.konto-avatar img { position: absolute; right: -4px; bottom: -4px; width: 30px; height: 30px; padding: 3px; border-radius: 50%; background: #fff; object-fit: contain; }
.konto-avatar img[hidden] { display: none; }
.konto-navn { font: 800 2rem/1 var(--overskrift) !important; margin: 0 0 .3rem !important; color: #fff; }
.konto-undertekst { margin: 0 !important; color: #B9C4DE; font-size: .9rem; line-height: 1.45; }
.konto-undertekst span { display: block; }
.konto-undertekst span:empty { display: none; }
.konto-undertekst span:first-child { color: #fff; font-weight: 600; }
.konto-valgfrit { font-weight: 400; color: var(--daempet); font-size: .8rem; margin-left: .3rem; }
.konto-klubber { border: 0; padding: 0; margin: .6rem 0 .4rem; display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 6px; min-width: 0; }
.konto-klubber legend { font-weight: 700; font-size: .9rem; padding: 0; margin-bottom: .45rem; }
.konto-klub { position: relative; display: flex; align-items: center; gap: .5rem; min-height: 44px; padding: 6px 8px; border: 1px solid var(--linje); border-radius: var(--r); cursor: pointer; font-weight: 600 !important; font-size: .86rem !important; background: #fff; }
.konto-klub input { position: absolute; opacity: 0; pointer-events: none; }
.konto-klub img { width: 26px; height: 26px; object-fit: contain; flex: none; }
.konto-klub span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.konto-klub:hover { border-color: var(--klub, var(--navy-2)); }
.konto-klub:has(input:checked) { border-color: var(--klub, var(--navy)); box-shadow: inset 0 0 0 1px var(--klub, var(--navy)); background: color-mix(in srgb, var(--klub, var(--navy)) 8%, #fff); }
.konto-klub:has(input:focus-visible) { outline: 2px solid var(--navy-2); outline-offset: 2px; }
.konto-klub--ingen { justify-content: center; color: var(--daempet); }
.konto-kort input.konto-aar { width: 9rem; }
[data-k-gem] > label { margin-top: .5rem; }
.konto-ekstra { margin-top: 1rem; padding-top: 1rem; border-top: 1px dashed var(--linje); }
.konto-ekstra p { font-size: .88rem; color: var(--daempet); margin: 0 0 .7rem; }
.konto-ekstra b { color: var(--tekst); }
.konto-knap--omrids { background: none; color: var(--navy); border: 1px solid var(--navy); }
.konto-knap--omrids:hover, .konto-knap--omrids:focus-visible { filter: none; background: var(--navy); color: #fff; }
.konto-bund { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .5rem 1rem; padding: 4px 4px 0; }
.konto-bund-knapper { display: flex; gap: 1.2rem; }
.konto-tekstknap { background: none; border: 0; padding: .4rem 0; font: inherit; font-weight: 700; font-size: .9rem; color: var(--navy); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.konto-tekstknap:hover { text-decoration-thickness: 2px; }
.konto-tekstknap--fare { color: var(--roed-tekst); }

/* Logget ind på en bred skærm: to kolonner i sidens fulde bredde */
@media (min-width: 900px) {
  .konto:has(.konto-inde:not([hidden])) { max-width: 1240px; }
  .konto-inde { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-rows: auto auto 1fr; gap: 20px 28px; align-items: start; }
  .konto-kort--profil { grid-column: 1; grid-row: 1; }
  .konto-kort--noegler { grid-column: 1; grid-row: 2; }
  .konto-bund { grid-column: 1; grid-row: 3; }
  [data-k-gem] { grid-column: 2; grid-row: 1 / span 3; }
}

/* Kvitteringer ved handlingen, ikke et andet sted på siden */
.konto-handling { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: .6rem; }
.konto-ekstra .konto-handling { margin-top: 0; }
.konto-status { margin: 0 !important; font-size: .88rem; font-weight: 600; color: var(--daempet); }
.konto-status:empty { display: none; }
.konto-status--ok { color: #1E7F4F; }
.konto-status--ok::before { content: "✓"; margin-right: .35rem; }
.konto-status--fejl { color: var(--roed-tekst); flex-basis: 100%; }
.konto-knap[data-k-gem-knap]:disabled { opacity: 1; background: var(--linje); color: var(--daempet); cursor: default; filter: none; }
.konto > .konto-besked { margin-bottom: 4px; }

/* "Husk mig på denne enhed" */
.konto-husk { display: flex !important; align-items: center; gap: .55rem; margin-top: .8rem; font-weight: 500 !important; font-size: .9rem !important; cursor: pointer; }
.konto-husk input { width: 18px !important; height: 18px; min-height: 0 !important; margin: 0; accent-color: var(--navy); }
.konto-opret .konto-lille:last-child { margin-top: .1rem; }
@media (min-width: 900px) { .konto-kort--husk { grid-column: 1; } .konto-inde { grid-template-rows: auto auto auto 1fr; } .konto-bund { grid-row: 4; } [data-k-gem] { grid-row: 1 / span 4; } }

/* Logget ind: klublogo eller initialer i stedet for profilikonet i toppen */
/* Profilknappen: "Log ind" ved ikonet, eller logo + kaldenavn, når man er logget ind */
.ikon--profil { width: auto; min-width: 44px; display: flex; align-items: center; gap: .45rem; padding: 0 .55rem; text-decoration: none; }
.ikon-tekst { display: none; font-weight: 700; font-size: .88rem; }
@media (min-width: 700px) { .ikon-tekst { display: inline; } }
.ikon--mig { padding: 0 .75rem 0 5px; height: 40px; border: 1px solid rgba(255,255,255,.28); border-radius: 22px; gap: .5rem; }
.ikon--mig:hover { background: var(--navy-2); border-color: rgba(255,255,255,.5); }
.mig-navn { font-weight: 700; font-size: .9rem; color: #fff; max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 480px) { .mig-navn { max-width: 5.5rem; } }
.mig-avatar { width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center; background: var(--klub, var(--navy-2)); color: #fff; font: 800 .82rem/1 var(--overskrift); letter-spacing: .02em; box-shadow: 0 0 0 2px rgba(255,255,255,.35); }
.mig-avatar--logo { background: #fff; box-shadow: 0 0 0 2px var(--klub, rgba(255,255,255,.35)); }
.mig-avatar img { width: 24px; height: 24px; object-fit: contain; }

/* Profilen: dine kommentarer */
@media (min-width: 900px) { .konto-kort--kommentarer { grid-column: 1 / -1; grid-row: 5; } }
.konto-km { list-style: none; margin: 0; padding: 0; display: grid; }
.konto-km-punkt { padding: .7rem 0; border-bottom: 1px solid var(--linje); }
.konto-km-punkt:last-child { border-bottom: 0; }
.konto-km-hoved { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .7rem; margin: 0 0 .2rem !important; font-size: .88rem; }
.konto-km-hoved a { font-weight: 700; color: var(--tekst); }
.konto-km-tid { color: var(--daempet); }
.konto-km-status { margin-left: auto; font-weight: 700; font-size: .78rem; padding: .15rem .45rem; border-radius: 3px; background: #E6F3EC; color: #1E7F4F; }
.konto-km-punkt--tilbage .konto-km-status { background: #FFF4D6; color: #7A5600; }
.konto-km-punkt--afvist .konto-km-status { background: var(--roed-lys); color: var(--roed-tekst); }
.konto-km-tekst { margin: 0 0 .25rem !important; color: var(--tekst); }
.konto-km-begr { margin: 0 0 .25rem !important; font-size: .86rem; color: var(--daempet); }
.konto-mod { margin: .8rem 0 0 !important; font-weight: 700; }

/* --- Kommentarer (11-10-2026) ------------------------------------------------ */
.kommentarer { margin-top: 32px; padding-top: 4px; }
.km-antal { display: inline-block; min-width: 1.6em; padding: .1rem .4rem; margin-left: .35rem; border-radius: 3px; background: var(--navy); color: #fff; font-size: .8rem; vertical-align: middle; text-align: center; }
.km-regler { font-size: .84rem; color: var(--daempet); margin: .2rem 0 1rem; }
.km-liste { list-style: none; margin: 0; padding: 0; display: grid; }
.km { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--linje); }
.km:first-child { border-top: 1px solid var(--linje); }
.km:target { background: #FFF8E1; }
.km-avatar { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: var(--navy-2); color: #fff; font: 800 .9rem/1 var(--overskrift); }
.km-avatar--logo { background: #fff; box-shadow: inset 0 0 0 2px var(--klub, var(--linje)); }
.km-avatar img { width: 28px; height: 28px; object-fit: contain; }
.km-krop { min-width: 0; }
.km-hoved { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .6rem; margin: 0 0 .25rem; font-size: .9rem; }
.km-fan { color: var(--daempet); font-size: .8rem; }
.km-hoved time { margin-left: auto; color: var(--daempet); font-size: .78rem; }
.km-tekst { margin: 0; overflow-wrap: anywhere; line-height: 1.5; }
.km-handlinger { display: flex; gap: 1rem; margin: .35rem 0 0; }
.km-knap { background: none; border: 0; padding: 0; font: inherit; font-size: .78rem; color: var(--daempet); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.km-knap:hover { color: var(--tekst); }
.km-anmeldt { font-size: .78rem; color: var(--daempet); }
.km-tom, .km-lukket { color: var(--daempet); font-size: .9rem; margin: .4rem 0 0; }
.km-skriv { margin-top: 16px; }
.km-log-ind { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; padding: 14px 16px; border: 1px dashed var(--linje); border-radius: var(--r); margin: 0; }
.km-log-ind[hidden] { display: none; }
.km-log-ind span { color: var(--daempet); font-size: .86rem; }
.km-log-ind-knap { display: inline-flex; align-items: center; min-height: 42px; padding: 0 1rem; border-radius: var(--r); background: var(--navy); color: #fff; font-weight: 700; text-decoration: none; }
.km-log-ind-knap:hover { filter: brightness(1.15); }
.km-form { display: grid; gap: .5rem; }
.km-form[hidden] { display: none; }
.km-form textarea { width: 100%; box-sizing: border-box; min-height: 88px; padding: .7rem .8rem; border: 1px solid var(--linje); border-radius: var(--r); font: inherit; resize: vertical; background: #fff; color: var(--tekst); }
.km-form textarea:focus-visible { outline: 2px solid var(--navy-2); outline-offset: 1px; }
.km-form-bund { display: flex; align-items: center; gap: .8rem; }
.km-som { font-size: .84rem; color: var(--daempet); }
.km-tael { margin-left: auto; font-size: .78rem; color: var(--daempet); font-variant-numeric: tabular-nums; }
.km-send { min-height: 42px; padding: 0 1.2rem; border: 0; border-radius: var(--r); background: var(--roed); color: #fff; font-weight: 700; cursor: pointer; }
.km-send:disabled { opacity: .6; cursor: progress; }
.km-status { margin: 0; font-size: .88rem; }
.km-status:empty { display: none; }
.km-status--ok { color: #1E7F4F; font-weight: 600; }
.km-status--ok::before { content: "✓ "; }
.km-status--info { padding: .6rem .8rem; border-left: 3px solid #C99A00; background: #FFF8E1; }
.km-status--fejl { padding: .6rem .8rem; border-left: 3px solid var(--roed); background: var(--roed-lys); }
.km-dialog { border: 1px solid var(--linje); border-radius: var(--r); padding: 20px; max-width: 360px; width: calc(100% - 32px); }
.km-dialog::backdrop { background: rgba(8, 14, 30, .55); }
.km-dialog h3 { margin: 0 0 .3rem; font: 800 1.3rem/1.1 var(--overskrift); }
.km-dialog p { margin: 0 0 .8rem; color: var(--daempet); font-size: .9rem; }
.km-dialog label { display: flex; align-items: center; gap: .5rem; padding: .35rem 0; cursor: pointer; }
.km-dialog-knapper { display: flex; justify-content: flex-end; align-items: center; gap: 1rem; margin-top: .8rem; }

/* Moderation */
.moderation { padding-top: 24px; padding-bottom: 48px; max-width: 860px; }
.mod-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.mod-punkt { border: 1px solid var(--linje); border-radius: var(--r); padding: 14px 16px; background: #fff; }
.mod-punkt--klage { border-left: 4px solid #C99A00; }
.mod-punkt--faerdig { opacity: .55; }
.mod-hoved { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem; margin: 0 0 .4rem; font-size: .88rem; }
.mod-etiket { margin-left: .4rem; font-size: .72rem; font-weight: 700; padding: .1rem .4rem; border-radius: 3px; background: var(--linje); }
.mod-etiket--tilbage { background: #FFF4D6; color: #7A5600; }
.mod-etiket--klage { background: #FFE6A8; color: #5C4000; }
.mod-tekst { margin: 0 0 .4rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.mod-meta { margin: 0 0 .25rem; font-size: .82rem; color: var(--daempet); }
.mod-begrundelse { width: 100%; box-sizing: border-box; min-height: 40px; margin: .4rem 0; padding: 0 .7rem; border: 1px solid var(--linje); border-radius: var(--r); font: inherit; }
.mod-knapper { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0; }
.mod-knap { min-height: 38px; padding: 0 .9rem; border-radius: var(--r); border: 1px solid var(--navy); background: #fff; color: var(--navy); font-weight: 700; cursor: pointer; }
.mod-knap--godkend { background: var(--navy); color: #fff; }
.mod-knap--spaer { border-color: var(--roed); color: var(--roed-tekst); }
.mod-udfald { font-weight: 700; color: var(--daempet); }

/* --- Fravær på kampsiden (15-10-2026) ---------------------------------------- */
.fravaer-hold { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 560px) { .fravaer-hold { grid-template-columns: 1fr; } }
.fravaer-kol h3 { display: flex; align-items: center; gap: .45rem; margin: 0 0 .5rem; font: 800 1.05rem/1.1 var(--overskrift); }
.fravaer-kol h3 img { width: 22px; height: 22px; object-fit: contain; }
.fravaer-kol ul { list-style: none; margin: 0; padding: 0; }
.fravaer-kol li { display: flex; justify-content: space-between; align-items: baseline; gap: .8rem; padding: .45rem 0 .45rem .6rem; border-bottom: 1px solid var(--linje); border-left: 3px solid var(--linje); }
.fravaer-kol li.fravaer--skade { border-left-color: var(--roed); }
.fravaer-kol li.fravaer--karantaene { border-left-color: #E8B400; }
.fravaer-navn { font-weight: 600; }
.fravaer-aarsag { font-size: .82rem; color: var(--daempet); text-align: right; white-space: nowrap; }
.fravaer-ingen { color: var(--daempet); font-size: .88rem; margin: 0; }

/* --- Dommere (15-10-2026) ---------------------------------------------------- */
.dommerside { padding-top: 24px; padding-bottom: 40px; }
.tabel-rul { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.dommer-tabel td b { font-weight: 800; }
.dommer-tabel .dommer-hoej { color: var(--roed-tekst); }
.dommer-tabel .dommer-lav { color: #1E7F4F; }
.dommer-snit { color: var(--daempet); font-size: .75rem; }
.dommer-kampe { list-style: none; margin: 0; padding: 0; }
.dommer-kampe a { display: grid; grid-template-columns: 6.5rem 1fr auto; gap: .8rem; align-items: center; padding: .6rem 0; border-bottom: 1px solid var(--linje); color: var(--tekst); text-decoration: none; }
.dommer-kampe a:hover span:nth-child(2) { text-decoration: underline; }
.dommer-kampe time { color: var(--daempet); font-size: .85rem; font-variant-numeric: tabular-nums; }
.dommer-kort { font-size: .85rem; color: var(--daempet); white-space: nowrap; font-variant-numeric: tabular-nums; }
.kort-ikon { display: inline-block; width: 9px; height: 12px; border-radius: 1px; margin: 0 3px 0 6px; vertical-align: -1px; }
.kort-ikon--gul { background: #F2C200; }
.kort-ikon--roed { background: var(--roed); }
.dommer-boks .dommer-navn { margin: 0 0 .5rem; font: 800 1.2rem/1.1 var(--overskrift); }
.dommer-boks .dommer-navn a { color: var(--tekst); }
.dommer-tal { display: grid; grid-template-columns: 1fr 1fr; gap: .5rem .8rem; margin: 0 0 .6rem; }
.dommer-tal div { display: grid; }
.dommer-tal dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--daempet); }
.dommer-tal dd { margin: 0; font-weight: 800; font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.dommer-tal dd small { font-weight: 500; font-size: .72rem; color: var(--daempet); }
.dommer-alle, .dommer-ny { font-size: .85rem; color: var(--daempet); margin: 0 0 .4rem; }
@media (max-width: 560px) { .dommer-kampe a { grid-template-columns: 4.6rem 1fr; } .dommer-kort { grid-column: 2; } }

/* --- Tabellen efter xG (15-10-2026) ------------------------------------------ */
.xgside { padding-top: 24px; padding-bottom: 40px; }
.xg-indledning { max-width: 46rem; margin: 0 0 18px; line-height: 1.55; }
.xg-tabel .xg-plus { color: #1E7F4F; font-weight: 800; }
.xg-tabel .xg-minus { color: var(--roed-tekst); font-weight: 800; }
@media (max-width: 560px) { .xg-tabel .xg-skjul { display: none; } }
.xg-klub-tal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 14px; }
.xg-klub-tal div { border: 1px solid var(--linje); border-radius: var(--r); padding: 10px 12px; display: grid; }
.xg-klub-tal dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--daempet); }
.xg-klub-tal dd { margin: 0; font: 800 1.5rem/1.1 var(--overskrift); font-variant-numeric: tabular-nums; }
.xg-klub-tal dd small { display: block; font: 500 .78rem/1.3 var(--broed); color: var(--daempet); }
.xg-klub-tal .xg-plus { color: #1E7F4F; } .xg-klub-tal .xg-minus { color: var(--roed-tekst); }
@media (max-width: 560px) { .xg-klub-tal { grid-template-columns: 1fr 1fr; } }
.xg-kampe { list-style: none; margin: 0; padding: 0; }
.xg-kampe a { display: grid; grid-template-columns: minmax(7rem, 10rem) 1fr 5.6rem 2.6rem; gap: .7rem; align-items: center; padding: .45rem 0; border-bottom: 1px solid var(--linje); color: var(--tekst); text-decoration: none; }
.xg-kampe a:hover .xg-mod { text-decoration: underline; }
.xg-mod { display: flex; align-items: center; gap: .4rem; font-size: .88rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.xg-mod img { width: 20px; height: 20px; object-fit: contain; flex: none; }
.xg-bjaelker { display: grid; gap: 3px; }
.xg-bjaelker i { display: block; height: 7px; border-radius: 2px; min-width: 2px; }
.xg-for { background: var(--navy); } .xg-imod { background: #B9C1D3; }
.xg-tal { font-size: .82rem; color: var(--daempet); font-variant-numeric: tabular-nums; text-align: right; }
.xg-res { font-variant-numeric: tabular-nums; text-align: center; font-size: .85rem; border-radius: 3px; padding: .1rem 0; color: #fff; }
.xg-res--v { background: #1E7F4F; } .xg-res--u { background: #646B7D; } .xg-res--t { background: var(--roed); }
@media (max-width: 480px) { .xg-kampe a { grid-template-columns: 6.2rem 1fr 2.6rem; } .xg-tal { display: none; } }

/* --- Kampens faser (20-10-2026) ---------------------------------------------- */
.faseside { padding-top: 24px; padding-bottom: 40px; }
.fase-indledning { margin: -.2rem 0 .8rem; color: var(--daempet); font-size: .92rem; }
.fase-tabel .xg-plus, .fase-tabel small.xg-plus { color: #1E7F4F; font-weight: 800; }
.fase-tabel .xg-minus, .fase-tabel small.xg-minus { color: var(--roed-tekst); font-weight: 800; }
.fase-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.fase-liste li { display: grid; grid-template-columns: 1fr auto; gap: .1rem .6rem; align-items: center; border: 1px solid var(--linje); border-radius: var(--r); padding: 10px 12px; }
.fase-liste li span { grid-column: 1 / -1; font-size: .8rem; color: var(--daempet); }

/* --- Trænere (20-10-2026) ---------------------------------------------------- */
.traenerside { padding-top: 24px; padding-bottom: 40px; }
.traener-nu { border: 1px solid var(--linje); border-radius: var(--r); padding: 14px 16px; }
.traener-navn { margin: 0; font: 800 1.4rem/1.1 var(--overskrift); }
.traener-navn a { color: var(--tekst); }
.traener-siden { margin: .2rem 0 .7rem; color: var(--daempet); font-size: .88rem; }
.traener-tal { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0; }
.traener-tal div { display: grid; }
.traener-tal dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--daempet); }
.traener-tal dd { margin: 0; font: 800 1.3rem/1.1 var(--overskrift); font-variant-numeric: tabular-nums; }
.traener-tidl { margin: 1rem 0 .4rem; font: 800 1rem/1.1 var(--overskrift); }
.traener-liste { list-style: none; margin: 0; padding: 0; }
.traener-liste li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .2rem 1rem; padding: .5rem 0; border-bottom: 1px solid var(--linje); }
.traener-liste li span { color: var(--daempet); font-size: .85rem; }
.traener-skifte { display: grid; grid-template-columns: 6.5rem 1fr; gap: .8rem; padding: .6rem 0; }
.traener-skifte small { display: block; color: var(--daempet); }
@media (max-width: 480px) { .traener-tal { grid-template-columns: 1fr 1fr; } }

/* --- Skader og karantæner pr. klub (20-10-2026) ------------------------------ */
.skadeside { padding-top: 24px; padding-bottom: 40px; }
.skade-navn { font-weight: 700; }
.fravaer-saeson { margin: 0 0 .7rem; line-height: 1.5; }
.fravaer-top { list-style: none; margin: 0; padding: 0; }
.fravaer-top li { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid var(--linje); }
.fravaer-top li span:last-child { color: var(--daempet); font-size: .85rem; }

/* Datasiderne: dagens fund, regnet af tallene (20-10-2026) */
.data-fund { margin: 0 0 16px; padding: 12px 14px; border-left: 3px solid var(--navy); background: #fff; font-size: 1.02rem; line-height: 1.5; max-width: 52rem; }

/* --- Spillersiden: blandt spillere på samme position (20-10-2026) ------------ */
.placering-tekst { margin: 0 0 .8rem; line-height: 1.55; max-width: 46rem; }
.placering-liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 8px; }
.placering-liste li { display: grid; grid-template-columns: 1fr auto; gap: .15rem .6rem; border: 1px solid var(--linje); border-radius: var(--r); padding: 10px 12px; }
.placering-liste li span:first-child { grid-column: 1 / -1; font-size: .78rem; color: var(--daempet); }
.placering-liste b { font-size: 1.2rem; }
.placering-plads { align-self: center; font-size: .82rem; color: var(--daempet); }
.placering-plads--top { color: #1E7F4F; font-weight: 800; }

/* --- Trafik (20-10-2026) ----------------------------------------------------- */
.trafikside { padding-top: 24px; padding-bottom: 40px; }
.trafik-tal { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 18px; }
.trafik-tal div { border: 1px solid var(--linje); border-radius: var(--r); padding: 12px 14px; display: grid; }
.trafik-tal dt { font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; color: var(--daempet); }
.trafik-tal dd { margin: 0; font: 800 1.8rem/1.1 var(--overskrift); font-variant-numeric: tabular-nums; }
.trafik-tal small { display: block; font: 500 .8rem/1.3 var(--broed); color: var(--daempet); }
.trafik-graf { display: flex; align-items: flex-end; gap: 3px; height: 160px; border-bottom: 1px solid var(--linje); }
.trafik-dag { position: relative; flex: 1; height: 100%; display: flex; align-items: flex-end; }
.trafik-dag i { position: absolute; bottom: 0; left: 0; right: 0; border-radius: 2px 2px 0 0; }
.trafik-v { background: #C9D0E0; }
.trafik-i { background: var(--navy); left: 25% !important; right: 25% !important; }
.trafik-prik { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin: 0 .35rem 0 .8rem; vertical-align: -1px; }
.trafik-prik--v { background: #C9D0E0; margin-left: 0; } .trafik-prik--i { background: var(--navy); }
.trafik-to { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
@media (max-width: 700px) { .trafik-to { grid-template-columns: 1fr; } .trafik-tal { grid-template-columns: 1fr; } }
.trafik-liste { list-style: none; margin: 0; padding: 0; }
.trafik-liste li { display: grid; grid-template-columns: 1fr auto; gap: .2rem .8rem; padding: .45rem 0; border-bottom: 1px solid var(--linje); }
.trafik-navn { overflow-wrap: anywhere; font-size: .9rem; }
.trafik-bjaelke { grid-column: 1 / -1; display: block; height: 4px; background: var(--navy); border-radius: 2px; opacity: .7; }
.trafik-tom { color: var(--daempet); }
.trafik-mig { margin: 0 0 14px; font-size: .9rem; color: var(--daempet); }

/* --- Annoncepladser (20-10-2026): kun synlige med en aktiv kampagne --------- */
.annonce { display: grid; gap: .35rem; margin: 1.4rem 0; }
.annonce-link { display: block; line-height: 0; }
.annonce img { max-width: 100%; height: auto; border-radius: var(--r); }
.annonce--forside-bred img, .annonce--artikel img { width: 100%; }
.kontakt-fakta { display: grid; gap: 10px; margin: 0 0 1rem; }
.kontakt-fakta div { border-left: 3px solid var(--navy); padding: .3rem 0 .3rem .8rem; }
.kontakt-fakta dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--daempet); }
.kontakt-fakta dd { margin: .1rem 0 0; font-weight: 700; font-size: 1.1rem; }

/* Ankerlinks (fx /om/#ai fra sidefoden): landingspunktet må ikke gemme sig bag den faste topbjælke
   (logo + menu, ca. 110 px). Gælder alt med et id; kampsidens afsnit havde det allerede. */
[id] { scroll-margin-top: 128px; }

/* Kampsiden: link til rundens optakt (før kampen) eller "Rundens tal" (bagefter). */
.kc-runde-artikel { display: grid; gap: .15rem; padding: .75rem 1rem; margin-bottom: 1.25rem; border: 1px solid var(--linje); border-left: 4px solid var(--roed); border-radius: var(--r); color: var(--tekst); text-decoration: none; background: var(--kort); }
.kc-runde-artikel small { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--roed-tekst); }
.kc-runde-artikel b { font: 700 1.05rem/1.25 var(--broed); }
.kc-runde-artikel b::after { content: " →"; }
.kc-runde-artikel:hover b, .kc-runde-artikel:focus-visible b { text-decoration: underline; }
.kc-laes + .kc-runde-artikel, .kc-broedtekst ~ .kc-runde-artikel { margin-top: 1rem; }
