/* ============================================================
   IWPS — site.css
   Jordnær palett, lite støy. Sort/hvit som logoen, med ett
   varmt aksent-tone (rust). Variabler i :root så det er enkelt
   å justere senere.
   ============================================================ */

:root{
  --iwps-bg:        #f7f5f1;
  --iwps-paper:     #ffffff;
  --iwps-ink:       #1a1a1a;
  --iwps-ink-soft:  #4a4a4a;
  --iwps-line:      #e2ddd4;
  --iwps-muted:     #8a8579;
  --iwps-accent:    #8a3b1d;       /* rust */
  --iwps-accent-d:  #6e2e16;
  --iwps-tag:       #ece6d8;
  --iwps-radius:    10px;
  --iwps-shadow:    0 1px 0 rgba(0,0,0,.04), 0 6px 20px rgba(0,0,0,.04);

  --iwps-font:      'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--iwps-bg);
  color:var(--iwps-ink);
  font-family:var(--iwps-font);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--iwps-accent);text-decoration:none}
a:hover{color:var(--iwps-accent-d);text-decoration:underline}

.iwps-container{max-width:1040px;margin:0 auto;padding:0 20px}

/* ───────────── HEADER ───────────── */
.iwps-header{
  background:var(--iwps-paper);
  border-bottom:1px solid var(--iwps-line);
  position:sticky;top:0;z-index:50;
}
.iwps-header__inner{
  display:flex;align-items:center;justify-content:space-between;
  min-height:64px;gap:16px;
}
.iwps-brand{
  display:flex;align-items:center;gap:10px;color:var(--iwps-ink);text-decoration:none;
}
.iwps-brand:hover{text-decoration:none}
.iwps-brand__logo{
  width:44px;height:44px;border-radius:50%;background:#fff;
  border:1px solid var(--iwps-line);object-fit:cover;
}
.iwps-brand__text{display:flex;flex-direction:column;line-height:1.05}
.iwps-brand__title{font-weight:800;letter-spacing:.04em}
.iwps-brand__sub{font-size:11px;color:var(--iwps-muted);letter-spacing:.18em;text-transform:uppercase}

.iwps-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.iwps-nav a{
  color:var(--iwps-ink);text-decoration:none;font-size:14.5px;
  padding:6px 2px;border-bottom:2px solid transparent;
}
.iwps-nav a:hover{color:var(--iwps-accent);text-decoration:none}
.iwps-nav a.is-active{border-bottom-color:var(--iwps-accent);color:var(--iwps-ink)}

.iwps-nav__cta{
  background:var(--iwps-ink);color:#fff !important;
  padding:8px 14px !important;border-radius:999px;border-bottom:none !important;
  font-weight:600;
}
.iwps-nav__cta:hover{background:var(--iwps-accent) !important;color:#fff !important}

.iwps-nav__toggle{
  display:none;background:none;border:0;padding:8px;cursor:pointer;
}
.iwps-nav__toggle span{
  display:block;width:22px;height:2px;background:var(--iwps-ink);margin:4px 0;
}

.iwps-langs{display:flex;gap:4px;align-items:center;margin-left:8px}
.iwps-langs__btn{
  font-size:18px;padding:2px 4px;border-radius:6px;
  filter:grayscale(.45) opacity(.7);transition:filter .12s;
  border-bottom:none !important;
}
.iwps-langs__btn:hover{filter:none;text-decoration:none}
.iwps-langs__btn.is-on{filter:none;background:var(--iwps-tag)}

@media (max-width:760px){
  .iwps-nav__toggle{display:block}
  .iwps-nav{
    position:absolute;top:64px;left:0;right:0;
    background:var(--iwps-paper);border-bottom:1px solid var(--iwps-line);
    flex-direction:column;align-items:stretch;gap:0;
    padding:12px 20px;display:none;
  }
  .iwps-nav.is-open{display:flex}
  .iwps-nav a{padding:10px 0;border-bottom:1px solid var(--iwps-line)}
  .iwps-nav__cta{margin:8px 0;text-align:center}
  .iwps-langs{margin:8px 0 0;justify-content:center}
}

/* ───────────── HERO ───────────── */
.iwps-hero{padding:64px 0 40px;text-align:center}
.iwps-hero__logo{
  width:140px;height:140px;border-radius:50%;background:#fff;
  border:1px solid var(--iwps-line);object-fit:cover;margin:0 auto 24px;
  box-shadow:var(--iwps-shadow);
}
.iwps-hero__title{
  font-size:30px;font-weight:800;letter-spacing:.02em;margin:0 0 6px;
}
.iwps-hero__sub{
  font-size:13px;text-transform:uppercase;letter-spacing:.24em;color:var(--iwps-muted);margin:0 0 16px;
}
.iwps-hero__lead{
  max-width:640px;margin:0 auto;color:var(--iwps-ink-soft);font-size:17px;
}

/* ───────────── BOXES ───────────── */
.iwps-boxes{
  display:grid;grid-template-columns:repeat(3,1fr);gap:18px;
  padding:32px 0 56px;
}
.iwps-box{
  background:var(--iwps-paper);border:1px solid var(--iwps-line);
  border-radius:var(--iwps-radius);padding:24px;color:var(--iwps-ink);
  text-decoration:none;display:flex;flex-direction:column;gap:8px;
  transition:transform .12s, box-shadow .12s, border-color .12s;
}
.iwps-box:hover{
  text-decoration:none;border-color:var(--iwps-ink);
  transform:translateY(-2px);box-shadow:var(--iwps-shadow);
}
.iwps-box__title{font-size:18px;font-weight:700;margin:0}
.iwps-box__desc{font-size:14px;color:var(--iwps-ink-soft);margin:0}
.iwps-box__icon{font-size:22px;margin-bottom:6px;opacity:.85}

@media (max-width:780px){
  .iwps-boxes{grid-template-columns:1fr}
}

/* ───────────── PAGES (om, kontakt etc) ───────────── */
.iwps-page{padding:48px 0 64px}
.iwps-page__title{font-size:28px;font-weight:800;margin:0 0 12px;letter-spacing:.01em}
.iwps-page__lead{color:var(--iwps-ink-soft);font-size:17px;margin:0 0 28px;max-width:680px}
.iwps-page__body{max-width:760px}
.iwps-page__body p{margin:0 0 14px}

/* ───────────── RULES ───────────── */
.iwps-rules{max-width:820px;margin:0 auto}
.iwps-rules h2{
  font-size:18px;font-weight:800;letter-spacing:.04em;
  text-transform:uppercase;color:var(--iwps-ink);
  border-bottom:2px solid var(--iwps-ink);padding-bottom:6px;
  margin:36px 0 12px;
}
.iwps-rules h3{font-size:15px;font-weight:700;margin:18px 0 6px;color:var(--iwps-ink)}
.iwps-rules ul{margin:0 0 12px;padding-left:18px}
.iwps-rules li{margin:4px 0;color:var(--iwps-ink-soft)}
.iwps-rules .note{
  font-style:italic;color:var(--iwps-muted);font-size:14px;margin-top:8px;
}
.iwps-rules .points{
  display:grid;grid-template-columns:1fr 1fr;gap:6px 24px;
  font-variant-numeric:tabular-nums;color:var(--iwps-ink-soft);
  background:var(--iwps-paper);border:1px solid var(--iwps-line);
  border-radius:var(--iwps-radius);padding:14px 18px;margin:8px 0 14px;
  font-size:14px;
}
.iwps-rules .points span{display:block}
@media (max-width:540px){.iwps-rules .points{grid-template-columns:1fr}}

.iwps-toc{
  background:var(--iwps-paper);border:1px solid var(--iwps-line);
  border-radius:var(--iwps-radius);padding:14px 22px;margin:0 0 32px;
}
.iwps-toc__title{
  font-size:13px;text-transform:uppercase;letter-spacing:.18em;
  color:var(--iwps-muted);margin:0 0 8px;
}
.iwps-toc ol{margin:0;padding-left:20px;column-count:2;column-gap:24px;font-size:14px}
.iwps-toc a{color:var(--iwps-ink)}
@media (max-width:540px){.iwps-toc ol{column-count:1}}

/* ───────────── RESULTS / EMPTY ───────────── */
.iwps-empty{
  background:var(--iwps-paper);border:1px dashed var(--iwps-line);
  border-radius:var(--iwps-radius);padding:32px 24px;text-align:center;
  color:var(--iwps-ink-soft);
}
.iwps-empty strong{display:block;color:var(--iwps-ink);margin-bottom:6px}

/* ───────────── LOGIN ───────────── */
.iwps-login{
  max-width:380px;margin:48px auto;background:var(--iwps-paper);
  border:1px solid var(--iwps-line);border-radius:var(--iwps-radius);
  padding:32px 28px;box-shadow:var(--iwps-shadow);
}
.iwps-login__title{font-size:22px;font-weight:800;margin:0 0 6px}
.iwps-login__lead{color:var(--iwps-ink-soft);font-size:14px;margin:0 0 20px}
.iwps-login label{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}
.iwps-login input{
  width:100%;padding:10px 12px;border:1px solid var(--iwps-line);
  border-radius:8px;font-size:15px;background:#fff;color:var(--iwps-ink);
  font-family:inherit;
}
.iwps-login input:focus{outline:none;border-color:var(--iwps-ink)}
.iwps-login button{
  width:100%;padding:11px 16px;background:var(--iwps-ink);color:#fff;
  border:0;border-radius:8px;font-size:15px;font-weight:700;cursor:pointer;
  margin-top:18px;
}
.iwps-login button:hover{background:var(--iwps-accent)}
.iwps-login__error{
  background:#fbe9e2;color:#8a3b1d;border-radius:8px;padding:8px 12px;
  font-size:14px;margin-bottom:8px;
}

/* ───────────── FOOTER ───────────── */
.iwps-footer{
  border-top:1px solid var(--iwps-line);background:var(--iwps-paper);
  margin-top:48px;padding:24px 0;font-size:13px;color:var(--iwps-muted);
}
.iwps-footer__inner{
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;
}
.iwps-footer__brand strong{color:var(--iwps-ink);margin-right:8px}
.iwps-footer__estd{font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.iwps-footer__links{display:flex;gap:18px}
.iwps-footer__links a{color:var(--iwps-ink-soft)}
.iwps-footer__powered a{color:var(--iwps-accent)}

/* ───────────── BACKROOM STUB ───────────── */
.iwps-backroom{
  max-width:680px;margin:64px auto;background:var(--iwps-paper);
  border:1px solid var(--iwps-line);border-radius:var(--iwps-radius);
  padding:40px 32px;text-align:center;box-shadow:var(--iwps-shadow);
}
.iwps-backroom__title{font-size:22px;font-weight:800;margin:0 0 10px}
.iwps-backroom__note{color:var(--iwps-ink-soft);margin:0 0 24px}
.iwps-btn{
  display:inline-block;background:var(--iwps-ink);color:#fff !important;
  padding:10px 20px;border-radius:999px;font-weight:600;text-decoration:none;
}
.iwps-btn:hover{background:var(--iwps-accent);text-decoration:none}
