/* rodekorsbutikken.no. Samme oppbygning som nrhuniform.no, med Røde Kors-profilen: rød #D52B1E (korset #E30613),
   tekst #1E1E1E og lys grå. Variabelnavnene er de samme som i NRH-koden (--marine = mørk, --bla = rød, --isbla = lys rød),
   så rettelser kan flyttes mellom butikkene uten å skrive dem om.
   Meny, kurv, filter og innlogging bygger på Serpas-skillene (serpas-meny, -handlekurv, -mobilfilter, -innlogging).
   Bruddpunkter: 1100 (meny/filter, samme som i rk.js), 760, 520. */
:root{
  --marine:#1E1E1E; --marine-2:#3A3A3A; --bla:#D52B1E; --bla-mork:#B3241A; --isbla:#FBE3E1; --isbla-2:#FDF1F0;
  --hvit:#fff; --lys:#F4F3F1; --linje:#E5E2DE; --tekst:#1E1E1E; --dempet:#5E5E5E; --signal:#E8590C;
  --ok:#1F7A4D; --feil:#B42318;
  --skrift:"Source Sans 3","Source Sans Pro",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:10px; --radius-liten:6px; --skygge:0 1px 2px rgba(30,30,30,.06),0 4px 16px rgba(30,30,30,.06);
  --bredde:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--skrift);font-size:17px;line-height:1.5;color:var(--tekst);background:var(--hvit);min-height:100vh;display:flex;flex-direction:column}
body>*{flex-shrink:0}
body>main{flex-grow:1}
img{max-width:100%;height:auto;display:block}
a{color:var(--bla)}
h1,h2,h3{line-height:1.15;color:var(--marine);margin:0 0 .4em}
h1{font-size:clamp(28px,4vw,40px);font-weight:800;letter-spacing:-.01em}
h2{font-size:22px;font-weight:700}
button,input,select,textarea{font:inherit;color:inherit}
.wrap{max-width:var(--bredde);margin:0 auto;padding:0 24px}
.skjult{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hopp{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--marine);color:#fff;padding:8px 14px;border-radius:var(--radius-liten)}
.hopp:focus{left:8px}
.dempet{color:var(--dempet)}
.liten{font-size:14px}
:focus-visible{outline:3px solid var(--bla);outline-offset:2px}

/* Knapper */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 20px;border-radius:999px;border:2px solid transparent;font-weight:700;font-size:16px;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s;white-space:nowrap}
.btn--primar{background:var(--bla);color:#fff}
.btn--primar:hover{background:var(--bla-mork)}
.btn--primar:disabled{background:#DDA9A4;cursor:not-allowed}
.btn--omriss{background:#fff;border-color:var(--marine);color:var(--marine)}
.btn--omriss:hover{background:var(--marine);color:#fff}
.btn--omriss-lys{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}
.btn--omriss-lys:hover{background:#fff;color:var(--marine)}
.btn--stor{min-height:52px;padding:12px 26px;font-size:17px}
.btn--blokk{width:100%}
.lenkeknapp{padding:0;border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer}
.lenkeknapp:disabled{color:var(--dempet);text-decoration:none;cursor:default}

/* Toppstripe */
.toppstripe{background:var(--marine);color:rgba(255,255,255,.8);font-size:14px}
.toppstripe .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:36px}
.toppstripe nav{display:flex;gap:20px}
.toppstripe a{color:#fff;text-decoration:none}
.toppstripe a:hover{text-decoration:underline}

/* Header (serpas-meny, lys utgave: logoen er marineblå) */
header.site{background:#fff;position:sticky;top:0;z-index:40;box-shadow:0 1px 0 var(--linje)}
.head-main .wrap{display:flex;align-items:center;gap:36px;height:92px}
.logo img{height:62px;width:auto}
.search{flex:1;position:relative;max-width:620px}
.search input{width:100%;height:48px;background:var(--lys);border:1.5px solid transparent;border-radius:999px;padding:0 18px 0 46px;font-size:16px;outline:none;transition:border-color .2s,background .2s}
.search input::placeholder{color:#8A8A8A}
.search input:focus{border-color:var(--bla);background:#fff}
.search svg{position:absolute;left:17px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--dempet)}
.sok-forslag{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--linje);border-radius:var(--radius);box-shadow:0 14px 34px rgba(0,0,0,.18);z-index:60;max-height:calc(100dvh - 140px);overflow-y:auto}
.sok-forslag[hidden]{display:none}
.sok-forslag a{display:flex;gap:12px;align-items:center;padding:8px 12px;border-bottom:1px solid var(--linje);color:var(--marine);font-weight:600;text-decoration:none}
.sok-forslag a:last-child{border-bottom:0}
.sok-forslag a:hover,.sok-forslag a:focus-visible{background:var(--lys)}
.sok-forslag img{flex:none;width:44px;height:44px;object-fit:contain}
.sok-forslag small{display:block;color:var(--dempet);font-weight:400}
.head-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.konto-lenke{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;color:var(--marine);font-weight:700;text-decoration:none}
.konto-lenke:hover,.konto-lenke[aria-current="page"]{background:var(--isbla-2)}
.icon-btn{width:46px;height:46px;border-radius:50%;border:1.5px solid var(--linje);display:grid;place-items:center;background:#fff;color:var(--marine);cursor:pointer}
.icon-btn:hover{border-color:var(--bla);color:var(--bla)}

nav.cats{background:var(--marine)}
nav.cats .wrap{display:flex;justify-content:center;gap:4px;height:54px;align-items:stretch}
nav.cats a{display:flex;align-items:center;padding:0 20px;color:#fff;font-weight:700;font-size:16px;text-decoration:none;position:relative}
nav.cats a::after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:3px;background:var(--isbla);transform:scaleX(0);transition:transform .2s}
nav.cats a:hover::after,nav.cats a[aria-current="page"]::after{transform:scaleX(1)}
nav.cats .sep{width:1px;background:rgba(255,255,255,.2);margin:14px 10px}
nav.cats a.fremhevet{color:var(--isbla)}
.burger{display:none}

/* Mobilmeny: sidepanel fra venstre */
.menypanel-bak,.kurvpanel-bak{position:fixed;inset:0;background:rgba(20,20,20,.5);opacity:0;transition:opacity .25s;z-index:90}
.menypanel-bak.apen,.kurvpanel-bak.apen{opacity:1}
.mobilmeny{position:fixed;top:0;left:0;bottom:0;width:min(360px,88vw);background:#fff;z-index:91;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .25s ease;box-shadow:8px 0 30px rgba(0,0,0,.2)}
.mobilmeny.apen{transform:none}
.mobilmeny[hidden],.menypanel-bak[hidden],.kurvpanel[hidden],.kurvpanel-bak[hidden]{display:none}
.mobilmeny-topp{display:flex;align-items:center;justify-content:space-between;padding:12px 12px 12px 20px;border-bottom:1px solid var(--linje)}
.mobilmeny-topp .logo img{height:42px}
.mobilmeny .panel-lukk{color:var(--marine)}
.mobilmeny .panel-lukk:hover,.mobilmeny .panel-lukk:focus-visible{background:var(--lys)}
.mobilmeny-innhold{flex:1;overflow-y:auto;padding:16px 20px 20px}
.mobilmeny .search{display:block;margin-bottom:8px}
.mobilmeny-innhold>a{display:block;color:var(--marine);font-weight:700;font-size:18px;padding:13px 0;border-bottom:1px solid var(--linje);text-decoration:none}
.mobilmeny-innhold>a[aria-current="page"]{color:var(--bla)}
.mobilmeny a.fremhevet{color:var(--bla)}
.mobilmeny-teaser{background:var(--lys);border-radius:var(--radius);padding:18px 18px 20px}
.mobilmeny-teaser h2{font-size:19px;margin:0 0 6px;color:var(--marine)}
.mobilmeny-teaser p{font-size:15px;color:var(--dempet);margin:0 0 10px}
.mobilmeny-teaser ul{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:6px;font-size:15px;color:var(--tekst,#1E1E1E)}
.mobilmeny-teaser li{padding-left:22px;position:relative}
.mobilmeny-teaser li::before{content:"✓";position:absolute;left:0;color:var(--bla);font-weight:700}
.mobilmeny-sma{display:grid;gap:2px;margin-top:18px}
.mobilmeny-sma a{color:var(--dempet);font-size:16px;padding:7px 0;text-decoration:none}
.mobilmeny-bunn{padding:16px 20px 22px;border-top:1px solid var(--linje)}
.panel-lukk{background:none;border:0;color:#fff;width:40px;height:40px;display:grid;place-items:center;cursor:pointer;border-radius:50%}
.panel-lukk:hover,.panel-lukk:focus-visible{background:rgba(255,255,255,.14)}
html.panel-apent{overflow:hidden}

/* Hero */
.hero{position:relative;color:#fff;background:var(--marine)}
/* Utlogget: lys flate med tekst til venstre og to bilder til høyre (Kjerag-jakken, dame og herre) */
.hero--velkommen{color:var(--tekst);background:linear-gradient(180deg,#fff 0%,var(--lys) 100%);overflow:hidden}
.hero-rad{display:flex;align-items:center;justify-content:space-between;gap:48px}
.hero--velkommen .hero-innhold{flex:1;min-width:0;padding-left:0;padding-right:0}
.hero-bilder{flex:none;display:flex;gap:16px;padding:40px 0}
.hero-bilder img{width:260px;height:340px;object-fit:cover;border-radius:16px;box-shadow:0 10px 30px rgba(30,30,30,.14)}
.hero-bilder img:first-child{margin-bottom:56px}
.hero-bilder img:last-child{margin-top:56px}
@media (max-width:1100px){.hero-bilder img{width:200px;height:262px}.hero-rad{gap:28px}}
.hero.hero--velkommen h1{color:var(--marine)}
.hero--velkommen .overtittel{color:var(--bla)}
.hero.hero--velkommen .ingress{color:var(--dempet)}
.hero--velkommen .btn--omriss-lys{border-color:var(--marine);color:var(--marine)}
.hero--velkommen .btn--omriss-lys:hover{background:var(--marine);color:#fff}
.hero-innhold{padding:72px 24px 80px;max-width:var(--bredde)}
.hero h1{color:#fff;max-width:22ch;font-size:clamp(30px,5vw,52px);text-wrap:balance}
.overtittel{text-transform:uppercase;letter-spacing:.12em;font-size:14px;font-weight:700;color:var(--isbla);margin:0 0 10px}
.hero .ingress{font-size:20px;max-width:46ch;color:rgba(255,255,255,.88);margin:0 0 28px}
.hero-knapper{display:flex;flex-wrap:wrap;gap:12px}
.hero-sok{display:flex;gap:10px;max-width:640px;margin-top:20px}
.hero-sok input{flex:1;min-width:0;height:52px;border-radius:999px;border:0;padding:0 22px;font-size:17px}

/* Forside for utloggede */
.fordeler{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:48px;padding-bottom:16px}
.fordel{background:var(--lys);border-radius:var(--radius);padding:28px}
.fordel svg{color:var(--bla);margin-bottom:12px}
.fordel h2{font-size:20px}
.fordel p{margin:0;color:var(--dempet)}
.hjelp{padding-top:36px;padding-bottom:64px}
.hjelp h2{font-size:20px}

/* Seksjoner, kort og rutenett */
.seksjon{padding-top:40px;padding-bottom:16px}
.seksjon:last-child{padding-bottom:64px}
.seksjon-topp{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.seksjon-topp h2{margin:0}
.seksjon-topp a{font-weight:700;text-decoration:none}
.seksjon-ingress{margin:-8px 0 18px;color:var(--dempet)}
.rutenett{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:28px 20px}
.rutenett--4{grid-template-columns:repeat(4,1fr)}
.kort{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--tekst)}
.kort-bilde{position:relative;aspect-ratio:1;background:var(--lys);border-radius:var(--radius);overflow:hidden;margin-bottom:8px}
.kort-bilde img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .3s}
.kort:hover .kort-bilde img{transform:scale(1.04)}
.kort-navn{font-weight:600;line-height:1.3}
.kort:hover .kort-navn{color:var(--bla)}
.kort-pris{font-weight:700;color:var(--marine)}
.merke{position:absolute;top:10px;left:10px;background:var(--bla);color:#fff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:999px}
.merke--utsolgt{background:#fff;color:var(--dempet);border:1px solid var(--linje)}
.merke--tilbud{background:var(--signal)}
.merke--flat{position:static;display:inline-block;background:var(--isbla);color:var(--marine)}
.merke--liten{font-size:11px;padding:2px 7px;vertical-align:middle}

.pakkerutenett{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pakkekort{display:flex;flex-direction:column;border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--tekst);background:#fff;border:1px solid var(--linje);transition:box-shadow .2s,transform .2s}
.pakkekort:hover{box-shadow:var(--skygge);transform:translateY(-2px)}
.pakkekort-bilde{display:block;aspect-ratio:4/3;background:var(--lys);overflow:hidden}
.pakkekort-bilde img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pakkekort-tekst{display:flex;flex-direction:column;padding:14px 16px 16px;border-top:4px solid var(--bla)}
.pakkekort-tekst strong{color:var(--marine);font-size:18px}
.pakkekort-tekst span{color:var(--dempet);font-size:15px}
.pakkerutenett--stor{padding-bottom:64px}
.tom-lenker{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
/* Søkefeltet på resultatsiden: toppsøket er skjult på mobil */
.sok-pa-nytt{margin-top:12px;max-width:560px}
.sok-pa-nytt input{background:var(--lys);border:1px solid var(--linje);height:48px}

.katrutenett{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.katkort{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px 12px 16px;background:var(--lys);border-radius:var(--radius);text-decoration:none;color:var(--marine);font-weight:700;transition:background .2s}
.katkort:hover{background:var(--isbla)}
.katkort-bilde{width:100%;aspect-ratio:1;max-width:140px}
.katkort-bilde img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}

/* Topp på undersider */
.side-topp{padding-top:24px;padding-bottom:12px}
.side-topp h1{margin-bottom:6px}
.side-topp .ingress{color:var(--dempet);font-size:19px;max-width:64ch;margin:0 0 12px}
.brodsmuler{display:flex;flex-wrap:wrap;gap:8px;font-size:14px;color:var(--dempet);margin-bottom:14px}
.brodsmuler a{color:var(--dempet);text-decoration:none}
.brodsmuler a:hover{color:var(--bla);text-decoration:underline}
.antall{color:var(--dempet);margin:0 0 12px}
.brikker{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 8px}
.brikker a{padding:8px 16px;border-radius:999px;border:1.5px solid var(--linje);text-decoration:none;color:var(--marine);font-weight:600}
.brikker a:hover{border-color:var(--bla)}
.brikker a[aria-current="page"]{background:var(--marine);border-color:var(--marine);color:#fff}

/* Produktliste med filter (serpas-mobilfilter) */
.liste-oppsett{display:grid;grid-template-columns:240px minmax(0,1fr);gap:40px;align-items:start;padding-bottom:64px}
.filter details{border-bottom:1px solid var(--linje);padding:14px 0}
.filter details:first-of-type{padding-top:0}
.filter summary{font-weight:800;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--marine);cursor:pointer}
.filter ul{list-style:none;margin:0;padding:10px 0 0}
.filter li a{display:flex;align-items:center;gap:8px;padding:5px 0;color:var(--tekst);text-decoration:none}
.filter li a:hover{color:var(--bla)}
.filter li a span:last-child{margin-left:auto;color:var(--dempet);font-size:14px}
.filter a[aria-current="true"]{font-weight:700;color:var(--marine)}
.filter li a[aria-current="true"]::before{content:"";width:8px;height:8px;background:var(--bla);border-radius:2px}
.filter .str-valg{display:flex;flex-wrap:wrap;gap:6px}
.filter .str-valg a{justify-content:center;min-width:46px;padding:6px 10px;border:1.5px solid var(--linje);border-radius:var(--radius-liten);font-size:15px}
.filter .str-valg a[aria-current="true"]{background:var(--marine);border-color:var(--marine);color:#fff}
.filter .str-valg a[aria-current="true"]::before{display:none}
.nullstill{display:inline-block;margin-bottom:10px;font-size:15px}
.filter-knapp,.filterpanel-bak,.filterpanel-topp,.filterpanel-bunn,.filter-kategori{display:none}
/* Sortering over produktene (?sorter=, api/routes/side.py) */
.liste-verktoy{display:flex;justify-content:flex-end;margin:0 0 16px}
.sorter{display:flex;align-items:center;gap:10px}
.sorter label{color:var(--dempet);font-size:15px;white-space:nowrap}
.sorter select{height:42px;min-width:180px;padding:0 36px 0 14px;border:1.5px solid var(--linje);border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%231E1E1E' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;appearance:none;-webkit-appearance:none;font-weight:600;color:var(--marine);cursor:pointer}
.sorter select:hover,.sorter select:focus-visible{border-color:var(--marine)}
.filterpanel-topp{align-items:center;justify-content:space-between;padding:16px 16px 16px 24px;background:var(--marine);color:#fff}
.filterpanel-topp h2{color:#fff;font-size:20px;margin:0}
.sidebytte{display:flex;gap:6px;justify-content:center;margin-top:36px;flex-wrap:wrap}
.sidebytte a{min-width:40px;height:40px;display:grid;place-items:center;border-radius:var(--radius-liten);border:1px solid var(--linje);text-decoration:none;color:var(--marine)}
.sidebytte a[aria-current="page"]{background:var(--marine);color:#fff;border-color:var(--marine)}
.tomt{padding:32px 0;color:var(--dempet)}

/* Produktside */
.produkt{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:56px;padding-bottom:32px}
.galleri-hoved{aspect-ratio:1;background:var(--lys);border-radius:var(--radius);overflow:hidden}
.galleri-hoved img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.galleri-sma{display:flex;gap:10px;margin-top:12px;overflow-x:auto}
.galleri-sma button{flex:0 0 76px;height:76px;padding:4px;border:2px solid transparent;border-radius:var(--radius-liten);background:var(--lys);cursor:pointer}
.galleri-sma button[aria-current="true"]{border-color:var(--bla)}
.galleri-sma img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.kjop h1{margin-top:6px}
.varenr{color:var(--dempet);font-size:14px;margin:0 0 10px}
.pris{font-size:28px;font-weight:800;color:var(--marine);margin:0 0 16px}
.ingress.cms{color:var(--dempet)}
.i-pakke{background:var(--isbla-2);border-left:4px solid var(--bla);padding:12px 16px;border-radius:0 var(--radius-liten) var(--radius-liten) 0;font-size:16px}
.storrelser{border:0;padding:0;margin:20px 0 0}
.storrelser legend{font-weight:700;color:var(--marine);margin-bottom:10px;display:flex;width:100%;justify-content:space-between}
.maal-lenke{font-weight:600;font-size:15px}
.str-knapper{display:flex;flex-wrap:wrap;gap:8px}
.str-knapp{position:relative}
.str-knapp input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.str-knapp span{display:grid;place-items:center;min-width:56px;height:48px;padding:0 14px;border:1.5px solid var(--linje);border-radius:var(--radius-liten);font-weight:600;background:#fff;transition:border-color .15s}
.str-knapp:hover span{border-color:var(--marine)}
.str-knapp input:checked+span{background:var(--marine);border-color:var(--marine);color:#fff}
.str-knapp input:focus-visible+span{outline:3px solid var(--bla);outline-offset:2px}
.str-knapp--utsolgt span{color:#A0AABB;background:repeating-linear-gradient(135deg,#fff 0 6px,var(--lys) 6px 12px);text-decoration:line-through}
.str-knapp--utsolgt input{cursor:not-allowed}
.lagerstatus{min-height:1.5em;font-size:15px;margin:8px 0 0;color:var(--ok)}
.kjop-rad{display:flex;gap:12px;margin-top:16px}
.antall-felt input{width:80px;height:52px;text-align:center;border:1.5px solid var(--linje);border-radius:var(--radius-liten);font-weight:700}
.kjop-rad .btn{flex:1}
.kjop-feil{color:var(--feil);margin:10px 0 0}
.trygghet{list-style:none;padding:0;margin:22px 0 0;display:grid;gap:6px;color:var(--dempet);font-size:15px}
.trygghet li::before{content:"✓";color:var(--ok);font-weight:700;margin-right:8px}
.produktinfo{max-width:860px;padding-bottom:16px}
.produktinfo details{border-top:1px solid var(--linje)}
.produktinfo details:last-child{border-bottom:1px solid var(--linje)}
.produktinfo summary{padding:18px 0;font-weight:700;font-size:19px;color:var(--marine);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.produktinfo summary::-webkit-details-marker{display:none}
.produktinfo summary::after{content:"+";font-size:24px;line-height:1;color:var(--bla)}
.produktinfo details[open] summary::after{content:"−"}
.produktinfo .cms{padding-bottom:20px}
.cms img{max-width:100%;height:auto}
.cms table{border-collapse:collapse;max-width:100%;display:block;overflow-x:auto}
.cms td,.cms th{border:1px solid var(--linje);padding:6px 10px}
.cms--side{max-width:820px;padding-bottom:64px}
.side-topp--smal{max-width:820px}

/* Pakke */
.pakke{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;padding-bottom:64px}
.pakke-liste{list-style:none;margin:0;padding:0;counter-reset:del}
.pakke-del{display:grid;grid-template-columns:96px minmax(0,1fr) 200px;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--linje)}
.pakke-del:first-child{border-top:1px solid var(--linje)}
.pakke-bilde{width:96px;height:96px;background:var(--lys);border-radius:var(--radius-liten);display:block}
.pakke-bilde img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pakke-info{display:flex;flex-direction:column}
.pakke-navn{font-weight:700;color:var(--marine);text-decoration:none}
.pakke-navn:hover{color:var(--bla)}
.pakke-str select{width:100%;height:48px;border:1.5px solid var(--linje);border-radius:var(--radius-liten);padding:0 12px;background:#fff}
.pakke-str select.mangler{border-color:var(--feil)}
.pakke-sammendrag{position:sticky;top:170px;background:var(--lys);border-radius:var(--radius);padding:24px}
.steg{margin:0 0 18px;padding-left:22px}
.steg li{margin-bottom:6px}
.pakke-verdi{display:flex;justify-content:space-between;border-top:1px solid var(--linje);padding-top:14px;color:var(--dempet)}
.pakke-verdi strong{color:var(--marine)}
.pakke-om{margin-top:18px}
.pakke-om summary{cursor:pointer;font-weight:700;color:var(--marine)}

/* Handlekurv: panel (serpas-handlekurv) og side */
.kurv-ikon{position:relative}
.kurv-antall{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:var(--bla);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center}
.kurv-antall[hidden]{display:none}
.kurvpanel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100vw);background:#fff;z-index:91;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .25s ease;box-shadow:-8px 0 30px rgba(0,0,0,.18)}
.kurvpanel.apen{transform:none}
.kurvpanel-topp{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 16px 24px;background:var(--marine);color:#fff}
.kurvpanel-topp h2{color:#fff;font-size:20px;margin:0}
.kurvpanel-linjer{flex:1;overflow-y:auto;padding:4px 24px}
.kurvpanel-tom{padding:32px 0;color:var(--dempet)}
.kurvpanel-bunn{border-top:1px solid var(--linje);padding:18px 24px 22px;background:var(--lys)}
.kurvpanel-bunn[hidden]{display:none}
.kurvpanel-rad{display:flex;justify-content:space-between;color:var(--ok);margin-bottom:4px}
.kurvpanel-rad[hidden]{display:none}
.kurvpanel-sum{display:flex;justify-content:space-between;font-size:19px;font-weight:700;color:var(--marine);margin-bottom:4px}
.kurvpanel-bunn .btn{margin-top:14px}
.infopanel{width:min(680px,100vw)}
.infopanel-kropp{flex:1;overflow-y:auto;padding:20px 24px 32px;overscroll-behavior:contain}
.infopanel-kropp > h1:first-child{display:none}
.infopanel-kropp h1,.infopanel-kropp h2{font-size:19px}
.infopanel-kropp .row{display:grid;gap:16px;align-items:start}
@media(min-width:600px){.infopanel-kropp .row{grid-template-columns:1fr 1fr}}
.infopanel-kropp img{display:block;margin:0 auto;max-height:420px;width:auto}
.infopanel-kropp ul.list-unstyled{list-style:none;padding:0}
.infopanel-kropp li{margin-bottom:6px}
.infopanel-kropp th[scope=row]{text-align:left;white-space:nowrap}
.infopanel-kropp td{text-align:center}
.infopanel-kropp caption:empty,.infopanel-kropp p:empty{display:none}
.ip-faner{display:flex;gap:4px;border-bottom:2px solid var(--linje);margin:-4px 0 18px;position:sticky;top:-20px;background:#fff;padding-top:4px;z-index:1}
.ip-faner button{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:10px 14px;font:inherit;font-weight:600;color:var(--dempet);cursor:pointer}
.ip-faner button[aria-selected=true]{color:var(--marine);border-bottom-color:var(--bla)}
.ip-faner button:hover{color:var(--marine)}
.ip-fanepanel[hidden]{display:none}
@media(max-width:480px){.infopanel-kropp tr>:first-child{position:sticky;left:0;z-index:1;background:#fff;white-space:normal;min-width:84px;max-width:120px;text-align:left;box-shadow:1px 0 0 var(--linje)}.infopanel-kropp{padding:16px 14px 28px}.infopanel-kropp td,.infopanel-kropp th{padding:6px 5px;font-size:15px}.ip-faner{top:-16px}}
.kurv-mva{font-size:14px;color:var(--dempet);margin:0}
.kurv-fortsett{display:block;text-align:center;margin-top:14px;font-size:15px}
.kurv-linje{display:grid;grid-template-columns:72px minmax(0,1fr) auto;grid-template-areas:"b i i" "b a s" "b f f";gap:6px 14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--linje)}
.kurv-bilde{grid-area:b;width:72px;height:72px;background:var(--lys);border-radius:var(--radius-liten);display:block;align-self:start}
.kurv-bilde img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.kurv-info{grid-area:i;display:flex;flex-direction:column;gap:1px}
.kurv-navn{font-weight:700;color:var(--marine);text-decoration:none}
.kurv-info small{color:var(--dempet);font-size:14px}
.kurv-info .kurv-rabatt{color:var(--ok);font-weight:600}
.kurv-info .kurv-lager{color:var(--feil);font-weight:600}
.kurv-antall-valg{grid-area:a;justify-self:start;display:flex;align-items:center;border:1.5px solid var(--linje);border-radius:999px}
.kurv-antall-valg button{width:38px;height:38px;border:0;background:none;font-size:18px;cursor:pointer;color:var(--marine)}
.kurv-antall-valg span{min-width:26px;text-align:center;font-weight:700}
.kurv-linjesum{grid-area:s;font-weight:700;text-align:right;color:var(--marine)}
.kurv-fjern{grid-area:f;justify-self:start;padding:0;border:0;background:none;color:var(--dempet);text-decoration:underline;cursor:pointer;font-size:14px}
.kurvside,.kasse{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start;padding-bottom:64px}
.oppsummering{background:var(--lys);border-radius:var(--radius);padding:24px;position:sticky;top:170px}
.oppsummering[hidden]{display:none}
.oppsummering dl{margin:0 0 12px}
.oppsummering dl div{display:flex;justify-content:space-between;padding:6px 0}
.oppsummering dl div[hidden]{display:none}
.oppsummering dt{color:var(--dempet)}
.oppsummering dd{margin:0;font-weight:600}
.oppsummering .total{border-top:1px solid var(--linje);margin-top:6px;padding-top:12px}
.oppsummering .total dt,.oppsummering .total dd{color:var(--marine);font-weight:800;font-size:20px}
.oppsummering .btn{margin-top:16px}

/* Kasse */
.kasse-felt{display:grid;gap:20px}
.boks{border:1px solid var(--linje);border-radius:var(--radius);padding:24px;margin:0;background:#fff}
fieldset.boks legend{display:flex;align-items:center;gap:10px;font-weight:800;font-size:20px;color:var(--marine);padding:0 6px;margin-left:-6px}
.steg-nr{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--marine);color:#fff;font-size:15px}
.boks label{display:block;font-weight:600;font-size:15px;margin-top:12px}
.boks input:not([type=radio]):not([type=checkbox]){display:block;width:100%;height:48px;margin-top:4px;border:1.5px solid var(--linje);border-radius:var(--radius-liten);padding:0 14px;background:#fff;font-weight:400;font-size:16px}
.boks input:focus{outline:none;border-color:var(--bla)}
.felt-rad{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.felt-rad--post{grid-template-columns:140px 1fr}
.valg{display:flex !important;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--linje);border-radius:var(--radius);cursor:pointer}
.valg:has(input:checked){border-color:var(--bla);background:var(--isbla-2)}
.valg input{width:20px;height:20px;accent-color:var(--bla)}
.valg-tekst{flex:1;display:flex;flex-direction:column}
.valg-tekst small{color:var(--dempet);font-weight:400}
.valg-pris{font-weight:700;color:var(--marine)}
.kupong-rad{display:flex;gap:10px;align-items:center}
.kupong-rad input{margin-top:0 !important;text-transform:uppercase;letter-spacing:.06em}
.kupong-svar{min-height:1.5em;margin:10px 0 0;font-weight:600}
.kupong-svar.ok{color:var(--ok)}
.kupong-svar.feil{color:var(--feil)}
.kasse-sum h2{font-size:20px}
.kasse-linjer{list-style:none;margin:0 0 12px;padding:0 0 8px;border-bottom:1px solid var(--linje)}
.kasse-linjer li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;font-size:15px}
.kasse-linjer small{display:block;color:var(--dempet)}
.kasse-linjer .rabatt{color:var(--ok)}
.vilkar{display:flex !important;gap:10px;align-items:flex-start;font-weight:400 !important;margin-top:14px}
.vilkar input{margin-top:4px;accent-color:var(--bla)}
.vilkar{flex-wrap:wrap}
.vilkar .faktura-felt{margin:4px 0 4px;padding:4px 16px 16px;border-left:3px solid var(--isbla)}
.org-navn{display:block;margin-top:6px;font-weight:700;color:var(--ok);font-size:15px}
.faktura-felt .org-navn{margin:0}
.org-varsel .melding{margin-top:16px}
.minside-org{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--linje)}
.minside-org .btn{margin-top:12px}
.org-oppslag{margin:6px 0 0;font-size:15px;min-height:1.4em}
.org-oppslag.ok{color:var(--ok);font-weight:700}
.org-oppslag.feil{color:var(--feil);font-weight:600}
.orgpanel-kropp{flex:1;overflow-y:auto;padding:20px 24px 28px;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px}
.orgpanel-kropp > *{flex-shrink:0}
.orgpanel-kropp .felt-feil{flex-basis:auto;margin:0}
.orgpanel-kropp .felt-feil[hidden]{display:none}
.orgpanel-kropp p{margin:0}
.orgpanel-kropp input{font-size:20px;letter-spacing:.06em}
.orgpanel-las{padding:12px 14px;background:var(--lys);border-left:3px solid var(--bla);font-size:15px}
.orgpanel-las p{margin-top:4px}
.orgpanel-kropp .lenkeknapp{align-self:center}
[data-org-mangler] .btn{margin-top:10px}
.felt-feil{flex-basis:100%}
.felt-feil{display:block;color:var(--feil);font-weight:600;font-size:14px;margin-top:6px}
.boks label.ugyldig input{border-color:var(--feil);background:#FFF8F7}
.kasse-linjer li{align-items:center}
.kasse-linje-bilde{flex:none;width:48px;height:48px;object-fit:contain;background:#fff;border:1px solid var(--linje);border-radius:var(--radius-liten)}
.kasse-linje-tekst{flex:1}
.kasse-linje-sum{white-space:nowrap}
.tilbake-lenke{display:inline-block;font-size:15px;font-weight:600;margin-bottom:4px;text-decoration:none}
.tilbake-lenke:hover{text-decoration:underline}
.kasse-mini{display:none}
.hentested-valg{margin:12px 0 18px;padding-left:16px;border-left:3px solid var(--isbla)}
.hentested-valg[hidden]{display:none}
.hentested-tittel{font-weight:700;color:var(--marine);margin:0 0 8px}
.hentested-liste{display:grid;gap:8px}
.hentested{display:flex !important;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid var(--linje);border-radius:var(--radius-liten);cursor:pointer;margin:0 !important;font-weight:400 !important}
.hentested[hidden]{display:none !important}
.hentested:has(input:checked){border-color:var(--bla);background:var(--isbla-2)}
.hentested input{margin-top:3px;width:18px;height:18px;accent-color:var(--bla);flex:none}
.hentested-tekst{flex:1;display:flex;flex-direction:column;gap:2px;font-size:15px}
.hentested-tekst strong{color:var(--marine)}
.hentested-tekst small{font-size:13px}
.hentested-km{flex:none;font-size:14px;color:var(--dempet);white-space:nowrap}
.hentested-valg .lenkeknapp{padding:8px 0;color:var(--bla);font:inherit;font-weight:600}
.ordrevare{display:flex;gap:12px;align-items:center}
.ordrevare img{flex:none;width:56px;height:56px;object-fit:contain;background:#fff;border:1px solid var(--linje);border-radius:var(--radius-liten)}
.neste-steg{list-style:none;counter-reset:steg;margin:0 0 24px;padding:0}
.neste-steg li{counter-increment:steg;position:relative;padding:0 0 14px 40px;color:var(--dempet);font-size:15px}
.neste-steg li::before{content:counter(steg);position:absolute;left:0;top:0;width:26px;height:26px;border-radius:50%;background:var(--isbla);color:var(--marine);font-weight:800;font-size:14px;display:grid;place-items:center}
.neste-steg strong{display:block;color:var(--marine);font-size:16px}
.kvittering-knapper{display:flex;flex-direction:column;gap:10px;margin:16px 0}

/* Innlogging (serpas-innlogging) */
.innlogging{display:grid;place-items:center;padding:56px 16px 80px;background:linear-gradient(180deg,var(--isbla-2),#fff 70%)}
.innlogging-kort{width:100%;max-width:440px;background:#fff;border-radius:16px;padding:36px 28px;box-shadow:var(--skygge)}
.innlogging-kort h1{font-size:30px}
.innlogging-kort p{color:var(--dempet);margin:0 0 20px}
.innlogging-kort label{display:block;font-size:14px;font-weight:700;color:var(--marine);margin-bottom:6px}
.innlogging-felt{width:100%;height:52px;padding:0 16px;border:1.5px solid var(--linje);border-radius:var(--radius-liten);font-size:17px}
.innlogging-felt:focus{outline:none;border-color:var(--bla)}
.innlogging-kort .btn{margin-top:20px}
.innlogging-captcha{margin-top:16px;min-height:78px}
.innlogging-feil{color:var(--feil) !important;font-size:15px;margin:12px 0 0 !important}
.innlogging-dev{background:#FFF7D6;border:1px solid #F0D97A;border-radius:var(--radius-liten);padding:10px 12px;color:var(--tekst) !important}
.innlogging-ny{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;font-size:15px;color:var(--dempet)}
.innlogging-ny .lenkeknapp{margin-left:auto;color:var(--bla)}
.innlogging-bytt,.innlogging-hjelp{margin:14px 0 0 !important;font-size:15px}
.soknad{margin-top:32px;margin-bottom:56px}
.soknad-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 32px;background:var(--isbla-2);border:1.5px solid var(--isbla);border-radius:var(--radius)}
.soknad-banner h2{font-size:26px;margin-bottom:6px}
.soknad-banner p{margin:0;max-width:60ch;color:var(--tekst)}
@media (max-width:760px){.soknad-banner{flex-direction:column;align-items:stretch;padding:24px 20px}}
/* Søk om tilgang (/registrer): innloggingskortet, bredere og med skjemafelt */
.innlogging-kort.registrering{max-width:640px}
.registrering-steg{margin:0 0 24px;padding:16px 18px 16px 40px;background:var(--lys);border-radius:var(--radius);display:grid;gap:6px;color:var(--tekst)}
.registrering-steg strong{color:var(--marine)}
.registrering-del{border:0;padding:0;margin:0 0 26px}
.registrering-del legend{font-size:19px;font-weight:700;color:var(--marine);padding:0;margin-bottom:12px}
.registrering label:not(.valg){margin-top:14px}
.registrering .felt-rad label{margin-top:0}
.registrering input:not([type=radio]):not([type=checkbox]){display:block;width:100%;height:50px;margin-top:6px;border:1.5px solid var(--linje);border-radius:var(--radius-liten);padding:0 14px;font-size:17px;font-weight:400;background:#fff}
.registrering input:focus{outline:none;border-color:var(--bla)}
.registrering label.ugyldig input,.registrering-valg.ugyldig .valg{border-color:var(--feil)}
.registrering label.ugyldig input{background:#FFF8F7}
.felt-hjelp{display:block;font-weight:400;font-size:14px;color:var(--dempet);margin-top:6px;line-height:1.4}
.valgfritt{font-weight:400;color:var(--dempet)}
.registrering-valg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.registrering-valg .valg{align-items:flex-start;margin:0}
.registrering-valg .valg input{margin-top:2px;flex:none}
.registrering-valg .valg-tekst strong{font-size:16px;color:var(--marine)}
.registrering-valg .valg-tekst small{font-size:14px;line-height:1.35;margin-top:2px}
.registrering-ok{width:52px;height:52px;border-radius:50%;background:#E4F4EA;color:var(--ok);display:grid;place-items:center;margin-bottom:16px}
@media (max-width:520px){.registrering-valg,.registrering .felt-rad{grid-template-columns:1fr}.registrering .felt-rad label+label{margin-top:14px}}
.kode-ruter{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:calc(6*54px + 5*10px);margin-inline:auto}
.kode-rute{width:100%;min-width:0;height:62px;text-align:center;font-family:ui-monospace,Menlo,monospace;font-size:26px;font-variant-numeric:tabular-nums;border:1.5px solid var(--linje);border-radius:var(--radius-liten);caret-color:var(--bla);transition:border-color .15s}
.kode-rute:focus{outline:none;border-color:var(--bla);box-shadow:0 0 0 3px rgba(213,43,30,.15)}
.kode-rute.fylt{border-color:var(--marine)}
.kode-ruter.feil .kode-rute{border-color:var(--feil);animation:kode-rist .4s}
@keyframes kode-rist{20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}

/* Min side */
.minside{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start;padding-bottom:64px}
.minside aside h2{font-size:19px}
.minside address{font-style:normal;margin-bottom:6px;line-height:1.55}
.adresse-valg{display:flex;align-items:center;gap:14px;margin-bottom:18px;font-size:15px}
.adresse-valg form{margin:0}
.adresse-valg button{background:none;border:0;padding:0;font:inherit;color:var(--feil);text-decoration:underline;cursor:pointer}
.adresse-ny{margin:0 0 20px;font-weight:700}
.minside-kontakt{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--linje)}
.minside-kontakt p{margin:0 0 6px}
.minside-varsler{margin-top:28px}
.minside-varsler h2{font-size:19px;margin:0 0 12px}
.minside-varsler ul{list-style:none;margin:0;padding:0}
.minside-varsler li{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-top:1px solid var(--linje)}
.minside-varsler button{background:none;border:0;padding:0;font:inherit;color:var(--feil);text-decoration:underline;cursor:pointer}
.lagervarsel{margin-top:16px;padding:14px 16px;background:var(--lys);border-radius:var(--radius)}
.lagervarsel p{margin:0 0 8px}
.lagervarsel-valg{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.lagervarsel-valg select{min-width:150px;max-width:100%}
.gjenkjop{margin-top:20px}
.adresseside{max-width:640px;padding-bottom:64px}
.adresseside form{display:grid;gap:14px}
.adresseside-knapper{display:flex;gap:12px;margin-top:6px}
.minside-pakker{grid-column:1/-1}
.minside-pakker h2{font-size:19px;margin:0 0 12px}
.minside-pakker p{display:inline-block;margin:0 10px 0 0}
.ordretabell{width:100%;border-collapse:collapse;font-size:16px}
.ordretabell th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--dempet);padding:8px 10px 8px 0;border-bottom:1px solid var(--linje)}
.ordretabell td{padding:12px 10px 12px 0;border-bottom:1px solid var(--linje);vertical-align:top}
.ordretabell tfoot td{border-bottom:0;padding:6px 10px 6px 0;color:var(--dempet)}
.ordretabell tfoot .total td{color:var(--marine);font-weight:800;font-size:18px;border-top:1px solid var(--linje);padding-top:12px}
.ordretabell .tall{text-align:right;white-space:nowrap}
.status{display:inline-block;font-size:13px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--lys);color:var(--dempet)}
.status--complete{background:#E4F4EA;color:var(--ok)}
.status--processing,.status--pending{background:var(--isbla);color:var(--marine)}
.status--canceled,.status--closed{background:#FDECEA;color:var(--feil)}

.melding{background:var(--isbla-2);border-left:4px solid var(--bla);padding:12px 16px;border-radius:0 var(--radius-liten) var(--radius-liten) 0;margin:8px 0 4px;max-width:760px}
.melding--feil{background:#FDECEA;border-color:var(--feil);color:var(--feil);font-weight:600}
.overtittel--mork{color:var(--bla)}
.ordretabell tfoot .rabatt td{color:var(--ok)}
.status--reservert,.status--bekreftet,.status--venter_betaling{background:var(--isbla);color:var(--marine)}
.status--sendt{background:#E4F4EA;color:var(--ok)}
.status--kansellert,.status--feilet{background:#FDECEA;color:var(--feil)}
.tom-side{padding:80px 24px;text-align:center}

/* Bunn */
.bunn{background:var(--marine);color:rgba(255,255,255,.8);margin-top:24px}
.foot{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:36px;padding-top:48px;padding-bottom:36px}
.bunn h2{color:#fff;font-size:15px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.bunn ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bunn a{color:#fff;text-decoration:none}
.bunn a:hover{text-decoration:underline}
.bunn p{margin:0 0 12px}
.bunn-logo{background:#fff;border-radius:var(--radius-liten);padding:8px 10px;width:180px;margin-bottom:14px}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;padding-bottom:22px;border-top:1px solid rgba(255,255,255,.12);font-size:14px}
.foot-bottom .lenkeknapp{color:rgba(255,255,255,.8)}

/* --- Bruddpunkter --- */
@media (max-width:1100px){
  .side-topp .brikker{display:none}
  .filter .filter-kategori{display:block}
  .toppstripe nav{display:none}
  .head-main .wrap{height:76px;gap:16px}
  .logo img{height:48px}
  nav.cats{display:none}
  .burger{display:grid}
  .konto-lenke span{display:none}
  .pakkerutenett{grid-template-columns:repeat(2,1fr)}
  .rutenett--4{grid-template-columns:repeat(2,1fr)}
  /* Filteret blir sidepanel */
  .liste-oppsett{grid-template-columns:1fr;gap:16px}
  .filter-knapp{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;font-weight:700;color:var(--marine);background:#fff;border:1.5px solid var(--marine);border-radius:999px;cursor:pointer}
  .filter-knapp:hover,.filter-knapp:focus-visible{background:var(--marine);color:#fff}
  .filter-antall{display:grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--bla);color:#fff;font-size:12px}
  .filterpanel-bak{display:block;position:fixed;inset:0;background:rgba(20,20,20,.5);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s .25s;z-index:90}
  .filterpanel-bak.apen{opacity:1;visibility:visible;transition:opacity .25s}
  .filter-innhold{position:fixed;top:0;left:0;bottom:0;width:min(400px,88vw);background:#fff;z-index:91;display:flex;flex-direction:column;transform:translateX(-100%);visibility:hidden;transition:transform .25s ease,visibility 0s .25s;box-shadow:8px 0 30px rgba(0,0,0,.18)}
  .filter-innhold.apen{transform:none;visibility:visible;transition:transform .25s ease}
  .filterpanel-topp{display:flex}
  .filterpanel-liste{flex:1;overflow-y:auto;padding:14px 24px 20px}
  .filter-innhold[aria-busy="true"] .filterpanel-liste{opacity:.5;pointer-events:none;transition:opacity .15s .1s}
  .filterpanel-bunn{display:block;border-top:1px solid var(--linje);padding:16px 24px 20px;background:var(--lys)}
  .produkt{gap:32px}
  .pakke,.kurvside,.kasse,.minside{grid-template-columns:minmax(0,1fr) 320px;gap:28px}
  .foot{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  body{font-size:16px}
  .wrap{padding-left:16px;padding-right:16px}
  .toppstripe{display:none}
  /* Søket får egen rad under logoen: forsiden har ikke noe annet synlig søk */
  .head-main .wrap{flex-wrap:wrap;height:auto;min-height:68px;gap:10px 16px;padding-top:10px;padding-bottom:10px}
  .head-main .search{order:3;flex:0 0 100%;max-width:none}
  .head-main .search input{height:44px}
  .logo img{height:42px}
  .hero-innhold{padding:200px 16px 40px}
  .hero-rad{flex-direction:column;align-items:stretch;gap:0}
  .hero-bilder{order:-1;padding:20px 0 0;gap:12px}
  .hero-bilder img{flex:1;width:0;height:auto;aspect-ratio:4/5;border-radius:12px}
  .hero-bilder img:first-child{margin-bottom:24px}
  .hero-bilder img:last-child{margin-top:24px}
  .hero--velkommen .hero-innhold{padding-top:20px}
  .hero h1{max-width:none}
  .hero .ingress{font-size:18px}
  .hero-knapper .btn{width:100%}
  .fordeler{grid-template-columns:1fr;gap:14px;padding-top:28px}
  .produkt,.pakke,.kurvside,.kasse,.minside{grid-template-columns:1fr}
  .pakke-sammendrag,.oppsummering{position:static}
  .pakke-del{grid-template-columns:72px minmax(0,1fr);gap:10px 14px}
  .pakke-bilde{width:72px;height:72px}
  .pakke-str{grid-column:1/-1}
  .rutenett{grid-template-columns:repeat(2,1fr);gap:22px 14px}
  .katrutenett{grid-template-columns:repeat(2,1fr);gap:12px}
  .felt-rad{grid-template-columns:1fr;gap:0}
  .felt-rad--post{grid-template-columns:110px 1fr;gap:12px}
  .kasse-mini:not([hidden]){display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:12px 16px;background:var(--lys);border-radius:var(--radius);color:var(--marine);text-decoration:none;font-size:15px}
  .kasse-mini strong{font-size:17px}
  .kasse-mini::after{content:"↓";color:var(--bla);font-weight:700}
  .boks{padding:18px}
  .foot{grid-template-columns:1fr;gap:22px;padding-top:32px;padding-bottom:24px}
  /* Kompakt på mobil: beskrivelsen sier ikke noe nytt */
  .foot-om p{display:none}
  .bunn-logo{width:140px;margin-bottom:0}
  .bunn h2{margin-bottom:10px}
  .foot-lenker{grid-template-columns:1fr 1fr;gap:8px 16px}
  .foot-bottom{font-size:13px}
  .ordretabell .skjul-smal{display:none}
}
@media (max-width:520px){
  .pakkerutenett{grid-template-columns:1fr;gap:12px}
  /* Pakkene som liggende kort på mobil: et stående kort per pakke fylte en hel skjerm */
  .pakkekort{flex-direction:row;align-items:stretch}
  .pakkekort-bilde{flex:0 0 112px;aspect-ratio:1}
  .pakkekort-tekst{flex:1;justify-content:center;border-top:0;border-left:4px solid var(--bla)}
  .tom-lenker .btn{flex:1 1 100%}
  .kjop-rad .btn{font-size:16px;padding:12px 16px}
  .hero-sok{gap:8px}
  .hero-sok input{height:50px;padding:0 18px;font-size:16px}
  .hero-sok .btn{padding-left:18px;padding-right:18px}
  .kupong-rad{flex-direction:column;align-items:stretch}
  .kode-ruter{gap:6px;max-width:calc(6*46px + 5*6px)}
  .kode-rute{height:56px;font-size:22px}
}
@media (prefers-reduced-motion:reduce){
  .mobilmeny,.menypanel-bak,.kurvpanel,.kurvpanel-bak,.filter-innhold,.filterpanel-bak,.kort-bilde img,.pakkekort{transition:none}
  .kode-ruter.feil .kode-rute{animation:none}
}

/* Kundeservice (CMS-siden «kundeservice»): kontaktboks, snarveier og spørsmål som kan åpnes */
.ks-kontakt{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;background:var(--isbla);border-radius:var(--radius);padding:20px 24px;margin:8px 0 20px}
.ks-kontakt p{margin:0}
.ks-kontakt .ks-kontakt-tittel{font-weight:700;font-size:19px;color:var(--marine);margin-bottom:4px}
.ks-snarveier{margin:0 0 8px}
.ks-snarveier a{white-space:nowrap}
.ks-del{scroll-margin-top:110px;margin-top:36px}
.ks-del h2{font-size:24px;margin:0 0 8px}
.cms details{border-bottom:1px solid var(--linje)}
.cms details summary{display:flex;justify-content:space-between;align-items:center;gap:16px;cursor:pointer;list-style:none;padding:14px 0;font-weight:600;color:var(--marine);font-size:17px}
.cms details summary::-webkit-details-marker{display:none}
.cms details summary::after{content:"+";flex:none;color:var(--bla);font-size:22px;font-weight:400;line-height:1}
.cms details[open] summary::after{content:"−"}
.cms details summary:hover{color:var(--bla)}
.cms details > div{padding:0 0 16px}
.cms details > div > :first-child{margin-top:0}
.cms details > div > :last-child{margin-bottom:0}
.cms details ol{padding-left:22px;margin:0 0 10px}
.cms details li{margin-bottom:6px}
.ks-tabell{display:table!important;width:100%;margin:0 0 10px}
.ks-tabell th,.ks-tabell td{border:0!important;border-bottom:1px solid var(--linje)!important;padding:10px 0!important;text-align:left;font-weight:400}
.ks-tabell td{text-align:right;font-weight:700;white-space:nowrap;padding-left:16px!important}
.ks-selger{margin-top:40px;color:var(--dempet);font-size:15px}
.ks-tabell--bryt td{white-space:normal}
.infopanel-kropp .ks-snarveier{display:none}
.ts-topp{display:flex;align-items:center;gap:28px;margin:0 0 8px}
.ts-topp img{flex:none;width:160px;height:auto}
.ts-topp .ingress{font-size:19px;margin:0}
.ts-liste{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ts-mer{margin:12px 0 0;color:var(--dempet)}
.ts-liste li{background:var(--lys);border-radius:var(--radius);padding:14px 16px 14px 40px;position:relative;font-weight:600;color:var(--marine)}
.ts-liste li::before{content:"✓";position:absolute;left:16px;color:var(--bla);font-weight:700}
@media (max-width:760px){.ts-liste{grid-template-columns:repeat(2,1fr)}}
@media (max-width:420px){.ts-liste{grid-template-columns:1fr}}
@media (max-width:760px){.ts-topp{flex-direction:column;align-items:flex-start;gap:16px}.ts-topp img{width:120px}.ts-topp .ingress{font-size:17px}}
@media (max-width:760px){
  .ks-kontakt{padding:18px}
  .ks-kontakt .btn{width:100%;text-align:center}
  .ks-snarveier{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-right:-16px}
  .ks-del{scroll-margin-top:80px}
}

/* Varsel om nytt produkt, øverst til høyre under toppen (ikke over kurv og Min side). Under panelene (z 90). På mobil nederst. */
.varsel{position:fixed;top:196px;right:16px;z-index:60;width:min(340px,calc(100vw - 24px));display:flex;align-items:flex-start;background:#fff;border:1px solid var(--linje);border-left:4px solid var(--bla);border-radius:var(--radius);box-shadow:0 8px 28px rgba(10,40,80,.2);animation:varsel-inn .3s ease}
.varsel-lenke{flex:1;min-width:0;display:flex;align-items:center;gap:12px;padding:12px 0 12px 12px;color:var(--tekst);text-decoration:none}
.varsel-lenke img{width:64px;height:64px;object-fit:contain;flex:none;border-radius:var(--radius-liten)}
.varsel-tekst{min-width:0;display:flex;flex-direction:column;font-size:15px;line-height:1.3}
.varsel-tekst strong{color:var(--marine);font-size:16px}
.varsel-lenke:hover strong{color:var(--bla)}
.varsel-lukk{flex:none;width:40px;height:40px;display:grid;place-items:center;background:none;border:0;color:var(--dempet);cursor:pointer}
.varsel-lukk:hover{color:var(--marine)}
@keyframes varsel-inn{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.varsel{animation:none}}
@media(max-width:520px){.varsel{top:auto;bottom:12px;right:12px}}
.admin-som{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 16px;padding:10px 16px;background:var(--feil);color:#fff;font-weight:700}
.admin-som form{margin:0}
.admin-som button{background:#fff;border:0;border-radius:var(--radius-liten);padding:6px 12px;font:inherit;color:var(--feil);cursor:pointer}
