/* =====================================================================
   sankekart.no — style.css
   Designtokens låst fra Handoff 01 §3. Bevisst friskere/grønnere enn
   soppkartnorge (jordbrun) — det er den visuelle differensieringen.
   Kontrast tekst/bakgrunn ≥ 7:1 (WCAG AAA brødtekst).
   ===================================================================== */

:root {
  /* Primær — løv/ramsløk */
  --ramslok:      #5A9A4B;   /* primær */
  --lovmork:      #2F5A2A;
  --bladtint:     #E8F0E0;   /* flate */
  --bladlinje:    #CDE0C0;

  /* Bæraksenter — sparsomt, kun kategori & varsel */
  --blabar:       #4E4E9E;   /* bær-kategori */
  --tyttebar:     #BE3A3A;   /* varsel/fare */
  --molte:        #D99A2B;   /* bær-kategori */

  /* Nøytraler */
  --bjork:        #FAF8F2;   /* bakgrunn */
  --kort:         #FFFFFF;
  --linje:        #E5E1D6;
  --skifer:       #262B27;   /* tekst */
  --skifer-lys:   #55605A;

  /* Kategorifarger (enum) */
  --kat-urter:    var(--ramslok);
  --kat-baer:     var(--blabar);
  --kat-rotter:   #8a6d3b;
  --kat-blomster: #b0568a;

  /* Radier & skygge */
  --radius:       12px;
  --radius-lg:    20px;
  --skygge:       0 1px 3px rgba(38,43,39,.06), 0 6px 20px rgba(38,43,39,.06);
  --skygge-lg:    0 8px 40px rgba(47,90,42,.14);

  /* Spacing — 4px-rutenett */
  --s1: 4px;  --s2: 8px;  --s3: 12px; --s4: 16px;
  --s6: 24px; --s8: 32px; --s12: 48px; --s16: 64px;

  --serif: 'Source Serif 4', Georgia, 'Liberation Serif', serif;
  --sans:  Arial, 'Liberation Sans', system-ui, -apple-system, sans-serif;
  --mono:  'SFMono-Regular', 'Liberation Mono', Menlo, Consolas, monospace;
}

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
/* overflow-x: clip hindrer at den utenpåliggende mobilmeny-skuffen (fixed,
   translateX(100%)) skaper vannrett scroll til høyre. clip beholder sticky-
   header; hidden er fallback for eldre nettlesere. */
html { scroll-behavior: smooth; overflow-x: hidden; overflow-x: clip; }
body {
  overflow-x: hidden;
  overflow-x: clip;
  margin: 0;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.7;
  color: var(--skifer);
  background: var(--bjork);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { font-family: var(--serif); font-weight: 700; line-height: 1.2; color: var(--lovmork); margin: 0 0 var(--s4); }
h2 { font-size: clamp(1.5rem, 3.2vw, 2.1rem); }
h3 { font-weight: 600; font-size: 1.2rem; }
p { margin: 0 0 var(--s4); }
a { color: var(--lovmork); }
img { max-width: 100%; display: block; }
.container { width: min(1160px, 92%); margin-inline: auto; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.tekst-senter { text-align: center; }
.seksjon { padding: var(--s16) 0; }
.seksjon--bg { background: var(--bladtint); }
.seksjon-tittel { margin-bottom: var(--s2); }
.seksjon-ingress { color: var(--skifer-lys); max-width: 60ch; margin-inline: auto; font-size: 1.05rem; }

/* 【VERIFISER】-plassholder — tydelig, ikke redaksjonell */
.verifiser {
  display: inline-block;
  font-family: var(--mono);
  font-size: .8rem;
  font-weight: 600;
  color: var(--tyttebar);
  background: #fbeaea;
  border: 1px dashed var(--tyttebar);
  border-radius: 6px;
  padding: 1px 7px;
  letter-spacing: .02em;
}
.tom-tilstand { color: var(--skifer-lys); background: var(--kort); border: 1px solid var(--linje); border-radius: var(--radius); padding: var(--s8); text-align: center; }

/* ---------- Knapper ---------- */
.knapp {
  display: inline-flex; align-items: center; gap: var(--s2);
  font-family: var(--sans); font-weight: 700; font-size: .98rem;
  padding: var(--s3) var(--s6); border-radius: 100px; text-decoration: none;
  border: 2px solid transparent; cursor: pointer; transition: transform .15s, box-shadow .15s;
}
.knapp:hover { transform: translateY(-2px); }
.knapp--primer { background: var(--ramslok); color: #fff; box-shadow: var(--skygge); }
.knapp--sekundaer { background: transparent; color: var(--lovmork); border-color: var(--bladlinje); }
.knapp--lov { background: var(--lovmork); color: #fff; }

/* ---------- Header / nav ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(250,248,242,.9); backdrop-filter: blur(10px); border-bottom: 1px solid var(--linje); }
.site-header.scrolled { box-shadow: var(--skygge); }
.header-inner { display: flex; align-items: center; justify-content: space-between; padding: var(--s3) 0; }
.logo { display: inline-flex; align-items: center; gap: var(--s2); text-decoration: none; font-family: var(--serif); font-weight: 700; font-size: 1.35rem; color: var(--lovmork); }
.logo-ikon { font-size: 1.5rem; }
.logo-no { color: var(--ramslok); }
.logo--lys, .logo--lys .logo-tekst { color: #fff; }
.logo--lys .logo-no { color: var(--bladlinje); }
.hoved-nav { display: flex; align-items: center; gap: var(--s6); }
.nav-lenke { text-decoration: none; color: var(--skifer); font-weight: 600; font-size: .96rem; padding: var(--s1) 0; border-bottom: 2px solid transparent; }
.nav-lenke:hover, .nav-lenke.aktiv { color: var(--lovmork); border-bottom-color: var(--ramslok); }
.nav-cta { text-decoration: none; background: var(--ramslok); color: #fff; font-weight: 700; padding: var(--s2) var(--s4); border-radius: 100px; font-size: .92rem; }
.mobil-meny-knapp { display: none; flex-direction: column; gap: 5px; background: none; border: 0; cursor: pointer; padding: var(--s2); }
.mobil-meny-knapp span { width: 26px; height: 2px; background: var(--lovmork); border-radius: 2px; transition: .25s; }

/* «Arter ▾»-nedtrekk */
.nav-dropdown { position: relative; }
.nav-dropdown__knapp { background: none; border: 0; cursor: pointer; font-family: inherit; display: inline-flex; align-items: center; gap: 4px; }
.nav-dropdown__pil { font-size: .8em; transition: transform .2s; }
.nav-dropdown__meny { position: absolute; top: calc(100% + 12px); left: 0; min-width: 320px; background: #fff; border: 1px solid var(--linje); border-radius: var(--radius); box-shadow: var(--skygge-lg); padding: var(--s2); display: none; z-index: 210; }
.nav-dropdown:hover .nav-dropdown__meny, .nav-dropdown:focus-within .nav-dropdown__meny, .nav-dropdown.open .nav-dropdown__meny { display: block; }
.nav-dropdown:hover .nav-dropdown__pil, .nav-dropdown.open .nav-dropdown__pil { transform: rotate(180deg); }
.nav-dropdown__lenke { display: flex; gap: var(--s3); align-items: flex-start; text-decoration: none; color: var(--skifer); padding: var(--s3); border-radius: 8px; font-weight: 600; }
.nav-dropdown__lenke:hover { background: var(--bjork); color: var(--lovmork); }
.nav-dropdown__lenke--topp { font-weight: 700; color: var(--lovmork); border-bottom: 1px solid var(--linje); border-radius: 8px 8px 0 0; margin-bottom: var(--s1); }
.nav-dropdown__emoji { font-size: 1.3rem; line-height: 1; }
.nav-dropdown__kort { display: block; font-weight: 400; font-size: .82rem; color: var(--skifer-lys); margin-top: 2px; }

/* Grenkort (kategorikort med DRY-teller) */
.gren-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: var(--s4); }
.gren-kort { display: flex; gap: var(--s4); align-items: flex-start; text-decoration: none; background: var(--kort); border: 1px solid var(--linje); border-radius: var(--radius); padding: var(--s5) var(--s6); box-shadow: var(--skygge); transition: transform .15s, box-shadow .15s; }
.gren-kort:hover { transform: translateY(-3px); box-shadow: var(--skygge-lg); }
/* Emoji i myk badge — lå tidligere rett i hjørnepolstringen og så «presset» ut */
.gren-kort__emoji { font-size: 1.7rem; line-height: 1; flex: 0 0 auto; width: 52px; height: 52px; display: grid; place-items: center; background: var(--bjork); border-radius: 14px; }
.gren-kort__navn { font-family: var(--serif); font-weight: 700; font-size: 1.2rem; color: var(--lovmork); display: block; }
.gren-kort__antall { font-family: var(--sans); font-weight: 600; font-size: .72rem; color: #1b5e20; background: var(--bjork); padding: 2px 8px; border-radius: 100px; margin-left: 4px; white-space: nowrap; }
.gren-kort__beskr { display: block; color: var(--skifer); font-size: .92rem; margin-top: var(--s2); }

/* Illustrasjonsfoto på artssider (foto.json) — selvhostet + kreditert */
.art-foto { display: grid; gap: var(--s4); margin: var(--s5) 0; }
.art-foto--flere { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.art-foto__figur { margin: 0; }
.art-foto__figur img { width: 100%; height: 220px; object-fit: cover; border-radius: var(--radius); display: block; box-shadow: var(--skygge); }
.art-foto:not(.art-foto--flere) .art-foto__figur img { height: auto; max-height: 420px; }
.art-foto__figur figcaption { font-size: .8rem; color: var(--skifer-lys); margin-top: var(--s2); line-height: 1.45; }
.art-foto__kreditt { opacity: .75; white-space: nowrap; }

/* Verktøy-innganger (forside) */
.verktoy-innganger { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s4); margin-top: var(--s8); }
.verktoy-inngang { display: flex; gap: var(--s3); align-items: center; text-decoration: none; background: var(--bjork); border-radius: var(--radius); padding: var(--s4) var(--s5); color: var(--skifer); }
.verktoy-inngang:hover { background: #e6f4e1; }
.verktoy-inngang__ikon { font-size: 1.8rem; line-height: 1; }
.verktoy-inngang strong { display: block; color: var(--lovmork); }
.verktoy-inngang > span > span { display: block; font-size: .82rem; color: var(--skifer-lys); }

/* ---------- Hero (forside 1a) ---------- */
.hero { position: relative; padding: var(--s16) 0; background: linear-gradient(160deg, var(--bladtint), var(--bjork)); overflow: hidden; }
.hero::after { content: "🌿"; position: absolute; right: -20px; bottom: -30px; font-size: 16rem; opacity: .06; transform: rotate(-12deg); }
.hero-innhold { max-width: 640px; position: relative; z-index: 1; }
.hero-badge { display: inline-block; background: var(--kort); border: 1px solid var(--bladlinje); color: var(--lovmork); font-weight: 700; font-size: .85rem; padding: var(--s1) var(--s4); border-radius: 100px; margin-bottom: var(--s4); }
.hero-tittel { font-size: clamp(2.2rem, 6vw, 3.6rem); margin-bottom: var(--s4); }
.hero-tittel em { color: var(--ramslok); font-style: italic; }
.hero-tekst { font-size: 1.15rem; color: var(--skifer-lys); margin-bottom: var(--s6); max-width: 52ch; }
.hero-sok { display: flex; gap: var(--s2); max-width: 460px; margin-bottom: var(--s6); }
.hero-sok input { flex: 1; padding: var(--s3) var(--s4); border: 2px solid var(--bladlinje); border-radius: 100px; font-size: 1rem; font-family: var(--sans); }
.hero-knapper { display: flex; gap: var(--s3); flex-wrap: wrap; }

/* ---------- Kategori-chips ---------- */
.kategori-chips { display: flex; flex-wrap: wrap; gap: var(--s3); justify-content: center; }
.kategori-chip {
  display: inline-flex; align-items: center; gap: var(--s2);
  text-decoration: none; background: var(--kort); border: 1.5px solid var(--linje);
  border-radius: 100px; padding: var(--s2) var(--s4); font-weight: 700; color: var(--skifer);
  transition: border-color .15s, transform .15s;
}
.kategori-chip:hover { transform: translateY(-2px); border-color: var(--ramslok); }
.kategori-chip .emoji { font-size: 1.2rem; }

/* ---------- Kort-grid (arter) ---------- */
.kort-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--s6); }
.art-kort { display: flex; flex-direction: column; background: var(--kort); border: 1px solid var(--linje); border-radius: var(--radius); overflow: hidden; box-shadow: var(--skygge); text-decoration: none; color: inherit; transition: transform .18s, box-shadow .18s; }
.art-kort:hover { transform: translateY(-4px); box-shadow: var(--skygge-lg); }
.art-kort__bilde { aspect-ratio: 16/10; display: grid; place-items: center; font-size: 3.5rem; background: var(--bladtint); }
.art-kort__innhold { padding: var(--s4); display: flex; flex-direction: column; gap: var(--s2); }
.art-kort__navn { margin: 0; }
.art-kort__latin { font-style: italic; color: var(--skifer-lys); font-size: .9rem; margin: 0; }
.art-kort__kategori { font-family: var(--mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--skifer-lys); }

/* ---------- Sikkerhetsindikator (§4a) ---------- */
.sikkerhetsindikator {
  display: inline-flex; align-items: center; gap: var(--s2);
  font-family: var(--sans); font-weight: 700; font-size: .82rem; letter-spacing: .03em;
  padding: var(--s1) var(--s3); border-radius: 100px; border: 2px solid;
}
.sikkerhetsindikator__ikon { font-size: 1em; }
.sikkerhetsindikator--stor { font-size: 1rem; padding: var(--s2) var(--s4); }
.sik--trygg     { color: #1b5e20; background: #e6f4e1; border-color: #2e7d32; }
.sik--forsiktig { color: #8a5a00; background: #fbf0d8; border-color: var(--molte); }
.sik--merknad   { color: #8a5a00; background: #fbf0d8; border-color: var(--molte); }
.sik--giftig    { color: #7a1c1c; background: #fbe4e4; border-color: var(--tyttebar); }
.sik--dodelig   { color: #fff; background: #7a1c1c; border-color: #5a1414; }
.sik--vern      { color: #fff; background: var(--lovmork); border-color: #234420; }
.sik--uavklart  { color: #444; background: #eee; border-color: #bbb; }

/* ---------- Kjennetegn-swatcher ---------- */
.kjennetegn { display: grid; gap: var(--s3); margin: var(--s4) 0; }
.kjennetegn__rad { display: flex; align-items: center; gap: var(--s3); background: var(--bladtint); border: 1px solid var(--bladlinje); border-radius: var(--radius); padding: var(--s3) var(--s4); }
.kjennetegn__glyf { font-size: 1.6rem; line-height: 1; flex: none; width: 2.2rem; text-align: center; }
.kjennetegn__tekst { display: flex; flex-direction: column; }
.kjennetegn__label { font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; color: var(--skifer-lys); }
.kjennetegn__verdi { font-weight: 600; }

/* ---------- Forvekslingskort (§4b) ---------- */
.forvekslingskort { background: var(--kort); border: 1px solid var(--linje); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--skygge); margin: var(--s6) 0; }
.forvekslingskort__topp { background: #fbe4e4; border-bottom: 3px solid var(--tyttebar); padding: var(--s6); }
.forvekslingskort__tittel { color: #7a1c1c; margin: 0 0 var(--s1); }
.forvekslingskort__stikk { margin: 0; font-weight: 700; color: #7a1c1c; }
.forvekslingskort__arter { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s4); padding: var(--s6); }
.forv-art { border: 1px solid var(--linje); border-radius: var(--radius); padding: var(--s4); display: flex; flex-direction: column; gap: var(--s3); }
.forv-art__bilde { aspect-ratio: 4/3; background: var(--bladtint); border-radius: var(--radius); display: grid; place-items: center; }
.forv-art__navn strong { display: block; }
.forv-art__navn em { color: var(--skifer-lys); font-size: .88rem; }
.forv-art__blokk-tittel { font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; color: var(--skifer-lys); }
.forv-art__punkter ul { margin: var(--s1) 0 0; padding-left: 1.1rem; font-size: .92rem; }
.forvekslingskort__tabell-boks { padding: 0 var(--s6) var(--s6); overflow-x: auto; }
.forv-tabell { width: 100%; border-collapse: collapse; font-size: .92rem; }
.forv-tabell caption { text-align: left; font-family: var(--serif); font-weight: 600; color: var(--lovmork); margin-bottom: var(--s2); }
.forv-tabell th, .forv-tabell td { border: 1px solid var(--linje); padding: var(--s2) var(--s3); text-align: left; vertical-align: top; }
.forv-tabell thead th { background: var(--bladtint); }
.forvekslingskort__felttest { margin: 0 var(--s6) var(--s6); background: var(--bladtint); border-left: 4px solid var(--ramslok); border-radius: 0 var(--radius) var(--radius) 0; padding: var(--s4); }
.forvekslingskort__felttest-merke { font-family: var(--mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--lovmork); font-weight: 700; }
.forvekslingskort__felttest p { margin: var(--s1) 0 0; }

/* ---------- Sankekalender (§5) ---------- */
.sk-celle { --c: var(--linje); display: inline-block; width: 1.4rem; height: 1.4rem; border-radius: 5px; background: var(--c); vertical-align: middle; }
.sk-celle.er-beste   { --c: var(--ramslok); }
.sk-celle.er-delvis  { --c: #b7d99a; }
.sk-celle.er-utenfor { --c: #ece9e0; }
.sankekalender-legende { list-style: none; display: flex; flex-wrap: wrap; gap: var(--s4); padding: 0; margin: var(--s4) 0; font-size: .88rem; color: var(--skifer-lys); }
.sankekalender-legende li { display: flex; align-items: center; gap: var(--s2); }
.sanketid-forbehold { font-size: .86rem; color: var(--skifer-lys); background: var(--bladtint); border-radius: var(--radius); padding: var(--s3) var(--s4); font-style: italic; }

.sankekalender-kompakt__stripe { display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--s1); max-width: 420px; }
.sankekalender-kompakt__stripe .sk-celle { position: relative; width: 100%; aspect-ratio: 1; display: grid; place-items: center; border-radius: 4px; }
.sk-celle__bokstav { font-family: var(--mono); font-size: .68rem; font-weight: 700; color: rgba(38,43,39,.55); }
.sk-celle.er-beste .sk-celle__bokstav { color: #fff; }
.sk-celle__title { display: none; }

.sankekalender-tabell-boks { overflow-x: auto; }
.sankekalender-tabell { border-collapse: collapse; width: 100%; }
.sankekalender-tabell th, .sankekalender-tabell td { border: 1px solid var(--linje); padding: var(--s2); text-align: center; }
.sankekalender-tabell thead th { background: var(--bladtint); font-family: var(--mono); font-size: .78rem; }
.sankekalender-tabell .sk-artcol { text-align: left; white-space: nowrap; }
.sankekalender-tabell td.sk-celle { width: 2rem; height: 2rem; border-radius: 0; }

/* ---------- Utbredelse / choropleth ---------- */
.sopp-info-seksjon, .utbredelse { margin: var(--s8) 0; }
.utbredelse-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--s6); align-items: start; }
.utbredelse-svg { width: 100%; height: auto; max-width: 340px; margin-inline: auto; display: block; }
.utbredelse-skala { display: flex; align-items: center; gap: var(--s2); font-size: .8rem; color: var(--skifer-lys); flex-wrap: wrap; justify-content: center; margin-top: var(--s3); }
.utbredelse-skala-felt { display: inline-flex; }
.utbredelse-skala-felt i, .utbredelse-skala-grå i { width: 16px; height: 16px; display: inline-block; }
.utbredelse-tabell { width: 100%; border-collapse: collapse; font-size: .9rem; }
.utbredelse-tabell th, .utbredelse-tabell td { border: 1px solid var(--linje); padding: var(--s2) var(--s3); text-align: left; }
.utbredelse-forbehold, .utbredelse-skala-merk, .utbredelse-tynt { font-size: .82rem; color: var(--skifer-lys); }
.utbredelse-tynt { color: #8a5a00; }
.utbredelse-endring { font-size: .9rem; line-height: 1.6; margin-top: 14px; padding: 11px 15px; background: var(--bladtint); border-left: 3px solid var(--ramslok); border-radius: 6px; color: var(--skifer); }
.utbredelse-endring strong { color: var(--lovmork); }
.utbredelse-endring-merk { display: block; font-size: .82rem; color: var(--skifer-lys); margin-top: 2px; }

/* ---------- Tillitsstripe ---------- */
.tillit-stripe { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: var(--s6); background: var(--kort); border: 1px solid var(--linje); border-radius: var(--radius-lg); padding: var(--s8); box-shadow: var(--skygge); }
.tillit-item { display: flex; gap: var(--s3); align-items: flex-start; }
.tillit-item__ikon { font-size: 1.6rem; }
.tillit-item h3 { margin: 0 0 var(--s1); font-size: 1rem; }
.tillit-item p { margin: 0; font-size: .9rem; color: var(--skifer-lys); }

/* ---------- Forvekslings-CTA-banner ---------- */
.forv-banner { background: linear-gradient(135deg, #7a1c1c, var(--tyttebar)); color: #fff; border-radius: var(--radius-lg); padding: var(--s12) var(--s8); text-align: center; }
.forv-banner h2 { color: #fff; }
.forv-banner p { color: rgba(255,255,255,.9); max-width: 60ch; margin-inline: auto; }
.forv-banner .knapp { background: #fff; color: #7a1c1c; margin-top: var(--s4); }

/* ---------- Filter-bar ---------- */
.filter-bar { display: flex; flex-wrap: wrap; gap: var(--s2); justify-content: center; margin-bottom: var(--s8); }
.filter-knapp { background: var(--kort); border: 1.5px solid var(--linje); border-radius: 100px; padding: var(--s2) var(--s4); font-weight: 600; cursor: pointer; font-family: var(--sans); }
.filter-knapp.aktiv { background: var(--lovmork); color: #fff; border-color: var(--lovmork); }

/* ---------- Brødsmuler ---------- */
.brodsmuler { font-size: .86rem; color: var(--skifer-lys); padding: var(--s4) 0; }
.brodsmuler a { color: var(--skifer-lys); }
.brodsmuler a:hover { color: var(--lovmork); }

/* ---------- Artsside ---------- */
.art-hero { background: linear-gradient(160deg, var(--lovmork), var(--ramslok)); color: #fff; padding: var(--s12) 0; }
.art-hero h1 { color: #fff; margin-bottom: var(--s2); }
.art-hero__latin { font-style: italic; opacity: .9; }
.art-hero__meta { display: flex; flex-wrap: wrap; gap: var(--s3); margin-top: var(--s4); }
.art-layout { display: grid; grid-template-columns: 1fr; gap: var(--s8); padding: var(--s12) 0; }
.info-seksjon { background: var(--kort); border: 1px solid var(--linje); border-radius: var(--radius); padding: var(--s8); box-shadow: var(--skygge); }
.info-seksjon h2 { margin-top: 0; }
.metadata-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: var(--s4); }
.metadata-item { background: var(--bladtint); border-radius: var(--radius); padding: var(--s4); }
.metadata-item__label { font-family: var(--mono); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--skifer-lys); }
.metadata-item__verdi { font-weight: 600; }
.kilder { font-size: .88rem; color: var(--skifer-lys); border-top: 1px solid var(--linje); margin-top: var(--s6); padding-top: var(--s4); }

/* ---------- Footer ---------- */
.site-footer { background: var(--lovmork); color: #d8e4d0; margin-top: var(--s16); }
.footer-inner { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: var(--s8); padding: var(--s16) 0 var(--s8); }
.footer-ingress { color: #b9cbb0; font-size: .92rem; margin-top: var(--s3); }
.footer-nav h3 { color: #fff; font-size: 1rem; margin-bottom: var(--s3); }
.footer-nav ul { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--s2); }
.footer-nav a { color: #cdddc4; text-decoration: none; font-size: .92rem; }
.footer-nav a:hover { color: #fff; text-decoration: underline; }
.footer-bunn { border-top: 1px solid rgba(255,255,255,.12); padding: var(--s6) 0; }
.footer-advarsel { font-size: .84rem; color: #e8d0d0; background: rgba(190,58,58,.18); border-radius: var(--radius); padding: var(--s4); }
.footer-advarsel a { color: #fff; }
.footer-kopi { font-size: .82rem; color: #9fb396; margin: var(--s3) 0 0; }

/* ---------- Fade-in ---------- */
/* Scroll-fade: kort er ALLTID synlige som standard. JS legger på .js-anim
   (skjuler) kun når IntersectionObserver faktisk finnes, og .synlig avslører.
   Slår JS/observer feil → kortene vises uansett (ingen usynlig innhold). */
.js-anim { opacity: 0; transform: translateY(14px); transition: opacity .5s, transform .5s; }
.js-anim.synlig { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js-anim { opacity: 1 !important; transform: none !important; transition: none; } html { scroll-behavior: auto; } }

/* ---------- Artsside-innhold (Handoff 02) ---------- */
.art-ingress { font-size: 1.2rem; line-height: 1.7; color: var(--skifer); font-family: var(--serif); }
.art-hero__pille { display: inline-flex; align-items: center; gap: var(--s1); background: rgba(255,255,255,.16); color: #fff; font-weight: 700; font-size: .82rem; letter-spacing: .03em; padding: var(--s1) var(--s3); border-radius: 100px; border: 1px solid rgba(255,255,255,.3); }
.art-hero__pille--rodliste { background: rgba(217,154,43,.28); border-color: rgba(217,154,43,.6); }
.art-hero__pille--dyrket { background: rgba(217,154,43,.28); border-color: rgba(217,154,43,.6); }

/* Hub-sammenligningstabell (Norske skogsbær) */
.hub-tabell-boks { overflow-x: auto; margin: var(--s4) 0 var(--s8); }
.hub-tabell { border-collapse: collapse; width: 100%; min-width: 640px; font-size: .92rem; }
.hub-tabell th, .hub-tabell td { border: 1px solid var(--linje); padding: var(--s3); text-align: left; vertical-align: top; }
.hub-tabell thead th { background: var(--bladtint); font-family: var(--serif); color: var(--lovmork); }
.hub-tabell th[scope="row"] { white-space: nowrap; }
.hub-tabell th[scope="row"] a { font-weight: 700; text-decoration: none; }
.hub-tabell th[scope="row"] a:hover { text-decoration: underline; }
.hub-tabell tbody tr:nth-child(odd) { background: rgba(232,240,224,.35); }

/* Dødelig forvekslingsfare-boks — prominent, ikon + tekst, aldri farge alene */
.fare-boks { background: #fbe4e4; border: 2px solid var(--tyttebar); border-left-width: 6px; border-radius: var(--radius); padding: var(--s6); }
.fare-boks__topp { display: flex; align-items: center; gap: var(--s3); }
.fare-boks__topp h2 { margin: 0; color: #7a1c1c; }
.fare-boks__ikon { font-size: 1.8rem; }
.fare-boks p { color: #5a1414; }
.fare-boks__felttest { background: #fff; border-radius: var(--radius); padding: var(--s3) var(--s4); }
.fare-boks__kilde { font-size: .82rem; color: #8a4a4a; margin: var(--s2) 0 0; }
.knapp--fare { background: var(--tyttebar); color: #fff; margin-top: var(--s2); }

/* Skjermplante-familiefare (skvallerkål/karve/kvann) — alvorlig, men balansert */
.familie-fare { background: #fdf4e3; border: 2px solid var(--molte); border-left-width: 6px; border-radius: var(--radius); padding: var(--s6); }
.familie-fare__topp { display: flex; align-items: center; gap: var(--s3); }
.familie-fare__topp h2 { margin: 0; color: #8a5a00; }
.familie-fare__ikon { font-size: 1.8rem; }
.familie-fare h3 { margin: var(--s4) 0 var(--s2); }
.familie-fare__merke { font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; }
.familie-fare__positiv { background: #e6f4e1; border-left: 4px solid #2e7d32; border-radius: 0 8px 8px 0; padding: var(--s3) var(--s4); margin: var(--s4) 0; }
.familie-fare__positiv .familie-fare__merke { color: #1b5e20; }
.familie-fare__positiv p { margin: var(--s1) 0 0; }
.familie-fare__arter { display: grid; gap: var(--s3); }
.familie-fare__felttest { background: #fff; border-radius: var(--radius); padding: var(--s3) var(--s4); margin-top: var(--s4); }
.familie-fare__felttest .familie-fare__merke { color: #8a5a00; }
.familie-fare__felttest p { margin: var(--s1) 0 0; }

/* Kjennetegn prose-liste */
.kjennetegn-liste { list-style: none; padding: 0; margin: 0 0 var(--s4); display: grid; gap: var(--s3); }
.kjennetegn-liste li { padding-left: var(--s6); position: relative; }
.kjennetegn-liste li::before { content: "🌿"; position: absolute; left: 0; top: 0; font-size: .9rem; }
.kjennetegn-liste li strong { color: var(--lovmork); }

/* Rødliste-notis (Information Gain) */
.rodliste-boks { background: #fdf4e3; border: 1px solid #eacf95; border-left: 6px solid var(--molte); border-radius: var(--radius); padding: var(--s6); }
.rodliste-boks__merke { font-family: var(--mono); font-weight: 700; font-size: .8rem; letter-spacing: .04em; color: #8a5a00; margin-bottom: var(--s2); }
.rodliste-boks p { margin: 0 0 var(--s2); }
.rodliste-boks__kilde { font-size: .82rem; color: #8a6a30; }

/* FAQ */
.faq { display: grid; gap: var(--s2); }
.faq-item { border: 1px solid var(--linje); border-radius: var(--radius); background: var(--bjork); }
.faq-item summary { cursor: pointer; font-weight: 700; font-family: var(--serif); color: var(--lovmork); padding: var(--s4); list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::before { content: "＋ "; color: var(--ramslok); }
.faq-item[open] summary::before { content: "− "; }
.faq-item p { margin: 0; padding: 0 var(--s4) var(--s4); color: var(--skifer-lys); }

/* Forvekslingsart-kort: gift + varsel */
.forv-art--trygg { border-color: #b7d99a; }
.forv-art--fare  { border-color: #e6b3b3; }
.forv-art__gift { font-size: .86rem; margin: 0; }
.forv-art__gift-merke { font-family: var(--mono); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; color: var(--skifer-lys); display: block; }
.forv-art__varsel { background: #7a1c1c; color: #fff; font-size: .84rem; font-weight: 600; border-radius: 8px; padding: var(--s2) var(--s3); margin: 0; }
.forvekslingskort__kilder { padding: 0 var(--s6) var(--s6); font-size: .82rem; color: var(--skifer-lys); }

/* Faktaboks (Information Gain, nøytral/blå — f.eks. koke-bær) */
.faktaboks { background: #eef0fb; border: 1px solid #c9cdf0; border-left: 6px solid var(--blabar); border-radius: var(--radius); padding: var(--s6); }
.faktaboks__merke { font-family: var(--mono); font-weight: 700; font-size: .8rem; letter-spacing: .04em; color: #35357a; margin-bottom: var(--s2); }
.faktaboks p { margin: 0 0 var(--s2); }
.faktaboks__kilde { font-size: .82rem; color: #5a5a8a; }

/* Aktuelt-boks (datostemplet, tidsbundet krok) */
.aktuelt-boks { background: linear-gradient(135deg, var(--bladtint), #fff); border: 1px solid var(--ramslok); border-radius: var(--radius); padding: var(--s4) var(--s6); box-shadow: var(--skygge); }
.aktuelt-boks__merke { display: inline-block; font-family: var(--sans); font-weight: 700; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; color: #fff; background: var(--ramslok); border-radius: 100px; padding: 2px 10px; margin-bottom: var(--s2); }
.aktuelt-boks p { margin: 0; }
.aktuelt-boks__kilde { font-size: .82rem; color: var(--skifer-lys); margin-top: var(--s2) !important; }

/* Faktaboks-varianter */
.faktaboks--lov  { background: #fdf4e3; border-color: #eacf95; border-left-color: var(--molte); }
.faktaboks--lov  .faktaboks__merke { color: #8a5a00; }
.faktaboks--tips { background: var(--bladtint); border-color: var(--bladlinje); border-left-color: var(--ramslok); }
.faktaboks--tips .faktaboks__merke { color: var(--lovmork); }

/* Merknad (liten forsiktig-note, f.eks. «Sank rent») */
.merknad { background: #fdf4e3; border-left: 4px solid var(--molte); border-radius: 0 8px 8px 0; padding: var(--s3) var(--s4); font-size: .92rem; margin: var(--s4) 0 0; }

/* Helseeffekter — evidensnivåer (ikon+etikett+farge, aldri farge alene) */
.helse-niva { border: 1px solid var(--linje); border-left: 6px solid var(--linje); border-radius: var(--radius); padding: var(--s4) var(--s6); margin: var(--s4) 0; background: var(--kort); }
.helse-niva h3 { margin: var(--s1) 0 var(--s2); }
.helse-niva__merke { font-family: var(--mono); font-weight: 700; font-size: .74rem; letter-spacing: .05em; text-transform: uppercase; }
.helse-niva__kilde { font-size: .82rem; color: var(--skifer-lys); margin: var(--s2) 0 0; }
.helse-niva--dokumentert { border-left-color: #2e7d32; background: #f2f9ef; }
.helse-niva--dokumentert .helse-niva__merke { color: #1b5e20; }
.helse-niva--usikkert    { border-left-color: var(--molte); background: #fdf7ec; }
.helse-niva--usikkert .helse-niva__merke { color: #8a5a00; }
.helse-niva--tradisjon   { border-left-color: #9aa0a0; background: #f5f5f2; }
.helse-niva--tradisjon .helse-niva__merke { color: #55605a; }
.helse-niva--advarsel    { border-left-color: var(--tyttebar); background: #fbe9e9; }
.helse-niva--advarsel .helse-niva__merke { color: #7a1c1c; }
.helse-disclaimer { margin: var(--s6) 0 0; padding: var(--s4) var(--s6); background: var(--skifer); color: #fff; border-radius: var(--radius); font-style: italic; font-family: var(--serif); }

/* «Spiselig med merknad»-boks (rognebær) — tydelig, men ikke alarm */
.merknad-boks { background: #fbf0d8; border: 2px solid var(--molte); border-left-width: 6px; border-radius: var(--radius); padding: var(--s6); }
.merknad-boks__topp { display: flex; align-items: center; gap: var(--s3); margin-bottom: var(--s3); font-size: 1.4rem; }
.merknad-boks p { color: #6a4a10; }

/* Giftige bær-hub (/sikkerhet/giftige-baer) — livssikkerhet, ikon+tekst */
.gift-ramme { background: #e6f4e1; border: 2px solid #2e7d32; border-radius: var(--radius-lg); padding: var(--s8); margin-bottom: var(--s12); }
.gift-ramme h2 { color: #1b5e20; margin-top: 0; }
.gift-ramme__tlf { font-weight: 700; font-size: 1.1rem; }
.gift-liste { display: grid; gap: var(--s4); }
.gift-art { border: 1px solid var(--linje); border-left: 6px solid var(--linje); border-radius: var(--radius); padding: var(--s4) var(--s6); background: var(--kort); }
.gift-art__topp { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); }
.gift-art__navn { font-family: var(--serif); font-weight: 700; font-size: 1.15rem; color: var(--lovmork); }
.gift-art__latin { font-style: italic; color: var(--skifer-lys); font-size: .9rem; }
.gift-alvor { display: inline-flex; align-items: center; gap: var(--s1); font-family: var(--sans); font-weight: 700; font-size: .78rem; letter-spacing: .03em; padding: var(--s1) var(--s3); border-radius: 100px; border: 2px solid; }
.gift-art__rad { margin: var(--s2) 0 0; font-size: .92rem; }
.gift-art__terskel { background: var(--bjork); border-radius: 8px; padding: var(--s2) var(--s3); }
.gift-art__kilde { font-size: .8rem; color: var(--skifer-lys); }
.alvor--svart_giftig { border-left-color: #5a1414; }
.alvor--svart_giftig .gift-alvor { color: #fff; background: #7a1c1c; border-color: #5a1414; }
.alvor--giftig { border-left-color: var(--tyttebar); }
.alvor--giftig .gift-alvor { color: #7a1c1c; background: #fbe4e4; border-color: var(--tyttebar); }
.alvor--irriterende { border-left-color: var(--molte); }
.alvor--irriterende .gift-alvor { color: #8a5a00; background: #fbf0d8; border-color: var(--molte); }
.alvor--spiselig_etter_koking { border-left-color: var(--ramslok); }
.alvor--spiselig_etter_koking .gift-alvor { color: #1b5e20; background: #e6f4e1; border-color: #2e7d32; }
.alvor--dodelig { border-left-color: #3a0d0d; }
.alvor--dodelig .gift-alvor { color: #fff; background: #5a1414; border-color: #3a0d0d; }
.alvor--fototoksisk { border-left-color: #b45309; }
.alvor--fototoksisk .gift-alvor { color: #fff; background: #d97706; border-color: #b45309; }
.alvor--fototoksisk_mild { border-left-color: #e8a13a; }
.alvor--fototoksisk_mild .gift-alvor { color: #8a5a00; background: #fbf0d8; border-color: #e8a13a; }
.forstehjelp { counter-reset: fh; list-style: none; padding: 0; display: grid; gap: var(--s3); }
.forstehjelp li { counter-increment: fh; position: relative; padding-left: var(--s12); }
.forstehjelp li::before { content: counter(fh); position: absolute; left: 0; top: 0; width: 32px; height: 32px; background: var(--tyttebar); color: #fff; border-radius: 50%; display: grid; place-items: center; font-weight: 700; }
.grunnregler-liste { margin: var(--s2) 0 0; padding-left: 1.4em; display: grid; gap: var(--s2); }
.grunnregler-liste li { padding-left: var(--s1); }

/* Kompakt forvekslingspanel (art uten forvekslingsart, f.eks. multe) */
.forvekslingskort__enkel { padding: var(--s6); display: grid; gap: var(--s4); }
.forvekslingskort__enkel p { margin: 0; }

/* Rolig forvekslingskort-header (ingen dødelig forveksling) */
.forvekslingskort--rolig { border-color: var(--bladlinje); }
.forvekslingskort__topp--rolig { background: var(--bladtint); border-bottom: 3px solid var(--ramslok); }
.forvekslingskort__topp--rolig .forvekslingskort__tittel { color: var(--lovmork); }
.forvekslingskort__topp--rolig .forvekslingskort__stikk { color: var(--skifer); }

/* Statuslegende (bær-hub) */
.statuslegende { list-style: none; padding: 0; margin: var(--s4) 0 0; display: grid; gap: var(--s3); }
.statuslegende li { display: flex; align-items: center; gap: var(--s3); flex-wrap: wrap; }

/* «Nå i sesong»-merke på forside-kort */
.sesong-merke { display: inline-block; font-family: var(--mono); font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: 100px; }
.sesong-merke--beste  { background: var(--ramslok); color: #fff; }
.sesong-merke--delvis { background: #dceccb; color: var(--lovmork); }

/* Intern lenking nederst på artsside */
.art-lenker { display: flex; flex-wrap: wrap; gap: var(--s3); }
.art-lenke { text-decoration: none; background: var(--bladtint); border: 1px solid var(--bladlinje); border-radius: 100px; padding: var(--s2) var(--s4); font-weight: 600; color: var(--lovmork); }
.art-lenke:hover { background: var(--bladlinje); }

/* ---------- Responsiv ---------- */
@media (max-width: 900px) {
  .utbredelse-grid { grid-template-columns: 1fr; }
  .footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .mobil-meny-knapp { display: flex; }
  .hoved-nav { position: fixed; inset: 0 0 0 auto; z-index: 200; width: min(80vw, 320px); background: var(--bjork); flex-direction: column; align-items: flex-start; padding: var(--s16) var(--s6); gap: var(--s4); transform: translateX(100%); transition: transform .25s; box-shadow: var(--skygge-lg); overflow-y: auto; }
  .hoved-nav.open { transform: none; }
  .footer-inner { grid-template-columns: 1fr; }
  /* Arter blir accordion på mobil (kun via .open/klikk, ikke hover) */
  .nav-dropdown { width: 100%; }
  .nav-dropdown__knapp { width: 100%; justify-content: space-between; }
  .nav-dropdown__meny { position: static; min-width: 0; box-shadow: none; border: 0; padding: var(--s1) 0 0 var(--s3); background: transparent; }
  .nav-dropdown:hover .nav-dropdown__meny, .nav-dropdown:focus-within .nav-dropdown__meny { display: none; }
  .nav-dropdown.open .nav-dropdown__meny { display: block; }
}

/* =====================================================================
   ARTSSIDE V2 — «Bærside 2a»-designet (Design-handoff 2026-07-22).
   Gjelder templates/art.php. Aksentfarger settes per art som CSS-variabler
   inline på .av2 (fra art_aksent() — blåbær = lilla, andre arter = sin farge).
   Grønn merkevare-palett er fast; kun aksenten varierer.
   ===================================================================== */
.av2 {
  /* Faste designtokens for v2 */
  --v2-morkgronn: #143a22;
  --v2-gronn:     #1f5a34;
  --v2-gronn2:    #2b6b3f;
  --v2-gronn3:    #3a8352;
  --v2-gronnflate:#eef4ec;
  --v2-heroflate: #f5f9f2;
  --v2-krem:      #faf7ef;
  --v2-krem2:     #f3ecdd;
  --v2-kremlinje: #ece2d1;
  --v2-delelinje: #eee7d8;
  --v2-noytral:   #e7e0d2;
  --v2-blomstring:#bcd4b0;
  --v2-tekst:     #232b22;
  --v2-tekst2:    #3c463a;
  --v2-tekst3:    #6d766a;
  --v2-brico: 'Bricolage Grotesque', 'Source Serif 4', Georgia, serif;
  --v2-fig:   'Figtree', system-ui, -apple-system, sans-serif;
  --v2-mono:  'Space Mono', 'Liberation Mono', Menlo, Consolas, monospace;

  font-family: var(--v2-fig);
  color: var(--v2-tekst);
  padding: clamp(20px, 4vw, 48px) 16px 64px;
}
.av2 :is(h1, h2, h3, h4) { font-family: var(--v2-brico); color: var(--v2-morkgronn); }
.av2 a { color: var(--v2-gronn); }
.av2 a:hover { color: var(--v2-gronn2); }

.av2-kort {
  max-width: 780px;
  margin-inline: auto;
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(30,40,25,.07), 0 24px 60px -28px rgba(30,40,25,.35);
}

/* ---------- Hero ---------- */
.av2-hero { padding: 40px 46px 42px; background: linear-gradient(180deg, var(--v2-heroflate), #fff); }
.av2-hero__grid { display: grid; grid-template-columns: 1fr 210px; gap: 30px; align-items: center; }
.av2-smuler { font: 700 11px/1.5 var(--v2-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--v2-gronn2); margin-bottom: 18px; }
.av2-smuler a { color: inherit; text-decoration: none; }
.av2-smuler a:hover { text-decoration: underline; }
.av2-h1 { font-weight: 800; font-size: clamp(38px, 7vw, 54px); line-height: .98; letter-spacing: -.02em; margin: 0 0 8px; }
.av2-latin { font-family: var(--v2-fig); font-style: italic; font-size: 17px; line-height: 1.35; color: var(--ak, #7d5fb0); margin: 0 0 6px; }
.av2-alias { font-size: 13px; color: var(--v2-tekst3); margin: 0 0 10px; }
.av2-ingress { font-size: 16px; line-height: 1.6; color: var(--v2-tekst2); margin: 10px 0 0; max-width: 46ch; text-wrap: pretty; }
.av2-hero__panel {
  position: relative; aspect-ratio: 1; border-radius: 20px; overflow: hidden;
  background: var(--ak-flate, #ece3f6);
  box-shadow: inset 0 0 0 1px var(--ak-border, #e2d4f2);
  display: flex; align-items: center; justify-content: center;
}
.av2-hero__ill { position: absolute; width: 112%; height: 112%; max-width: none; left: -6%; top: -6%; object-fit: cover; animation: av2-floaty 9s ease-in-out infinite; }
.av2-hero__emoji { font-size: 84px; animation: av2-floaty 9s ease-in-out infinite; }
@keyframes av2-floaty {
  0%, 100% { transform: translateY(0) rotate(-1.5deg); }
  50%      { transform: translateY(-10px) rotate(1.5deg); }
}

.av2-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; align-items: center; }
.av2-chip {
  display: inline-flex; align-items: baseline; gap: 7px; padding: 8px 14px;
  background: var(--v2-gronnflate); border-radius: 999px;
  font: 600 13px var(--v2-fig); color: var(--v2-gronn);
}
.av2-chip__k { font: 700 10px var(--v2-mono); text-transform: uppercase; letter-spacing: .05em; color: var(--v2-gronn2); opacity: .75; }
.av2-chip--aksent { background: var(--ak-flate, #ece3f6); color: var(--ak-tekst, #6a4d99); }
.av2-chip--aksent .av2-chip__k { color: var(--ak-tekst, #6a4d99); }
.av2-chip--varsel { background: #f6eede; color: #a06a1f; }

.av2-strek { height: 1px; background: var(--v2-delelinje); }

/* ---------- Innhold / seksjoner ---------- */
.av2-innhold { padding: 30px 46px 40px; }
.av2-seksjon { margin: 0 0 30px; }
.av2-h2 { font-weight: 800; font-size: 26px; line-height: 1.05; margin: 0 0 14px; }
.av2-kicker { font: 700 11px var(--v2-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ak, #7d5fb0); margin-bottom: 4px; }
.av2-kicker--aksent { color: var(--ak, #7d5fb0); margin: 0; }
.av2-kicker--lys { color: rgba(255,255,255,.7); margin-bottom: 10px; }
.av2-tekst { font-size: 15.5px; line-height: 1.6; color: var(--v2-tekst2); text-wrap: pretty; }

/* Nummererte seksjoner: badge + innhold */
.av2-nr { display: flex; gap: 18px; align-items: flex-start; }
.av2-nr__innhold { flex: 1; min-width: 0; }
.av2-badge {
  flex: none; width: 52px; height: 52px; border-radius: 16px;
  display: flex; align-items: center; justify-content: center;
  font: 800 24px var(--v2-brico);
}
.av2-badge--gronn  { background: var(--v2-gronnflate); color: var(--v2-gronn2); }
.av2-badge--aksent { background: var(--ak-flate, #ece3f6); color: var(--ak, #7d5fb0); }

/* ---------- Snarfakta flippkort ---------- */
.av2-snarfakta__topp { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
.av2-snarfakta__topp .av2-h2 { font-size: 24px; margin: 0; }
.av2-snarfakta__strek { height: 2px; flex: 1; background: var(--v2-delelinje); }
.av2-flippgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.av2-flipp {
  perspective: 900px; height: 148px; cursor: pointer; position: relative;
  background: none; border: 0; padding: 0; text-align: left; font: inherit; color: inherit;
}
.av2-flipp--statisk { cursor: default; }
.av2-flipp__indre {
  position: relative; display: block; width: 100%; height: 100%;
  transform-style: preserve-3d; transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.av2-flipp.flippet .av2-flipp__indre { transform: rotateY(180deg); }
.av2-flipp__side {
  position: absolute; inset: 0; border-radius: 18px; padding: 14px;
  backface-visibility: hidden; -webkit-backface-visibility: hidden;
  display: flex; flex-direction: column; justify-content: space-between;
}
.av2-flipp--statisk .av2-flipp__side { position: relative; height: 100%; }
.av2-flipp__front {
  background: linear-gradient(160deg, var(--ak-flate2, #f3ecf9), var(--ak-flate, #ece3f6));
  border: 1.5px solid var(--ak-border, #e2d4f2);
}
.av2-flipp__bak {
  transform: rotateY(180deg);
  background: var(--ak-dyp, #5a3f86); color: #fff;
  justify-content: center; font-size: 13px; line-height: 1.45;
}
.av2-flipp__k { font: 700 10px var(--v2-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--ak, #7d5fb0); }
.av2-flipp__v { font: 800 18px/1.15 var(--v2-brico); color: var(--ak-morkt, #3a2b5c); }

/* ---------- Kjennetegn ---------- */
.av2-kjennetegn--medfoto { display: grid; grid-template-columns: 1fr 220px; gap: 22px; align-items: start; }
.av2-sjekkliste { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.av2-sjekkliste li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; line-height: 1.5; color: var(--v2-tekst2); }
.av2-sjekk {
  flex: none; width: 22px; height: 22px; border-radius: 7px; margin-top: 1px;
  background: var(--ak-dyp, #5a3f86); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font: 700 12px var(--v2-mono);
}
.av2-fotopanel { margin: 0; }
.av2-fotopanel img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 18px; border: 1px solid var(--v2-kremlinje); }
.av2-fotopanel figcaption { font-size: 11.5px; line-height: 1.45; color: var(--v2-tekst3); margin-top: 6px; }
.av2-kreditt { display: block; font-size: 10.5px; opacity: .8; }

/* ---------- Modningskalender (interaktiv) ---------- */
.av2-kalender { background: linear-gradient(180deg, var(--v2-krem), var(--v2-krem2)); border-radius: 20px; padding: 22px; }
.av2-kalender__soyler { display: flex; align-items: flex-end; gap: 5px; height: 148px; }
.av2-mnd {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
  height: 100%; gap: 8px; cursor: pointer; min-width: 0;
  background: none; border: 0; padding: 0;
}
.av2-mnd__soyle { width: 100%; border-radius: 8px; transition: box-shadow .3s, opacity .3s; opacity: .8; }
.av2-mnd__soyle.er-utenfor    { height: 16%; background: var(--v2-noytral); }
.av2-mnd__soyle.er-blomstring { height: 42%; background: var(--v2-blomstring); }
.av2-mnd__soyle.er-delvis     { height: 55%; background: var(--ak-lys, #9b7bd0); }
.av2-mnd__soyle.er-beste      { height: 100%; background: var(--ak-dyp, #5a3f86); }
.av2-mnd__lbl { font: 700 10px var(--v2-mono); text-transform: uppercase; color: #a99a7f; }
.av2-mnd.aktiv .av2-mnd__soyle { opacity: 1; box-shadow: 0 6px 16px rgba(30,25,60,.28), 0 0 0 2px var(--v2-tekst); }
.av2-mnd.aktiv .av2-mnd__lbl { color: var(--v2-tekst); }
.av2-kalender__notat {
  margin-top: 16px; padding: 15px 17px; background: var(--ak-dyp, #5a3f86); border-radius: 14px;
  display: flex; gap: 12px; align-items: baseline; color: #fff;
}
.av2-kalender__notat strong { font: 800 14px var(--v2-brico); min-width: 44px; flex: none; }
.av2-kalender__notat span { font: 500 14px/1.45 var(--v2-fig); color: rgba(255,255,255,.92); }
.av2-kalender__legende { display: flex; flex-wrap: wrap; gap: 14px 16px; margin: 14px 0 0; padding: 0; list-style: none; }
.av2-kalender__legende li { display: flex; align-items: center; gap: 6px; font: 600 11px var(--v2-fig); color: var(--v2-tekst3); }
.av2-lgd { width: 11px; height: 11px; border-radius: 3px; display: inline-block; }
.av2-lgd.er-utenfor    { background: var(--v2-noytral); }
.av2-lgd.er-blomstring { background: var(--v2-blomstring); }
.av2-lgd.er-delvis     { background: var(--ak-lys, #9b7bd0); }
.av2-lgd.er-beste      { background: var(--ak-dyp, #5a3f86); }
.av2 .sanketid-forbehold { font-size: 12.5px; color: var(--v2-tekst3); margin: 10px 0 0; }

/* ---------- Galleri + lightbox ---------- */
.av2-galleri { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.av2-galleri__rute {
  aspect-ratio: 1; border-radius: 14px; overflow: hidden; cursor: pointer;
  border: 1px solid var(--v2-kremlinje); padding: 0; background: var(--v2-krem);
  transition: transform .2s;
}
.av2-galleri__rute:hover, .av2-galleri__rute:focus-visible { transform: scale(1.02); }
.av2-galleri__rute img { width: 100%; height: 100%; object-fit: cover; }
.av2-galleri__notis { font-size: 12px; color: var(--v2-tekst3); margin: 10px 0 0; }
.av2-lysboks {
  position: fixed; inset: 0; z-index: 300; background: rgba(20,30,20,.72);
  display: flex; align-items: center; justify-content: center; padding: 24px;
  animation: av2-lbin .2s ease;
}
.av2-lysboks[hidden] { display: none; }
@keyframes av2-lbin { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }
.av2-lysboks__kort { width: min(640px, 92vw); max-height: 90vh; background: #fff; border-radius: 20px; overflow: hidden; box-shadow: 0 30px 80px rgba(0,0,0,.4); display: flex; flex-direction: column; }
.av2-lysboks__kort img { width: 100%; max-height: 70vh; object-fit: contain; background: #10160f; }
.av2-lysboks__meta { padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; gap: 14px; font: 600 13.5px var(--v2-fig, sans-serif); color: #232b22; }
.av2-lysboks__lukk { flex: none; font: 700 11px var(--v2-mono, monospace); text-transform: uppercase; background: none; border: 0; cursor: pointer; color: #6d766a; padding: 6px 8px; }
.av2-lysboks__lukk:hover { color: #232b22; }

/* ---------- Bruk-banner ---------- */
.av2-bruk {
  margin: 0 0 30px; padding: 24px 26px; border-radius: 20px; color: #fff;
  background: linear-gradient(150deg, var(--v2-gronn), var(--v2-gronn3));
}
.av2-h2--lys { color: #fff !important; font-size: 24px; }
.av2-bruk__chips { display: flex; flex-wrap: wrap; gap: 9px; }
.av2-bruk__chip {
  padding: 9px 15px; background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px; font: 600 13.5px var(--v2-fig);
}

/* ---------- Eldre komponenter inne i v2 (lett harmonisering) ---------- */
.av2 .faktaboks, .av2 .merknad-boks, .av2 .aktuelt-boks, .av2 .rodliste-boks { margin-bottom: 30px; }
.av2 .forvekslingskort { margin-top: 4px; }
.av2 .kilder { font-size: 13.5px; }

/* ---------- Responsivt ---------- */
@media (max-width: 720px) {
  .av2 { padding: 12px 10px 48px; }
  .av2-hero { padding: 28px 20px 30px; }
  .av2-hero__grid { grid-template-columns: 1fr; gap: 20px; }
  .av2-hero__panel { max-width: 240px; }
  .av2-innhold { padding: 24px 20px 28px; }
  .av2-flippgrid { grid-template-columns: repeat(2, 1fr); }
  .av2-kjennetegn--medfoto { grid-template-columns: 1fr; }
  .av2-fotopanel { max-width: 320px; }
  .av2-galleri { grid-template-columns: repeat(2, 1fr); }
  .av2-nr { gap: 12px; }
  .av2-badge { width: 40px; height: 40px; border-radius: 12px; font-size: 19px; }
  .av2-kalender { padding: 16px 12px; }
  .av2-kalender__soyler { gap: 3px; height: 120px; }
  .av2-mnd__lbl { font-size: 8.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .av2-hero__ill, .av2-hero__emoji { animation: none; }
  .av2-flipp__indre { transition: none; }
  .av2-galleri__rute { transition: none; }
  .av2-lysboks { animation: none; }
}

/* =====================================================================
   KATEGORI-HUB V2 — hybrid av «Bær-oversikt 3a» + redaksjonell hub.
   Deler .av2-tokens/aksentvariabler med artsside v2.
   ===================================================================== */
.av2-kort--bred { max-width: 960px; }

/* ---------- Hub-hero ---------- */
.av2h-hero__grid { display: grid; grid-template-columns: 1fr auto; gap: 30px; align-items: end; }
.av2h-h1 { font-size: clamp(34px, 6vw, 52px); }
.av2h-ingress { max-width: 58ch; }
.av2h-teller { text-align: right; }
.av2h-teller__tall { font: 800 44px/1 var(--v2-brico); color: var(--ak-dyp, #5a3f86); }
.av2h-teller__lbl { font: 700 10px var(--v2-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--ak, #7d5fb0); }
.av2h-banner {
  margin-top: 24px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  padding: 14px 18px; background: var(--v2-gronnflate); border-radius: 14px;
}
.av2h-banner__merke {
  flex: none; display: flex; align-items: center; gap: 8px;
  font: 700 11px var(--v2-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--v2-gronn);
}
.av2h-banner__puls { width: 9px; height: 9px; border-radius: 50%; background: var(--v2-gronn2); box-shadow: 0 0 0 4px rgba(43,107,63,.18); }
.av2h-banner__arter { font: 600 14px var(--v2-fig); color: var(--v2-gronn2); }

/* ---------- Filterrad ---------- */
.av2h-filter { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 16px; }
.av2h-filter__lbl { font: 700 10px var(--v2-mono); letter-spacing: .08em; text-transform: uppercase; color: #a99a7f; margin-right: 2px; }
.av2h-filter__knapp {
  border: none; cursor: pointer; padding: 8px 16px; border-radius: 999px;
  font: 600 13px var(--v2-fig); transition: background .2s, color .2s;
  background: var(--v2-gronnflate); color: var(--v2-gronn);
}
.av2h-filter__knapp:hover { background: #e0ebdc; }
.av2h-filter__knapp.aktiv { background: var(--v2-morkgronn); color: #fff; }

/* ---------- Artskort-grid ---------- */
.av2h-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.av2h-kort {
  display: flex; flex-direction: column; text-decoration: none; color: inherit;
  background: #fff; border: 1px solid var(--v2-kremlinje); border-radius: 18px;
  overflow: hidden; transition: transform .2s, box-shadow .2s;
}
.av2h-kort:hover, .av2h-kort:focus-visible { transform: translateY(-3px); box-shadow: 0 14px 30px -14px rgba(30,40,25,.3); }
.av2h-kort__thumb { position: relative; aspect-ratio: 5/3; overflow: hidden; display: flex; align-items: center; justify-content: center; }
.av2h-kort__thumb img { width: 100%; height: 100%; object-fit: cover; }
.av2h-kort__thumb img.av2h-kort__ill { width: 130%; height: 130%; }
.av2h-kort__emoji { font-size: 52px; }
.av2h-kort__merke {
  position: absolute; top: 11px; right: 11px;
  font: 700 9.5px var(--v2-mono); letter-spacing: .04em; text-transform: uppercase;
  color: #fff; background: var(--v2-gronn2); padding: 5px 9px; border-radius: 999px;
}
.av2h-kort__merke--delvis { background: #7c9a6d; }
.av2h-kort__innhold { padding: 16px 17px 17px; display: flex; flex-direction: column; gap: 11px; flex: 1; }
.av2h-kort__navn { font: 800 20px/1.05 var(--v2-brico); color: var(--v2-morkgronn); }
.av2h-kort__latin { font: italic 400 12.5px var(--v2-fig); color: var(--ak, #7d5fb0); }
.av2h-kort__note { font: 400 13px/1.45 var(--v2-fig); color: #5c655a; margin: 0; flex: 1; }
.av2h-kort__stripe-boks { margin-top: auto; }
.av2h-kort__stripe { display: flex; gap: 2px; margin-bottom: 5px; }
.av2h-kort__stripe span { flex: 1; height: 5px; border-radius: 2px; }
.av2h-kort__stripe .er-beste   { background: var(--v2-gronn2); }
.av2h-kort__stripe .er-delvis  { background: #9fc48b; }
.av2h-kort__stripe .er-utenfor { background: var(--v2-noytral); }
.av2h-kort__stripe-lbl { display: flex; justify-content: space-between; font: 700 8.5px var(--v2-mono); letter-spacing: .1em; text-transform: uppercase; color: #a99a7f; }
.av2h-kort__chips { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.av2h-chip { font: 600 11.5px var(--v2-fig); padding: 5px 10px; border-radius: 999px; background: #f2f4f0; color: var(--v2-tekst2); }
.av2h-chip--tid { font: 700 10.5px var(--v2-mono); background: var(--v2-krem2); color: #7a5b1e; }
.av2h-kort__chips .sikkerhetsindikator { font-size: .68rem; }
.av2h-kort--ekstern { justify-content: center; background: var(--v2-krem); }
.av2h-tom { text-align: center; color: var(--v2-tekst3); padding: 24px 0; }

/* ---------- Eldre hub-komponenter inne i v2-skallet ---------- */
.av2 .hub-tabell-boks { margin-top: var(--s3); }
.av2 .statuslegende { padding-left: 0; }

/* ---------- Responsivt ---------- */
@media (max-width: 900px) {
  .av2h-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 720px) {
  .av2h-hero__grid { grid-template-columns: 1fr; gap: 14px; }
  .av2h-teller { display: flex; align-items: baseline; gap: 8px; text-align: left; }
  .av2h-teller__tall { font-size: 32px; }
}
@media (max-width: 560px) {
  .av2h-grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .av2h-kort { transition: none; }
}

/* =====================================================================
   GLOBAL TOPPMENY + FOOTER V2 («Sankekart-fremside»-designet).
   Overstyrer .site-header/.site-footer sent i fila (kaskaden vinner) —
   gjelder ALLE sider, også de som ellers står i eldre stil.
   ===================================================================== */
.site-header {
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid #ece2d1;
}
.logo { font-family: 'Bricolage Grotesque', var(--serif); font-weight: 800; font-size: 1.3rem; color: #143a22; }
.logo-merke {
  width: 26px; height: 26px; border-radius: 8px; flex: none;
  background: linear-gradient(150deg, #1f5a34, #3a8352); display: inline-block;
}
.logo-merke--lys { background: linear-gradient(150deg, #3a8352, #8fd39d); }
.logo-no { color: #3a8352; }
.logo--lys, .logo--lys .logo-tekst { color: #fff; }
.logo--lys .logo-no { color: #8fd39d; }
.nav-lenke { font-family: 'Figtree', var(--sans); font-weight: 600; font-size: .92rem; color: #3c463a; border-bottom: 0; padding: 8px 12px; border-radius: 8px; }
.nav-lenke:hover { background: #f2f4f0; color: #143a22; border-bottom: 0; }
.nav-lenke.aktiv { background: #eef4ec; color: #143a22; border-bottom: 0; }
.nav-dropdown__knapp { font-family: 'Figtree', var(--sans); }
.nav-cta-kart {
  display: inline-block; padding: 9px 17px; border-radius: 999px;
  background: #143a22; color: #fff !important; font: 700 .88rem 'Figtree', sans-serif;
  text-decoration: none; white-space: nowrap;
}
.nav-cta-kart:hover { background: #1f5a34; }
@media (max-width: 900px) {
  .nav-cta-kart { margin-top: var(--s3); }
}

.site-footer { background: #122d1b; }
.site-footer .footer-ingress { color: #93a596; }
.site-footer .footer-nav h3 {
  font: 700 11px 'Space Mono', monospace; letter-spacing: .08em; text-transform: uppercase;
  color: #7e9384; margin-bottom: 14px;
}
.site-footer .footer-nav a { font: 400 14px 'Figtree', sans-serif; color: #cdd8ce; text-decoration: none; }
.site-footer .footer-nav a:hover { color: #fff; }
.site-footer .footer-bunn { border-top: 1px solid rgba(255,255,255,.1); background: transparent; }
.site-footer .footer-advarsel { color: #b9c9bb; }
.site-footer .footer-kopi { color: #7e9384; }

/* =====================================================================
   FORSIDE V2 (.fs-*) — «Sankekart-fremside», koblet på ekte data.
   ===================================================================== */
.fs {
  font-family: 'Figtree', system-ui, sans-serif;
  color: #232b22;
  background: #faf7f0;
}
.fs-bredde { max-width: 1120px; margin: 0 auto; padding-inline: 28px; }
.fs :is(h1, h2, h3) { font-family: 'Bricolage Grotesque', serif; color: #143a22; }
.fs-h2 { font-weight: 800; font-size: clamp(24px, 4vw, 32px); line-height: 1; margin: 0; }
.fs-h2--lys { color: #fff !important; }
.fs-seksjon { padding: 44px 0 8px; }
.fs-seksjon--siste { padding-bottom: 56px; }
.fs-seksjon__topp { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.fs-mer { font: 600 14px 'Figtree', sans-serif; color: #2b6b3f; text-decoration: none; }
.fs-mer:hover { text-decoration: underline; }
.fs-puls { width: 8px; height: 8px; border-radius: 50%; background: #2b6b3f; display: inline-block; }
.fs-puls--lys { background: #8fd39d; box-shadow: 0 0 0 5px rgba(143,211,157,.25); }

/* ---------- Hero ---------- */
.fs-hero { background: linear-gradient(180deg, #eef4ea, #faf7f0); }
.fs-hero__grid { display: grid; grid-template-columns: 1fr 440px; gap: 52px; align-items: center; padding-top: 56px; padding-bottom: 48px; }
.fs-hero__badge {
  display: inline-flex; align-items: center; gap: 8px;
  font: 700 11px 'Space Mono', monospace; letter-spacing: .1em; text-transform: uppercase;
  color: #2b6b3f; background: #e2efdd; padding: 7px 13px; border-radius: 999px; margin-bottom: 22px;
}
.fs-hero__h1 { font-weight: 800; font-size: clamp(36px, 6vw, 60px); line-height: 1; letter-spacing: -.03em; margin: 0 0 18px; text-wrap: balance; }
.fs-hero__tekst { font-size: 17px; line-height: 1.6; color: #3c463a; margin: 0 0 26px; max-width: 52ch; text-wrap: pretty; }
.fs-hero__cta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.fs-knapp {
  display: inline-flex; align-items: center; gap: 9px; padding: 15px 26px; border-radius: 999px;
  font: 700 16px 'Figtree', sans-serif; text-decoration: none; border: 0; cursor: pointer;
}
.fs-knapp--morkt { background: #143a22; color: #fff; }
.fs-knapp--morkt:hover { background: #1f5a34; color: #fff; }
.fs-knapp--lys { background: #fff; border: 1.5px solid #d7ceba; color: #1f5a34; }
.fs-knapp--lys:hover { border-color: #2b6b3f; color: #1f5a34; }
.fs-knapp--liten { padding: 11px 20px; font-size: 14px; }
.fs-hero__sok { display: flex; gap: 8px; max-width: 430px; margin-bottom: 18px; }
.fs-hero__sok input {
  flex: 1; min-width: 0; padding: 11px 16px; border-radius: 999px; border: 1.5px solid #d7ceba;
  font: 400 14px 'Figtree', sans-serif; background: #fff; color: #232b22;
}
.fs-hero__sok input:focus { outline: 2px solid #2b6b3f; outline-offset: 1px; border-color: #2b6b3f; }
.fs-hero__fakta { display: flex; gap: 14px; flex-wrap: wrap; font: 600 13px 'Figtree', sans-serif; color: #6d766a; }

.fs-kartteaser {
  position: relative; display: block; height: 400px; border-radius: 24px; overflow: hidden;
  border: 1px solid #cfdcc6; background: radial-gradient(120% 90% at 30% 20%, #eef4ea, #dcebd3);
  box-shadow: 0 24px 60px -28px rgba(30,40,25,.4); text-decoration: none;
}
.fs-kartteaser svg { position: absolute; inset: 12px; width: calc(100% - 24px); height: calc(100% - 24px); }
.fs-kartteaser__merke {
  position: absolute; left: 18px; top: 18px;
  font: 400 11px 'Space Mono', monospace; color: #2b6b3f;
  background: rgba(255,255,255,.88); padding: 6px 11px; border-radius: 8px;
}
.fs-kartteaser__cta {
  position: absolute; left: 18px; right: 18px; bottom: 18px; display: block; text-align: center;
  padding: 13px; border-radius: 12px; background: #fff; color: #143a22;
  font: 700 15px 'Figtree', sans-serif; box-shadow: 0 8px 24px -10px rgba(30,40,25,.35);
}
.fs-kartteaser:hover .fs-kartteaser__cta { background: #eef4ec; }

/* ---------- Grenkort ---------- */
.fs-grener { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.fs-gren {
  display: flex; flex-direction: column; gap: 14px; padding: 24px; border-radius: 20px;
  border: 1px solid rgba(0,0,0,.05); text-decoration: none; color: inherit;
  transition: transform .2s, box-shadow .2s;
}
.fs-gren:hover, .fs-gren:focus-visible { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(30,40,25,.35); }
.fs-gren__topp { display: flex; align-items: center; justify-content: space-between; }
.fs-gren__ikon {
  width: 44px; height: 44px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center; font-size: 20px;
}
.fs-gren__antall { font: 700 12px 'Space Mono', monospace; background: rgba(255,255,255,.6); padding: 5px 10px; border-radius: 999px; }
.fs-gren__navn { font: 800 24px/1 'Bricolage Grotesque', serif; color: #232b22; margin-bottom: 5px; }
.fs-gren__tekst { font: 400 14px/1.5 'Figtree', sans-serif; color: #5c655a; margin: 0; }

/* ---------- Nå i sesong ---------- */
.fs-sesong { background: #143a22; border-radius: 24px; padding: 34px 34px 26px; color: #fff; }
.fs-sesong__kicker {
  display: flex; align-items: center; gap: 12px; margin-bottom: 6px;
  font: 700 11px 'Space Mono', monospace; letter-spacing: .1em; text-transform: uppercase; color: #a9d3b3;
}
.fs-sesong .fs-h2 { margin-bottom: 20px; }
.fs-sesong__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.fs-sesong__kort {
  display: block; padding: 16px 17px; border-radius: 16px;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); text-decoration: none;
}
.fs-sesong__kort:hover { background: rgba(255,255,255,.13); }
.fs-sesong__kat { display: flex; align-items: center; gap: 7px; margin-bottom: 10px; font: 700 10px 'Space Mono', monospace; letter-spacing: .06em; color: rgba(255,255,255,.6); }
.fs-sesong__dott { width: 8px; height: 8px; border-radius: 50%; flex: none; }
.fs-sesong__navn { font: 800 19px/1 'Bricolage Grotesque', serif; color: #fff; margin-bottom: 3px; }
.fs-sesong__tid { font: 400 12.5px 'Figtree', sans-serif; color: rgba(255,255,255,.7); }
.fs-sesong__tom { color: rgba(255,255,255,.85); margin: 0; }
.fs-sesong__tom a { color: #a9d3b3; }
.fs-sesong__forbehold { font: 400 12.5px 'Figtree', sans-serif; color: rgba(255,255,255,.65); margin: 16px 0 0; }
.fs-sesong__forbehold a { color: #a9d3b3; }

/* ---------- Verktøy ---------- */
.fs-verktoy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fs-verktoy__kort {
  display: flex; flex-direction: column; background: #fff; border: 1px solid #ece2d1;
  border-radius: 20px; padding: 26px; text-decoration: none; color: inherit;
  transition: transform .2s, box-shadow .2s;
}
.fs-verktoy__kort:hover, .fs-verktoy__kort:focus-visible { transform: translateY(-3px); box-shadow: 0 16px 34px -18px rgba(30,40,25,.35); }
.fs-verktoy__kort--fare { border-color: #f0d3d3; }
.fs-verktoy__kort--fare:hover { box-shadow: 0 16px 34px -18px rgba(120,30,30,.28); }
.fs-verktoy__ikon {
  width: 46px; height: 46px; border-radius: 14px;
  display: flex; align-items: center; justify-content: center; font-size: 22px; margin-bottom: 16px;
}
.fs-verktoy__ikon--gronn { background: #eef4ec; }
.fs-verktoy__ikon--lilla { background: #ece3f6; }
.fs-verktoy__ikon--roed  { background: #fbeaea; }
.fs-verktoy__kort h3 { font: 800 20px/1.1 'Bricolage Grotesque', serif; margin: 0 0 8px; }
.fs-verktoy__kort p { font: 400 14.5px/1.55 'Figtree', sans-serif; color: #5c655a; margin: 0 0 14px; flex: 1; }
.fs-verktoy__lenke { font: 700 13.5px 'Figtree', sans-serif; }

/* ---------- Sikkerhetsbanner ---------- */
.fs-fare {
  display: flex; align-items: center; gap: 22px; flex-wrap: wrap;
  background: linear-gradient(135deg, #7a1f1f, #a83232); border-radius: 22px;
  padding: 28px 32px; color: #fff;
}
.fs-fare__ikon {
  flex: none; width: 52px; height: 52px; border-radius: 15px; background: rgba(255,255,255,.16);
  display: flex; align-items: center; justify-content: center;
  font: 800 26px 'Bricolage Grotesque', serif;
}
.fs-fare__tekst { flex: 1; min-width: 240px; }
.fs-fare__tekst h2 { font: 800 22px/1.1 'Bricolage Grotesque', serif; margin: 0 0 5px; color: #fff; }
.fs-fare__tekst p { font: 400 14.5px/1.5 'Figtree', sans-serif; color: rgba(255,255,255,.85); margin: 0; }
.fs-fare__knapp {
  flex: none; padding: 13px 22px; border-radius: 999px; background: #fff; color: #8f2f2f;
  font: 700 15px 'Figtree', sans-serif; text-decoration: none;
}
.fs-fare__knapp:hover { background: #ffeaea; color: #8f2f2f; }

/* ---------- Tillitsstripe ---------- */
.fs-tillit { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.fs-tillit__kort {
  display: flex; gap: 14px; align-items: flex-start;
  background: #fff; border: 1px solid #ece2d1; border-radius: 20px; padding: 22px;
}
.fs-tillit__kort > span { font-size: 26px; flex: none; }
.fs-tillit__kort h3 { font: 800 16px/1.2 'Bricolage Grotesque', serif; margin: 0 0 5px; }
.fs-tillit__kort p { font: 400 13.5px/1.55 'Figtree', sans-serif; color: #5c655a; margin: 0; }

/* ---------- Responsivt ---------- */
@media (max-width: 960px) {
  .fs-hero__grid { grid-template-columns: 1fr; gap: 30px; }
  .fs-kartteaser { height: 340px; max-width: 520px; }
  .fs-grener { grid-template-columns: repeat(2, 1fr); }
  .fs-sesong__grid { grid-template-columns: repeat(2, 1fr); }
  .fs-verktoy, .fs-tillit { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .fs-bredde { padding-inline: 18px; }
  .fs-grener { grid-template-columns: 1fr; }
  .fs-sesong { padding: 24px 20px 20px; }
  .fs-sesong__grid { grid-template-columns: 1fr; }
  .fs-hero__cta .fs-knapp { padding: 13px 20px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .fs-gren, .fs-verktoy__kort { transition: none; }
}

/* =====================================================================
   ARTSVELGER «Hvilket bær har jeg funnet?» (.bv-*) + 404 (.feil404)
   + artsvelger-inngang på bær-huben (.av2h-velger). Ekstra-handoff 6/7.
   ===================================================================== */
.bv-fremdrift { display: flex; gap: 8px; margin-top: 20px; }
.bv-fremdrift__strek { height: 6px; flex: 1; border-radius: 3px; background: #e2dccd; transition: background .3s; }
.bv-fremdrift__strek.er-ferdig { background: var(--v2-gronn2, #2b6b3f); }
.bv-fremdrift__strek.er-naa    { background: var(--ak-lys, #9b7bd0); }
.bv-valgte { display: flex; gap: 7px; margin-top: 12px; flex-wrap: wrap; }
.bv-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font: 600 11.5px var(--v2-fig, sans-serif); padding: 5px 11px; border-radius: 999px;
  background: var(--v2-gronnflate, #eef4ec); color: var(--v2-gronn, #1f5a34);
}
.bv-chip > span { font: 700 9px var(--v2-mono, monospace); opacity: .6; }

.bv-valg { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 4px; }
.bv-valg__knapp {
  cursor: pointer; text-align: left; display: flex; align-items: center; gap: 12px;
  padding: 16px 18px; border-radius: 16px; border: 1.5px solid #e2dccd; background: #fff;
  font: 600 16px var(--v2-fig, sans-serif); color: var(--v2-tekst, #232b22);
  transition: border-color .18s, background .18s;
}
.bv-valg__knapp:hover, .bv-valg__knapp:focus-visible { border-color: var(--v2-gronn2, #2b6b3f); background: #f7faf5; }
.bv-dott { flex: none; width: 20px; height: 20px; border-radius: 50%; border: 1px solid rgba(0,0,0,.12); }
.bv-tilbake, .bv-restart {
  margin-top: 18px; cursor: pointer; background: none; border: none;
  font: 600 13.5px var(--v2-fig, sans-serif); color: var(--v2-tekst3, #6d766a); padding: 4px 0;
}
.bv-restart { margin: 0; color: var(--v2-gronn2, #2b6b3f); }
.bv-tilbake:hover, .bv-restart:hover { text-decoration: underline; }

.bv-resultat__topp { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 16px; }
.bv-resultat__topp .av2-h2 { margin: 0; font-size: 22px; }
.bv-treff { display: flex; flex-direction: column; gap: 10px; }
.bv-treffrad, .bv-giftrad {
  display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px;
  border: 1.5px solid var(--v2-kremlinje, #ece2d1); background: #fff; text-decoration: none;
}
.bv-treffrad:hover { border-color: var(--v2-gronn2, #2b6b3f); }
.bv-treffrad__navn { flex: 1; min-width: 0; font: 800 17px var(--v2-brico, serif); color: var(--v2-tekst, #232b22); }
.bv-treffrad__navn em { display: block; font: italic 400 12px var(--v2-fig, sans-serif); color: var(--ak, #7d5fb0); }
.bv-treffrad__hint { flex: 1.2; font: 400 12.5px/1.4 var(--v2-fig, sans-serif); color: var(--v2-tekst3, #6d766a); }
.bv-treffrad__tag {
  flex: none; font: 700 10.5px var(--v2-mono, monospace); padding: 5px 10px; border-radius: 999px;
  background: var(--v2-gronnflate, #eef4ec); color: var(--v2-gronn, #1f5a34);
}
.bv-treffrad__tag.er-merknad { background: #f6eede; color: #a06a1f; }
.bv-tom { color: var(--v2-tekst2, #3c463a); background: var(--v2-krem, #faf7ef); border-radius: 14px; padding: 16px 18px; margin: 0; }

.bv-gift { margin-top: 18px; background: #fbeaea; border: 1.5px solid #f0d3d3; border-radius: 18px; padding: 16px 18px; }
.bv-gift__topp { display: flex; align-items: center; gap: 8px; color: #7a1f1f; font-size: 15px; margin-bottom: 12px; }
.bv-gift__liste { display: flex; flex-direction: column; gap: 8px; }
.bv-giftrad { background: #fff; border-color: #f0d3d3; }
.bv-giftrad__farge { flex: 1; font: 400 12.5px/1.4 var(--v2-fig, sans-serif); color: #7a4a4a; }
.bv-giftrad__tag { flex: none; font: 700 10.5px var(--v2-mono, monospace); padding: 5px 10px; border-radius: 999px; background: #b03a3a; color: #fff; }
.bv-gift__lenke { margin: 12px 0 0; font-size: 13.5px; }
.bv-gift__lenke a { color: #8f2f2f; font-weight: 700; }
.bv-forbehold { font: 400 12.5px/1.5 var(--v2-fig, sans-serif); color: var(--v2-tekst3, #6d766a); margin: 18px 0 0; }

/* Inngang fra bær-huben */
.av2h-velger {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 16px;
  padding: 16px 18px; border-radius: 16px; text-decoration: none;
  background: var(--ak-flate, #ece3f6); border: 1.5px solid var(--ak-border, #e2d4f2);
}
.av2h-velger:hover { border-color: var(--ak, #7d5fb0); }
.av2h-velger__ikon { flex: none; font-size: 22px; }
.av2h-velger__tekst { flex: 1; min-width: 220px; font: 400 14px/1.45 var(--v2-fig, sans-serif); color: var(--v2-tekst2, #3c463a); }
.av2h-velger__cta { flex: none; font: 700 13.5px var(--v2-fig, sans-serif); color: var(--ak-tekst, #6a4d99); }

/* 404 */
.feil404 { padding: 56px 46px; background: linear-gradient(180deg, #f5f9f2, #fff); text-align: center; }
.feil404__tall { font: 800 96px/1 var(--v2-brico, serif); color: var(--ak-dyp, #5a3f86); letter-spacing: -.03em; }
.feil404__tittel { font: 800 30px/1.1 var(--v2-brico, serif); margin: 14px 0 10px; }
.feil404__tekst { font: 400 16px/1.6 var(--v2-fig, sans-serif); color: var(--v2-tekst2, #3c463a); margin: 0 auto 26px; max-width: 44ch; }
.feil404__sok { display: flex; gap: 8px; max-width: 400px; margin: 0 auto 22px; }
.feil404__sok input {
  flex: 1; min-width: 0; padding: 11px 16px; border-radius: 999px; border: 1.5px solid #d7ceba;
  font: 400 14px var(--v2-fig, sans-serif); background: #fff;
}
.feil404__sok input:focus { outline: 2px solid var(--v2-gronn2, #2b6b3f); outline-offset: 1px; }
.feil404__knapper { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }

@media (max-width: 640px) {
  .bv-valg { grid-template-columns: 1fr; }
  .bv-treffrad__hint { display: none; }
  .feil404 { padding: 40px 20px; }
  .feil404__tall { font-size: 72px; }
}

/* =====================================================================
   SIKKERHETSSPORET V2 (.sik-*) — hub, giftige bær, skjermplanter,
   giftplante-artsside. Todelt tone: rolig grønn vs. alarm rød.
   Alvor formidles ALLTID med ikon + tekst — fargen er kun forsterkning.
   ===================================================================== */

/* Nødnummer-boks — aldri småtekst */
.sik-nod {
  margin: 0 0 24px; padding: 16px 20px; background: #fbeaea; border: 1.5px solid #f0c9c9;
  border-radius: 16px; display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center;
}
.sik-nod__merke { font: 700 11px var(--v2-mono, monospace); letter-spacing: .06em; text-transform: uppercase; color: #8f2f2f; }
.sik-nod__enhet { display: flex; flex-direction: column; }
.sik-nod__lbl { font: 400 12px var(--v2-fig, sans-serif); color: #8f2f2f; }
.sik-nod__tlf { font: 800 22px var(--v2-brico, serif); color: #8f2f2f !important; text-decoration: none; }
.sik-nod__tlf:hover { color: #7a1f1f !important; }

/* Beroligende grønn ramme */
.sik-ro {
  padding: 16px 18px; background: var(--v2-gronnflate, #eef4ec); border: 1px solid #d7e6d3;
  border-radius: 14px; display: flex; gap: 12px; align-items: flex-start; margin-top: 12px;
}
.sik-ro__hake {
  flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--v2-gronn2, #2b6b3f);
  color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px;
}
.sik-ro p { font: 400 14.5px/1.55 var(--v2-fig, sans-serif); color: #2f4a37; margin: 0; }

/* Hub-innganger (4 kort) */
.sik-innganger { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 0 0 30px; }
.sik-inngang {
  display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 18px;
  text-decoration: none; border: 1px solid #d7e6d3; background: var(--v2-gronnflate, #eef4ec);
}
.sik-inngang:hover { background: #e6f0e2; }
.sik-inngang--fare { background: #fbeaea; border-color: #f0d3d3; }
.sik-inngang--fare:hover { background: #f8e0e0; }
.sik-inngang__topp { display: flex; align-items: center; gap: 10px; }
.sik-inngang__ikon {
  flex: none; width: 40px; height: 40px; border-radius: 12px; color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 19px;
}
.sik-inngang__tittel { font: 800 20px var(--v2-brico, serif); color: #143a22; }
.sik-inngang--fare .sik-inngang__tittel { color: #8f2f2f; }
.sik-inngang p { font: 400 13.5px/1.5 var(--v2-fig, sans-serif); color: #4b5548; margin: 0; }
.sik-inngang--fare p { color: #6d5555; }

/* Alvorslegende */
.sik-legende { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; }
.sik-legende__chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 999px; font: 600 12px var(--v2-fig, sans-serif); }

/* Gift-artskort (fargestripe + ikonfelt + badge) */
.sik-giftliste { display: flex; flex-direction: column; gap: 12px; margin: 0 0 26px; }
.sik-giftkort { display: flex; gap: 0; align-items: stretch; border: 1px solid var(--v2-kremlinje, #ece2d1); border-radius: 16px; overflow: hidden; }
.sik-giftkort__stripe { flex: none; width: 8px; }
.sik-giftkort__ikon { flex: none; width: 64px; display: flex; align-items: center; justify-content: center; font-size: 28px; }
.sik-giftkort__innhold { flex: 1; min-width: 0; padding: 15px 16px; }
.sik-giftkort__topp { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 5px; }
.sik-giftkort__navn { font: 800 19px var(--v2-brico, serif); color: var(--v2-tekst, #232b22); }
.sik-giftkort__latin { font: italic 400 12.5px var(--v2-fig, sans-serif); color: var(--ak, #7d5fb0); }
.sik-giftkort__badge { display: inline-flex; align-items: center; gap: 6px; font: 700 10.5px var(--v2-mono, monospace); padding: 4px 9px; border-radius: 999px; color: #fff; }
.sik-giftkort__tekst { font: 400 13.5px/1.5 var(--v2-fig, sans-serif); color: var(--v2-tekst2, #3c463a); margin: 0 0 4px; }
.sik-giftkort__terskel { font: 600 12.5px/1.45 var(--v2-fig, sans-serif); color: #8f2f2f; margin: 0; }
.sik-giftkort__terskel strong { font: 700 10px var(--v2-mono, monospace); letter-spacing: .04em; }
.sik-giftkort__kilde { font: 400 11.5px var(--v2-fig, sans-serif); color: var(--v2-tekst3, #6d766a); margin: 6px 0 0; }
/* alvorsfarger (stripe + ikonfelt + badge) */
.alvor--svart_giftig .sik-giftkort__stripe, .alvor--dodelig .sik-giftkort__stripe { background: #1c1c1c; }
.alvor--svart_giftig .sik-giftkort__ikon,   .alvor--dodelig .sik-giftkort__ikon   { background: #e9e6e2; }
.alvor--svart_giftig .sik-giftkort__badge,  .alvor--dodelig .sik-giftkort__badge  { background: #1c1c1c; }
.alvor--giftig .sik-giftkort__stripe { background: #b03a3a; }
.alvor--giftig .sik-giftkort__ikon   { background: #fbeaea; }
.alvor--giftig .sik-giftkort__badge  { background: #b03a3a; }
.alvor--irriterende .sik-giftkort__stripe { background: #a06a1f; }
.alvor--irriterende .sik-giftkort__ikon   { background: #f6eede; }
.alvor--irriterende .sik-giftkort__badge  { background: #a06a1f; }
.alvor--spiselig_etter_koking .sik-giftkort__stripe { background: var(--v2-gronn2, #2b6b3f); }
.alvor--spiselig_etter_koking .sik-giftkort__ikon   { background: var(--v2-gronnflate, #eef4ec); }
.alvor--spiselig_etter_koking .sik-giftkort__badge  { background: var(--v2-gronn2, #2b6b3f); }
.alvor--fototoksisk .sik-giftkort__stripe, .alvor--fototoksisk_mild .sik-giftkort__stripe { background: #a06a1f; }
.alvor--fototoksisk .sik-giftkort__ikon,   .alvor--fototoksisk_mild .sik-giftkort__ikon   { background: #f6eede; }
.alvor--fototoksisk .sik-giftkort__badge,  .alvor--fototoksisk_mild .sik-giftkort__badge  { background: #a06a1f; }

/* Rød førstehjelpsblokk (nummerert) */
.sik-hjelp { margin: 0 0 26px; padding: 24px 26px; background: #7a1f1f; border-radius: 20px; color: #fff; }
.sik-hjelp__merke { font: 700 11px var(--v2-mono, monospace); letter-spacing: .1em; text-transform: uppercase; color: #f2c0c0; margin-bottom: 12px; }
.sik-hjelp__steg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sik-hjelp__steg > div > div { font: 800 20px var(--v2-brico, serif); color: #f6b8b8; margin-bottom: 4px; }
.sik-hjelp__steg p { font: 400 13px/1.5 var(--v2-fig, sans-serif); color: rgba(255,255,255,.9); margin: 0; }

/* Skjermplante-grupper: to atskilte kolonner som ALDRI blandes */
.sik-grupper { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0 0 26px; }
.sik-gruppe { border-radius: 20px; overflow: hidden; border: 1.5px solid; display: flex; flex-direction: column; }
.sik-gruppe--svelging { border-color: #1c1c1c; }
.sik-gruppe--foto     { border-color: #a06a1f; }
.sik-gruppe__topp { padding: 16px 18px; color: #fff; display: flex; align-items: center; gap: 11px; }
.sik-gruppe--svelging .sik-gruppe__topp { background: #1c1c1c; }
.sik-gruppe--foto     .sik-gruppe__topp { background: #a06a1f; }
.sik-gruppe__topp span:first-child { font-size: 24px; }
.sik-gruppe__tittel { font: 800 18px var(--v2-brico, serif); }
.sik-gruppe__under { font: 400 12px var(--v2-fig, sans-serif); opacity: .8; }
.sik-gruppe__arter { padding: 16px 18px; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.sik-gruppe__art { border: 1px solid var(--v2-kremlinje, #ece2d1); border-radius: 12px; padding: 13px 14px; }
.sik-gruppe__artnavn { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-bottom: 3px; }
.sik-gruppe__artnavn strong { font: 800 16px var(--v2-brico, serif); color: var(--v2-tekst, #232b22); }
.sik-gruppe__artnavn em { font: italic 400 11.5px var(--v2-fig, sans-serif); color: var(--ak, #7d5fb0); }
.sik-gruppe__art p { font: 400 12.5px/1.45 var(--v2-fig, sans-serif); color: var(--v2-tekst2, #3c463a); margin: 0; }
.sik-gruppe__art .sik-giftkort__terskel { margin-top: 4px; }
.sik-gruppe__hjelp { margin: 0 18px 18px; padding: 15px 16px; border-radius: 14px; color: #fff; }
.sik-gruppe--svelging .sik-gruppe__hjelp { background: #241010; }
.sik-gruppe--foto     .sik-gruppe__hjelp { background: #5a3c10; }
.sik-gruppe__hjelpmerke { font: 700 10px var(--v2-mono, monospace); letter-spacing: .08em; text-transform: uppercase; margin-bottom: 9px; }
.sik-gruppe--svelging .sik-gruppe__hjelpmerke { color: #f2b0b0; }
.sik-gruppe--foto     .sik-gruppe__hjelpmerke { color: #f0d3a0; }
.sik-gruppe__hjelp ol { margin: 0; padding-left: 18px; font: 400 12.5px/1.6 var(--v2-fig, sans-serif); color: rgba(255,255,255,.9); }

/* Giftplante-artsside (rød identitet) */
.sik-plante-hero { padding: 38px 46px 34px; background: linear-gradient(180deg, #fbeaea, #fff); }
.sik-plante-hero__grid { display: grid; grid-template-columns: 1fr 190px; gap: 28px; align-items: center; }
.sik-plante-hero .av2-smuler { color: #8f2f2f; }
.sik-plante-badge {
  display: inline-flex; align-items: center; gap: 8px; font: 700 12px var(--v2-mono, monospace);
  letter-spacing: .04em; background: #b03a3a; color: #fff; padding: 7px 13px; border-radius: 999px; margin-bottom: 14px;
}
.sik-plante-panel {
  aspect-ratio: 1; border-radius: 18px; overflow: hidden; border: 1px solid #f0d3d3;
  background: #f8eaea; display: flex; align-items: center; justify-content: center;
}
.sik-plante-panel img { width: 100%; height: 100%; object-fit: cover; }
.sik-plante-panel span { font-size: 64px; }
.sik-fareboks { margin: 0 46px 26px; padding: 20px 22px; background: #7a1f1f; border-radius: 18px; color: #fff; }
.sik-fareboks__topp { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.sik-fareboks__topp span { font-size: 26px; }
.sik-fareboks__topp h2 { font: 800 20px var(--v2-brico, serif); margin: 0; color: #fff; }
.sik-fareboks p { font: 400 14px/1.6 var(--v2-fig, sans-serif); color: rgba(255,255,255,.9); margin: 0 0 12px; }
.sik-fareboks__tlf { display: flex; gap: 20px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.2); }
.sik-fareboks__tlf span { font: 400 12px var(--v2-fig, sans-serif); color: #f2c0c0; }
.sik-fareboks__tlf a { font: 800 19px var(--v2-brico, serif); color: #fff !important; text-decoration: none; }
.sik-fareboks__kilde { font-size: 11.5px !important; color: #e0b8b8 !important; margin: 8px 0 0 !important; }
.sik-kicker--rod { color: #8f2f2f !important; }

/* Skille-tabell ⚠/✓ (3 kolonner) */
.sik-skille { border: 1px solid var(--v2-kremlinje, #ece2d1); border-radius: 16px; overflow: hidden; }
.sik-skille__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; }
.sik-skille__grid > div { padding: 11px 14px; font: 400 13px/1.4 var(--v2-fig, sans-serif); color: var(--v2-tekst2, #3c463a); border-top: 1px solid #f0e9db; }
.sik-skille__grid > div:nth-child(3n+2), .sik-skille__grid > div:nth-child(3n) { border-left: 1px solid #f0e9db; }
.sik-skille__grid > div:nth-child(-n+3) { border-top: 0; }
.sik-skille__etikett { font-weight: 700 !important; font-size: 12px !important; background: #fbf9f4; }
.sik-skille__fare { background: #fbeaea; font: 800 13px var(--v2-brico, serif) !important; color: #8f2f2f !important; display: flex; align-items: center; gap: 6px; }
.sik-skille__trygg { background: var(--v2-gronnflate, #eef4ec); font: 800 13px var(--v2-brico, serif) !important; color: var(--v2-gronn, #1f5a34) !important; display: flex; align-items: center; gap: 6px; }

/* Førstehjelp-steg m/ sirkelnumre (giftplante) */
.sik-steg { border: 1.5px solid #f0c9c9; border-radius: 16px; padding: 20px 22px; background: #fff; }
.sik-steg__merke { font: 700 11px var(--v2-mono, monospace); letter-spacing: .1em; text-transform: uppercase; color: #8f2f2f; margin-bottom: 12px; }
.sik-steg__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sik-steg__grid > div { display: flex; gap: 11px; }
.sik-steg__nr { flex: none; width: 26px; height: 26px; border-radius: 50%; background: #b03a3a; color: #fff; display: flex; align-items: center; justify-content: center; font: 700 13px var(--v2-mono, monospace); }
.sik-steg__grid p { font: 400 13px/1.5 var(--v2-fig, sans-serif); color: var(--v2-tekst2, #3c463a); margin: 0; }

@media (max-width: 760px) {
  .sik-innganger, .sik-grupper { grid-template-columns: 1fr; }
  .sik-hjelp__steg { grid-template-columns: 1fr 1fr; }
  .sik-steg__grid { grid-template-columns: 1fr; }
  .sik-plante-hero { padding: 28px 20px 26px; }
  .sik-plante-hero__grid { grid-template-columns: 1fr; }
  .sik-plante-panel { max-width: 220px; }
  .sik-fareboks { margin: 0 20px 22px; }
  .sik-giftkort__ikon { width: 48px; font-size: 22px; }
}

/* =====================================================================
   VERKTØYSIDER V2 — sankekalender, kart og tekstside-mal (Verktøy-handoff).
   ===================================================================== */

/* Tekstside-mal (om/kilder/sank-med-omtanke/kontakt/juridisk) */
.tekstside .av2-kort { max-width: 780px; }
.tekstside__indre { padding: 40px 46px 44px; }
.tekstside__indre h1 { font-weight: 800; font-size: clamp(30px, 5vw, 40px); line-height: 1.05; letter-spacing: -.02em; margin: 0 0 14px; }
.tekstside__indre h2 { font-weight: 800; font-size: 24px; line-height: 1.1; margin: 28px 0 10px; }
.tekstside__indre h3 { font-family: var(--v2-brico, serif); font-size: 17px; margin: 20px 0 8px; }
.tekstside__indre p, .tekstside__indre li { font: 400 15px/1.65 var(--v2-fig, sans-serif); color: var(--v2-tekst2, #3c463a); }
.tekstside__indre .art-ingress { font-size: 16.5px; color: var(--v2-tekst2, #3c463a); }
.tekstside__indre a { font-weight: 600; }
@media (max-width: 640px) { .tekstside__indre { padding: 26px 20px 30px; } }

/* Kart-siden */
.kartv2-topp { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; }
.kartv2-topp .av2-ingress { max-width: 54ch; }
.kartv2-velger { display: flex; flex-direction: column; gap: 6px; }
.kartv2-velger label { font: 700 10px var(--v2-mono, monospace); letter-spacing: .08em; text-transform: uppercase; color: #a99a7f; }
.kartv2-velger select {
  padding: 11px 15px; border-radius: 12px; border: 1.5px solid #d7ceba; background: #fff;
  font: 600 14px var(--v2-fig, sans-serif); color: var(--v2-tekst, #232b22); min-width: 220px; cursor: pointer;
}
.kartv2-velger select:focus { outline: 2px solid var(--v2-gronn2, #2b6b3f); outline-offset: 1px; }
.av2 .utbredelse { border: 0; padding: 0; margin: 0; }
.av2 .utbredelse h2 { font-family: var(--v2-brico, serif); }

/* Sankekalender v2 */
.av2 .sanketid-forbehold {
  margin-top: 16px; padding: 12px 16px; background: var(--v2-krem2, #f3ecdd);
  border: 1px solid #e6d9be; border-radius: 12px; color: #6b5a35; font-size: 13px;
}
.av2 .filter-bar { margin-bottom: 16px; }
.av2 .filter-knapp {
  border: none; cursor: pointer; padding: 8px 16px; border-radius: 999px;
  font: 600 13px var(--v2-fig, sans-serif); background: var(--v2-gronnflate, #eef4ec); color: var(--v2-gronn, #1f5a34);
}
.av2 .filter-knapp:hover { background: #e0ebdc; }
.av2 .filter-knapp.aktiv { background: var(--v2-morkgronn, #143a22); color: #fff; }
.av2 .sankekalender-tabell-boks { overflow-x: auto; border: 1px solid var(--v2-kremlinje, #ece2d1); border-radius: 14px; }
.av2 .sankekalender-tabell { min-width: 640px; }
.av2 .sankekalender-tabell thead th.er-naa { background: var(--v2-morkgronn, #143a22); color: #fff; border-radius: 6px 6px 0 0; }
.av2 .sankekalender-tabell td.sk-celle.er-naa { box-shadow: inset 0 0 0 2px var(--v2-morkgronn, #143a22); }

/* ===== Annonsefelt (AdSense in-article) ==================================
   Dempet ramme i sidens egne tokener saa feltet leses som annonse, ikke som
   en av2-seksjon. min-height reserverer plass mot layout-hopp. Selve
   annonsens farger/font settes i AdSense-panelet (knyttet til slot-ID). */
.annonse-felt {
  margin: var(--s8) 0;
  padding: 1rem 1.1rem 1.15rem;
  background: var(--bjork);
  border: 1px solid var(--linje);
  border-radius: var(--radius-lg);
}
.annonse-merking {
  margin: 0 0 .6rem;
  color: var(--skifer-lys);
  font: 700 .72rem/1.3 var(--sans);
  letter-spacing: .07em;
  text-transform: uppercase;
  opacity: .75;
}
.annonse-felt .adsbygoogle { min-height: 250px; }
@media (max-width: 640px) {
  .annonse-felt { margin: 1.5rem 0; padding: .85rem .9rem 1rem; }
  .annonse-felt .adsbygoogle { min-height: 200px; }
}
