/* Steg-for-steg-veiledning (skatt, selskap, avgift).
   En knapp (<details class="sg">) som åpner en nummerert liste med nedtrekk.
   Samme uttrykk som nedtrekkene «Forklaringer og regelverk» på /skatt/. Bare tema-tokens. */
.sg{margin:28px 0 0;border:1px solid var(--line-2);border-radius:8px;background:var(--surface);overflow:hidden;scroll-margin-top:calc(var(--nav-h, 64px) + 56px)}
.sg [id]{scroll-margin-top:calc(var(--nav-h, 64px) + 56px)}
.sg > summary{display:flex;align-items:center;gap:18px;padding:18px 22px;cursor:pointer;list-style:none;transition:background .2s var(--ease)}
.sg > summary::-webkit-details-marker{display:none}
.sg > summary:hover{background:var(--surface-2)}
.sg > summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.sg-head{flex:1;min-width:0}
.sg-k{display:block;font:600 11px/1.2 var(--font-sans);letter-spacing:.6px;text-transform:uppercase;color:var(--ink3)}
.sg-t{display:block;font-family:var(--font-serif);font-weight:500;font-size:21px;line-height:1.25;letter-spacing:-.2px;color:var(--ink);margin:6px 0 0}
.sg-d{display:block;font-size:13px;line-height:1.5;color:var(--ink3);margin-top:4px}
.sg-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--line-2);border-radius:5px;font:600 13px/1 var(--font-sans);color:var(--ink);background:var(--bg);transition:border-color .2s var(--ease)}
.sg > summary:hover .sg-btn{border-color:var(--accent)}
.sg-btn .x{color:var(--accent);font-weight:300;font-size:20px;line-height:1;transition:transform .2s var(--ease)}
.sg-btn .c{display:none}
.sg[open] > summary{background:var(--surface-2);border-bottom:1px solid var(--line)}
.sg[open] .sg-btn .o{display:none}
.sg[open] .sg-btn .c{display:inline}
.sg[open] .sg-btn .x{transform:rotate(45deg)}
.sg-body{padding:18px 22px 22px}
.sg-lede{font-size:14px;line-height:1.6;color:var(--ink2);max-width:68ch;margin:0 0 16px}
.sg-steps{list-style:none;margin:0;padding:0;counter-reset:sg;display:flex;flex-direction:column;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.sg-steps > li{background:var(--surface);counter-increment:sg;min-width:0}
.sg-step > summary{display:flex;align-items:baseline;gap:14px;padding:14px 18px;cursor:pointer;list-style:none;transition:background .2s var(--ease)}
.sg-step > summary::-webkit-details-marker{display:none}
.sg-step > summary::before{content:counter(sg);flex-shrink:0;min-width:1.5em;font-family:var(--font-serif);font-weight:500;font-size:19px;line-height:1;color:var(--ink3);font-variant-numeric:lining-nums tabular-nums}
.sg-step > summary:hover{background:var(--surface-2)}
.sg-step > summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
.sg-step-t{flex:1;min-width:0;font-weight:600;font-size:14.5px;line-height:1.4;color:var(--ink)}
.sg-step-w{display:block;font-weight:400;font-size:12.5px;color:var(--ink3);margin-top:2px}
.sg-chev{flex-shrink:0;font-weight:300;font-size:20px;line-height:1;color:var(--ink3);transition:transform .2s var(--ease),color .2s var(--ease)}
.sg-step[open] > summary{background:var(--surface-2)}
.sg-step[open] > summary::before{color:var(--accent-2)}
.sg-step[open] .sg-chev{transform:rotate(45deg);color:var(--accent)}
.sg-step-b{padding:4px 18px 18px calc(18px + 1.5em + 14px);font-size:13.5px;line-height:1.6;color:var(--ink2);max-width:76ch}
.sg-step-b p{margin:0 0 8px}
.sg-step-b ul,.sg-step-b ol{margin:0 0 8px;padding-left:18px}
.sg-step-b li{margin-bottom:3px}
.sg-step-b strong{color:var(--ink);font-weight:600}
.sg-step-b a{color:var(--accent-2);text-decoration:underline;text-underline-offset:2px}
.sg-src{font-size:12px;line-height:1.5;color:var(--ink3);margin:10px 0 0}
.sg-src a{color:var(--ink2)}
.sg-sub{font-family:var(--font-serif);font-weight:500;font-size:17px;color:var(--ink);margin:26px 0 10px}
.sg-note{font-size:12.5px;line-height:1.5;color:var(--ink3);margin:14px 0 0;max-width:72ch}
@media (max-width:560px){
  .sg > summary{flex-wrap:wrap;padding:16px 18px;gap:12px}
  .sg-btn{width:100%;justify-content:center}
  .sg-body{padding:14px 14px 18px}
  .sg-step > summary{padding:13px 14px;gap:10px}
  .sg-step-b{padding:2px 14px 16px 14px}
}
@media (prefers-reduced-motion:reduce){
  .sg *, .sg > summary{transition:none !important}
}
