/* Felles grunnmur – Innlandet Miljøpark
 * Uttrykk: «anlegg og skilt». Barlow (tegnet etter vegskilt) – Condensed for overskrifter
 * og skilt, vanlig Barlow for tekst. Egne fonter (ikke Google), så alle enheter ser likt ut. */

@font-face{font-family:"Barlow Condensed";font-weight:700;font-style:normal;font-display:swap;src:url(fonts/barlow-condensed-700.woff2) format("woff2")}
@font-face{font-family:"Barlow Condensed";font-weight:800;font-style:normal;font-display:swap;src:url(fonts/barlow-condensed-800.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:400;font-style:normal;font-display:swap;src:url(fonts/barlow-400.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:500;font-style:normal;font-display:swap;src:url(fonts/barlow-500.woff2) format("woff2")}
@font-face{font-family:"Barlow";font-weight:600;font-style:normal;font-display:swap;src:url(fonts/barlow-600.woff2) format("woff2")}

:root{
  --green:#2f6b46; --green-d:#1f4a31; --green-l:#8fc79d; --mint:#eef5f0;
  --ink:#121311; --asfalt:#17191a; --asfalt-2:#222524;
  --text:#262724; --muted:#5c5d57; --muted-mork:#b4b3ab;
  --line:#e2dfd6; --bg:#ffffff; --soft:#f3f1eb;
  --warn:#b8602c; --warn-bg:#fbefe6;
  --font-h:"Barlow Condensed","Arial Narrow",sans-serif;
  --font-b:"Barlow",system-ui,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font-b);font-size:17px;color:var(--text);background:var(--bg);line-height:1.55;-webkit-font-smoothing:antialiased;caret-color:var(--green);accent-color:var(--green)}
h1,h2,h3,h4{font-family:var(--font-h);font-weight:700;color:var(--ink);line-height:1.02;letter-spacing:-.005em;margin:0 0 .4em;text-wrap:balance}
p{text-wrap:pretty}
a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}
img{max-width:100%;display:block}
::selection{background:var(--green);color:#fff}
:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:4px}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fill{background:#fff2c2;color:#5e4800;padding:1px 6px;border-radius:3px;font-size:.85em;white-space:nowrap}
.ikon{width:1.15em;height:1.15em;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* knapper – kantete som skilt, store treffflater */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;background:var(--green);color:#fff;text-decoration:none;padding:12px 22px;border-radius:6px;
  font-family:var(--font-h);font-weight:700;font-size:1.15rem;letter-spacing:.02em;text-transform:uppercase;border:0;cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}
.btn:hover{background:var(--green-d)}
.btn:active{transform:translateY(1px)}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.btn.line:hover{background:var(--ink);color:#fff}
.btn.white{background:#fff;color:var(--ink)}
.btn.white:hover{background:var(--mint)}
.btn[disabled]{opacity:.6;cursor:wait}

/* header */
.site-head{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:40}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.site-head .logo{display:block;flex:0 0 auto}
.site-head .logo img{height:42px;width:auto}
.nav{display:flex;gap:26px;list-style:none;margin:0;padding:0;font-family:var(--font-h);font-weight:700;font-size:1.1rem;letter-spacing:.02em;text-transform:uppercase}
.nav a{text-decoration:none;color:var(--text);padding:6px 0;white-space:nowrap}
.nav a:hover{color:var(--green)}
.head-cta{display:flex;align-items:center;gap:10px}
.tel{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-family:var(--font-h);font-weight:700;font-size:1.15rem;white-space:nowrap;color:var(--ink);min-height:48px;padding:0 6px}
.tel:hover{color:var(--green)}
@media(max-width:1100px){.nav{display:none}}
@media(max-width:640px){
  .site-head .wrap{min-height:60px}
  .site-head .logo img{height:34px}
  .head-cta .btn{display:none}
  .tel .num{display:none}
  .tel{width:48px;justify-content:center;border-radius:6px;box-shadow:inset 0 0 0 2px var(--line)}
}

/* mobil bunnlinje: handlingene der tommelen er */
.bunnlinje{display:none}
@media(max-width:640px){
  .bunnlinje{display:grid;grid-template-columns:1fr auto;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:saturate(1.4) blur(8px)}
  .bunnlinje .btn{width:100%}
  .bunnlinje .btn.line{padding:12px 16px}
  body.har-bunnlinje{padding-bottom:76px}
}

/* spørsmål og svar */
details{border-bottom:1px solid var(--line);padding:18px 0}
details summary{cursor:pointer;font-weight:600;color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:16px;font-size:1.05rem}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"";width:12px;height:12px;flex:0 0 auto;margin-top:6px;border-right:2.5px solid var(--green);border-bottom:2.5px solid var(--green);transform:rotate(45deg);transition:transform .25s var(--ease)}
details[open] summary::after{transform:rotate(-135deg);margin-top:10px}
details p{margin:10px 0 0;color:var(--muted);max-width:62ch}

/* footer */
.site-foot{background:var(--asfalt);color:var(--muted-mork);padding:64px 0 32px;font-size:.95rem}
.site-foot .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.site-foot .fh{font-family:var(--font-h);font-weight:700;font-size:1.1rem;letter-spacing:.04em;text-transform:uppercase;color:#fff;margin:0 0 10px}
.site-foot a{color:#fff;text-decoration:none}
.site-foot a:hover{text-decoration:underline}
.site-foot img{height:40px;margin-bottom:16px}
.site-foot .merk{display:block;color:var(--muted-mork);font-size:.85rem}
.site-foot .bottom{border-top:1px solid #2c2f2e;margin-top:44px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85rem}
@media(max-width:820px){.site-foot .cols{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.site-foot .cols{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
