/* Stavanger Tilhengerleie — stasjonsdrevet oppsett med fast sidestolpe. */
:root { color-scheme:light; --b:#111418; --b2:#4a4f57; --b3:#787f89; --l:#e2e4e7; --l2:#c2c6cb;
  --f:#fff; --f2:#f7f8f9; --a:#14304a; --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px; }
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;font:16px/1.6 "Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Arial,sans-serif;color:var(--b2);background:var(--f)}
h1,h2,h3{margin:0;color:var(--b);line-height:1.2;text-wrap:balance}
h1{font-size:clamp(26px,4vw,38px)} h2{font-size:22px;margin-top:var(--s6)} h3{font-size:17px}
p,ul,ol,dl,table{margin:0} img{max-width:100%;height:auto;display:block}
a{color:var(--a)} :focus-visible{outline:2px solid var(--a);outline-offset:2px}
.skjult{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.hopp{position:absolute;left:8px;top:-60px;background:#fff;border:2px solid var(--b);padding:8px 12px;z-index:9}
.hopp:focus{top:8px}
.ramme{display:grid;min-height:100vh}
.stolpe{background:var(--a);color:#eef2f6;padding:var(--s5) var(--s5)}
.stolpe .navn{display:block;color:#fff;font-weight:700;font-size:19px;text-decoration:none;margin-bottom:var(--s4)}
.stolpe nav ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s4)}
.stolpe nav a{color:#cfdae5;text-decoration:none;font-weight:600;font-size:15px}
.stolpe nav a:hover{color:#fff;text-decoration:underline}
.stolpe-fot{margin-top:var(--s4);font-size:13px;color:#9fb3c6}
.hoved{padding:var(--s5);max-width:940px}
.hoved > main > * + *{margin-top:var(--s4)}
.sti{font-size:13px;margin-bottom:var(--s4)}
.sti ol{list-style:none;padding:0;display:flex;gap:var(--s2);flex-wrap:wrap}
.sti li+li::before{content:"›";margin-right:var(--s2);color:var(--b3)}
.ingress{font-size:18px;max-width:62ch}
.liten{font-size:14px;color:var(--b3)}
.stasjon-liste,.rutenett{display:grid;gap:var(--s4);margin-top:var(--s4)}
.stasjon,.boks{border:1px solid var(--l);border-left:3px solid var(--a);padding:var(--s4);background:var(--f2)}
.stasjon h3 a,.boks h3 a{text-decoration:none}
.hengertabell,.tabell,.spek{width:100%;border-collapse:collapse;font-size:15px;margin-top:var(--s4)}
.hengertabell th,.hengertabell td,.tabell th,.tabell td,.spek th,.spek td{text-align:left;padding:var(--s3) var(--s2);border-bottom:1px solid var(--l);vertical-align:top}
.hengertabell th,.tabell th{background:var(--f2);font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--b3)}
.spek th{width:48%;font-weight:500}
.klasse{display:inline-block;border:1px solid var(--b);border-radius:2px;padding:0 6px;font-weight:700;font-size:12px;line-height:20px}
.klasse-varsel{border:2px solid var(--b);padding:var(--s3);display:flex;gap:var(--s3);align-items:center;font-size:15px;margin-top:var(--s4)}
.klasse-varsel--be{background:#fff7ed}
.tomt,.melding{border:1px dashed var(--l2);background:var(--f2);padding:var(--s5);text-align:center}
.knapp{display:inline-block;background:var(--a);color:#fff;padding:var(--s3) var(--s5);text-decoration:none;font-weight:600;border:0;border-radius:3px;cursor:pointer;font:inherit;font-weight:600;min-height:46px;line-height:22px}
.cta{margin-top:var(--s6)}
details{border-bottom:1px solid var(--l);padding:var(--s3) 0}
summary{cursor:pointer;font-weight:600;color:var(--b)}
details p{margin-top:var(--s2);max-width:66ch}
.kalk,.regnemaskin{border:1px solid var(--l2);padding:var(--s4);margin-top:var(--s4)}
.kalk fieldset,.regnemaskin fieldset{border:0;padding:0;margin:0;display:grid;gap:var(--s2)}
.kalk label,.regnemaskin label{display:block}
.sum-tall{font-size:30px;font-weight:700;color:var(--b);margin-top:var(--s4)}
.sum-linjer{list-style:none;padding:0;font-size:14px;margin-top:var(--s3)}
.sum-linjer li{display:flex;justify-content:space-between;border-bottom:1px dotted var(--l2);padding:2px 0}
.fakta{display:grid;grid-template-columns:auto 1fr;gap:var(--s2) var(--s4);margin-top:var(--s4);font-size:15px}
.fakta dt{font-weight:600;color:var(--b3)} .fakta dd{margin:0;color:var(--b)}
.skjema{display:grid;gap:var(--s4);max-width:560px;margin-top:var(--s5)}
.skjema label{display:block;font-weight:600;font-size:15px;color:var(--b);margin-bottom:var(--s1)}
.skjema input,.skjema select,.skjema textarea{width:100%;padding:var(--s3);border:1px solid var(--l2);border-radius:3px;font:inherit;min-height:46px}
.skjema textarea{min-height:140px}
.feil{color:#b91c1c;font-size:14px;font-weight:600;display:block;margin-top:var(--s1)}
.honning{position:absolute;left:-9999px}
.tekst > * + *{margin-top:var(--s4)} .tekst ul,.tekst ol{padding-left:var(--s5)}
.modellbilde,.hovedbilde{margin-top:var(--s4);border:1px solid var(--l)}
.guideliste{list-style:none;padding:0} .guideliste li{padding:var(--s3) 0;border-bottom:1px solid var(--l)}
.fot{border-top:1px solid var(--l);margin-top:var(--s7);padding:var(--s5) 0;font-size:14px;color:var(--b3)}
.fot p+p{margin-top:var(--s2)}
.fot-omrader{font-size:13px}
@media (min-width:760px){ .stasjon-liste,.rutenett{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))} }
@media (min-width:1000px){ .ramme{grid-template-columns:260px 1fr} .stolpe{min-height:100vh;position:sticky;top:0;align-self:start} .stolpe nav ul{flex-direction:column;gap:var(--s2)} .hoved{padding:var(--s7)} }
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* Anmeldelser */
.anmeldelser .snitt { margin-top:var(--s3); font-size:18px; }
.sitat { margin:var(--s4) 0 0; padding:var(--s4); border-left:3px solid var(--a); background:var(--f2); }
.sitat p { margin:0; }
.sitat cite { display:block; margin-top:var(--s2); font-size:13px; color:var(--b3); font-style:normal; }
.sitat .svar { margin-top:var(--s3); padding-top:var(--s3); border-top:1px solid var(--l); font-size:14px; }
