/* Guidene (/guider/): lesevennlig på mobil først, samme topp som resten av svilla.no (merke.css). */
:root { --tekst: #1d2024; --svak: #5c6168; --gul: #f5b800; --bg: #f1efea; --lenke: #2f5f7a; --linje: #e0dcd3; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--tekst); background: #fff; line-height: 1.6; font-size: 17px; }
a { color: var(--lenke); }
.bredde { width: min(100% - 32px, 760px); margin: 0 auto; }
.bred { width: min(100% - 32px, 1120px); margin: 0 auto; }
h1, h2, h3 { line-height: 1.2; letter-spacing: -.01em; }
h1 { font-size: clamp(1.75rem, 5.5vw, 2.6rem); font-weight: 900; margin: 8px 0 14px; }
h2 { font-size: clamp(1.3rem, 4vw, 1.65rem); font-weight: 850; margin: 36px 0 10px; scroll-margin-top: 110px; }
h3 { font-size: 1.15rem; margin: 24px 0 6px; }
p, li { overflow-wrap: break-word; }
ul, ol { padding-left: 22px; }
li { margin: 5px 0; }
blockquote { margin: 18px 0; padding: 12px 16px; background: var(--bg); border-left: 5px solid var(--gul); border-radius: 8px; }
.svilla-topp nav.salg .lenke.aktiv { color: var(--gul); }

/* Toppen av artikkelen */
.hode { background: var(--bg); padding: 18px 0 26px; border-bottom: 1px solid var(--linje); }
.sti { font-size: .9rem; color: var(--svak); margin: 0; }
.sti a { color: var(--svak); }
.kat { display: inline-block; background: var(--tekst); color: #fff; font-size: .8rem; font-weight: 800; padding: 3px 9px; border-radius: 6px; margin-top: 14px; }
.ingress { font-size: 1.15rem; color: #34383d; margin: 0 0 14px; }
.byline { font-size: .9rem; color: var(--svak); margin: 0; }
.byline b { color: var(--tekst); }

/* Innhold */
.innhold { padding: 8px 0 24px; }
.innhold table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: .95rem; display: block; overflow-x: auto; }
.innhold th, .innhold td { text-align: left; border-bottom: 1px solid var(--linje); padding: 9px 8px; vertical-align: top; min-width: 120px; }
.innhold th { background: var(--tekst); color: #fff; }
.toc { background: var(--bg); border-radius: 12px; padding: 14px 18px; margin: 22px 0 6px; }
.toc b { display: block; margin-bottom: 4px; }
.toc ol { margin: 0; padding-left: 20px; }
.toc a { text-decoration: none; }
.toc a:hover { text-decoration: underline; }

/* Spørsmål og svar, kilder, forfatter, neste steg */
.faq details { border-bottom: 1px solid var(--linje); padding: 12px 0; }
.faq summary { font-weight: 750; cursor: pointer; list-style-position: outside; }
.faq details p { margin: 8px 0 0; }
.kilder { font-size: .95rem; }
.kilder li { margin: 6px 0; }
.forfatter { display: flex; gap: 14px; align-items: flex-start; background: var(--bg); border-radius: 12px; padding: 16px; margin: 30px 0 0; }
.forfatter img { width: 48px; height: 48px; border-radius: 10px; flex: none; }
.forfatter p { margin: 0; font-size: .95rem; }
.cta-liten { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; background: #fff7d6; border: 1px solid #f0d77a; border-left: 6px solid var(--gul); border-radius: 12px; padding: 14px 16px; margin: 26px 0 6px; }
.cta-liten p { margin: 0; flex: 1 1 260px; font-size: .97rem; }
.cta-liten a { flex: none; background: var(--tekst); color: #fff; font-weight: 800; text-decoration: none; padding: 10px 16px; border-radius: 9px; }
.cta-liten a:hover { background: #000; }
.guide-cta { background: var(--tekst); color: #fff; border-radius: 14px; padding: 20px; margin: 30px 0; border-top: 6px solid var(--gul); }
.guide-cta h2 { margin: 0 0 6px; font-size: 1.3rem; }
.guide-cta p { margin: 0 0 14px; color: #d7dadd; }
.guide-cta a { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 10px 20px; border-radius: 10px; font-weight: 800; text-decoration: none; background: var(--gul); color: var(--tekst); margin: 4px 8px 4px 0; }
.guide-cta a.hvit { background: transparent; color: #fff; border: 2px solid #fff; }

/* Oversikten og «les også»: hver guide i sin egen boks, med «Les guiden» nederst */
.hode.stor { background: var(--tekst); color: #fff; padding: 22px 0 30px; border-bottom: 4px solid var(--gul); }
.hode.stor .sti, .hode.stor .sti a { color: #c9cdd2; }
.hode.stor h1 { color: #fff; }
.hode.stor .ingress { color: #d7dadd; max-width: 680px; }
.hopp { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 6px; }
.hopp a { color: var(--tekst); background: var(--gul); text-decoration: none; font-weight: 800; font-size: .9rem; padding: 8px 12px; border-radius: 999px; }
.hopp a:hover { background: #ffc823; }
.undertekst { color: var(--svak); margin: 0 0 4px; }
.kort-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 16px; margin: 14px 0 8px; padding: 0; list-style: none; }
.kort-liste li { margin: 0; }
.kort-liste a { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--linje); border-top: 5px solid var(--gul); border-radius: 14px; padding: 18px; text-decoration: none; color: var(--tekst); box-shadow: 0 1px 2px rgba(0,0,0,.05), 0 4px 14px rgba(0,0,0,.05); transition: box-shadow .15s, transform .15s; }
.kort-liste a:hover { box-shadow: 0 8px 24px rgba(0,0,0,.12); transform: translateY(-2px); }
.kort-liste .etikett { font-style: normal; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--svak); margin-bottom: 6px; }
.kort-liste b { display: block; font-size: 1.12rem; line-height: 1.3; margin-bottom: 8px; }
.kort-liste span { display: block; color: var(--svak); font-size: .94rem; line-height: 1.5; flex: 1; }
.kort-liste .les { display: inline-flex; align-self: flex-start; margin-top: 14px; background: var(--tekst); color: #fff; font-weight: 800; font-size: .92rem; padding: 9px 14px; border-radius: 9px; }
.kort-liste a:hover .les { background: var(--gul); color: var(--tekst); }
.gruppe { padding: 8px 0 14px; }
.gruppe h2 { margin-top: 26px; }
.les-ogsa { background: var(--bg); padding: 10px 0 26px; margin-top: 10px; }
.les-ogsa h2 { margin-top: 22px; }
@media (prefers-reduced-motion: reduce) { .kort-liste a { transition: none; } .kort-liste a:hover { transform: none; } }
.fot { background: var(--tekst); color: #c9cdd2; padding: 28px 0 60px; font-size: .95rem; margin-top: 30px; }
.fot a { color: #fff; display: inline-block; padding: 8px 2px; margin-right: 14px; }
