
:root{
  /* Seine-graa: sekundaerfarge (lenker i hover, bokser, markoerer). */
  --seine:#3e5a66; --seine-dyp:#2c434d; --seine-lys:#93abb4; --seine-blek:#e9eef0;
  /* Bronse/gulbrun: tarnets egen farge (jaune-brun) - aksent, streker, knapper. */
  --bronse:#a5763f; --bronse-lys:#cfa46a; --bronse-dyp:#7c5426;
  /* Jern: moerk jernbrun bunnfarge i toppmeny, hero og bunntekst. */
  --jern:#2f241b; --jern-lys:#4a3a2c; --jern-mork:#201811;
  --messing:#d9b56e; --messing-dyp:#b9924a;
  /* Paris-himmel og terrakotta (sinktak og murtak) friskner opp jernbrunt. */
  --himmel:#5d8fbf; --himmel-dyp:#3d6e9c; --himmel-blek:#e9f1f8;
  --rose:#c56a4f; --rose-blek:#f8e9e2;
  --papir:#fbf8f2; --papir-varm:#f3ece0; --hvit:#ffffff;
  /* Gitterverk fra taarnets fagverk, som svakt moenster i flater. */
  --gitter:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M0 0L30 30M30 0L0 30M15 0V30' stroke='%23d9b56e' stroke-opacity='.13' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  --gitter-lys:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M0 0L30 30M30 0L0 30' stroke='%23a5763f' stroke-opacity='.08' stroke-width='1' fill='none'/%3E%3C/svg%3E");
  --tekst:#241d17; --tekst-svak:#62584e; --kant:#e1d8ca;
  --skygge:0 1px 2px rgba(47,36,27,.06),0 8px 24px rgba(47,36,27,.07);
  --skygge-hev:0 4px 10px rgba(47,36,27,.10),0 18px 40px rgba(47,36,27,.14);
  --serif:"Fraunces",Georgia,"Iowan Old Style","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --bredde:1180px; --tekstbredde:44rem; --radius:4px;
}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:600 800;font-display:swap;
  src:url(/fonter/fraunces.woff2) format("woff2")}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--papir);color:var(--tekst);font-family:var(--sans);
  font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--bronse-dyp);text-decoration:underline;text-underline-offset:2px;
  text-decoration-thickness:1px;text-decoration-color:rgba(165,118,63,.45)}
a:hover{color:var(--himmel-dyp);text-decoration-color:currentColor}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.22;color:var(--jern);
  font-weight:700;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,1.4rem + 2.4vw,3rem)}
h2{font-size:clamp(1.5rem,1.2rem + 1.2vw,2.05rem);margin-top:2.2em}
h3{font-size:1.25rem;margin-top:1.9em}
h4{font-size:1.08rem;margin-top:1.5em}
p{margin:0 0 1.15em}
code{background:var(--papir-varm);padding:.1em .35em;border-radius:3px;font-size:.92em}
.hopp{position:absolute;left:-9999px}
.hopp:focus{position:fixed;left:1rem;top:1rem;z-index:999;background:var(--messing);
  color:var(--jern);padding:.7rem 1.1rem;border-radius:var(--radius);font-weight:700}
.beholder{max-width:var(--bredde);margin:0 auto;padding:0 1.25rem}

/* ---------- topp ---------- */
.topp{background:var(--jern) var(--gitter);color:#f3ece1;position:sticky;top:0;z-index:60;
  border-bottom:2px solid var(--bronse)}
.topp-inner{max-width:var(--bredde);margin:0 auto;padding:.55rem 1.25rem;
  display:flex;align-items:center;gap:1.25rem}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:#fff;flex:0 0 auto}
.logo:hover{color:#fff}
.logo svg{width:34px;height:34px;flex:0 0 auto}
.logo-tekst{display:inline-flex;align-items:baseline;white-space:nowrap;
  font-family:var(--serif);font-size:1.22rem;font-weight:700;letter-spacing:.005em}
.logo-under{font-size:.78em;font-weight:600;color:var(--seine-lys);
  text-transform:lowercase;letter-spacing:0}
.hovedmeny{margin-left:auto;display:flex;align-items:center;gap:.15rem}
.hovedmeny ul{margin:0;padding:0;list-style:none}
.hovedmeny li{list-style:none}
.meny-liste{display:flex;align-items:center;gap:.15rem;margin:0;padding:0;list-style:none}
.meny-liste>li{position:relative;list-style:none}
.meny-lenke{display:block;padding:.6rem .68rem;color:#efe6d8;text-decoration:none;
  font-size:.925rem;font-weight:600;border-radius:var(--radius);white-space:nowrap}
.meny-lenke:hover,.meny-lenke:focus{background:rgba(255,255,255,.09);color:#fff}
.meny-lenke.aktiv{color:var(--messing)}
.nedtrekk{position:absolute;top:100%;left:0;min-width:16.5rem;background:#fff;
  border:1px solid var(--kant);border-top:3px solid var(--bronse);border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--skygge-hev);padding:.4rem;display:none;z-index:70}
.hovedmeny li:hover>.nedtrekk,.hovedmeny li:focus-within>.nedtrekk{display:block}
.nedtrekk li{list-style:none;margin:0}
/* siste kolonne skal ikke stikke ut av skjermen */
.meny-liste>li:nth-last-child(-n+3) .nedtrekk{left:auto;right:0}
.nedtrekk a{display:block;padding:.42rem .6rem;color:var(--tekst);text-decoration:none;
  font-size:.9rem;border-radius:3px;line-height:1.4}
.nedtrekk a:hover{background:var(--seine-blek);color:var(--seine-dyp)}
.nedtrekk-alle{border-top:1px solid var(--kant);margin-top:.3rem;padding-top:.3rem}
.nedtrekk-alle a{font-weight:700;color:var(--bronse-dyp)}
.sok-knapp{background:var(--messing);color:var(--jern)!important;font-weight:700;
  padding:.5rem .85rem;border-radius:var(--radius);margin-left:.4rem}
.sok-knapp:hover{background:var(--messing-dyp);color:var(--jern)!important}
.meny-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.3);
  color:#fff;border-radius:var(--radius);padding:.45rem .7rem;font-size:.9rem;
  cursor:pointer;margin-left:auto;font-weight:600}
@media(max-width:1080px){
  .meny-toggle{display:block}
  .hovedmeny{display:none;width:100%;margin:0}
  .topp-inner{flex-wrap:wrap}
  /* Den apne menyen maa ha SIN EGEN rulling. Uten max-height ble den 2000 px
     hoy i et 700 px vindu, headeren vokste tilsvarende, og rullingen traff
     siden bak i stedet for menyen. overscroll-behavior stopper at rullingen
     forplanter seg til dokumentet naar du naar bunnen av menyen. */
  .hovedmeny.apen{display:block;padding-bottom:.6rem;
    max-height:calc(100dvh - 4rem);overflow-y:auto;overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch}
  .meny-liste{flex-direction:column;align-items:stretch;gap:0}
  .meny-lenke{padding:.7rem .4rem;border-bottom:1px solid rgba(255,255,255,.08)}
  /* Nedtrekkene var display:block paa mobil, altsaa alle sju apne samtidig.
     Naa er de lukket til man trykker paa seksjonen. */
  .nedtrekk{position:static;display:none;box-shadow:none;border:0;background:transparent;
    padding:.1rem 0 .5rem .9rem}
  .nedtrekk.apen{display:block}
  .har-nedtrekk>.meny-lenke{display:flex;justify-content:space-between;align-items:center}
  .har-nedtrekk>.meny-lenke::after{content:"";width:.5rem;height:.5rem;flex:0 0 auto;
    border-right:2px solid var(--seine-lys);border-bottom:2px solid var(--seine-lys);
    transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
  .har-nedtrekk>.meny-lenke[aria-expanded="true"]::after{
    transform:rotate(-135deg) translate(-2px,-2px)}
  .nedtrekk a{color:#dccfbd;font-size:.86rem;padding:.4rem .3rem}
  .nedtrekk a:hover{background:transparent;color:#fff}
  .nedtrekk-alle{border-color:rgba(255,255,255,.15)}
  .nedtrekk-alle a{color:var(--messing)}
  .sok-knapp{margin:.5rem 0 0;text-align:center}
  /* Laas siden mens menyen er apen, slik at bakgrunnen ikke flytter seg. */
  body.meny-apen{overflow:hidden}
}

/* ---------- hero ----------
   Bildet vises i full styrke, UTEN moerk tone eller gradient over (eierens krav
   27.10.2026: filteret ga et dystert inntrykk). Teksten staar i stedet i et lyst
   kort som overlapper underkanten av bildet - lesbart uansett motiv. */
.hero{position:relative;background:var(--papir-varm) var(--gitter-lys);color:var(--tekst)}
.hero-media{position:relative;background:var(--jern)}
.hero-media picture{display:block}
.hero-bilde{display:block;width:100%;height:clamp(13rem,36vw,27rem);object-fit:cover;
  object-position:50% 45%}
.hero-inner{position:relative;z-index:2;background:#fff;
  width:min(calc(100% - 2.5rem),50rem);
  margin:-4.2rem 0 0 max(1.25rem,calc((100% - var(--bredde))/2 + 1.25rem));
  padding:1.5rem 1.8rem 1.4rem;border-radius:6px 6px 0 0;
  box-shadow:0 -10px 30px rgba(47,36,27,.10)}
.hero-inner::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;
  border-radius:6px 6px 0 0;background:linear-gradient(90deg,var(--bronse),var(--messing),var(--himmel))}
/* Sider uten bilde: kortet staar paa en moenstret flate. */
.hero:not(:has(.hero-media)){padding:2.6rem 0 0}
.hero:not(:has(.hero-media)) .hero-inner{margin-top:0}
.hero h1{color:var(--jern);max-width:26ch;margin-bottom:.35em}
.hero .ingress{font-size:1.1rem;max-width:60ch;color:#4a3f35;margin-bottom:.2rem}
@media(max-width:700px){
  .hero-inner{margin:-2.2rem .75rem 0;width:auto;padding:1.2rem 1.15rem 1rem}
  .hero h1{font-size:clamp(1.6rem,6.5vw,2.1rem)}
}
.hero-merke{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--bronse-dyp);
  margin-bottom:.7rem}
.hero-merke::before{content:"";width:2.2rem;height:2px;background:var(--rose)}
/* Kreditten ligger I bildet, nede til hoeyre, som en liten etikett med egen
   bakgrunn - ikke som filter over motivet. */
.hero-media .bildekreditt-inline{position:absolute;right:.6rem;bottom:.6rem;margin:0;
  max-width:min(36rem,calc(100% - 1.2rem));padding:.25rem .55rem;border-radius:3px;
  background:rgba(32,24,17,.72);color:#f3ece1;font-size:.7rem;text-align:left;line-height:1.4}
.hero-media .bildekreditt-inline a{color:#fff;text-decoration-color:rgba(255,255,255,.45)}
@media(min-width:701px){.hero-media .bildekreditt-inline{bottom:auto;top:.6rem}}
.hero-sok{display:flex;gap:.5rem;max-width:32rem;margin-top:1.4rem}
.hero-sok input{flex:1;min-width:0;padding:.85rem 1rem;border:1px solid var(--kant);
  border-radius:var(--radius);font-size:1rem;font-family:inherit;background:#fff}
.hero-sok input:focus{outline:2px solid var(--himmel);border-color:var(--himmel)}
.hero-sok button{background:var(--jern);color:#fff;border:0;font-weight:700;
  padding:.85rem 1.3rem;border-radius:var(--radius);cursor:pointer;font-size:1rem;font-family:inherit}
.hero-sok button:hover{background:var(--bronse-dyp)}
/* ---------- brodsmuler ---------- */
.brodsmuler{background:transparent;border-bottom:1px solid var(--kant);
  font-size:.83rem;color:var(--tekst-svak)}
.brodsmuler ol{max-width:var(--bredde);margin:0 auto;padding:.6rem 1.25rem;
  display:flex;flex-wrap:wrap;gap:.4rem;list-style:none}
.brodsmuler li::after{content:"›";margin-left:.4rem;color:var(--bronse)}
.brodsmuler li:last-child::after{content:""}
.brodsmuler a{color:var(--tekst-svak)}

/* ---------- layout ---------- */
.side{max-width:var(--bredde);margin:0 auto;padding:2.5rem 1.25rem 4rem}
.artikkel-layout{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:3rem;
  max-width:var(--bredde);margin:0 auto;padding:2.5rem 1.25rem 4rem;align-items:start}
/* minmax(0,1fr): en bred tabell skal rulle i sin egen ramme, ikke dytte hele
   spalten (og siden) ut over skjermkanten paa mobil. */
@media(max-width:980px){.artikkel-layout{grid-template-columns:minmax(0,1fr);gap:2rem}}
.artikkeltekst{min-width:0}
.artikkeltekst{max-width:var(--tekstbredde)}
.artikkeltekst>h2:first-child{margin-top:0}
.sidespalte{position:sticky;top:5.2rem;display:flex;flex-direction:column;gap:1.5rem}
@media(max-width:980px){.sidespalte{position:static}}

/* ---------- artikkelelementer ---------- */
.meta-linje{font-size:.82rem;color:var(--tekst-svak);margin:-.4rem 0 1.6rem;
  padding-bottom:1rem;border-bottom:1px solid var(--kant)}
.ingress-tekst{font-size:1.16rem;line-height:1.65;color:#3b322a;
  border-left:3px solid var(--rose);padding-left:1.1rem;margin-bottom:2rem}
.artikkeltekst h2{padding-top:.2em;position:relative}
.artikkeltekst h2::before{content:"";display:block;width:3.4rem;height:3px;
  background:linear-gradient(90deg,var(--bronse),var(--rose));margin-bottom:.7rem;border-radius:2px}
.artikkeltekst ul,.artikkeltekst ol{padding-left:1.3rem;margin:0 0 1.15em}
.artikkeltekst li{margin-bottom:.45em}
.artikkeltekst li::marker{color:var(--seine)}
blockquote{margin:1.8em 0;padding:1.1rem 1.4rem;background:var(--seine-blek);
  border-left:4px solid var(--seine);border-radius:0 var(--radius) var(--radius) 0;
  font-family:var(--serif);font-size:1.06rem;color:#2c3a40}
blockquote p:last-child{margin-bottom:0}
.skille{border:0;border-top:1px solid var(--kant);margin:2.5rem 0}
.tabellramme{overflow-x:auto;margin:1.6em 0;border:1px solid var(--kant);
  border-radius:var(--radius);background:#fff}
table{border-collapse:collapse;width:100%;font-size:.94rem}
th,td{padding:.62rem .85rem;text-align:left;border-bottom:1px solid var(--kant)}
th{background:var(--jern);color:#fff;font-weight:700;font-size:.86rem;
  letter-spacing:.02em;border-bottom:0}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--papir)}
/* Fullverdig fotokreditt ved bildet - CC BY(-SA) 2.x/3.x/4.x. Se
   kreditt_ved_bildet() i bygg.py. Den staar UNDER hero-baandet, ikke oppaa:
   gradienten daekker bare tekstsiden paa brede skjermer, saa hvit tekst nede i
   hoyre hjoerne ville ligget rett mot et ubehandlet, ofte lyst motiv.
   Minst mulig tekst - men fullstendig. */
.bildekreditt-inline{max-width:var(--bredde);margin:.5rem auto 0;
  padding:0 1.25rem;font-size:.76rem;line-height:1.5;color:var(--tekst-svak);
  text-align:right}
.bildekreditt-inline a{color:inherit;text-decoration:underline;
  text-decoration-thickness:1px;text-underline-offset:2px;
  text-decoration-color:rgba(98,88,78,.45)}
.bildekreditt-inline a:hover,.bildekreditt-inline a:focus-visible{
  text-decoration-color:currentColor;color:var(--bronse-dyp)}
/* Venstrestilt paa smal skjerm, der linja ellers brekker med ujevn hoyrekant. */
@media(max-width:640px){.bildekreditt-inline{text-align:left;font-size:.72rem}}
/* Kredittabellen er lang og har fire lenkekolonner. Litt mindre skrift og
   luftigere radhoyde gjor 200+ rader lesbare uten at siden foles endelos. */
.kredittabell{font-size:.88rem;table-layout:fixed}
.kredittabell td{vertical-align:top;overflow-wrap:anywhere}
/* Faste kolonnebredder: uten dem tok «Bilde» (lange Commons-filnavn) all
   plassen, og lisenskolonnen ble saa smal at «CC BY-SA 2.0» brakk i to. */
.kredittabell th:nth-child(1),.kredittabell td:nth-child(1){width:23%}
.kredittabell th:nth-child(2),.kredittabell td:nth-child(2){width:32%}
.kredittabell th:nth-child(3),.kredittabell td:nth-child(3){width:24%}
.kredittabell th:nth-child(4),.kredittabell td:nth-child(4){width:21%}
/* Lisensnavnet er ett begrep og skal ikke brekke midt i. */
.kredittabell td:nth-child(4)>a,.kredittabell td:nth-child(4){white-space:nowrap}
.kredittabell .endr{display:block;font-size:.78rem;color:var(--tekst-svak);
  white-space:normal;margin-top:.15rem}
/* Kredittabellen er et oppslagsverk, ikke brodtekst. I tekstspalten paa 44rem
   ble hver rad 153 px hoy fordi alle fire kolonnene brakk. Siden faar derfor
   full sidebredde. (Utbryting med margin-left:50%+transform ble proevd foerst
   og ga vannrett rulling paa hele siden - artikkelspalten er det rette stedet.) */
.artikkeltekst.bred{max-width:none}
@media(max-width:700px){.kredittabell{font-size:.82rem}
  .kredittabell th,.kredittabell td{padding:.5rem .6rem}
  /* Paa mobil er 21 % for smalt til «CC BY-SA 4.0» paa én linje. Da er det
     bedre at lisensnavnet brekker enn at tabellen maa rulles sidelengs. */
  .kredittabell td:nth-child(4)>a,.kredittabell td:nth-child(4){white-space:normal}}
figure{margin:2rem 0}
figure img{border-radius:var(--radius)}
figcaption{font-size:.82rem;color:var(--tekst-svak);margin-top:.5rem;
  border-left:2px solid var(--bronse);padding-left:.7rem}

/* infobokser */
.boks{margin:1.9em 0;padding:1.1rem 1.3rem;border-radius:var(--radius);
  background:#fff;border:1px solid var(--kant);border-left:4px solid var(--seine)}
.boks .boks-tittel{font-family:var(--serif);font-weight:700;color:var(--jern);
  margin:0 0 .5rem;font-size:1.05rem}
.boks p:last-child,.boks ul:last-child,.boks ol:last-child{margin-bottom:0}
.boks-tips{border-left-color:var(--himmel);background:var(--himmel-blek)}
.boks-viktig{border-left-color:var(--rose);background:var(--rose-blek)}
.boks-kilde{border-left-color:var(--jern);background:var(--papir-varm);font-size:.94rem}
.boks-pris{border-left-color:var(--messing);background:#fbf5e6}

/* innholdsfortegnelse */
.toc{background:#fff;border:1px solid var(--kant);border-top:3px solid var(--bronse);
  border-radius:var(--radius);padding:1rem 1.2rem;margin:0 0 2rem}
.toc-tittel{font-family:var(--serif);font-weight:700;font-size:.95rem;color:var(--jern);
  margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.06em}
.toc ol{margin:0;padding-left:1.1rem;font-size:.92rem}
.toc li{margin-bottom:.25rem}
.toc a{color:var(--tekst);text-decoration:none}
.toc a:hover{color:var(--bronse-dyp);text-decoration:underline}

/* kilder */
.kilder{margin-top:3rem;padding:1.2rem 1.4rem;background:var(--papir-varm);
  border:1px solid var(--kant);border-radius:var(--radius);font-size:.9rem}
.kilder h2{margin:0 0 .6rem;font-size:1.05rem;text-transform:uppercase;
  letter-spacing:.06em}
.kilder h2::before{display:none}
.kilder ul{padding-left:1.1rem;margin:0}
.kilder li{margin-bottom:.35em}

/* ---------- kort ---------- */
.kortrad{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr))}
.kort{background:#fff;border:1px solid var(--kant);border-radius:var(--radius);
  overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--skygge);
  transition:transform .18s ease,box-shadow .18s ease}
.kort:hover{transform:translateY(-3px);box-shadow:var(--skygge-hev)}
.kort-topp{height:5px;background:linear-gradient(90deg,var(--bronse),var(--messing),var(--himmel))}
.kort-bilde{aspect-ratio:16/9;object-fit:cover;width:100%}
.kort-kropp{padding:1.1rem 1.2rem 1.3rem;display:flex;flex-direction:column;flex:1}
.kort h3{margin:0 0 .45rem;font-size:1.12rem;line-height:1.3}
.kort h3 a{text-decoration:none;color:var(--jern)}
.kort h3 a:hover{color:var(--bronse-dyp)}
.kort p{font-size:.92rem;color:var(--tekst-svak);margin:0 0 .8rem}
.kort .stikkord{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;
  font-weight:700;color:var(--seine-dyp);margin-bottom:.4rem}
.kort-lenke{margin-top:auto;font-size:.88rem;font-weight:700;color:var(--bronse-dyp);
  text-decoration:none}
.kort-lenke:hover{text-decoration:underline}

/* Velkomstteksten paa forsiden skal fylle samme bredde som kortrutenettet rett
   over, ikke bare venstre halvdel. Full bredde i EN spalte gir linjer paa 130+
   tegn, som er tungt aa lese - derfor to spalter, med overskriftene over begge.
   Da beholder vi lesbar linjelengde og bruker likevel hele flaten. */
.velkomst{max-width:none}
@media(min-width:900px){
  .velkomst{columns:2;column-gap:3.2rem}
  .velkomst h2{column-span:all;margin-top:2.6rem}
  .velkomst h2:first-child{margin-top:0}
  .velkomst p:last-child{margin-bottom:0}
}

/* seksjonsoverskrift */
.seksjon{margin:3.5rem 0 0}
.seksjon:first-child{margin-top:0}
.seksjon-hode{display:flex;align-items:baseline;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;margin-bottom:1.4rem}
.seksjon-hode h2{margin:0;padding:0}
.seksjon-hode h2::before{display:none}
.seksjon-hode .alle{font-size:.88rem;font-weight:700;color:var(--bronse-dyp);
  text-decoration:none;white-space:nowrap}
.seksjon-hode .alle:hover{text-decoration:underline}
.seksjon-intro{color:var(--tekst-svak);max-width:60ch;margin:-.7rem 0 1.4rem}

/* lenkeliste */
.lenkeliste{list-style:none;padding:0;margin:0;
  columns:2;column-gap:2.5rem}
@media(max-width:700px){.lenkeliste{columns:1}}
.lenkeliste li{break-inside:avoid;margin-bottom:.55rem;padding-left:1rem;position:relative}
.lenkeliste li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;
  background:var(--bronse);border-radius:50%}
.lenkeliste a{text-decoration:none;color:var(--tekst)}
.lenkeliste a:hover{color:var(--bronse-dyp);text-decoration:underline}

/* sidespalte-bokser */
.spaltekort{background:#fff;border:1px solid var(--kant);border-radius:var(--radius);
  padding:1.1rem 1.2rem;box-shadow:var(--skygge)}
.spaltekort h3{margin:0 0 .7rem;font-size:1rem;text-transform:uppercase;
  letter-spacing:.06em;color:var(--jern);padding-bottom:.5rem;
  border-bottom:2px solid var(--bronse)}
.spaltekort ul{list-style:none;padding:0;margin:0;font-size:.92rem}
.spaltekort li{margin-bottom:.55rem;line-height:1.4}
.spaltekort a{text-decoration:none;color:var(--tekst)}
.spaltekort a:hover{color:var(--bronse-dyp);text-decoration:underline}
.spaltekort.fremhevet{background:var(--jern);color:#efe6d8;border-color:var(--jern)}
.spaltekort.fremhevet h3{color:var(--messing);border-color:var(--bronse)}
.spaltekort.fremhevet a{color:#fff}

/* faktastripe */
.faktastripe{background:var(--gitter),linear-gradient(100deg,var(--bronse-dyp),var(--jern) 55%,#2d3b48);
  color:#efe6d8;padding:2rem 0;margin:0}
.faktastripe .beholder{display:grid;gap:1.6rem;
  grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));text-align:center}
.faktastripe .tall{font-family:var(--serif);font-size:2.1rem;color:var(--messing);
  line-height:1;display:block;margin-bottom:.3rem}
.faktastripe .etikett{font-size:.82rem;color:#cdbda7;text-transform:uppercase;
  letter-spacing:.1em}

/* verktoy */
.verktoy{background:#fff;border:1px solid var(--kant);border-top:4px solid var(--messing);
  border-radius:var(--radius);padding:1.6rem;box-shadow:var(--skygge);margin:2rem 0}
.verktoy fieldset{border:0;padding:0;margin:0 0 1.3rem}
.verktoy legend{font-family:var(--serif);font-weight:700;color:var(--jern);
  font-size:1.05rem;margin-bottom:.5rem;padding:0}
.verktoy label{display:block;margin-bottom:.4rem;font-size:.95rem;cursor:pointer}
.verktoy input[type=number],.verktoy select,.verktoy input[type=time]{
  padding:.5rem .7rem;border:1px solid var(--kant);border-radius:var(--radius);
  font-size:1rem;font-family:inherit;background:#fff;max-width:14rem}
.verktoy .knapp{background:var(--seine-dyp);color:#fff;border:0;padding:.75rem 1.5rem;
  border-radius:var(--radius);font-size:1rem;font-weight:700;cursor:pointer;font-family:inherit}
.verktoy .knapp:hover{background:var(--jern)}
.svar{margin-top:1.5rem;padding:1.2rem 1.3rem;background:var(--seine-blek);
  border-left:4px solid var(--seine);border-radius:0 var(--radius) var(--radius) 0}
.svar:empty{display:none}
.svar h3{margin-top:0}

/* sok */
.sokefelt{display:flex;gap:.6rem;margin-bottom:2rem;max-width:34rem}
.sokefelt input{flex:1;padding:.8rem 1rem;border:1px solid var(--kant);
  border-radius:var(--radius);font-size:1rem;font-family:inherit}
.sokresultat li{margin-bottom:1.2rem;list-style:none}
.sokresultat a{font-family:var(--serif);font-size:1.1rem;font-weight:700;text-decoration:none}
.sokresultat p{margin:.2rem 0 0;font-size:.92rem;color:var(--tekst-svak)}
.sokresultat .sti{font-size:.78rem;color:var(--seine-dyp);text-transform:uppercase;
  letter-spacing:.08em}

/* annonse */
/* footer */
.bunn{background:var(--gitter),linear-gradient(180deg,var(--jern) 0%,var(--jern-mork) 100%);color:#e3d7c6;
  border-top:3px solid var(--bronse);margin-top:4rem;padding:3rem 0 1.5rem;font-size:.92rem}
.bunn-rutenett{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.bunn .bunn-tittel{color:var(--messing);font-size:.85rem;text-transform:uppercase;
  letter-spacing:.12em;margin:0 0 .8rem;font-weight:700;font-family:var(--sans)}
.bunn ul{list-style:none;padding:0;margin:0}
.bunn li{margin-bottom:.4rem}
.bunn a{color:#e3d7c6;text-decoration:none}
.bunn a:hover{color:#fff;text-decoration:underline}
.bunn-under{margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.16);
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;
  font-size:.82rem;color:#b9a993}
.bunn-under a{color:#b9a993}
.endre-samtykke{background:none;border:0;color:#b9a993;cursor:pointer;
  text-decoration:underline;font-size:.82rem;padding:0;font-family:inherit}

/* samtykke */
#samtykkebanner{position:fixed;left:0;right:0;bottom:0;background:var(--jern);
  color:#efe6d8;padding:1.1rem 1.25rem;z-index:200;box-shadow:0 -6px 24px rgba(0,0,0,.28);
  border-top:3px solid var(--bronse);display:none}
#samtykkebanner.vis{display:block}
.samtykke-inner{max-width:var(--bredde);margin:0 auto;display:flex;gap:1.2rem;
  align-items:center;flex-wrap:wrap}
.samtykke-inner p{margin:0;flex:1;min-width:16rem;font-size:.9rem}
.samtykke-inner a{color:var(--messing)}
.samtykke-knapper{display:flex;gap:.6rem;flex-wrap:wrap}
.samtykke-knapper button{border:0;padding:.65rem 1.2rem;border-radius:var(--radius);
  font-weight:700;cursor:pointer;font-size:.92rem;font-family:inherit}
#godta-alle{background:var(--messing);color:var(--jern)}
#kun-nodvendige{background:transparent;color:#efe6d8;border:1px solid rgba(255,255,255,.4)}

/* diverse */
.gitt{font-size:.8rem;color:var(--tekst-svak);font-style:italic}
.visuelt-skjult{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sist-oppdatert{font-size:.82rem;color:var(--tekst-svak);margin-top:2.5rem;
  padding-top:1rem;border-top:1px solid var(--kant)}
.knapplenke{display:inline-block;background:var(--seine-dyp);color:#fff!important;
  padding:.7rem 1.4rem;border-radius:var(--radius);text-decoration:none;font-weight:700;
  font-size:.95rem}
.knapplenke:hover{background:var(--jern);color:#fff!important}
.klyngeliste{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));
  margin:2rem 0}
/* ---------- gitterverk-motiv (fra taarnets fagverk) ---------- */
.gitter{height:10px;background:
  repeating-linear-gradient(45deg,transparent 0 6px,rgba(207,164,106,.55) 6px 7px),
  repeating-linear-gradient(-45deg,transparent 0 6px,rgba(207,164,106,.55) 6px 7px)}
.topp{border-bottom:0}
.topp::after{content:"";display:block;height:3px;background:linear-gradient(90deg,
  var(--bronse-dyp),var(--messing),var(--bronse-dyp))}
.logo svg{width:30px;height:36px}
.logo-under{color:var(--bronse-lys)}

/* ---------- forside ----------
   Toppen er delt i to: tekst og soek til venstre, karusellen til hoeyre, begge
   over folden. Lys, moenstret flate - ingen moerk tone over bildene. */
.forside-topp{background:var(--gitter-lys),
  linear-gradient(115deg,var(--papir-varm) 0%,#f7efe2 45%,var(--himmel-blek) 100%);
  padding:2.2rem 0 2.4rem;border-bottom:1px solid var(--kant)}
.forside-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2.4rem;
  align-items:center}
.forside-topp h1{color:var(--jern);font-size:clamp(2.1rem,1.4rem + 2.6vw,3.4rem);margin-bottom:.4rem}
.forside-topp .ingress{font-size:1.12rem;max-width:44ch;color:#4a3f35}
.forside-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.2rem}
.forside-chips a{font-size:.86rem;padding:.35rem .75rem;border-radius:999px;background:#fff;
  border:1px solid var(--kant);color:var(--jern);text-decoration:none}
.forside-chips a:hover{border-color:var(--himmel);color:var(--himmel-dyp)}
@media(max-width:900px){.forside-grid{grid-template-columns:minmax(0,1fr);gap:1.4rem}
  .forside-topp{padding:1.4rem 0 1.6rem}}
.karusell{position:relative;border-radius:8px;overflow:hidden;background:var(--jern);
  box-shadow:0 18px 40px rgba(47,36,27,.22)}
.karusell-spor{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.karusell-spor::-webkit-scrollbar{display:none}
.lysbilde{flex:0 0 100%;scroll-snap-align:start;margin:0;position:relative;background:#fff}
.lysbilde img{width:100%;aspect-ratio:3/2;height:auto;object-fit:cover;display:block}
.lysbilde figcaption{padding:.6rem .9rem .7rem;background:#fff;border-top:3px solid var(--messing)}
.lysbilde-tekst{margin:0 0 .15rem;font-family:var(--serif);font-size:1.02rem;font-weight:700}
.lysbilde-tekst a{color:var(--jern);text-decoration:none}
.lysbilde-tekst a:hover{color:var(--himmel-dyp);text-decoration:underline}
.lysbilde .bildekreditt-inline{margin:0;padding:0;text-align:left;font-size:.7rem;max-width:none}
.karusell-pil{position:absolute;top:calc((100% - 4.4rem)/2);transform:translateY(-50%);
  width:2.6rem;height:2.6rem;border-radius:50%;border:0;background:rgba(255,255,255,.88);
  color:var(--jern);font-size:1.6rem;line-height:1;cursor:pointer;display:flex;
  align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.karusell-pil:hover,.karusell-pil:focus-visible{background:var(--messing)}
.karusell-pil.forrige{left:.7rem}.karusell-pil.neste{right:.7rem}
.karusell-prikker{position:absolute;right:.9rem;bottom:1.15rem;display:flex;gap:.4rem}
.karusell-prikker a{width:.6rem;height:.6rem;border-radius:50%;background:var(--kant)}
.karusell-prikker a.aktiv{background:var(--rose)}
@media(max-width:640px){.karusell-pil{display:none}}
.snarveier{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr))}
.snarvei{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem;background:#fff;
  border:1px solid var(--kant);border-left:4px solid var(--bronse);border-radius:var(--radius);
  text-decoration:none;color:var(--tekst);box-shadow:var(--skygge)}
.snarvei strong{font-family:var(--serif);color:var(--jern);font-size:1.08rem}
.snarvei span{font-size:.9rem;color:var(--tekst-svak)}
.snarvei:hover{border-left-color:var(--seine);transform:translateY(-2px)}
.hub-intro{margin-bottom:1rem}
.hub-intro:empty{display:none}
.bunn-uavhengig{margin:2rem 0 0;max-width:62ch;font-size:.86rem;color:#cdbda7}

.kart{margin:2rem 0;background:#fff;border:1px solid var(--kant);border-radius:var(--radius);
  padding:.6rem}
.kart svg{width:100%;height:auto;display:block}
.kart text{font-family:var(--sans);fill:#2f241b;text-anchor:middle}
.kart .k-navn{font-family:var(--serif);font-size:17px;font-weight:700}
.kart .k-liten{font-size:12px}
.kart .k-vann{font-size:14px;font-style:italic;fill:#2c434d}
.kart .k-stasjon circle{fill:#2c434d;stroke:#fff;stroke-width:2}
.kart .k-stasjon circle.k-rer{fill:#7c5426}
.kart .k-stasjon text{fill:#fff;font-size:10px;font-weight:700}
