/* bitcoincasinodanmark.com — «Nøglekort».
   Hver overskrift sidder på et adgangskort: perforeret venstrekant, løbenummer
   i skrivemaskineskrift, tilstanden til højre. Teksten står i én spalte på
   68 tegn; brede dele træder ud med .n-out. */

:root {
  --blaek: #1c2320;
  --blaek-2: #3a4540;
  --blaek-3: #6b7671;
  --papir: #e7ebe6;
  --kort: #f4f6f2;
  --linje: #c8d0c9;
  --linje-2: #dde3dc;
  --indigo: #2f4b7c;
  --kobber: #b5651d;
  --groen: #3f7d64;
  --lilla: #7a5cc4;
  --okker: #b58a2b;
  --display: "Fraunces", "Iowan Old Style", Georgia, serif;
  --brod: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  --spalte: 41rem;
  --bred: 74rem;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

body {
  margin: 0;
  padding-bottom: 76px;
  background: var(--papir);
  color: var(--blaek);
  font: 400 18px/1.62 var(--brod);
  font-synthesis-weight: none;
}

h1, h2, h3, h4 { font-family: var(--display); font-weight: 600; line-height: 1.16;
  text-wrap: balance; margin: 0; }
h1 { font-size: clamp(31px, 5.2vw, 48px); letter-spacing: -0.015em; }
h2 { font-size: clamp(24px, 3.4vw, 31px); }
h3 { font-size: 21px; margin: 32px 0 10px; }
p { margin: 0 0 18px; }
a { color: var(--indigo); text-underline-offset: 3px;
  text-decoration-thickness: 1px; text-decoration-color: var(--linje); }
a:hover { text-decoration-color: currentColor; }
:focus-visible { outline: 3px solid var(--kobber); outline-offset: 2px; }

.n-wrap { width: min(100% - 40px, var(--bred)); margin-inline: auto; }
.n-skip { position: absolute; left: -9999px; }
.n-skip:focus { left: 12px; top: 12px; z-index: 40; background: var(--blaek);
  color: var(--kort); padding: 10px 16px; border-radius: 4px; }

/* ----------------------------------------------------------- Toppen ---- */

.n-top { position: sticky; top: 0; z-index: 30; background: rgba(231, 235, 230, 0.94);
  backdrop-filter: blur(8px); border-bottom: 1px solid var(--linje); }
.n-top-in { display: flex; align-items: center; gap: 22px; min-height: 64px; }
.n-mark { display: flex; flex-direction: column; text-decoration: none; color: inherit;
  line-height: 1.05; flex: none; }
.n-mark span { font: 600 10px/1 var(--mono); letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--blaek-3); }
.n-mark b { font-family: var(--display); font-size: 21px; letter-spacing: -0.01em; }
.n-menu { display: flex; gap: 17px; margin-left: auto; flex-wrap: wrap;
  justify-content: flex-end; }
.n-menu a { font-size: 15px; color: var(--blaek-2); text-decoration: none;
  padding: 4px 0; border-bottom: 2px solid transparent; }
.n-menu a:hover { border-bottom-color: var(--linje); }
.n-menu a[aria-current] { color: var(--blaek); border-bottom-color: var(--kobber); }
.n-top-go { flex: none; background: var(--kobber); color: #fff; font: 600 14px/1 var(--brod);
  padding: 11px 17px; border-radius: 3px; text-decoration: none; white-space: nowrap; }
.n-top-go:hover { background: #9d570f; }

/* ------------------------------------------------------------ Hoved ---- */

.n-head { padding: 46px 0 34px; border-bottom: 1px solid var(--linje); }
.n-head-in { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 44px;
  align-items: start; }
.n-crumbs { font: 400 13px/1.5 var(--mono); color: var(--blaek-3); margin: 0 0 14px; }
.n-crumbs a { color: var(--blaek-3); }
.n-eyebrow { font: 600 11px/1 var(--mono); letter-spacing: 0.17em; text-transform: uppercase;
  color: var(--kobber); margin: 0 0 12px; }
.n-lede { font-size: 20px; color: var(--blaek-2); max-width: 44rem; margin: 18px 0 0; }
.n-acts { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.n-btn { font: 600 15px/1 var(--brod); padding: 13px 20px; border-radius: 3px;
  text-decoration: none; }
.n-btn-a { background: var(--blaek); color: var(--kort); }
.n-btn-b { border: 1px solid var(--linje); color: var(--blaek); background: var(--kort); }
.n-btn-a:hover { background: #0f1512; }
.n-btn-b:hover { border-color: var(--blaek-3); }
.n-head-tal { display: flex; flex-wrap: wrap; gap: 0; margin-top: 34px;
  border-top: 1px solid var(--linje); }
.n-head-tal > div { flex: 1 1 160px; padding: 16px 20px 14px;
  border-right: 1px solid var(--linje-2); }
.n-head-tal > div:last-child { border-right: 0; }
.n-head-tal b { display: block; font: 600 27px/1 var(--display); font-variant-numeric: tabular-nums; }
.n-head-tal span { display: block; font-size: 13px; color: var(--blaek-3); margin-top: 5px; }

.n-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0 0; }
.n-chip { font: 400 13px/1 var(--mono); padding: 6px 10px; border: 1px solid var(--linje);
  border-radius: 2px; background: var(--kort); color: var(--blaek-2); }

/* Stempelkortet i hovedet: de tre første pladser som en liste, ikke et podie. */
.n-stempel { border: 1px solid var(--blaek); background: var(--kort); padding: 18px; }
.n-st-head { font: 600 10px/1 var(--mono); letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--blaek-3); margin: 0 0 12px; }
.n-st-row { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 4px 10px;
  padding: 11px 0; border-top: 1px solid var(--linje-2); text-decoration: none;
  color: inherit; align-items: baseline; }
.n-st-no { font: 600 15px/1 var(--mono); color: var(--kobber); }
.n-st-name { font-family: var(--display); font-weight: 600; font-size: 17px; }
.n-st-pt { font: 600 14px/1 var(--mono); font-variant-numeric: tabular-nums; }
.n-st-kl { grid-column: 2 / -1; font-size: 13px; color: var(--blaek-3); }
.n-st-row:hover .n-st-name { text-decoration: underline; text-decoration-color: var(--kobber); }
.n-st-go { display: block; margin-top: 14px; background: var(--kobber); color: #fff;
  text-align: center; font: 600 15px/1 var(--brod); padding: 13px 14px; border-radius: 3px;
  text-decoration: none; }
.n-st-go:hover { background: #9d570f; }
.n-st-fine { font-size: 12.5px; color: var(--blaek-3); margin: 12px 0 0; }

/* --------------------------------------------------------- Spring ------ */

.n-spring { border-bottom: 1px solid var(--linje); background: var(--kort); }
.n-spring-in { display: flex; gap: 0; overflow-x: auto; scrollbar-width: thin; }
.n-spring a { flex: none; display: flex; align-items: baseline; gap: 7px;
  padding: 13px 18px 12px; font-size: 14px; color: var(--blaek-2); text-decoration: none;
  border-right: 1px solid var(--linje-2); white-space: nowrap; }
.n-spring a i { font: 600 11px/1 var(--mono); color: var(--kobber); font-style: normal; }
.n-spring a:hover { background: var(--papir); color: var(--blaek); }

/* ------------------------------------------------------- Adgangskort --- */

.n-sec { padding: 40px 0 6px; }
.n-pass { position: relative; background: var(--kort); border: 1px solid var(--blaek);
  padding: 20px 24px 20px 46px; display: grid; gap: 4px 18px;
  grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
/* Perforeret kant: en lodret række huller stanset i venstre side. */
.n-pass::before { content: ""; position: absolute; left: 16px; top: 10px; bottom: 10px;
  width: 6px; background-image: radial-gradient(circle at 3px 3px, var(--linje) 2.4px, transparent 2.6px);
  background-size: 6px 12px; background-repeat: repeat-y; }
.n-pass-no { position: absolute; left: -1px; top: -1px; display: none; }
.n-pass h2 { grid-column: 1; }
.n-pass-state { grid-column: 2; font: 400 12.5px/1.4 var(--mono); color: var(--blaek-3);
  text-align: right; max-width: 22rem; }

.n-body { width: min(100% - 40px, var(--spalte)); margin: 26px auto 0; }
.n-body > :last-child { margin-bottom: 0; }
.n-body ul, .n-body ol { margin: 0 0 20px; padding-left: 22px; }
.n-body li { margin-bottom: 9px; }
.n-body ol { counter-reset: none; }

/* Brede dele træder ud af spalten og fylder sidens bredde. */
.n-out { width: min(100vw - 40px, var(--bred)); margin-inline: auto;
  position: relative; left: 50%; transform: translateX(-50%); }

.n-note { border-left: 3px solid var(--indigo); background: var(--kort); padding: 15px 18px;
  margin: 0 0 22px; font-size: 16.5px; color: var(--blaek-2); }
.n-fine { font-size: 14px; color: var(--blaek-3); margin: 10px 0 24px; }

/* --------------------------------------------------------- Rækker ------ */

.n-rows { margin: 0 auto 26px; border-top: 1px solid var(--linje); }
.n-row { display: grid; align-items: center; gap: 10px 20px;
  grid-template-columns: 52px minmax(0, 1fr) 190px 104px 168px;
  padding: 17px 0 17px 12px; border-bottom: 1px solid var(--linje-2);
  border-left: 4px solid var(--tint, var(--linje)); background: var(--kort); }
.n-row-top { border-left-width: 4px; background: #fdfdfb;
  box-shadow: inset 0 0 0 1px var(--linje); }
.n-rank { font: 600 26px/1 var(--mono); color: var(--blaek-3);
  font-variant-numeric: tabular-nums; text-align: center; }
.n-row-top .n-rank { color: var(--kobber); }
.n-who a { font-family: var(--display); font-weight: 600; font-size: 20px;
  color: var(--blaek); text-decoration: none; }
.n-who a:hover { text-decoration: underline; text-decoration-color: var(--tint); }
.n-who p { margin: 4px 0 0; font-size: 14.5px; color: var(--blaek-3); }
.n-klausul b { display: block; font: 600 12px/1.3 var(--mono); letter-spacing: 0.05em;
  text-transform: uppercase; color: var(--blaek-2); }
.n-klausul span { display: block; font-size: 13.5px; color: var(--blaek-3); margin-top: 4px; }
.n-point { text-align: right; }
.n-point b { font: 600 24px/1 var(--display); font-variant-numeric: tabular-nums; }
.n-point span { display: block; font-size: 12px; color: var(--blaek-3); margin-top: 2px; }
.n-meter { display: block; height: 4px; margin-top: 7px; background: var(--linje-2);
  border-radius: 2px; overflow: hidden; }
.n-meter u { display: block; height: 100%; background: var(--tint, var(--indigo));
  text-decoration: none; }
.n-do { display: flex; flex-direction: column; gap: 7px; }
.n-go { display: block; text-align: center; background: var(--kobber); color: #fff;
  font: 600 15px/1 var(--brod); padding: 13px 14px; border-radius: 3px; text-decoration: none; }
.n-go:hover { background: #9d570f; }
.n-read { display: block; text-align: center; font: 400 13.5px/1 var(--brod);
  color: var(--blaek-3); text-decoration-color: var(--linje); }
.n-read:hover { color: var(--blaek); text-decoration-color: var(--kobber); }

/* ------------------------------------------------------- Tal og tabel -- */

.n-tal { display: flex; flex-wrap: wrap; margin: 0 auto 22px;
  border: 1px solid var(--linje); background: var(--kort); }
.n-tal > div { flex: 1 1 180px; padding: 18px 20px; border-right: 1px solid var(--linje-2); }
.n-tal > div:last-child { border-right: 0; }
.n-tal b { display: block; font: 600 29px/1 var(--display); font-variant-numeric: tabular-nums; }
.n-tal span { display: block; font-size: 14px; color: var(--blaek-2); margin-top: 6px; }
.n-tal i { display: block; font: 400 12.5px/1.45 var(--mono); color: var(--blaek-3);
  font-style: normal; margin-top: 6px; }

.n-tablewrap { overflow-x: auto; margin: 0 auto 22px; }
.n-table { width: 100%; border-collapse: collapse; font-size: 15.5px; background: var(--kort); }
.n-table th, .n-table td { padding: 11px 14px; border-bottom: 1px solid var(--linje-2);
  text-align: left; vertical-align: top; }
.n-table thead th { font: 600 11.5px/1.3 var(--mono); letter-spacing: 0.07em;
  text-transform: uppercase; color: var(--blaek-2); background: var(--papir);
  border-bottom: 1px solid var(--linje); white-space: nowrap; }
.n-table tbody th { font-weight: 600; font-family: var(--display); font-size: 17px; }
.n-table .num { font-variant-numeric: tabular-nums; }
.n-table .hot { background: rgba(181, 101, 29, 0.09); }

/* ----------------------------------------------------------- Vejen ----- */

.n-vej { list-style: none; display: flex; flex-wrap: wrap; gap: 0; padding: 0;
  margin: 0 auto 22px; border: 1px solid var(--linje); background: var(--kort); }
.n-vej li { flex: 1 1 190px; padding: 18px 20px; border-right: 1px solid var(--linje-2);
  position: relative; }
.n-vej li:last-child { border-right: 0; }
.n-vej b { display: block; font: 600 11px/1 var(--mono); letter-spacing: 0.13em;
  text-transform: uppercase; color: var(--blaek-3); }
.n-vej-sum { display: block; font: 600 25px/1.1 var(--display); margin: 9px 0 7px;
  font-variant-numeric: tabular-nums; }
.n-vej-note { display: block; font-size: 14px; color: var(--blaek-2); }

/* -------------------------------------------------------- Trin, døre --- */

.n-trin { list-style: none; padding: 0; margin: 0 0 24px; }
.n-trin li { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px;
  padding: 15px 0; border-top: 1px solid var(--linje-2); }
.n-trin i { font: 600 14px/1.5 var(--mono); color: var(--kobber); font-style: normal; }
.n-trin b { display: block; font-family: var(--display); font-size: 18px; margin-bottom: 4px; }
.n-trin span { display: block; color: var(--blaek-2); font-size: 16.5px; }

.n-doere { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1px; background: var(--linje); border: 1px solid var(--linje); margin: 0 auto 26px; }
.n-doer { display: block; background: var(--kort); padding: 20px 22px 22px;
  text-decoration: none; color: inherit; border-top: 3px solid var(--tint); }
.n-doer:hover { background: #fdfdfb; }
.n-doer-tag { display: block; font: 600 10.5px/1 var(--mono); letter-spacing: 0.13em;
  text-transform: uppercase; color: var(--blaek-3); margin-bottom: 10px; }
.n-doer h3 { margin: 0 0 8px; font-size: 19px; }
.n-doer p { margin: 0; font-size: 15px; color: var(--blaek-2); }

.n-to { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1px; background: var(--linje); border: 1px solid var(--linje); margin: 0 auto 26px; }
.n-kol { background: var(--kort); padding: 20px 22px; }
.n-kol h3 { margin: 0 0 12px; font-size: 18px; }
.n-kol ul { margin: 0; padding-left: 20px; }
.n-kol li { margin-bottom: 8px; font-size: 16px; }
.n-kol-b { background: var(--papir); }

/* ------------------------------------------------------ Figur og foto -- */

.n-fig { margin: 0 auto 26px; background: var(--kort); border: 1px solid var(--linje);
  padding: 20px 22px 16px; }
.n-fig svg { display: block; width: 100%; height: auto; }
.n-fig figcaption, .n-pic figcaption { font-size: 14px; line-height: 1.5;
  color: var(--blaek-3); margin-top: 14px; padding-top: 12px;
  border-top: 1px solid var(--linje-2); }
.f-head { font: 600 15px var(--display); fill: var(--blaek); }
.f-lab { font: 600 13px var(--brod); fill: var(--blaek); }
.f-sum { font: 600 16px var(--mono); fill: var(--blaek); }
.f-min { font: 400 12px var(--brod); fill: var(--blaek-3); }

.n-pic { margin: 0 auto 26px; }
.n-pic img { display: block; width: 100%; height: auto; border: 1px solid var(--linje); }
.n-pic.tall { max-width: 640px; }

/* ----------------------------------------------------------- Kald ------ */

.n-cta { display: flex; align-items: center; justify-content: space-between; gap: 20px;
  flex-wrap: wrap; background: var(--blaek); color: var(--kort); padding: 22px 26px;
  margin: 0 auto 26px; }
.n-cta b { display: block; font-family: var(--display); font-size: 21px; }
.n-cta span { display: block; font-size: 15px; color: #b7c0ba; margin-top: 6px; }
.n-cta-go { background: var(--kobber); color: #fff; font: 600 16px/1 var(--brod);
  padding: 15px 24px; border-radius: 3px; text-decoration: none; white-space: nowrap; }
.n-cta-go:hover { background: #cf7422; }

/* ------------------------------------------------------------ FAQ ------ */

.n-faq details { border-top: 1px solid var(--linje-2); }
.n-faq details:last-of-type { border-bottom: 1px solid var(--linje-2); }
.n-faq summary { cursor: pointer; padding: 15px 30px 15px 0; font-family: var(--display);
  font-weight: 600; font-size: 18px; position: relative; list-style: none; }
.n-faq summary::-webkit-details-marker { display: none; }
.n-faq summary::after { content: "+"; position: absolute; right: 4px; top: 13px;
  font: 400 22px/1 var(--mono); color: var(--kobber); }
.n-faq details[open] summary::after { content: "−"; }
.n-faq p { margin: 0 0 18px; color: var(--blaek-2); }

.n-next { border-top: 1px solid var(--linje); margin-top: 38px; padding-top: 22px; }
.n-next p { font: 600 11px/1 var(--mono); letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--blaek-3); margin: 0 0 12px; }
.n-next ul { list-style: none; display: flex; flex-wrap: wrap; gap: 10px;
  margin: 0; padding: 0; }
.n-next a { display: block; background: var(--kort); border: 1px solid var(--linje);
  padding: 10px 15px; font-size: 15px; text-decoration: none; color: var(--blaek); }
.n-next a:hover { border-color: var(--blaek-3); }

/* ------------------------------------------------------------ Fod ------ */

.n-foot { margin-top: 56px; background: var(--blaek); color: #cfd6d0; padding: 40px 0 30px; }
.n-foot-kol { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 26px; }
.n-foot h4 { font: 600 11px/1 var(--mono); letter-spacing: 0.15em; text-transform: uppercase;
  color: #8d968f; margin: 0 0 12px; }
.n-foot ul { list-style: none; margin: 0; padding: 0; }
.n-foot li { margin-bottom: 8px; }
.n-foot a { color: #cfd6d0; font-size: 15px; text-decoration: none; }
.n-foot a:hover { color: #fff; text-decoration: underline; }
.n-foot-legal { margin: 32px 0 0; padding-top: 20px; border-top: 1px solid #333d38;
  font-size: 13.5px; line-height: 1.6; color: #8d968f; max-width: 62rem; }

.n-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 25; padding: 10px 20px;
  background: rgba(28, 35, 32, 0.96); display: none; }
.n-bar a { display: block; text-align: center; background: var(--kobber); color: #fff;
  font: 600 16px/1 var(--brod); padding: 15px; border-radius: 3px; text-decoration: none; }

/* ----------------------------------------------------------- Smalt ----- */

@media (max-width: 1080px) {
  .n-head-in { grid-template-columns: 1fr; gap: 30px; }
  .n-row { grid-template-columns: 46px minmax(0, 1fr) 96px; gap: 8px 16px; }
  .n-rank { grid-row: 1 / span 2; }
  .n-klausul { grid-column: 2 / -1; }
  .n-point { grid-column: 3; grid-row: 1; }
  .n-do { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 14px; }
  .n-do .n-go { flex: 1 1 auto; }
  .n-read { flex: none; }
}

@media (max-width: 760px) {
  body { font-size: 17px; padding-bottom: 92px; }
  .n-wrap { width: min(100% - 32px, var(--bred)); }
  .n-out { width: calc(100vw - 32px); }
  .n-body { width: min(100% - 32px, var(--spalte)); }
  .n-menu { display: none; }
  .n-top-go { margin-left: auto; }
  .n-head { padding: 30px 0 24px; }
  .n-pass { padding: 16px 18px 16px 40px; grid-template-columns: 1fr; }
  .n-pass-state { grid-column: 1; text-align: left; max-width: none; margin-top: 6px; }
  .n-row { grid-template-columns: 40px minmax(0, 1fr); }
  .n-point { grid-column: 2; grid-row: auto; text-align: left; }
  .n-meter { max-width: 180px; }
  .n-do { flex-direction: column; align-items: stretch; }
  .n-cta { flex-direction: column; align-items: stretch; }
  .n-cta-go { text-align: center; }
  .n-bar { display: block; }
  .n-top-go { display: none; }
}

/* Mørkt look følger læserens indstilling; kortene bliver til mørke kort,
   og kobberet løftes, så det stadig kan læses på mørk bund. */
@media (prefers-color-scheme: dark) {
  :root {
    --blaek: #e6eae5; --blaek-2: #b8c1bb; --blaek-3: #8b948e;
    --papir: #141a17; --kort: #1c2320; --linje: #38423c; --linje-2: #2a332e;
    --indigo: #7fa3d6; --kobber: #e08a3c; --groen: #5fa588; --lilla: #a58ae0; --okker: #d4ab4a;
  }
  .n-top { background: rgba(20, 26, 23, 0.94); }
  .n-row-top { background: #212a25; }
  .n-doer:hover { background: #212a25; }
  .n-go, .n-st-go, .n-cta-go, .n-top-go { color: #14100a; }
  .n-go:hover, .n-st-go:hover, .n-top-go:hover { background: #f09a4c; }
  .n-cta { background: #0c100e; }
  .n-foot { background: #0c100e; }
}
