/*
Theme Name: Advokatveiledning
Theme URI: https://advokatveiledning.no
Author: Austin Lyngmyr & Co Advokatfirma AS
Description: Frittstående tema for advokatveiledning.no – samleportalen. Innholdet følger med temaet (content/*.json). Ingen plugin-avhengigheter. Bygget på oppskriften fra biladvokat.no.
Version: 3.2.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 8.0
License: Proprietary
Text Domain: advokatveiledning
*/

:root{
  --navy:#273d85; --ink:#1B2A5C; --gold:#C8A24A; --gold-deep:#A9852F;
  --paper:#FFFFFF; --stone:#F4F5F3; --line:#DDE1E6; --muted:#5B6472; --warn:#B0432F; --ok:#1E4D2B;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
  --sans:"Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --measure:44rem; --wide:72rem; --radius:6px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0; font-family:var(--sans); font-size:1.0625rem; line-height:1.65; color:var(--ink); background:var(--paper)}
img,svg{max-width:100%; height:auto; display:block}
a{color:var(--navy); text-decoration-thickness:1px; text-underline-offset:.15em}
a:hover{color:var(--gold-deep)}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px}
.skip{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0}
.skip:focus{position:fixed; left:1rem; top:1rem; width:auto; height:auto; margin:0; clip-path:none; white-space:normal; background:var(--navy); color:#fff; padding:.5rem 1rem; z-index:100}

h1,h2,h3{font-family:var(--serif); font-weight:600; line-height:1.15; color:var(--ink); margin:0}
h1{font-size:clamp(2rem,4.5vw,3rem); letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3vw,1.9rem); margin-top:2.75rem; margin-bottom:.75rem}
h3{font-size:1.2rem; font-family:var(--sans); font-weight:600; margin-top:1.75rem; margin-bottom:.4rem}
p,ul,ol{margin:0 0 1.1rem}
ul,ol{padding-left:1.25rem}
li{margin-bottom:.35rem}
strong{font-weight:600}
hr{border:0; border-top:1px solid var(--line); margin:2.5rem 0}
.wrap{width:min(100% - 2.5rem, var(--wide)); margin-inline:auto}
.measure{width:min(100% - 2.5rem, var(--measure)); margin-inline:auto}

/* Header */
.site-header{border-bottom:1px solid var(--line); background:var(--paper); position:sticky; top:0; z-index:50}
.site-header__inner{display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:4.5rem}
.site-logo{display:flex; align-items:center; gap:.6rem; text-decoration:none; color:var(--ink); font-weight:600; letter-spacing:-.01em}
.site-logo img{height:44px; width:auto}
@media (max-width:480px){.site-logo img{height:36px}}
.site-logo span{font-size:1rem}
.site-logo span b{color:var(--gold-deep); font-weight:600}
.nav{display:flex; align-items:center; gap:1.5rem}
.nav ul{list-style:none; margin:0; padding:0; display:flex; gap:1.4rem; align-items:center}
.nav li{margin:0}
.nav a{text-decoration:none; font-size:.92rem; color:var(--ink)}
.nav>ul>li>a{padding:.4rem 0; display:inline-block; white-space:nowrap}
.nav a:hover{color:var(--navy); text-decoration:underline}
.nav .menu-item-has-children{position:relative}
.nav li ul{display:none; position:absolute; top:100%; left:-1rem; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:.6rem 0; min-width:17rem; box-shadow:0 12px 30px rgba(20,33,61,.08); flex-direction:column; gap:0; align-items:stretch}
.nav .menu-item-has-children:hover > ul,.nav .menu-item-has-children:focus-within > ul{display:flex}
.nav li ul a{display:block; padding:.45rem 1rem; white-space:normal}
.btn{display:inline-block; background:var(--navy); color:#fff; padding:.7rem 1.15rem; border-radius:var(--radius); text-decoration:none; font-weight:600; font-size:.95rem; border:0; cursor:pointer; font-family:inherit}
.btn:hover{background:#1e306b; color:#fff}
.btn--gold{background:var(--gold); color:var(--ink)}
.btn--gold:hover{background:var(--gold-deep); color:#fff}
.nav .btn,.nav a.btn{background:var(--gold); color:var(--ink); text-decoration:none; padding:.6rem 1.05rem}
.nav .btn:hover,.nav a.btn:hover{background:var(--gold-deep); color:#fff}
.nav-toggle{display:none; background:none; border:1px solid var(--line); border-radius:var(--radius); padding:.5rem .7rem; font:inherit; cursor:pointer}
@media (max-width:1100px){
  .nav-toggle{display:inline-block}
  .nav{position:absolute; left:0; right:0; top:100%; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; padding:1rem 1.25rem; display:none; max-height:calc(100vh - 4.5rem); overflow:auto}
  .nav.is-open{display:flex}
  .nav ul{flex-direction:column; gap:.2rem; align-items:stretch}
  .nav li ul{display:flex; position:static; border:0; box-shadow:none; padding:.2rem 0 .4rem 1rem; min-width:0}
  .nav li ul a{padding:.3rem 0}
  .nav .btn{align-self:flex-start; margin-top:.5rem}
}

/* Page head */
.page-head{padding:3rem 0 1.25rem}
.eyebrow{font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); margin-bottom:.8rem; font-weight:600}
.eyebrow a{color:var(--muted); text-decoration:none}
.eyebrow a:hover{color:var(--gold-deep); text-decoration:underline}
.page-head h1{margin-bottom:1rem}
.av-intro{font-family:var(--serif); font-size:1.3rem; line-height:1.45; color:var(--ink); margin-bottom:1.75rem}
.hero-image{margin:0 0 2rem}
.hero-image img{width:100%; aspect-ratio:16/7; object-fit:cover; border-radius:var(--radius); background:var(--stone)}
.hero-image figcaption{font-size:.85rem; color:var(--muted); margin-top:.5rem}

/* Kort svar – signaturelementet */
.av-kortsvar{border-left:4px solid var(--gold); background:var(--stone); padding:1.25rem 1.5rem; margin:0 0 2.25rem; border-radius:0 var(--radius) var(--radius) 0}
.av-kortsvar__label{font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-bottom:.4rem}
.av-kortsvar p{font-family:var(--serif); font-size:1.15rem; line-height:1.55}
.av-kortsvar p:last-child{margin-bottom:0}

/* Valg (forside og landingssider) */
.av-valg{display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:0 0 2rem}
.av-valg__kort{display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.3rem 1.5rem; border:1px solid var(--line); border-radius:var(--radius); text-decoration:none; font-family:var(--serif); font-size:1.2rem; color:var(--ink); background:var(--paper); transition:border-color .15s, transform .15s}
.av-valg__kort small{display:block; font-family:var(--sans); font-size:.9rem; color:var(--muted); margin-top:.2rem}
.av-valg__kort:hover{border-color:var(--navy); transform:translateY(-2px); color:var(--ink)}
.av-valg__pil{color:var(--gold-deep); font-size:1.5rem; flex:none}
@media (max-width:640px){.av-valg{grid-template-columns:1fr}}

/* Forside-hero */
.front-hero{background:var(--ink); color:#fff; padding:4.5rem 0 3.5rem; position:relative; overflow:hidden}
.front-hero::after{content:""; position:absolute; right:-10%; top:-30%; width:50%; aspect-ratio:1; border-radius:50%; background:radial-gradient(circle, rgba(200,162,74,.22), transparent 65%); pointer-events:none}
.front-hero .eyebrow{color:#F1D9A3}
.front-hero h1{color:#fff; font-size:clamp(2.3rem,5vw,3.6rem); max-width:18ch; margin-bottom:.9rem}
.front-hero .av-intro{color:#E6EBF2; max-width:40ch}
.front-hero__valg{max-width:62rem; position:relative}
.front-hero__valg .av-valg{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.front-hero__valg .av-valg__kort{background:rgba(255,255,255,.96); border-color:transparent}
.front-hero__valg .av-valg__kort:hover{background:#fff}
.front-hero__valg h2{color:#fff; font-size:1.1rem; font-family:var(--sans); font-weight:600; margin:0 0 .9rem}
@media (max-width:900px){.front-hero__valg .av-valg{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.front-hero__valg .av-valg{grid-template-columns:1fr}}
.front-hero__sok{margin-top:1.25rem; max-width:34rem}
.front-hero__sok .av-sok input[type=search]{border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.96)}

/* Tallstripe */
.tall{background:var(--navy); color:#fff}
.tall__grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; padding:1.5rem 0}
.tall__grid div{display:flex; flex-direction:column; gap:.15rem; padding-left:1rem; border-left:2px solid var(--gold)}
.tall__grid strong{font-family:var(--serif); font-size:1.9rem; font-weight:600; line-height:1; color:#fff}
.tall__grid span{font-size:.85rem; color:#C9D3E0; line-height:1.35}
@media (max-width:800px){.tall__grid{grid-template-columns:1fr 1fr}}
@media (max-width:460px){.tall__grid{grid-template-columns:1fr}}
.front-body{max-width:60rem; padding-top:1.5rem}
.front-senter{text-align:center}
.front-body h2.front-senter{margin-top:2.6rem}

/* Pillarer / undersider som kort */
.av-pillarer{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1rem; margin:1.5rem 0 2rem}
.av-pillarer a{display:block; border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem 1.4rem; text-decoration:none; color:var(--ink); background:var(--paper)}
.av-pillarer a:hover{border-color:var(--navy)}
.av-pillarer h3{margin:0 0 .35rem; font-family:var(--serif); font-size:1.15rem}
.av-pillarer p{margin:0; color:var(--muted); font-size:.93rem}
.av-paragrafer{columns:2; column-gap:2rem; list-style:none; padding:0; margin:1rem 0 2rem}
.av-paragrafer li{break-inside:avoid; margin-bottom:.4rem; border-bottom:1px solid var(--line); padding-bottom:.4rem}
.av-paragrafer a{text-decoration:none}
.av-paragrafer a:hover{text-decoration:underline}
@media (max-width:600px){.av-paragrafer{columns:1}}

/* Tabell */
.entry table{border-collapse:collapse; width:100%; font-size:.95rem; margin:1rem 0 1.5rem; display:block; overflow-x:auto}
.entry th,.entry td{text-align:left; padding:.6rem .75rem; border-bottom:1px solid var(--line); vertical-align:top}
.entry th{font-weight:600; background:var(--stone)}

/* FAQ */
details.av-faq{border:1px solid var(--line); border-radius:var(--radius); background:var(--paper); margin:0 0 .65rem; padding:0}
details.av-faq summary{cursor:pointer; list-style:none; padding:.9rem 2.6rem .9rem 1.1rem; font-weight:600; position:relative; color:var(--ink)}
details.av-faq summary::-webkit-details-marker{display:none}
details.av-faq summary::after{content:"+"; position:absolute; right:1.1rem; top:50%; transform:translateY(-50%); color:var(--gold-deep); font-size:1.25rem; line-height:1}
details.av-faq[open] summary::after{content:"–"}
details.av-faq[open] summary{border-bottom:1px solid var(--line)}
details.av-faq > p{padding:.9rem 1.1rem; margin:0}
details.av-faq:hover{border-color:var(--navy)}

/* Kilder, forbehold, gjennomgått */
.av-kilder{margin:3rem 0 0; padding-top:1rem; border-top:1px solid var(--line); font-size:.85rem; color:var(--muted)}
.av-kilder__label{font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; margin-bottom:.3rem}
.av-forbehold{margin:2rem 0 0; padding:1rem 1.2rem; background:var(--stone); border-left:3px solid var(--gold); border-radius:0 var(--radius) var(--radius) 0; font-size:.9rem; color:var(--muted)}
.av-forbehold p{margin:0}
.av-reviewed{color:var(--muted); font-size:.85rem; margin:2rem 0 0}

/* Forfatter */
.av-forfatter{display:flex; gap:1rem; align-items:center; margin:2rem 0 0; padding-top:1.25rem; border-top:1px solid var(--line); font-size:.92rem; color:var(--muted)}
.av-forfatter img{width:56px; height:56px; border-radius:50%; object-fit:cover}
.av-forfatter p{margin:0}
.av-forfatter a{color:var(--ink); font-weight:600; text-decoration:none}
.av-forfatter a:hover{text-decoration:underline}

/* Relatert */
.av-relatert{margin-top:3rem; padding-top:1.5rem; border-top:1px solid var(--line)}
.av-relatert h2{font-size:1.1rem; font-family:var(--sans); margin-top:0}
.av-relatert ul{list-style:none; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.4rem 1.5rem}
@media (max-width:600px){.av-relatert ul{grid-template-columns:1fr}}

/* Kontaktkort + skjema */
.av-kontaktkort{background:var(--navy); color:#fff; border-radius:var(--radius); padding:2rem; margin:3rem 0 0}
.av-kontaktkort h2{color:#fff; margin-top:0}
.av-kontaktkort p{color:#DCE6F0}
.av-kontaktkort a{color:#fff}
.av-kontaktkort a.btn{color:var(--ink)}
.av-kontaktkort a.btn:hover{color:#fff}
.av-kontaktkort__advokat{display:flex; gap:1rem; align-items:center; margin:1.25rem 0; padding-top:1.25rem; border-top:1px solid rgba(255,255,255,.18)}
.av-kontaktkort__advokat img{width:64px; height:64px; border-radius:50%; object-fit:cover}
.av-kontaktkort__advokat p{margin:0; color:#fff}
.av-kontaktkort__advokat span{display:block; color:#C9D3E0; font-size:.9rem}
.av-skjema{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:1.4rem 1.5rem; margin:1.4rem 0; color:var(--ink)}
.av-skjema label{font-weight:600}
.av-skjema input, .av-skjema textarea{width:100%; font:inherit; font-size:16px; padding:.6rem .7rem; border:1px solid var(--line); border-radius:8px; background:#fff; margin-top:.25rem}
.av-skjema input:focus, .av-skjema textarea:focus{outline:2px solid var(--gold); outline-offset:1px}
.av-skjema__to{display:grid; grid-template-columns:1fr 1fr; gap:0 1rem}
@media (max-width:600px){.av-skjema__to{grid-template-columns:1fr}.av-skjema .btn{width:100%; text-align:center}}
.av-skjema__hp{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%)}
.av-skjema__note{font-size:.85rem; color:var(--muted); margin:0}
.av-skjema__ok{background:#e8f3e8; border:1px solid #bcd9bc; padding:.8rem 1rem; border-radius:8px; color:var(--ok)}
.av-skjema__feil{background:#fbeaea; border:1px solid #e3b8b8; padding:.8rem 1rem; border-radius:8px; color:var(--warn)}
.av-kontaktkort .av-skjema{margin-bottom:0}
.av-rettshjelp{border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem 1.5rem; margin:2rem 0; background:var(--stone)}
.av-rettshjelp h2{margin-top:0; font-size:1.2rem; font-family:var(--sans)}
.av-rettshjelp p:last-child{margin:0}

/* Advokater */
.av-team{display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:1.5rem 1.25rem; margin:1.5rem 0 2.5rem}
.av-team a,.av-team .av-team__kort{display:block; text-decoration:none; color:var(--ink); text-align:center}
@media (max-width:480px){.av-team{grid-template-columns:1fr 1fr; gap:1.25rem .75rem}}
.av-team a:hover h3{color:var(--gold-deep)}
.av-team__bilde{aspect-ratio:1/1; background:var(--stone); border-radius:var(--radius); overflow:hidden; margin-bottom:.75rem; display:grid; place-items:center; color:var(--muted); font-family:var(--serif); font-size:2.5rem}
.av-team__bilde img{width:100%; height:100%; object-fit:cover}
.av-team h3{margin:0 0 .15rem; font-family:var(--serif); font-size:1.15rem}
.av-team p{margin:0; color:var(--muted); font-size:.92rem}
.av-team__rolle{display:flex; align-items:flex-end; justify-content:center; min-height:2.3em; font-size:.74rem; line-height:1.25; letter-spacing:.05em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; margin-bottom:.35rem}
.av-advokat{display:grid; grid-template-columns:220px 1fr; gap:2rem; align-items:start; margin:1rem 0 2.5rem}
.av-advokat .av-team__bilde{margin:0}
.av-advokat p{margin:0 0 .5rem}
@media (max-width:600px){.av-advokat{grid-template-columns:1fr}.av-advokat .av-team__bilde{max-width:260px}}
.av-epostknapp{margin:.4rem 0 1.4rem; display:flex; gap:.6rem; flex-wrap:wrap}

/* Saksboks (avgjørelser og sakshistorier) */
.av-fakta{background:var(--stone); border-left:4px solid var(--gold); border-radius:0 var(--radius) var(--radius) 0; padding:1.25rem 1.5rem; margin:1.5rem 0 2rem; font-size:.97rem}
.av-fakta dl{display:grid; grid-template-columns:max-content 1fr; gap:.35rem 1.25rem; margin:0}
.av-fakta dt{font-weight:600; color:var(--muted)}
.av-fakta dd{margin:0}
.utfall{display:inline-block; font-size:.78rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:.2rem .55rem; border-radius:3px; background:var(--stone); color:var(--ink)}
.utfall--medhold{background:#E3EFE5; color:var(--ok)}
.utfall--delvis{background:#FBF0D5; color:#7A5A12}
.utfall--ikke{background:#F8E9E6; color:var(--warn)}

/* Bibliotek (avgjørelser) */
.av-filtre{display:flex; flex-wrap:wrap; gap:.75rem 1rem; align-items:end; margin:1.5rem 0 2rem; padding:1rem 1.25rem; background:var(--stone); border-radius:var(--radius)}
.av-filtre label{font-size:.85rem; font-weight:600; display:flex; flex-direction:column; gap:.25rem}
.av-filtre select{font:inherit; font-size:.95rem; padding:.5rem .6rem; border:1px solid var(--line); border-radius:var(--radius); background:#fff; min-width:11rem}
.av-filtre__nullstill{font-size:.9rem; align-self:center}
.av-stat{color:var(--muted)}
.av-stat strong{color:var(--ink)}
.av-saker{display:grid; gap:1rem; margin:1rem 0 2rem}
.av-saker a{display:block; border:1px solid var(--line); border-radius:var(--radius); padding:1.25rem 1.5rem; text-decoration:none; color:var(--ink)}
.av-saker a:hover{border-color:var(--navy)}
.av-saker h3{margin:0 0 .3rem; font-family:var(--serif); font-size:1.2rem}
.av-saker p{margin:0; color:var(--muted); font-size:.95rem}
.av-saker__meta{font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--gold-deep); font-weight:600; margin-bottom:.4rem; display:flex; gap:.6rem; flex-wrap:wrap; align-items:center}
.av-saker__meta .utfall{text-transform:none; letter-spacing:0}

/* Søk */
.av-sok{display:flex; gap:.5rem; position:relative; max-width:34rem}
.av-sok input[type=search]{flex:1; padding:.7rem 1rem; border:1px solid var(--line); border-radius:var(--radius); font:inherit; min-width:0}
.av-sok__forslag{position:absolute; top:calc(100% + 4px); left:0; right:0; margin:0; padding:.3rem 0; list-style:none; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 8px 24px rgba(20,33,61,.14); z-index:30}
.av-sok__forslag li{margin:0}
.av-sok__forslag li a{display:block; padding:.55rem 1rem; text-decoration:none; color:var(--ink)}
.av-sok__forslag li a:hover{background:var(--stone)}
.av-sok__treff{margin-bottom:1.1rem}

/* Footer */
.site-footer{margin-top:5rem; border-top:1px solid var(--line); background:var(--stone); padding:3rem 0 2rem; font-size:.92rem; color:var(--muted)}
.site-footer__grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:2rem}
.site-footer h4{margin:0 0 .6rem; font-size:.8rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink)}
.site-footer ul{list-style:none; padding:0; margin:0}
.site-footer li{margin-bottom:.35rem}
.site-footer a{color:var(--ink); text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer__note{margin-top:2rem; padding-top:1.25rem; border-top:1px solid var(--line); font-size:.85rem}
@media (max-width:800px){.site-footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:500px){.site-footer__grid{grid-template-columns:1fr}}

/* Mobil-CTA */
.mobile-cta{display:none}
@media (max-width:1000px){
  .mobile-cta{display:block; position:fixed; bottom:0; left:0; right:0; background:var(--paper); border-top:1px solid var(--line); padding:.6rem 1rem; z-index:40}
  .mobile-cta .btn{display:block; text-align:center}
  body{padding-bottom:4rem}
}

/* Popup */
.av-popup--hjorne{position:fixed; right:1.1rem; bottom:1.1rem; z-index:90; max-width:min(23rem, calc(100vw - 2.2rem))}
.av-popup--modal{position:fixed; inset:0; z-index:90; display:flex; align-items:center; justify-content:center; padding:1.2rem}
.av-popup__bak{position:absolute; inset:0; background:rgba(20,33,61,.55)}
.av-popup__kort{position:relative; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); box-shadow:0 14px 40px rgba(20,33,61,.28); padding:1.2rem 3.6rem 1.2rem 1.3rem; max-width:26rem}
.av-popup__tittel{font-family:var(--serif); font-weight:700; font-size:1.15rem; margin:0 1.4rem .4rem 0; color:var(--ink)}
.av-popup__tekst{margin:0 0 .9rem; font-size:.95rem}
.av-popup__kort p:last-child{margin:0}
.av-popup__lukk{position:absolute; top:.6rem; right:.6rem; width:44px; height:44px; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:50%; background:var(--stone); font-size:22px; line-height:1; cursor:pointer; color:var(--ink); padding:0}
.av-popup__lukk:hover{background:var(--ink); border-color:var(--ink); color:#fff}
.av-popup__neitakk{display:block; margin-top:.7rem; background:none; border:0; padding:.35rem 0; cursor:pointer; font:inherit; font-size:.85rem; color:var(--muted); text-decoration:underline}
.av-popup--inn .av-popup__kort{animation:avPopupInn .25s ease-out}
@keyframes avPopupInn{from{opacity:0; transform:translateY(10px)}to{opacity:1; transform:none}}
@media (prefers-reduced-motion: reduce){.av-popup--inn .av-popup__kort{animation:none}}
@media (max-width:1000px){.av-popup--hjorne{bottom:4.6rem}}

/* Diverse */
.entry h2[id],.entry h3[id]{scroll-margin-top:5rem}
.entry a:empty{display:none}
.tom{padding:2rem; background:var(--stone); border-radius:var(--radius)}
.av-notis{padding:1rem 1.25rem; border-radius:var(--radius); margin:0 0 1.5rem; background:var(--stone); font-size:.95rem}

/* Omtaler */
.av-omtaler{display:flex; flex-wrap:wrap; gap:.6rem 2rem; align-items:center; font-size:.9rem}
.av-omtaler__stjerne{color:var(--gold); margin-right:.3rem}
.tall .av-omtaler{padding:1rem 0 1.3rem; color:#fff; font-size:1.05rem; border-top:1px solid rgba(255,255,255,.18); justify-content:center}
.tall .av-omtaler a,.av-kontaktkort .av-omtaler a{color:#fff; font-weight:700; text-decoration:none; border-bottom:2px solid var(--gold)}
.tall .av-omtaler a:hover{color:var(--gold)}
.site-footer .av-omtaler{margin-top:.6rem; display:block}
.site-footer .av-omtaler span{display:block; margin-bottom:.3rem}
.av-kontaktkort .av-skjema p,.av-kontaktkort .av-skjema label{color:var(--ink)}
.av-kontaktkort .av-skjema .av-skjema__note{color:var(--muted)}
.av-kontaktkort .av-skjema a{color:var(--navy)}
.front-hero__valg{max-width:none}

/* Forside: bilde i hero */
.front-hero__grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; margin-bottom:2.5rem}
.front-hero .av-intro{margin-bottom:0}
.front-hero__bilde img{width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:var(--radius); box-shadow:0 20px 50px rgba(0,0,0,.35)}
@media (max-width:900px){.front-hero__grid{grid-template-columns:1fr}.front-hero__bilde{display:none}}

.av-kontaktkort__hvem{font-size:.95rem; color:#DCE6F0; margin:1rem 0 0; padding-top:1rem; border-top:1px solid rgba(255,255,255,.18)}

/* Lovboks */
.av-lover{margin:2rem 0 0; padding:1rem 1.25rem; border:1px solid var(--line); border-radius:var(--radius); font-size:.92rem}
.av-lover__label{font-weight:600; text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; color:var(--muted); margin:0 0 .4rem}
.av-lover ul{margin:0; padding-left:1.1rem}
.av-lover li{margin-bottom:.2rem}
details.av-faq[open] summary::after{content:"–"}

/* Hero med bakgrunnsbilde */
.front-hero--bilde{background:var(--ink) var(--hero-bilde) right 45%/cover no-repeat}
.front-hero--bilde::before{content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(27,42,92,.88) 0%, rgba(27,42,92,.62) 45%, rgba(27,42,92,.12) 80%, rgba(27,42,92,.05) 100%); pointer-events:none}
.front-hero--bilde::after{display:none}
.front-hero--bilde .wrap{position:relative}
.front-hero--bilde{padding:6rem 0 5.5rem; min-height:34rem; display:flex; align-items:center}
.front-hero--bilde .wrap{width:min(100% - 2.5rem, var(--wide))}
.front-hero--bilde .front-hero__grid{grid-template-columns:1fr; margin-bottom:0}
.front-hero__pil{margin:1.5rem 0 0}
.front-hero__pil a{color:#fff; text-decoration:none; border-bottom:2px solid var(--gold); padding-bottom:.15rem}
.front-hero__pil a:hover{color:var(--gold)}
.front-valg{background:var(--navy); color:#fff; padding:2.5rem 0 2.5rem}
.front-valg .front-hero__valg h2{color:#fff; font-size:1.1rem; font-family:var(--sans); font-weight:600; margin:0 0 .9rem}
.front-valg .av-valg{grid-template-columns:repeat(auto-fit,minmax(270px,1fr))}
.front-valg .av-valg__kort{background:rgba(255,255,255,.96); border-color:transparent}
.front-valg .front-hero__sok{margin-top:1.25rem; max-width:34rem}
.front-valg .av-sok input[type=search]{border-color:rgba(255,255,255,.35); background:rgba(255,255,255,.96)}
@media (max-width:900px){.front-hero--bilde{min-height:26rem; padding:4rem 0}}
.front-hero--bilde h1{max-width:16ch; text-shadow:0 2px 12px rgba(0,0,0,.25)}
.front-hero--bilde .av-intro,.front-hero--bilde .eyebrow,.front-hero--bilde .front-hero__valg h2{text-shadow:0 1px 8px rgba(0,0,0,.3)}
.front-hero--bilde .av-valg__kort{background:rgba(255,255,255,.94)}
@media (max-width:900px){.front-hero--bilde::before{background:linear-gradient(180deg, rgba(27,42,92,.92) 0%, rgba(27,42,92,.78) 100%)}}

/* Samtykkebanner (vises bare når Tag Manager-ID er satt) */
.av-samtykke{position:fixed; left:16px; right:16px; bottom:16px; z-index:60; max-width:560px; margin-inline:auto; background:#fff; color:var(--ink); border:1px solid #d8dbe6; border-radius:8px; box-shadow:0 8px 30px rgba(27,42,92,.18); padding:16px 18px; font-size:.95rem}
.av-samtykke p{margin:0 0 10px}
.av-samtykke__knapper{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:0 !important}
.av-samtykke .btn--lys{background:#eef0f6; color:var(--ink)}
.av-samtykke .btn--lys:hover{background:#dfe3ef}
@media (max-width:760px){.av-samtykke{bottom:72px}}

/* Varsel under toppmenyen (relansering o.l.) */
.av-varsel{background:#fff7e3; color:var(--ink); border-bottom:1px solid #ead9a6; font-size:.92rem}
.av-varsel p{max-width:var(--wrap, 1180px); margin:0 auto; padding:.55rem 3rem .55rem 16px; line-height:1.45; position:relative}
.av-varsel{position:relative}
.av-varsel__lukk{position:absolute; right:12px; top:50%; transform:translateY(-50%); background:none; border:0; font-size:1.5rem; line-height:1; color:var(--ink); cursor:pointer; padding:.2rem .5rem}
.av-varsel__lukk:hover{color:var(--gold-deep)}
