/* ==========================================================================
   Byggekurven – emne.v1.css (2026-10-07, SEO pass stream C1)
   Loaded only by the calculator/guide templates (beregner, beregnere-index, beregner-emne,
   guide, guides-index) on top of the site stylesheet; uses its tokens (--surface, --line,
   --accent …) and adds no new colours. Canon: web/.impeccable.md.
   Signature: the "facit" card on reference pages – the direct answer set as a receipt-style
   ledger (white card, dashed rule, tabular numerals), echoing the site's kvittering.
   ========================================================================== */

/* ---------- Reference page (beregner-emne) ---------- */
.emne-head{max-width:780px;padding-bottom:20px;margin-bottom:28px;border-bottom:1px solid var(--line);}
.emne-head .eyebrow{display:block;margin-bottom:8px;}
.emne-head .eyebrow a{color:var(--accent);border-bottom:1px solid var(--line-2);}
.emne-head .eyebrow a:hover{border-color:var(--accent);}
.emne-head h1{font-size:clamp(1.85rem,1.35rem + 1.9vw,2.6rem);line-height:1.1;letter-spacing:-.015em;max-width:24ch;}
.emne-head__meta{margin-top:12px;font-size:13px;color:var(--ink-3);}
.emne-head__meta a{color:inherit;border-bottom:1px solid var(--line-2);}
.emne-head__meta a:hover{color:var(--accent-strong);border-color:var(--accent);}

.emne-layout{display:grid;grid-template-columns:minmax(0,780px) 296px;justify-content:start;gap:clamp(32px,4vw,64px);align-items:start;}
.emne-main{min-width:0;}

/* the facit card */
.facit{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,28px);box-shadow:var(--shadow-sm);}
.facit h2{font-size:1.05rem;font-weight:700;letter-spacing:0;color:var(--ink-2);}
.facit__lead{margin-top:10px;font-size:clamp(1.08rem,1rem + .35vw,1.22rem);line-height:1.55;color:var(--ink);max-width:62ch;}
.facit__facts{margin-top:20px;padding-top:6px;border-top:1px dashed var(--line-2);}
.facit__row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 20px;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line);}
.facit__row:last-child{border-bottom:0;padding-bottom:0;}
.facit__row dt{font-size:14.5px;color:var(--ink-2);}
.facit__row dd{margin:0;text-align:right;font-weight:700;font-size:15.5px;color:var(--ink);}
.facit__row dd small{display:block;margin-top:2px;font-family:var(--ff-body);font-weight:400;font-size:12.5px;color:var(--ink-3);font-variant-numeric:normal;}

/* sections */
.emne-sec{margin-top:clamp(36px,4.5vw,52px);scroll-margin-top:16px;}
.emne-sec h2,.emne-cta h2,.emne-prices h2,.emne-sources h2,.emne-faq h2{font-size:clamp(1.3rem,1.1rem + .7vw,1.6rem);letter-spacing:-.01em;}
.emne-sec > p{margin-top:12px;font-size:16px;line-height:1.7;color:var(--ink-2);max-width:70ch;}
.emne-sec > p + p{margin-top:12px;}
.emne-main a:not(.button),.guide-body a,.prose a,.prose-shell a:not(.button){color:var(--accent);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px;text-decoration-thickness:1px;transition:text-decoration-color .15s,color .15s;}
.emne-main a:not(.button):hover,.guide-body a:hover,.prose a:hover,.prose-shell a:not(.button):hover{color:var(--accent-strong);text-decoration-color:var(--accent);}
.emne-main strong{color:var(--ink);}

.emne-list{margin:14px 0 0;padding-left:22px;font-size:16px;line-height:1.65;color:var(--ink-2);max-width:68ch;}
.emne-list li{margin-bottom:8px;}
.emne-list li::marker{color:var(--accent);}

/* ledger tables: density 8 – 1px rules, no card boxes inside, tabular numerals */
.emne-table{margin-top:18px;overflow-x:auto;border:1px solid var(--line-2);border-radius:var(--r-md);background:var(--surface);-webkit-overflow-scrolling:touch;}
.emne-table:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.emne-table table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums;}
.emne-table caption{caption-side:top;text-align:left;padding:12px 16px;font-size:13px;color:var(--ink-2);border-bottom:1px solid var(--line);background:var(--surface-3);}
.emne-table th,.emne-table td{padding:11px 16px;text-align:left;vertical-align:top;border-top:1px solid var(--line);}
.emne-table thead th{border-top:0;background:var(--surface-3);font-family:var(--ff-eyebrow);font-weight:600;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;}
.emne-table tbody th{font-weight:600;color:var(--ink);}
.emne-table td{color:var(--ink-2);}
.emne-table tbody tr:hover > *{background:var(--surface-3);}

/* FAQ spacing (component styles come from the site sheet) */
.emne-faq{margin-top:clamp(36px,4.5vw,52px);}

/* calculator CTA – quiet recessed panel; the button carries the action */
.emne-cta{margin-top:clamp(36px,4.5vw,52px);padding:clamp(20px,2.4vw,28px);background:var(--surface-2);border-radius:var(--r-lg);}
.emne-cta p{margin:10px 0 18px;font-size:15.5px;color:var(--ink-2);}
.emne-cta .button svg{flex:none;}

.emne-prices{margin-top:clamp(36px,4.5vw,52px);}
.emne-links{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:2px;}
.emne-links li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:12px 0;border-bottom:1px solid var(--line);}
.emne-links li:first-child{border-top:1px solid var(--line);}
.emne-main .emne-links a{font-weight:600;font-size:16px;}
.emne-links span{font-size:13.5px;color:var(--ink-3);}

.emne-sources{margin-top:clamp(36px,4.5vw,52px);padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--ink-2);}
.emne-sources h2{font-size:1.15rem;}
.emne-sources ol{margin:12px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:8px;}
.emne-sources li{overflow-wrap:anywhere;}
.emne-sources li span{color:var(--ink-3);}
.emne-sources > p{margin-top:14px;font-size:13.5px;color:var(--ink-3);}

/* aside: compact calculator CTA + topic navigation */
.emne-aside{position:sticky;top:16px;display:flex;flex-direction:column;gap:16px;}
.emne-aside__title{font-family:var(--ff-eyebrow);font-weight:600;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;}
.emne-aside__cta{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;}
.emne-aside__cta p:not(.emne-aside__title){font-size:14px;color:var(--ink-2);margin-bottom:14px;}
.emne-aside__nav{padding:4px 2px;}
.emne-aside__nav ul{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:2px;}
.emne-aside__nav li a,.emne-aside__nav li span{display:flex;gap:10px;align-items:baseline;padding:6px 0;font-size:14.5px;line-height:1.35;color:var(--ink);}
.emne-aside__nav li a::before,.emne-aside__nav li span::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--line-2);transform:translateY(-2px);}
.emne-aside__nav li a:hover{color:var(--accent-strong);}
.emne-aside__nav li a:hover::before{background:var(--accent);}
.emne-aside__nav [aria-current="page"]{font-weight:600;color:var(--accent);}
.emne-aside__nav [aria-current="page"]::before{background:var(--accent);}

@media (max-width:1023px){
  .emne-layout{grid-template-columns:1fr;}
  .emne-aside{position:static;}
  .emne-main{max-width:none;}
}
@media (max-width:560px){
  .facit__row{grid-template-columns:1fr;}
  .facit__row dd{text-align:left;}
  .emne-table th,.emne-table td{padding:10px 12px;}
  /* 3+ column ledgers scroll sideways in their own container instead of squashing the last column */
  .emne-table table:has(th:nth-child(3)){min-width:540px;}
  .emne-table thead th{white-space:normal;}
}

/* ---------- Calculator page additions (beregner.ejs) ---------- */
.calc-form__title{font-size:1.1rem;letter-spacing:0;margin-bottom:14px;}
.receipt__heading .receipt__title{font-family:var(--ff-display);font-weight:700;font-size:1.25rem;line-height:1.08;letter-spacing:-.01em;color:var(--ink);}
.prose-shell .method,.prose-shell .tips,.prose-shell .faq{margin-top:clamp(32px,4vw,44px);}
.method h2,.tips h2,.faq h2{font-size:clamp(1.3rem,1.1rem + .7vw,1.6rem);margin-bottom:16px;}
.method .beregner-intro + .method__list{margin-top:20px;}

.calc-emner{max-width:var(--shell);margin-block:clamp(36px,5vw,56px);padding-top:28px;border-top:1px solid var(--line);}
.calc-emner .eyebrow{display:block;margin-bottom:6px;}
.calc-emner h2{font-size:clamp(1.3rem,1.1rem + .7vw,1.6rem);}
.calc-emner__list{list-style:none;margin:18px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:0 clamp(24px,3vw,48px);}
.calc-emner__list li{padding:14px 0;border-bottom:1px solid var(--line);}
.calc-emner__list a{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--ink);}
.calc-emner__list a svg{flex:none;color:var(--accent);transition:transform .15s;}
.calc-emner__list a:hover{color:var(--accent-strong);}
.calc-emner__list a:hover svg{transform:translateX(2px);}
.calc-emner__hint{display:block;margin-top:4px;font-size:13.5px;line-height:1.5;color:var(--ink-3);}

.related-grid .related-col h2{font-size:1.15rem;letter-spacing:0;margin-bottom:12px;}

/* ---------- Index pages ---------- */
.calc-card h3{font-size:1.1rem;font-weight:700;}
.index-section{margin-top:clamp(36px,5vw,56px);}
.index-section--first{margin-top:0;}
.index-section > h2{font-size:clamp(1.3rem,1.1rem + .7vw,1.6rem);margin-bottom:16px;}
.emne-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px clamp(24px,3vw,40px);}
.emne-groups h3{font-size:1rem;margin-bottom:8px;}
.emne-groups h3 a:hover{color:var(--accent-strong);}
.emne-groups ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;}
.emne-groups li a{display:block;padding:5px 0;font-size:14.5px;color:var(--ink-2);}
.emne-groups li a:hover{color:var(--accent-strong);}

/* ---------- Guide page ---------- */
.guide-body .guide-note{padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);font-size:15px;}

@media (prefers-reduced-motion:reduce){
  .calc-emner__list a svg,.emne-main a,.guide-body a{transition:none;}
}
