/* side-farmakologi.css — farmakologimodulet (/farmakologi/). Bygger oven på side-design.css og side-procedure.css.
   Den faste 3D-baggrund (farma-baggrund.js) ligger bag alt; kortene er frostet glas ovenpå.
   Simulatorerne er altid mørke "laboratorier". */

:root { --fa-navy: #081527; --fa-teal: #2ee6c8; --fa-glas: rgba(255, 255, 255, .9); --fa-lab: #0b1b33; --fa-lab-2: #10284a; --fa-lab-linje: rgba(127, 214, 255, .18); }
body.fa-side { background: var(--fa-navy); }
.farma-bg3d { position: fixed; inset: 0; z-index: -1; pointer-events: none; }
.farma-bg3d canvas { width: 100% !important; height: 100% !important; display: block; }
html.har-farma-bg body.fa-side { background: transparent; }
html.har-farma-bg .fa-side .breadcrumb, html.har-farma-bg .fa-side .breadcrumb a { color: #b9cde6; }
.fa-side .section, .fa-side .sd-grid .index-card, .fa-side .sd-mere-grid a { background: var(--fa-glas); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.fa-side footer { position: relative; }

/* ── Hero ── */
.fa-hero { position: relative; max-width: 1180px; margin: 18px auto 0; padding: clamp(40px, 8vw, 96px) clamp(20px, 5vw, 56px) clamp(30px, 5vw, 56px); color: #fff; border-radius: 30px; overflow: hidden; isolation: isolate;
  background: radial-gradient(800px 360px at 85% 0%, rgba(46, 230, 200, .22), transparent 60%), radial-gradient(700px 360px at 0% 110%, rgba(139, 124, 255, .25), transparent 60%), rgba(8, 21, 39, .35);
  border: 1px solid rgba(127, 214, 255, .16); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.fa-hero .sd-kicker { display: inline-block; padding: 5px 14px; border-radius: 999px; background: rgba(46, 230, 200, .15); border: 1px solid rgba(46, 230, 200, .45); color: #b8fff2; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.fa-hero h1 { font-size: clamp(2.2rem, 6vw, 4rem); line-height: 1.02; letter-spacing: -.04em; margin: 0 0 14px; max-width: 840px; text-wrap: balance; }
.fa-hero h1 em { font-style: normal; background: linear-gradient(90deg, #2ee6c8, #7fd6ff 45%, #b8a8ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fa-hero .lead { color: #d3e3f6; font-size: clamp(1rem, 2vw, 1.18rem); line-height: 1.55; max-width: 680px; margin: 0 0 24px; }
.fa-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.fa-hero .sd-antal { margin-top: 18px; }
.fa-hero-lille { padding-top: clamp(30px, 5vw, 60px); }
.fa-hero-lille h1 { font-size: clamp(1.9rem, 5vw, 3.1rem); }

/* ADME-bogstaverne i heroen */
.fa-adme { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0 0; padding: 0; list-style: none; }
.fa-adme a { display: flex; align-items: center; gap: 10px; padding: 8px 14px 8px 8px; border-radius: 16px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14); color: #fff; text-decoration: none; transition: transform .2s, background .2s; }
.fa-adme a:hover { transform: translateY(-2px); background: rgba(255, 255, 255, .13); }
.fa-adme b { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; font-size: 1.2rem; background: var(--f); color: #06202a; box-shadow: 0 8px 20px -8px var(--f); }
.fa-adme span { font-weight: 750; font-size: .92rem; }
.fa-adme small { display: block; color: #a9c1dc; font-weight: 600; font-size: .74rem; }

/* ── Indgange (kort) ── */
.fa-wrap { max-width: 1180px; margin: 0 auto; padding: 22px clamp(14px, 4vw, 44px) 10px; }
.fa-kort-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; margin: 0 0 22px; }
.fa-kort { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 22px 20px 18px; border-radius: 22px; text-decoration: none; color: #eaf6ff; overflow: hidden;
  background: linear-gradient(160deg, rgba(16, 40, 74, .88), rgba(8, 21, 39, .9)); border: 1px solid rgba(127, 214, 255, .2); box-shadow: 0 26px 50px -36px rgba(0, 0, 0, .9);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: transform .25s cubic-bezier(.22, .8, .24, 1), border-color .25s; }
.fa-kort::before { content: ""; position: absolute; inset: auto -30% -60% auto; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, color-mix(in srgb, var(--f, #2ee6c8) 45%, transparent), transparent 70%); opacity: .55; transition: opacity .3s; }
.fa-kort:hover { transform: translateY(-4px); border-color: var(--f, #2ee6c8); }
.fa-kort:hover::before { opacity: .9; }
.fa-kort .fa-ikon { font-size: 1.9rem; }
.fa-kort strong { font-size: 1.12rem; letter-spacing: -.01em; color: #fff; }
.fa-kort span { font-size: .86rem; color: #b8cde4; line-height: 1.5; }
.fa-kort .fa-mere { margin-top: auto; padding-top: 8px; font-weight: 850; font-size: .8rem; color: var(--f, #2ee6c8); }

/* ── Laboratorier (mørke) ── */
.fa-lab { background: linear-gradient(170deg, var(--fa-lab-2), var(--fa-lab)) !important; color: #e6f1ff; border: 1px solid var(--fa-lab-linje) !important; }
.fa-lab .section-header h2 { color: #fff; }
.fa-lab .section-icon { background: rgba(46, 230, 200, .14); }
.fa-lab .sa-intro, .fa-lab p { color: #c3d5ea; }
.fa-lab a { color: #8fe9ff; }
.fa-lab .pr-kilde { background: rgba(255, 255, 255, .08); color: #cde6ff; border-color: rgba(255, 255, 255, .18); }

.fr { display: grid; grid-template-columns: minmax(250px, 320px) 1fr; gap: 18px; align-items: start; }
.fr-styr { display: grid; gap: 12px; }
.fr-styr label, .fr-felt { display: grid; gap: 6px; font-size: .8rem; font-weight: 750; color: #a9c1dc; letter-spacing: .02em; }
.fr-styr select, .fr-tidbar select { min-height: 44px; border-radius: 12px; border: 1px solid rgba(127, 214, 255, .28); background: #0a1a31; color: #fff; font: 650 .95rem/1.2 inherit; padding: 0 12px; }
.fr-styr input[type=range], .fa-lab input[type=range] { width: 100%; accent-color: var(--fa-teal); min-height: 32px; }
.fr-raekke { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.fr-raekke output, .fr-raekke b { color: #fff; font-weight: 800; font-size: .86rem; }
.fr-vej { display: flex; flex-wrap: wrap; gap: 6px; }
.fr-knap { min-height: 44px; padding: 8px 14px; border-radius: 12px; border: 1px solid rgba(127, 214, 255, .28); background: rgba(255, 255, 255, .04); color: #dbeaff; font: 750 .86rem/1.2 inherit; cursor: pointer; transition: background .2s, border-color .2s, transform .15s; }
.fr-knap:hover { background: rgba(255, 255, 255, .09); }
.fr-knap.er-valgt { background: linear-gradient(135deg, #2ee6c8, #22b8d9); color: #04202a; border-color: transparent; }
.fr-tjek { display: flex !important; grid-template-columns: none !important; align-items: center; gap: 10px !important; min-height: 40px; color: #dbeaff !important; font-size: .86rem !important; cursor: pointer; }
.fr-tjek input { width: 20px; height: 20px; accent-color: var(--fa-teal); flex: none; }
.fr-boks { padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .04); border: 1px dashed rgba(127, 214, 255, .25); display: grid; gap: 10px; }
.fr-boks[hidden] { display: none; }
.fr-boks h4 { font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: #8fb2d6; margin: 0; }

.fr-vis { display: grid; gap: 12px; min-width: 0; }
.fr-scene { position: relative; border-radius: 20px; overflow: hidden; background: radial-gradient(circle at 50% 40%, #12305a, #0a1930 70%); border: 1px solid var(--fa-lab-linje); min-height: 300px; }
.fr-3d { position: relative; height: clamp(360px, 52vw, 560px); }
.fr-3d canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; touch-action: pan-y; cursor: grab; }
.fr-3d:not(.er-klar) ~ .fr-3d-fallback { display: grid; }
.fr-3d-fallback { display: none; position: absolute; inset: 0; place-items: center; text-align: center; padding: 20px; color: #9fb7d3; font-size: .9rem; }
.fr-etiketter { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }
.fr-etiket { position: absolute; left: 0; top: 0; padding: 3px 9px; border-radius: 999px; font-size: .7rem; font-weight: 800; color: #eaf8ff; white-space: nowrap; background: rgba(8, 21, 39, .66); border: 1px solid rgba(127, 214, 255, .3); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); will-change: transform; }
.fr-etiket-svag { background: transparent; border-color: transparent; color: rgba(214, 232, 255, .6); text-transform: uppercase; letter-spacing: .08em; font-size: .64rem; }
.fr-overlag { position: absolute; left: 12px; right: 12px; bottom: 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; pointer-events: none; }
.fr-3dtal { font-size: .74rem; font-weight: 700; color: #cfe3ff; background: rgba(8, 21, 39, .7); padding: 6px 10px; border-radius: 10px; }
.fr-prik { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin: 0 5px 0 2px; vertical-align: -1px; }
.fr-prik-stof { background: #2ee6c8; box-shadow: 0 0 8px #2ee6c8; }
.fr-prik-metab { background: #ff9a3c; box-shadow: 0 0 8px #ff9a3c; }
.fr-prik-bundet { background: #9cc8ff; box-shadow: 0 0 0 3px rgba(233, 241, 255, .35); }
.fr-forklaring { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .78rem; color: #b9cde6; }
.fr-tidbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fr-tidbar input[type=range] { flex: 1 1 200px; }
.fr-spil { min-width: 120px; }
.fr-tid { font-variant-numeric: tabular-nums; font-weight: 850; color: #fff; min-width: 80px; }
.fr-kurve { width: 100%; height: 250px; display: block; border-radius: 16px; background: rgba(0, 0, 0, .2); border: 1px solid var(--fa-lab-linje); }
.fr-fase { padding: 12px 14px; border-radius: 14px; background: rgba(46, 230, 200, .08); border: 1px solid rgba(46, 230, 200, .25); color: #dff8f2; font-size: .92rem; line-height: 1.5; min-height: 3.2em; }
.fr-fase b { display: inline-block; margin-right: 6px; padding: 2px 9px; border-radius: 8px; background: #2ee6c8; color: #04202a; font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; }
.fr-tal { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 8px; }
.fr-tal div { padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .08); }
.fr-tal span { display: block; font-size: .7rem; font-weight: 750; color: #8fb2d6; text-transform: uppercase; letter-spacing: .05em; }
.fr-tal b { font-size: 1rem; color: #fff; }
.fr-tal small { color: #9fb7d3; font-weight: 600; }
.fr-roed { color: #ff8a8a !important; }
.fr-note { font-size: .86rem; }

/* ── Receptorlaboratoriet ── */
.rs { display: grid; grid-template-columns: minmax(250px, 340px) 1fr; gap: 18px; align-items: start; }
.rs-valg { display: flex; flex-wrap: wrap; gap: 6px; }
.rs-glider { display: grid; gap: 4px; }
.rs-glider span { font-size: .8rem; font-weight: 750; color: #a9c1dc; display: flex; justify-content: space-between; align-items: center; }
.rs-glider span i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; }
.rs-glider[hidden] { display: none; }
.rs-bar { display: flex; height: 34px; border-radius: 12px; overflow: hidden; background: rgba(255, 255, 255, .06); }
.rs-del { display: grid; place-items: center; font-size: .72rem; font-weight: 850; color: #04202a; white-space: nowrap; overflow: hidden; transition: flex-basis .35s; }
.rs-A { background: #22e3a0; } .rs-P { background: #ffb547; } .rs-B { background: #ff5470; color: #fff; } .rs-fri { background: rgba(255, 255, 255, .12); color: #cfe3ff; }
.rs-svar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: .92rem; color: #e6f1ff; }
.rs-maaler { flex: 1 1 140px; height: 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.rs-maaler i { display: block; height: 100%; background: linear-gradient(90deg, #22e3a0, #2ee6c8); border-radius: inherit; transition: width .3s; }
.rs-kurve { width: 100%; height: 230px; display: block; border-radius: 16px; background: rgba(0, 0, 0, .2); border: 1px solid var(--fa-lab-linje); }
.rs-tekst { font-size: .92rem; line-height: 1.6; }

/* ── Indholdsafsnit ── */
.fa-adme-afsnit { border-top: 5px solid var(--f) !important; }
.fa-adme-afsnit .section-icon { background: color-mix(in srgb, var(--f) 16%, #fff); }
.fa-stor-bogstav { display: inline-grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: var(--f); color: #fff; font-weight: 900; font-size: 1.4rem; box-shadow: 0 10px 22px -10px var(--f); }
.fa-pleje { margin-top: 14px; padding: 14px 16px; border-radius: 16px; background: color-mix(in srgb, var(--f, #12c4a8) 9%, #fff); border-left: 4px solid var(--f, #12c4a8); }
.fa-pleje h3 { font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--f, #12c4a8) 70%, #0d2038); margin: 0 0 6px; }
.fa-pleje ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; }
.fa-begreber { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.fa-begreb { padding: 16px; border-radius: 18px; background: #f6f9fd; border: 1px solid var(--sd-line); display: grid; gap: 6px; align-content: start; }
.fa-begreb h3 { font-size: 1rem; display: flex; gap: 8px; align-items: center; margin: 0; }
.fa-begreb p { margin: 0; font-size: .92rem; line-height: 1.55; color: #2a3a52; }
.fa-begreb .fa-eks { font-size: .84rem; color: #4b5d76; background: #fff; border-radius: 10px; padding: 8px 10px; border: 1px dashed var(--sd-line); }
.fa-veje { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.fa-vej { padding: 16px; border-radius: 18px; background: #f6f9fd; border: 1px solid var(--sd-line); display: grid; gap: 8px; align-content: start; }
.fa-vej h3 { font-size: 1rem; margin: 0; display: flex; gap: 8px; align-items: center; }
.fa-vej p { margin: 0; font-size: .9rem; line-height: 1.55; color: #2a3a52; }
.fa-vej .fa-obs { font-size: .84rem; color: #7a3412; background: #fff7ed; border-radius: 10px; padding: 8px 10px; }
.fa-hast { display: flex; gap: 3px; align-items: center; font-size: .72rem; color: #5a6b82; font-weight: 750; }
.fa-hast i { width: 14px; height: 6px; border-radius: 3px; background: #dbe5f1; }
.fa-hast i.er-til { background: linear-gradient(90deg, #2ee6c8, #22b8d9); }
.fa-fp { display: inline-block; font-size: .7rem; font-weight: 850; padding: 2px 8px; border-radius: 999px; background: #fee2e2; color: #991b1b; }
.fa-fp.er-nej { background: #dcfce7; color: #166534; }
.fa-former { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.fa-form { padding: 14px; border-radius: 16px; border: 1px solid var(--sd-line); background: #fff; display: grid; gap: 6px; align-content: start; }
.fa-form h3 { font-size: .98rem; margin: 0; display: flex; justify-content: space-between; gap: 6px; align-items: center; }
.fa-form p { margin: 0; font-size: .88rem; color: #2a3a52; line-height: 1.5; }
.fa-knus { font-size: .68rem; font-weight: 850; padding: 2px 8px; border-radius: 999px; white-space: nowrap; background: #e0f2fe; color: #075985; }
.fa-knus.er-aldrig { background: #fee2e2; color: #991b1b; }
.fa-form .fa-adv { font-size: .82rem; color: #991b1b; font-weight: 650; }
.fa-trappe { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; align-items: end; height: 150px; margin: 10px 0 4px; }
.fa-trappe div { border-radius: 10px 10px 4px 4px; background: linear-gradient(180deg, #2ee6c8, #0e9d87); position: relative; display: grid; align-content: start; justify-items: center; padding-top: 4px; color: #04202a; font-size: .72rem; font-weight: 850; min-height: 22px; }
.fa-trappe-akse { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; text-align: center; font-size: .72rem; color: #5a6b82; font-weight: 750; }
.fa-ligander { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.fa-ligand { padding: 16px; border-radius: 18px; border: 1px solid var(--sd-line); background: #fff; border-top: 5px solid var(--f); display: grid; gap: 6px; }
.fa-ligand h3 { margin: 0; font-size: 1.02rem; }
.fa-ligand p { margin: 0; font-size: .9rem; line-height: 1.55; color: #2a3a52; }
.fa-ligand .fa-eks { font-size: .84rem; color: #4b5d76; }
.fa-aeldre { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.fa-aeldre article { padding: 16px; border-radius: 18px; background: #f6f9fd; border: 1px solid var(--sd-line); display: grid; gap: 6px; align-content: start; }
.fa-aeldre h3 { margin: 0; font-size: 1rem; display: flex; gap: 8px; }
.fa-aeldre p { margin: 0; font-size: .9rem; line-height: 1.55; color: #2a3a52; }

/* Grupper */
.fg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.fg-kort { position: relative; display: grid; gap: 6px; align-content: start; padding: 20px 18px 16px; border-radius: 20px; background: var(--fa-glas); border: 1px solid var(--sd-line); text-decoration: none; color: var(--sd-ink); box-shadow: var(--sd-shadow); overflow: hidden; transition: transform .25s, border-color .25s; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.fg-kort[hidden] { display: none; }
.fg-kort::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 5px; background: var(--f); }
.fg-kort:hover { transform: translateY(-4px); border-color: var(--f); }
.fg-atc { display: inline-grid; place-items: center; min-width: 42px; padding: 0 8px; height: 42px; white-space: nowrap; border-radius: 13px; font-weight: 900; font-size: 1.2rem; color: #fff; background: var(--f); }
.fg-kort-top { display: flex; align-items: center; gap: 10px; }
.fg-kort .fg-atc { color: #fff; font-size: 1.15rem; text-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.fg-kort .fg-kort-top { color: var(--sd-ink); }
.fg-kort strong { font-size: 1.06rem; }
.fg-kort span { font-size: .84rem; color: var(--sd-soft); line-height: 1.5; }
.fg-ug { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 4px; }
.fg-ug i { font-style: normal; font-size: .7rem; font-weight: 750; padding: 3px 8px; border-radius: 999px; background: color-mix(in srgb, var(--f) 10%, #fff); color: color-mix(in srgb, var(--f) 75%, #0d2038); }
.fg-under { scroll-margin-top: 84px; border-left: 5px solid var(--f) !important; }
.fg-under h2 { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.fg-eks { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 12px; }
.fg-eks span { padding: 5px 11px; border-radius: 999px; background: color-mix(in srgb, var(--f) 9%, #fff); border: 1px solid color-mix(in srgb, var(--f) 25%, #fff); font-size: .84rem; font-weight: 750; }
.fg-eks small { color: var(--sd-soft); font-weight: 600; }
.fg-mekanisme { font-size: 1rem; line-height: 1.65; padding: 12px 14px; border-radius: 14px; background: #f6f9fd; border: 1px solid var(--sd-line); margin-bottom: 12px; }
.fg-to { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.fg-to > div { padding: 12px 14px; border-radius: 14px; border: 1px solid var(--sd-line); background: #fff; }
.fg-to h3 { font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--sd-soft); margin: 0 0 6px; }
.fg-to ul { margin: 0; padding-left: 18px; display: grid; gap: 3px; font-size: .9rem; }
.fg-observer { border-color: #fcd34d !important; background: #fffbeb !important; }
.fg-observer h3 { color: #92400e !important; }
.fg-ekstra { display: grid; gap: 8px; margin-top: 10px; font-size: .9rem; }
.fg-ekstra p { margin: 0; padding: 10px 12px; border-radius: 12px; background: #f6f9fd; }
.fa-risiko { border-left: 6px solid var(--f) !important; }
.fa-risiko .fg-to > div { background: #fff; }
.fa-metode { padding: 16px; border-radius: 18px; background: linear-gradient(135deg, #fef2f2, #fff7ed); border: 1px solid #fecaca; }
.fa-metode ol { margin: 8px 0 0; padding-left: 20px; display: grid; gap: 6px; }

/* ── Tests ── */
.fq { position: relative; padding: 18px; border-radius: 20px; background: linear-gradient(170deg, var(--fa-lab-2), var(--fa-lab)); color: #e6f1ff; border: 1px solid var(--fa-lab-linje); min-height: 260px; }
.fq-top { display: flex; justify-content: space-between; font-size: .78rem; font-weight: 800; color: #8fb2d6; text-transform: uppercase; letter-spacing: .06em; }
.fq-fremdrift { height: 6px; border-radius: 999px; background: rgba(255, 255, 255, .1); margin: 8px 0 14px; overflow: hidden; }
.fq-fremdrift i { display: block; height: 100%; background: linear-gradient(90deg, #2ee6c8, #7fd6ff); transition: width .3s; }
.fq-gruppe { font-size: .76rem; font-weight: 800; color: #7fd6ff; margin: 0 0 4px; }
.fq-spm { font-size: clamp(1.02rem, 2.4vw, 1.22rem); font-weight: 750; line-height: 1.45; margin: 0 0 14px; color: #fff; }
.fq-svar { display: grid; gap: 8px; }
.fq-valg { text-align: left; min-height: 48px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(127, 214, 255, .25); background: rgba(255, 255, 255, .04); color: #e6f1ff; font: 650 .95rem/1.4 inherit; cursor: pointer; transition: background .2s, border-color .2s, transform .15s; }
.fq-valg:hover:not(:disabled) { background: rgba(255, 255, 255, .09); transform: translateX(3px); }
.fq-valg.er-rigtig { background: rgba(34, 227, 160, .18); border-color: #22e3a0; color: #c9ffe9; }
.fq-valg.er-forkert { background: rgba(255, 84, 112, .16); border-color: #ff5470; color: #ffd3da; }
.fq-valg:disabled { cursor: default; }
.fq-forklaring { margin-top: 12px; display: grid; gap: 8px; }
.fq-forklaring:empty { display: none; }
.fq-forklaring p { margin: 0; color: #dbeaff; line-height: 1.55; }
.fq-forklaring small a { color: #8fe9ff; }
.fq-forklaring .hero-btn { justify-self: start; }
.fq-slut { display: grid; justify-items: center; text-align: center; gap: 10px; padding: 10px; }
.fq-ring { width: 120px; height: 120px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#2ee6c8 calc(var(--p) * 1%), rgba(255, 255, 255, .1) 0); }
.fq-ring b { display: grid; place-items: center; width: 92px; height: 92px; border-radius: 50%; background: var(--fa-lab); font-size: 1.5rem; color: #fff; }
.fq-bedst { font-size: .82rem; color: #8fb2d6 !important; }
.fa-test-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; }
.fa-test-grid h3 { font-size: 1rem; margin: 0 0 8px; }

/* ── Ordbog ── */
.fa-ord { all: unset; cursor: help; border-bottom: 2px dotted currentColor; text-decoration: none; font: inherit; color: inherit; }
.fa-ord:hover, .fa-ord:focus-visible { color: #0e9d87; }
.fa-lab .fa-ord:hover { color: #2ee6c8; }
.fa-ord-boks { position: absolute; z-index: 400; width: min(320px, calc(100vw - 20px)); padding: 12px 14px; border-radius: 14px; background: #0d2038; color: #e6f1ff; box-shadow: 0 20px 40px -18px rgba(0, 0, 0, .8); border: 1px solid rgba(127, 214, 255, .3); font-size: .88rem; line-height: 1.5; }
.fa-ord-boks p { margin: 4px 0 6px; }
.fa-ord-boks small { color: #8fb2d6; }
.fa-ord-boks a { color: #8fe9ff; }
.fa-ordbog { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px 18px; }
.fa-ordbog > div { padding: 10px 0; border-bottom: 1px solid var(--sd-line); scroll-margin-top: 90px; }
.fa-ordbog dt { font-weight: 850; }
.fa-ordbog dd { margin: 2px 0 0; font-size: .9rem; color: #3b4b63; line-height: 1.5; }
.fa-ordbog > div:target { background: #ecfeff; border-radius: 10px; padding: 10px; }

/* ── Mobil ── */
@media (max-width: 900px) {
  .fr, .rs { grid-template-columns: 1fr; }
  .fr-3d { height: min(115vw, 520px); }
  .fg-to { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .fa-hero { margin: 10px 8px 0; border-radius: 22px; }
  .fa-wrap { padding-left: 10px; padding-right: 10px; }
  .fr-kurve { height: 220px; }
  .fa-adme a { flex: 1 1 calc(50% - 10px); }
}

/* ── Mørk tilstand ── */
@media (prefers-color-scheme: dark) {
  :root { --fa-glas: rgba(18, 35, 59, .9); }
  .fa-begreb, .fa-vej, .fa-aeldre article, .fg-mekanisme, .fg-ekstra p { background: #14294a; }
  .fa-begreb p, .fa-vej p, .fa-aeldre p, .fa-form p, .fa-ligand p { color: #cfdcec; }
  .fa-begreb .fa-eks, .fa-form, .fa-ligand, .fg-to > div, .fa-risiko .fg-to > div { background: #12233b; color: #cfdcec; }
  .fa-pleje { background: #14294a; }
  .fa-vej .fa-obs { background: #3a2716; color: #fcd9b6; }
  .fg-observer { background: #3a2f16 !important; border-color: #6b5420 !important; }
  .fg-observer h3 { color: #f1d9a6 !important; }
  .fa-metode { background: #3a1a1a; border-color: #6b2020; }
  .fa-ordbog dd { color: #cfdcec; }
  .fa-ordbog > div:target { background: #17305a; }
  .fg-eks span, .fg-ug i { background: #16294a; color: #dbeaff; border-color: #2a4468; }
  .fa-hast i { background: #2a4468; }
}
@media print { .farma-bg3d, .fr-scene, .fr-tidbar, .fq { display: none !important; } .fa-hero { color: #000; background: #fff; } }
@media (prefers-reduced-motion: reduce) { .fa-kort, .fg-kort, .fq-valg { transition: none; } }

/* Laboratorier inde i en side med sidemenu: én kolonne, styringen i to kolonner */
.page-wrap .fr, .page-wrap .rs { grid-template-columns: 1fr; }
.page-wrap .fr-styr { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); align-items: end; }
.page-wrap .rs-valg, .page-wrap .fr-styr > .fr-felt { grid-column: 1 / -1; }
.page-wrap .fr-3d { height: clamp(320px, 42vw, 460px); }
@media (max-width: 600px) {
  .fr-etiket { font-size: .58rem; padding: 2px 6px; }
  .fr-etiket[data-organ="portaare"], .fr-etiket[data-organ="fedt"] { display: none; }
  .fr-3dtal { font-size: .66rem; }
}
