/* =========================================================
   Kitchamore – forside
   Premium: sort stål, varmt gull, store bilder og store ord
   ========================================================= */

:root {
  --ink: #0e0e0d;
  --charcoal: #171716;
  --graphite: #242422;
  --stone: #f3eee6;
  --stone-2: #e9e2d6;
  --paper: #faf7f2;
  --gold: #c8a46c;
  --gold-light: #e2c79a;
  --ap-grey: #f6f1e9;  /* lys beige bak produktene og i kortene */
  --gold-light-hover: #d6b783;  /* gullknappene ved hover */
  --gold-text: #8a6a36; /* gull med nok kontrast på lys bakgrunn */
  --logo-gold: #b8904f; /* gullet i de kursive ordene i titlene: litt mørkere enn logoikonet (#cca05a), lysere enn --gold-text */
  --text: #1c1b19;
  --text-soft: #5f5a52;
  --on-dark: #f3eee6;
  --on-dark-soft: rgba(243, 238, 230, .7);
  --line: rgba(28, 27, 25, .14);
  --line-dark: rgba(243, 238, 230, .16);

  --serif: "Figtree", "Helvetica Neue", Arial, sans-serif;          /* overskrifter */
  --accent: "Instrument Serif", Georgia, "Times New Roman", serif;   /* kursive ord */
  --logo: "Cormorant Garamond", "Times New Roman", serif;           /* logoen */
  --sans: "Jost", "Helvetica Neue", Arial, sans-serif;

  --gutter: clamp(20px, 5vw, 72px);
  --max: 1360px;
  --wrap: calc(var(--max) + 2 * var(--gutter)); /* ytre bredde: innhold er alltid --max bredt, med --gutter på hver side */
  --section: clamp(68px, 8.5vw, 127.5px);
  --ease: cubic-bezier(.2, .7, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; scroll-padding-top: 90px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  font-family: var(--sans);
  font-size: clamp(15px, .95vw, 17px);
  line-height: 1.7;
  color: var(--text);
  background: var(--paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body.menu-open { overflow: hidden; }

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 400; }
p { margin: 0; }
strong { font-weight: 500; }

.skip {
  position: absolute; left: 12px; top: -60px; z-index: 100;
  padding: 10px 16px; background: var(--gold); color: var(--ink); text-decoration: none;
}
.skip:focus { top: 12px; }
.sr-only {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap;
}
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

/* ---------- Typografi ---------- */
.eyebrow {
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .32em;
  text-transform: uppercase;
  color: var(--gold-text);
  margin-bottom: 28px;
}
.hero .eyebrow, .models .eyebrow, .waitlist .eyebrow, .fullbleed .eyebrow { color: var(--gold); }
.display {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(31.68px, 4.05vw, 65.12px);
  line-height: 1.02;
  letter-spacing: -.01em;
}
.display em, .hero-title em, .manifest-text .muted, .people-title em { font-style: italic; }
.display em { color: var(--logo-gold); }
.display-xl { font-size: clamp(36.96px, 5.46vw, 88px); }

/* ---------- Knapper og lenker ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 10px;
  padding: 15px 28px;
  min-height: 48px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  transition: background .4s var(--ease), color .4s var(--ease), border-color .4s var(--ease);
}
.btn-small { padding: 11px 22px; min-height: 0; font-size: 11px; }
.btn-block { width: 100%; }
.btn-gold { background: var(--gold); color: var(--ink); }
.btn-gold:hover { background: var(--gold-light); }
.btn-ghost { border-color: rgba(243, 238, 230, .5); color: var(--on-dark); }
.btn-ghost:hover { background: var(--on-dark); color: var(--ink); }

.link-arrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 13px; font-weight: 500;
  letter-spacing: .16em; text-transform: uppercase;
  text-decoration: none;
  padding-bottom: 6px;
  border-bottom: 1px solid currentColor;
  transition: gap .4s var(--ease), color .3s;
}
.link-arrow::after { content: "→"; font-family: var(--sans); letter-spacing: 0; }
.link-arrow:hover { gap: 20px; color: var(--gold-text); }
.link-light { color: var(--on-dark); }
.link-light:hover { color: var(--gold-light); }

/* ---------- Logo ---------- */
.logo {
  display: inline-flex; align-items: center; gap: 14px;
  text-decoration: none; color: var(--on-dark);
  flex: none;
}
.logo-mark {
  display: grid; place-items: center;
  width: 34px; height: 34px;
  border: 1px solid var(--gold);
  font-family: var(--serif);
  font-size: 17px;
  letter-spacing: -.04em;
  color: var(--gold);
}
.logo-word {
  font-family: var(--serif);
  font-size: 18px;
  font-weight: 500;
  letter-spacing: .34em;
  text-transform: uppercase;
}

/* ---------- Header ---------- */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 50;
  color: var(--on-dark);
  transition: background .5s var(--ease), border-color .5s;
  border-bottom: 1px solid transparent;
}
.site-header.is-solid, .site-header.mega-open {
  background: rgba(14, 14, 13, .94);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border-bottom-color: var(--line-dark);
}
.header-inner {
  max-width: var(--wrap); margin: 0 auto;
  padding: 20px var(--gutter);
  display: flex; align-items: center; gap: 36px;
  transition: padding .5s var(--ease);
}
.is-solid .header-inner, .mega-open .header-inner { padding-top: 14px; padding-bottom: 14px; }

.nav { margin-left: auto; }
.nav-list { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.nav-trigger, .nav-link {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 10px 10px;
  font-family: var(--sans); font-size: 12px; font-weight: 400;
  letter-spacing: .14em; text-transform: uppercase;
  text-decoration: none; color: var(--on-dark-soft);
  background: none; border: 0; cursor: pointer;
  transition: color .3s;
}
.nav-trigger::after {
  content: ""; width: 6px; height: 6px;
  border-right: 1px solid currentColor; border-bottom: 1px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .3s var(--ease);
}
.nav-trigger[aria-expanded="true"]::after { transform: translateY(1px) rotate(-135deg); }
.nav-trigger:hover, .nav-link:hover, .nav-trigger[aria-expanded="true"] { color: var(--on-dark); }

/* ---------- Megameny ---------- */
.mega {
  position: absolute; left: 0; right: 0; top: 100%;
  background: var(--ink);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
  animation: mega-in .35s var(--ease);
}
.mega[hidden] { display: none; }
@keyframes mega-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.mega-inner {
  max-width: var(--wrap); margin: 0 auto;
  padding: 48px var(--gutter) 56px;
  display: grid; grid-template-columns: 1fr 1fr 1.3fr; gap: 56px;
}
.mega-title {
  font-size: 11px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 20px;
}
.mega-col ul, .mega-col ol { list-style: none; margin: 0; padding: 0; }
.mega-col li a {
  display: block; padding: 7px 0;
  font-family: var(--serif); font-size: 19px; line-height: 1.3;
  text-decoration: none; color: var(--on-dark);
  transition: color .25s, transform .3s var(--ease);
}
.mega-col li a:hover { color: var(--gold-light); transform: translateX(4px); }
.mega-models a { display: flex !important; flex-direction: column; padding: 12px 0 !important; border-bottom: 1px solid var(--line-dark); }
.mega-models strong { font-weight: 400; font-size: 22.88px; }
.mega-models span { font-family: var(--sans); font-size: 14px; color: var(--on-dark-soft); }
.mega-facts li { padding: 10px 0; border-bottom: 1px solid var(--line-dark); display: flex; flex-direction: column; }
.mega-facts strong { font-family: var(--serif); font-weight: 400; font-size: 19px; color: var(--on-dark); }
.mega-facts span { font-size: 14px; color: var(--on-dark-soft); }
.mega-all {
  display: inline-block; margin-top: 18px;
  font-size: 12px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
  color: var(--gold); text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px;
}
.mega-feature {
  position: relative; display: block; overflow: hidden; min-height: 260px;
  text-decoration: none; color: var(--on-dark);
}
.mega-feature img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.mega-feature:hover img { transform: scale(1.04); }
.mega-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14,14,13,.85), rgba(14,14,13,0) 60%); }
.mega-feature-text { position: absolute; left: 28px; right: 28px; bottom: 24px; z-index: 1; display: flex; flex-direction: column; gap: 6px; }
.mega-kicker { font-size: 11px; font-weight: 500; letter-spacing: .3em; text-transform: uppercase; color: var(--gold-light); }
.mega-feature-title { font-family: var(--serif); font-size: 21.12px; line-height: 1.15; }
.mega-cta { background: var(--charcoal); padding: 36px; display: flex; flex-direction: column; gap: 14px; align-self: start; }
.mega-cta-title { font-family: var(--serif); font-size: 23.76px; line-height: 1.1; color: var(--on-dark); }
.mega-cta p:not(.mega-cta-title) { color: var(--on-dark-soft); }
.mega-cta .btn { margin-top: 10px; }
.mega-backdrop { position: fixed; inset: 0; z-index: 40; background: rgba(14,14,13,.45); }
.mega-backdrop[hidden] { display: none; }

/* ---------- Mobilmeny ---------- */
.menu-toggle {
  display: none;
  width: 44px; height: 44px; margin-left: auto;
  background: none; border: 0; cursor: pointer; position: relative;
}
.menu-toggle span {
  position: absolute; left: 10px; right: 10px; height: 1px; background: var(--on-dark);
  transition: transform .4s var(--ease), top .4s var(--ease);
}
.menu-toggle span:first-child { top: 18px; }
.menu-toggle span:last-child { top: 26px; }
.menu-toggle[aria-expanded="true"] span:first-child { top: 22px; transform: rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:last-child { top: 22px; transform: rotate(-45deg); }

.mobile-nav {
  position: fixed; inset: 0; z-index: -1;
  background: var(--ink);
  padding: 104px var(--gutter) 32px;
  display: flex; flex-direction: column;
  overflow-y: auto;
}
.mobile-nav[hidden] { display: none; }
.mobile-nav details { border-bottom: 1px solid var(--line-dark); }
.mobile-nav summary, .mobile-link {
  display: flex; justify-content: space-between; align-items: center;
  padding: 14px 0;
  font-family: var(--serif); font-size: 22.88px; line-height: 1.2;
  color: var(--on-dark); text-decoration: none; cursor: pointer; list-style: none;
}
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav summary::after { content: "+"; font-family: var(--sans); font-weight: 400; font-size: 22.88px; color: var(--gold); transition: transform .3s var(--ease); }
.mobile-nav details[open] summary::after { transform: rotate(45deg); }
.mobile-nav details a { display: block; padding: 8px 0; font-size: 17px; color: var(--on-dark-soft); text-decoration: none; }
.mobile-nav details[open] { padding-bottom: 16px; }
.mobile-link { border-bottom: 1px solid var(--line-dark); }
.mobile-nav .btn { margin-top: 32px; }

/* ---------- Hero ---------- */
.hero {
  position: relative;
  min-height: 100svh;
  display: flex; align-items: flex-end;
  color: var(--on-dark);
  background: var(--ink);
  overflow: hidden;
}
.hero-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: 50% 55%;
  animation: hero-zoom 14s var(--ease) both;
}
@keyframes hero-zoom { from { transform: scale(1.08); } to { transform: scale(1); } }
.hero-shade {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(14,14,13,.55) 0%, rgba(14,14,13,0) 28%),
    linear-gradient(0deg, rgba(14,14,13,.95) 0%, rgba(14,14,13,.7) 28%, rgba(14,14,13,0) 55%);
}
.hero-content {
  position: relative;
  width: 100%; max-width: var(--wrap); margin: 0 auto;
  padding: 150px var(--gutter) clamp(56px, 8vh, 120px);
}
.hero-title {
  font-family: var(--serif);
  font-weight: 400;
  font-size: clamp(35.2px, min(5.28vw, 8.8vh), 95.04px);
  line-height: 1;
  letter-spacing: -.02em;
}
.hero-title span, .hero-title em { display: block; }
.hero-title em { color: var(--logo-gold); }
@media (min-width: 761px) {
  .hero-title span, .hero-title em { white-space: nowrap; }
}
.hero-lead {
  margin-top: clamp(20px, 4vh, 36px);
  max-width: 36em;
  font-size: clamp(16px, 1.15vw, 19px);
  color: var(--on-dark-soft);
}
.hero-actions { margin-top: clamp(24px, 5vh, 44px); display: flex; flex-wrap: wrap; gap: 16px; }
.hero-note { margin-top: 18px; font-size: 14px; color: var(--on-dark-soft); }

.hero-content > * { animation: rise 1.2s var(--ease) both; }
.hero-content > :nth-child(2) { animation-delay: .15s; }
.hero-content > :nth-child(3) { animation-delay: .3s; }
.hero-content > :nth-child(n+4) { animation-delay: .45s; }
@keyframes rise { from { opacity: 0; transform: translateY(28px); } to { opacity: 1; transform: none; } }

/* ---------- USP-stripe ---------- */
.usp-strip {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: var(--ink); color: var(--on-dark);
  border-top: 1px solid var(--line-dark);
}
.usp-strip li {
  padding: 26px var(--gutter);
  display: flex; flex-direction: column; gap: 4px;
  border-right: 1px solid var(--line-dark);
}
.usp-strip li:last-child { border-right: 0; }
.usp-strip strong {
  font-family: var(--serif); font-weight: 400;
  font-size: clamp(15.84px, 1.28vw, 20.24px); line-height: 1.2;
}
.usp-strip span { font-size: 14px; color: var(--on-dark-soft); }

/* ---------- Ferdig utekjøkken (intro) ---------- */
.manifest {
  max-width: var(--wrap); margin: 0 auto;
  padding: var(--section) var(--gutter);
}
.manifest-text {
  font-family: var(--serif);
  font-size: clamp(28.16px, 3.78vw, 59.84px);
  line-height: 1.08;
  letter-spacing: -.01em;
  max-width: 17ch;
}
.manifest-text .muted { color: var(--text-soft); }
.manifest-body {
  margin: 64px 0 0 auto;
  max-width: 880px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
  font-size: clamp(16px, 1.1vw, 18px);
  color: var(--text-soft);
}
.manifest-body strong { color: var(--text); }

/* ---------- Split (taket) ---------- */
.split {
  display: grid; grid-template-columns: 1.25fr 1fr;
  align-items: center;
  background: var(--stone);
}
.split-media { margin: 0; height: 100%; min-height: 480px; overflow: hidden; }
.split-media img { width: 100%; height: 100%; object-fit: cover; object-position: 35% 70%; transition: transform 1.6s var(--ease); }
.split-media:hover img { transform: scale(1.03); }
.split-text { padding: clamp(47.6px, 5.52vw, 93.5px) var(--gutter); max-width: 600px; }
.split-text > p:not(.eyebrow) { margin-top: 32px; color: var(--text-soft); font-size: clamp(17px, 1.2vw, 19px); }
.ticks { list-style: none; margin: 36px 0 44px; padding: 0; border-top: 1px solid var(--line); }
.ticks li { padding: 16px 0 16px 34px; position: relative; border-bottom: 1px solid var(--line); }
.ticks li::before { content: ""; position: absolute; left: 0; top: 50%; width: 16px; height: 1px; background: var(--gold); }

/* ---------- Seksjonshoder ---------- */
.section-head { max-width: var(--max); margin: 0 auto 47.6px; }
.section-head-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.section-lead { margin-top: 24px; max-width: 34em; color: var(--text-soft); font-size: clamp(16px, 1.05vw, 18px); }

/* ---------- Video ---------- */
.video { padding: var(--section) var(--gutter) 0; max-width: var(--wrap); margin: 0 auto; }
.video-frame { position: relative; margin: 0; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); }
.video-frame img { width: 100%; height: 100%; object-fit: cover; }
.video-badge {
  position: absolute; left: 28px; bottom: 28px;
  display: inline-flex; align-items: center; gap: 12px;
  padding: 12px 20px;
  background: rgba(14,14,13,.78); color: var(--on-dark);
  font-size: 12px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase;
}
.video-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); animation: pulse 2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .3; } }

/* ---------- Det som er inni ---------- */
.inside { padding: var(--section) var(--gutter); max-width: var(--wrap); margin: 0 auto; }
.inside-grid {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
}
.inside-grid li {
  padding: 40px 36px 40px 0;
  border-bottom: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 16px;
}
.inside-grid li:not(:nth-child(3n+1)) { padding-left: 40px; border-left: 1px solid var(--line); }
.inside-grid .num { font-size: 12px; letter-spacing: .3em; color: var(--gold-text); font-weight: 500; }
.inside-grid h3 { font-family: var(--serif); font-size: clamp(21.12px, 1.76vw, 28.16px); line-height: 1.1; }
.inside-grid p { color: var(--text-soft); flex: 1; }
.inside-grid .link-arrow { align-self: flex-start; margin-top: 8px; font-size: 12px; }

/* ---------- Fullbredde (vinter) ---------- */
.fullbleed { position: relative; height: 100svh; min-height: 600px; overflow: hidden; background: var(--ink); }
.fullbleed img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 60%; }
.fullbleed-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(14,14,13,.88) 0%, rgba(14,14,13,.2) 55%, rgba(14,14,13,0) 75%); }
.fullbleed-text {
  position: absolute; inset: auto 0 0 0;
  max-width: var(--wrap); margin: 0 auto;
  padding: 0 var(--gutter) clamp(64px, 9vw, 120px);
  color: var(--on-dark);
}
.fullbleed-text .display em { color: var(--logo-gold); }
.fullbleed-lead { margin: 24px 0 28px; max-width: 32em; font-size: clamp(16px, 1.15vw, 19px); color: var(--on-dark-soft); }

/* ---------- Modellene ---------- */
.models { background: var(--ink); color: var(--on-dark); padding: var(--section) var(--gutter); }
.models .display em { color: var(--logo-gold); }
.models .section-lead { color: var(--on-dark-soft); }
.model-grid {
  max-width: var(--max); margin: 0 auto;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px;
  background: var(--line-dark);
  border: 1px solid var(--line-dark);
}
.model {
  background: var(--ink);
  padding: clamp(32px, 3.2vw, 52px);
  display: flex; flex-direction: column; gap: 16px;
  transition: background .5s var(--ease);
}
.model:hover { background: var(--charcoal); }
.model-featured { background: var(--charcoal); }
.model-tag { font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); }
.model h3 { font-family: var(--serif); font-size: clamp(29.92px, 2.64vw, 44px); line-height: 1; }
.model > p:not(.model-tag):not(.price) { color: var(--on-dark-soft); flex: 1; }
.model-facts { list-style: none; margin: 0; padding: 0; font-size: 14px; color: var(--on-dark-soft); }
.model-facts li { padding: 4px 0 4px 22px; position: relative; }
.model-facts li::before { content: ""; position: absolute; left: 0; top: 50%; width: 10px; height: 1px; background: var(--gold); }
.price {
  font-family: var(--serif); font-style: italic;
  font-size: 17.6px; color: var(--on-dark);
  padding-top: 18px; border-top: 1px solid var(--line-dark);
}
.model .link-arrow { align-self: flex-start; font-size: 12px; color: var(--on-dark); }
.model .link-arrow:hover { color: var(--gold-light); }

.included {
  max-width: var(--max); margin: 56px auto 0;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 40px;
  padding: 32px 40px;
  border: 1px solid var(--line-dark);
}
.included h3 { font-family: var(--serif); font-size: 22px; line-height: 1.1; }
.included ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 32px; color: var(--on-dark-soft); }
.included li::before { content: "✓"; color: var(--gold); margin-right: 10px; }
.models-cta { max-width: var(--max); margin: 48px auto 0; display: flex; align-items: center; gap: 40px; flex-wrap: wrap; }

/* ---------- Slik fungerer det ---------- */
.steps { padding: var(--section) var(--gutter); max-width: var(--wrap); margin: 0 auto; }
.steps-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(32px, 4vw, 72px); }
.steps-list li { border-top: 1px solid var(--text); padding-top: 32px; }
.step-num { font-family: var(--serif); font-style: italic; font-size: 45.76px; line-height: 1; color: var(--gold-text); }
.steps-list h3 { margin-top: 20px; font-family: var(--serif); font-size: clamp(19.36px, 1.54vw, 25.52px); line-height: 1.15; }
.steps-list p { margin-top: 14px; color: var(--text-soft); }

/* ---------- Trygt å bestille ---------- */
.trust { background: var(--stone); padding: var(--section) var(--gutter); }
.trust > * { max-width: var(--max); margin-left: auto; margin-right: auto; }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.trust-item { background: var(--stone); padding: 40px 32px; display: flex; flex-direction: column; gap: 14px; }
.trust-item h3 { font-family: var(--serif); font-size: clamp(18.48px, 1.41vw, 22.88px); line-height: 1.15; }
.trust-item p { color: var(--text-soft); flex: 1; }
.trust-item .link-arrow { align-self: flex-start; font-size: 12px; }
.pay-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pay-list li { padding: 6px 12px; border: 1px solid var(--line); font-size: 13px; font-weight: 500; letter-spacing: .04em; background: var(--paper); }

.people {
  margin-top: 96px;
  display: grid; grid-template-columns: 1fr 1.3fr; gap: 64px; align-items: center;
}
.people-title { font-family: var(--serif); font-size: clamp(26.4px, 2.46vw, 38.72px); line-height: 1.05; }
.people-title em { color: var(--logo-gold); }
.people-text > p:not(.eyebrow) { margin: 24px 0 32px; color: var(--text-soft); max-width: 30em; }
.people-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.people-list li { display: flex; flex-direction: column; gap: 4px; }
.avatar { aspect-ratio: 4 / 5; margin-bottom: 14px; background: linear-gradient(160deg, var(--stone-2), #d8cfc0); }
.people-list strong { font-family: var(--serif); font-weight: 400; font-size: 19.36px; }
.people-list span { font-size: 14px; color: var(--text-soft); }

/* ---------- Sammenligning ---------- */
.compare { padding: var(--section) var(--gutter); }
.compare > * { max-width: var(--max); margin-left: auto; margin-right: auto; }
.compare > .link-arrow { display: flex; width: fit-content; max-width: 100%; margin-top: 48px; }
.table-wrap { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 560px; }
th, td { text-align: left; padding: 22px 24px 22px 0; border-bottom: 1px solid var(--line); vertical-align: top; }
thead th { font-size: 12px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--text-soft); border-bottom-color: var(--text); }
tbody th { font-weight: 400; color: var(--text); width: 34%; }
td { color: var(--text-soft); }
.col-us { color: var(--text); font-family: var(--serif); font-size: 1.25em; }
thead .col-us { font-family: var(--sans); font-size: 12px; color: var(--gold-text); }

/* ---------- Guider ---------- */
.guides { padding: 0 var(--gutter) var(--section); max-width: var(--wrap); margin: 0 auto; }
.guide-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.guide {
  display: flex; flex-direction: column; gap: 22px;
  min-height: 240px; padding: 34px;
  background: var(--stone);
  text-decoration: none;
  transition: background .5s var(--ease), color .5s var(--ease);
}
.guide:hover { background: var(--ink); color: var(--on-dark); }
.guide:hover .guide-kicker { color: var(--gold); }
.guide-kicker { font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: var(--gold-text); }
.guide h3 { font-family: var(--serif); font-size: clamp(20.24px, 1.67vw, 27.28px); line-height: 1.08; flex: 1; }
.guide .link-arrow { align-self: flex-start; font-size: 12px; }

/* ---------- Spørsmål og svar ---------- */
.faq { padding: 0 var(--gutter) var(--section); max-width: var(--wrap); margin: 0 auto; }
.faq-list { border-top: 1px solid var(--text); margin-bottom: 48px; }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary {
  list-style: none; cursor: pointer;
  display: flex; justify-content: space-between; align-items: center; gap: 24px;
  padding: 24px 0;
  font-family: var(--serif);
  font-size: clamp(16.72px, 1.36vw, 22px); line-height: 1.25;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; flex: none; font-family: var(--sans); font-weight: 400; font-size: 24.64px; color: var(--gold-text); transition: transform .4s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 0 30px; max-width: 42em; color: var(--text-soft); }

/* ---------- Venteliste ---------- */
.waitlist { background: var(--ink); color: var(--on-dark); padding: var(--section) var(--gutter); position: relative; overflow: hidden; }
.waitlist::before {
  content: ""; position: absolute; right: -10vw; top: -20vw;
  width: 60vw; height: 60vw; border-radius: 50%;
  background: radial-gradient(circle, rgba(200,164,108,.18) 0%, rgba(200,164,108,0) 65%);
  pointer-events: none;
}
.waitlist-inner { position: relative; max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(48px, 7vw, 120px); align-items: end; }
.waitlist .display em { color: var(--logo-gold); }
.waitlist-perks { list-style: none; margin: 40px 0 0; padding: 0; border-top: 1px solid var(--line-dark); }
.waitlist-perks li { padding: 16px 0 16px 34px; position: relative; border-bottom: 1px solid var(--line-dark); font-size: clamp(16px, 1.2vw, 19px); }
.waitlist-perks li::before { content: "✓"; position: absolute; left: 0; color: var(--gold); }
.waitlist-form { display: flex; flex-direction: column; gap: 18px; }
.field { display: flex; flex-direction: column; gap: 8px; }
.field label { font-size: 13px; letter-spacing: .08em; color: var(--on-dark-soft); }
.optional { color: rgba(243,238,230,.45); }
.field input, .field select {
  width: 100%; min-height: 56px;
  padding: 0 18px;
  font: inherit; font-size: 17px;
  color: var(--on-dark);
  background: rgba(243,238,230,.04);
  border: 1px solid var(--line-dark);
  border-radius: 0;
  appearance: none;
}
.field select {
  background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%);
  background-position: calc(100% - 24px) 50%, calc(100% - 18px) 50%;
  background-size: 6px 6px; background-repeat: no-repeat;
}
.field select option { color: var(--text); }
.field input::placeholder { color: rgba(243,238,230,.35); }
.field input:focus, .field select:focus { outline: none; border-color: var(--gold); background-color: rgba(243,238,230,.07); }
.field input[aria-invalid="true"] { border-color: #e08a7a; }
.waitlist-form .btn { margin-top: 6px; }
.consent { font-size: 13px; line-height: 1.6; color: var(--on-dark-soft); }
.consent a { color: var(--on-dark); }
.form-note { font-size: 15px; color: var(--gold-light); min-height: 1.5em; }

/* ---------- Footer ---------- */
.site-footer { background: var(--charcoal); color: var(--on-dark-soft); padding: 96px var(--gutter) 40px; font-size: 15px; }
.footer-top { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 48px; }
.footer-brand p { margin-top: 24px; line-height: 1.6; }
.footer-brand p + p { margin-top: 12px; }
.site-footer nav { display: flex; flex-direction: column; gap: 10px; }
.site-footer h3 { font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: .28em; text-transform: uppercase; color: var(--gold); margin-bottom: 10px; }
.site-footer a { text-decoration: none; transition: color .3s; }
.site-footer a:hover { color: var(--on-dark); }
.footer-bottom {
  max-width: var(--max); margin: 80px auto 0; padding-top: 28px;
  border-top: 1px solid var(--line-dark);
  display: flex; justify-content: space-between; gap: 24px; flex-wrap: wrap; font-size: 13px;
}
.footer-legal { display: flex; gap: 24px; flex-wrap: wrap; }

/* ---------- Fast knapp på mobil ---------- */
.sticky-cta {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  background: rgba(14,14,13,.94);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  border-top: 1px solid var(--line-dark);
  transform: translateY(110%);
  transition: transform .45s var(--ease);
  display: none;
}
.sticky-cta.is-visible { transform: none; }

/* ---------- Animasjon ved scroll (bare med JavaScript, så teksten alltid er synlig for Google) ---------- */
.js .reveal { opacity: 0; transform: translateY(36px); transition: opacity 1.1s var(--ease), transform 1.1s var(--ease); }
.js .reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .reveal { opacity: 1; transform: none; transition: none; }
  .hero-img, .hero-content > *, .video-dot, .mega { animation: none; }
}

/* ---------- Responsivt ---------- */
@media (max-width: 1180px) {
  .nav, .header-cta { display: none; }
  .menu-toggle { display: block; }
  .mega, .mega-backdrop { display: none !important; }
}

@media (max-width: 1100px) {
  .usp-strip { grid-template-columns: repeat(2, 1fr); }
  .usp-strip li:nth-child(2) { border-right: 0; }
  .usp-strip li:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark); }
  .split { grid-template-columns: 1fr; }
  .split-media { min-height: 0; aspect-ratio: 3 / 2; }
  .inside-grid { grid-template-columns: repeat(2, 1fr); }
  .inside-grid li:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; }
  .inside-grid li:nth-child(even) { padding-left: 32px; border-left: 1px solid var(--line); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .people { grid-template-columns: 1fr; }
  .included { grid-template-columns: 1fr; gap: 20px; }
  .waitlist-inner { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: repeat(2, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .hero-actions .btn { flex: 1 1 100%; }
  .usp-strip li { padding: 24px 20px; }
  .manifest-body { grid-template-columns: 1fr; gap: 20px; margin-top: 40px; }
  .inside-grid { grid-template-columns: 1fr; }
  .inside-grid li, .inside-grid li:nth-child(even) { padding: 36px 0; border-left: 0; }
  .model-grid, .steps-list, .guide-grid, .trust-grid { grid-template-columns: 1fr; }
  .people-list { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .people-list strong { font-size: 17px; }
  .guide { min-height: 200px; padding: 32px; }
  .section-head { margin-bottom: 48px; }
  .section-head-row { flex-direction: column; align-items: flex-start; }
  .video-frame { aspect-ratio: 4 / 3; }
  .video-badge { left: 16px; bottom: 16px; }
  .fullbleed { height: 85svh; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .sticky-cta { display: grid; }
  .site-footer { padding-bottom: 110px; }
}

/* ---------- Typografi: Figtree på overskrifter, Instrument Serif på kursive ord ---------- */
.logo-mark, .logo-word { font-family: var(--logo); }

/* Store overskrifter: tett og rolig */
.hero-title, .page-title, .display, .manifest-text, .buybox-title, .config-title,
.faq-group-title, .article-section h2, .people-title, .big-lead {
  font-weight: 400;
  letter-spacing: -.035em;
}
.hero-title { line-height: 1.04; }
.display, .manifest-text, .page-title { line-height: 1.06; }

/* Mellomstore overskrifter */
.usp-strip strong, .inside-grid h3, .model h3, .steps-list h3, .trust-item h3, .people-list strong,
.included h3, .guide h3, .guide-card h2, .faq summary, .feature h3, .timeline h3, .price-big,
.mega-col li a, .mega-feature-title, .mega-cta-title, .mega-facts strong, .mobile-nav summary, .mobile-link,
.option-card strong, .contact-big, .facts strong, .inline-cta-title, .list-title, .prose h2, .prose h3,
.article-section h3, .config-step legend, .col-us, .split-text .display {
  font-weight: 400;
  letter-spacing: -.02em;
}
.model h3 { font-size: clamp(29.92px, 2.64vw, 44px); }
/* Alle titler i Figtree har vekt 400 */
.usp-strip strong, .people-list strong, .option-card strong, .mega-models strong,
.mega-facts strong, .facts strong { font-weight: 400; }

/* Kursive ord og kursive detaljer */
.hero-title em, .page-title em, .display em, .manifest-text .muted, .people-title em,
.price, .buybox-price, .config-price, .step-num, .prose em {
  font-family: var(--accent);
  font-weight: 400;
  font-style: italic;
  letter-spacing: -.015em;
}
.hero-title em, .page-title em, .display em, .manifest-text .muted, .people-title em { font-size: 1.04em; }

/* ---------- Menyen sentrert i midten (desktop) ---------- */
@media (min-width: 1181px) {
  .header-inner { display: grid; grid-template-columns: 1fr auto 1fr; }
  .nav { margin-left: 0; }
  .header-cta { justify-self: end; }
}

/* Hero på forsiden: hold menneskene og grillen i bildet når det beskjæres */
.page-home .hero-img { object-position: 78% 50%; }
@media (max-width: 760px) { .page-home .hero-img { object-position: 74% 50%; } }
@media (max-width: 760px) { .page-home .fullbleed img { object-position: 68% 60%; } }

/* ---------- Trygghetsstripen følger samme bredde som header og innhold ---------- */
.usp-strip { padding: 0 max(var(--gutter), calc((100% - var(--max)) / 2)); }
.usp-strip li { padding: 26px 32px; }
.usp-strip li:first-child { padding-left: 0; }
.usp-strip li:last-child { padding-right: 0; }
@media (max-width: 1100px) {
  .usp-strip li { padding: 22px 20px; }
  .usp-strip li:nth-child(odd) { padding-left: 0; }
  .usp-strip li:nth-child(even) { padding-right: 0; }
}

/* =========================================================
   TRYGGHETSRAD (erstatter den gamle stripen)
   I hero på forsiden: glasspanel over bildet. På undersidene: mørkt bånd.
   ========================================================= */
.hero { flex-direction: column; justify-content: flex-end; align-items: stretch; }
.hero-content { padding-top: clamp(104px, 16vh, 150px); padding-bottom: clamp(24px, 4vh, 44px); }
.hero-trust {
  position: relative; width: 100%; max-width: var(--wrap); margin: 0 auto;
  padding: 0 var(--gutter) clamp(20px, 4vh, 44px);
  animation: rise 1.2s var(--ease) .6s both;
}

.trust-row {
  list-style: none; margin: 0; padding: 0; position: relative;
  display: grid; grid-template-columns: repeat(4, 1fr);
  background: rgba(14, 14, 13, .42);
  -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(243, 238, 230, .14);
  color: var(--on-dark);
}
.trust-row::before {
  content: ""; position: absolute; left: 0; right: 0; top: -1px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold) 30%, var(--gold-light) 50%, var(--gold) 70%, transparent);
  opacity: .8;
}
.trust-row-item { display: flex; align-items: center; gap: 16px; padding: 20px 26px; min-width: 0; }
.trust-row-item + .trust-row-item { border-left: 1px solid rgba(243, 238, 230, .12); }
.trust-icon {
  flex: none; display: grid; place-items: center;
  width: 46px; height: 46px; border-radius: 50%;
  color: var(--gold-light);
  border: 1px solid rgba(200, 164, 108, .55);
  background: radial-gradient(circle at 30% 25%, rgba(226, 199, 154, .22), rgba(226, 199, 154, 0) 70%);
  box-shadow: 0 0 0 4px rgba(200, 164, 108, .06), inset 0 0 12px rgba(226, 199, 154, .08);
}
.trust-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.trust-text strong { font-family: var(--serif); font-weight: 400; font-size: 17px; line-height: 1.25; letter-spacing: -.01em; color: var(--on-dark); }
.trust-text span { font-size: 13px; line-height: 1.4; color: var(--on-dark-soft); }

/* Bånd under toppen på undersidene */
.trust-band { background: var(--ink); padding: 0 var(--gutter); border-top: 1px solid var(--line-dark); }
.trust-band-inner { max-width: var(--max); margin: 0 auto; }
.trust-band .trust-row { background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; border: 0; }
.trust-band .trust-row::before { top: 0; opacity: .5; }
.trust-band .trust-row-item { padding: 26px 26px; }
.trust-band .trust-row-item:first-child { padding-left: 0; }

@media (max-width: 1100px) {
  .trust-row { grid-template-columns: repeat(2, 1fr); }
  .trust-row-item:nth-child(3) { border-left: 0; }
  .trust-row-item:nth-child(n+3) { border-top: 1px solid rgba(243, 238, 230, .12); }
  .trust-band .trust-row-item:nth-child(odd) { padding-left: 0; }
}

/* Mobil: én rad du kan sveipe, så hero-teksten får plass */
@media (max-width: 760px) {
  .hero-trust { padding: 0 0 18px; }
  .trust-row, .trust-band .trust-row {
    display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    border-left: 0; border-right: 0;
    scroll-padding-left: var(--gutter); padding-left: var(--gutter);
    -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent);
  }
  .trust-row::-webkit-scrollbar { display: none; }
  .trust-row-item, .trust-band .trust-row-item { flex: 0 0 auto; scroll-snap-align: start; padding: 14px 18px; gap: 12px; border-top: 0 !important; }
  .trust-row-item:first-child, .trust-band .trust-row-item:first-child { padding-left: 0; border-left: 0; }
  .trust-row-item:last-child { padding-right: 48px; }
  .trust-row-item:nth-child(3) { border-left: 1px solid rgba(243, 238, 230, .12); }
  .trust-icon { width: 40px; height: 40px; }
  .trust-text strong { font-size: 15px; white-space: nowrap; }
  .trust-text span { font-size: 12px; white-space: nowrap; }
  .trust-band { padding: 0; }
}
@media (prefers-reduced-motion: reduce) { .hero-trust { animation: none; } }
/* Lave mobilskjermer (f.eks. iPhone SE): få trygghetsraden over bretten */
@media (max-width: 760px) and (max-height: 760px) {
  .page-home .hero-content { padding-top: 84px; padding-bottom: 18px; }
  .page-home .hero .eyebrow { margin-bottom: 14px; }
  .page-home .hero-lead { margin-top: 14px; font-size: 15px; }
  .page-home .hero-actions { margin-top: 18px; gap: 10px; }
  .page-home .hero-note { display: none; }
}

/* =========================================================
   «Ferdig utekjøkken» på forsiden: redaksjonelt oppsett med tall
   ========================================================= */
.manifest-grid {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  gap: clamp(40px, 7vw, 120px); align-items: end;
}
.manifest .manifest-text { max-width: 15ch; }
.manifest-body {
  margin: 0; max-width: 560px; display: block;
  color: var(--text-soft); font-size: clamp(15px, .95vw, 17px);
  padding-left: clamp(0px, 3vw, 40px); border-left: 1px solid var(--line);
}
.manifest-body > * + * { margin-top: 1.1em; }
.manifest-body strong { color: var(--text); }
.manifest-body .link-arrow { margin-top: 28px; }
.manifest-lead {
  font-family: var(--serif); font-weight: 400; letter-spacing: -.015em;
  font-size: clamp(19px, 1.45vw, 23px); line-height: 1.45; color: var(--text);
}
.manifest-lead strong { font-weight: 400; color: var(--gold-text); }

.manifest-stats {
  list-style: none; margin: clamp(64px, 8vw, 112px) 0 0; padding: 0;
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--text);
}
.manifest-stats li { padding: 28px 28px 0 0; display: flex; flex-direction: column; gap: 10px; }
.manifest-stats li + li { padding-left: 28px; border-left: 1px solid var(--line); }
.manifest-stats strong {
  font-family: var(--accent); font-style: italic; font-weight: 400;
  font-size: clamp(56px, 6vw, 96px); line-height: .9; letter-spacing: -.03em;
  color: var(--gold-text);
}
.manifest-stats span { font-size: 15px; line-height: 1.45; color: var(--text-soft); max-width: 16em; }
.js .manifest-stats li.reveal:nth-child(2) { transition-delay: .08s; }
.js .manifest-stats li.reveal:nth-child(3) { transition-delay: .16s; }
.js .manifest-stats li.reveal:nth-child(4) { transition-delay: .24s; }

@media (max-width: 1100px) {
  .manifest-grid { grid-template-columns: 1fr; align-items: start; gap: 40px; }
  .manifest .manifest-text { max-width: 18ch; }
  .manifest-stats { grid-template-columns: repeat(2, 1fr); }
  .manifest-stats li:nth-child(3) { padding-left: 0; border-left: 0; }
  .manifest-stats li:nth-child(n+3) { margin-top: 36px; }
}
@media (max-width: 760px) {
  .manifest-body { padding-left: 20px; }
  .manifest-stats li { padding: 22px 16px 0 0; }
  .manifest-stats li + li { padding-left: 16px; }
  .manifest-stats li:nth-child(3) { padding-left: 0; }
  .manifest-stats span { font-size: 14px; }
}

/* =========================================================
   SAMMENLIGNINGSTABELLER: Kitchamore-kolonnen som et mørkt kort
   Gjelder alle tabeller med en .col-us-kolonne, på alle sider.
   ========================================================= */
table:has(.col-us) { border-collapse: separate; border-spacing: 0; }
table:has(.col-us) th, table:has(.col-us) td { padding: 22px 24px; vertical-align: middle; transition: background .25s; }
table:has(.col-us) thead th { padding-top: 0; padding-bottom: 18px; border-bottom: 1px solid var(--text); }
table:has(.col-us) tbody th { font-weight: 500; color: var(--text); padding-left: 0; }
table:has(.col-us) td:not(.col-us) { color: var(--text-soft); position: relative; padding-left: 50px; }
table:has(.col-us) td:not(.col-us)::before {
  content: ""; position: absolute; left: 20px; top: 50%; width: 14px; height: 1px; background: rgba(28, 27, 25, .35);
}
/* Kitchamore-kolonnen */
table:has(.col-us) .col-us {
  background: var(--ink); color: var(--on-dark);
  font-family: var(--serif); font-weight: 400; font-size: 17px; letter-spacing: -.01em;
  position: relative; padding-left: 64px; border-bottom: 1px solid var(--line-dark);
}
table:has(.col-us) td.col-us::before {
  content: "✓"; position: absolute; left: 24px; top: 50%; transform: translateY(-50%);
  width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center;
  font-family: var(--sans); font-size: 12px; color: var(--ink);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  box-shadow: 0 0 0 4px rgba(200, 164, 108, .14);
}
table:has(.col-us) thead th.col-us {
  padding: 26px 24px 20px 24px; border-bottom: 1px solid var(--line-dark);
  font-family: var(--serif); font-size: 20px; text-transform: none; letter-spacing: -.01em; color: var(--gold-light);
}
table:has(.col-us) thead th.col-us::after {
  content: "Anbefalt"; display: inline-block; margin-left: 12px; vertical-align: middle;
  padding: 4px 9px; border: 1px solid rgba(200, 164, 108, .5);
  font-family: var(--sans); font-size: 10px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--gold);
}
table:has(.col-us) tbody tr:last-child .col-us { border-bottom: 0; padding-bottom: 28px; }
table:has(.col-us) tbody tr:last-child th, table:has(.col-us) tbody tr:last-child td:not(.col-us) { border-bottom: 0; }
/* Hover på rad */
table:has(.col-us) tbody tr:hover th, table:has(.col-us) tbody tr:hover td:not(.col-us) { background: rgba(28, 27, 25, .035); }
table:has(.col-us) tbody tr:hover .col-us { background: var(--charcoal); }
table:has(.col-us) tbody tr:hover th { color: var(--text); }
/* Knapp under Kitchamore-kolonnen */
table:has(.col-us) tfoot td { border: 0; padding: 0; background: transparent; }
table:has(.col-us) tfoot td.col-us { background: var(--ink); padding: 4px 24px 26px 24px; }
table:has(.col-us) tfoot td.col-us::before { display: none; }
table:has(.col-us) tfoot td:not(.col-us)::before { display: none; }
table:has(.col-us) tfoot .btn { width: 100%; }
@media (max-width: 760px) {
  table:has(.col-us) th, table:has(.col-us) td { padding: 16px 12px; }
  table:has(.col-us) td:not(.col-us) { padding-left: 30px; }
  table:has(.col-us) td:not(.col-us)::before { left: 10px; width: 10px; }
  table:has(.col-us) .col-us { padding-left: 44px; font-size: 15px; }
  table:has(.col-us) td.col-us::before { left: 12px; width: 22px; height: 22px; }
  table:has(.col-us) thead th.col-us { font-size: 17px; padding: 20px 12px 16px; }
  table:has(.col-us) thead th.col-us::after { display: block; margin: 8px 0 0; width: fit-content; }
  table:has(.col-us) tfoot td.col-us { padding: 4px 12px 20px; }
}

/* =========================================================
   SPØRSMÅL OG SVAR: hover, åpent og tastaturfokus, på alle sider
   ========================================================= */
.faq details, .faq-groups details {
  margin: 0 -24px; padding: 0 24px;
  border-bottom: 1px solid var(--line); position: relative;
  transition: background .3s var(--ease);
}
.faq details::before, .faq-groups details::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 2px;
  background: var(--gold); transform: scaleY(0); transform-origin: top; transition: transform .35s var(--ease);
}
.faq summary { transition: color .25s; padding-right: 4px; }
.faq summary::after {
  content: "+" !important; flex: none;
  width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center;
  border: 1px solid var(--line); color: var(--text) !important;
  font-family: var(--sans); font-weight: 400; font-size: 20px !important; line-height: 1;
  transition: transform .35s var(--ease), background .25s, border-color .25s, color .25s;
}
/* Hover */
.faq details:hover { background: #f4ede2; }  /* beige hover (var hvit, usynlig på lys bakgrunn) */
.faq details:hover summary { color: var(--gold-text); }
.faq details:hover summary::after { border-color: var(--gold); color: var(--gold-text) !important; }
/* Åpent */
.faq details[open] { background: #fff; box-shadow: 0 18px 40px -28px rgba(14, 14, 13, .35); border-bottom-color: transparent; }
.faq details[open]::before { transform: scaleY(1); }
.faq details[open] summary { color: var(--text); }
.faq details[open] summary::after {
  transform: rotate(45deg); background: var(--ink); border-color: var(--ink); color: var(--gold-light) !important;
}
.faq details[open] p { animation: faq-in .45s var(--ease); }
@keyframes faq-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
/* Tastatur */
.faq summary:focus-visible { outline: none; }
.faq details:has(summary:focus-visible) { outline: 2px solid var(--gold); outline-offset: -2px; }
.tint .faq details[open], .tint.faq details[open] { background: var(--paper); }
@media (max-width: 760px) {
  .faq details, .faq-groups details { margin: 0 -16px; padding: 0 16px; }
  .faq summary::after { width: 32px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) { .faq details[open] p { animation: none; } }
table:has(.col-us) thead th:not(.col-us):not(:first-child) { padding-left: 50px; }
.compare > .link-arrow { margin-left: max(0px, calc((100% - var(--max)) / 2)); }
@media (max-width: 760px) { table:has(.col-us) thead th:not(.col-us):not(:first-child) { padding-left: 30px; } }
@media (max-width: 760px) {
  table:has(.col-us) tfoot .btn { min-height: 40px; padding: 10px 8px; font-size: 10px; letter-spacing: .1em; white-space: normal; }
  table:has(.col-us) tfoot td.col-us { padding: 4px 10px 16px; }
}
@media (max-width: 760px) {
  table:has(.col-us) th, table:has(.col-us) td { padding: 14px 8px; }
  table:has(.col-us) tbody th { padding-left: 0; }
  table:has(.col-us) td:not(.col-us), table:has(.col-us) thead th:not(.col-us):not(:first-child) { padding-left: 24px; }
  table:has(.col-us) td:not(.col-us)::before { left: 6px; width: 10px; }
  table:has(.col-us) .col-us { padding-left: 40px; }
  table:has(.col-us) td.col-us::before { left: 10px; }
  table:has(.col-us) thead th.col-us { padding: 18px 10px 14px; }
}

/* =========================================================
   UNIVERSELL HEADER: uskarpt glass på alle sider, hele tiden
   ========================================================= */
.site-header {
  background: rgba(14, 14, 13, .32);
  -webkit-backdrop-filter: blur(18px) saturate(160%);
  backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid rgba(243, 238, 230, .1);
  transition: background .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
}
/* Etter scroll, og på sider uten stort toppbilde: mørkere glass så teksten alltid er lesbar */
.site-header.is-solid {
  background: rgba(14, 14, 13, .72);
  -webkit-backdrop-filter: blur(20px) saturate(170%);
  backdrop-filter: blur(20px) saturate(170%);
  border-bottom-color: rgba(243, 238, 230, .12);
  box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .55);
}
.site-header.mega-open { background: rgba(14, 14, 13, .9); }
/* Nettlesere uten støtte for uskarp bakgrunn får en tettere farge i stedet */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header { background: rgba(14, 14, 13, .78); }
  .site-header.is-solid, .site-header.mega-open { background: rgba(14, 14, 13, .96); }
}

/* Svar i spørsmål og svar toner ut når de lukkes (åpning tones inn med faq-in) */
.faq details.is-closing p { animation: faq-out .3s var(--ease) forwards; }
.faq details.is-closing summary::after { transform: rotate(0deg); background: transparent; border-color: var(--line); color: var(--text) !important; }
@keyframes faq-out { to { opacity: 0; transform: translateY(-6px); } }
.faq summary::after { transition: transform .42s var(--ease), background .3s, border-color .3s, color .3s; }

/* =========================================================
   BETALINGSLOGOER
   ========================================================= */
.pay-logos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pay-logos li { display: block; line-height: 0; border-radius: 5px; box-shadow: 0 0 0 1px rgba(28, 27, 25, .12); transition: transform .25s var(--ease), box-shadow .25s; }
.pay-logos li:hover { transform: translateY(-2px); box-shadow: 0 0 0 1px rgba(28, 27, 25, .2), 0 8px 16px -10px rgba(0, 0, 0, .4); }
.pay-logos svg { display: block; width: 52px; height: 33px; }
/* I bunnfeltet */
.footer-pay { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.footer-pay > span { font-size: 12px; letter-spacing: .2em; text-transform: uppercase; color: var(--on-dark-soft); }
.pay-logos--footer li { box-shadow: 0 0 0 1px rgba(243, 238, 230, .14); }
.pay-logos--footer svg { width: 46px; height: 29px; }
.footer-bottom { align-items: center; }
/* I kjøpsboksen og i «Trygt å bestille» */
.buybox-pay { padding-top: 16px; border-top: 1px solid var(--line); }
.trust-item .pay-logos { margin-top: 4px; }
@media (max-width: 760px) {
  .footer-pay { order: -1; }
  .pay-logos svg { width: 48px; height: 30px; }
}

/* Titler: bredere linje, og den kursive delen deles ikke midt i */
.page-title { max-width: 24ch; }
.hero-title em, .page-title em, .display em { text-wrap: balance; }
@media (min-width: 761px) {
  .page-title em, .display em { display: inline-block; }
}
.page-title, .display, .manifest-text { text-wrap: balance; }
.page-title { max-width: 34ch; text-wrap: wrap; }

/* =========================================================
   LYS HEADER: hvitt glass på alle sider (Apple-stil)
   Mørk tekst, mørk logo, lys megameny og lys mobilmeny.
   ========================================================= */
.site-header,
.site-header.is-solid,
.site-header.mega-open {
  background: rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  box-shadow: none;
  color: #1d1d1f;
}
.site-header.mega-open { background: rgba(255, 255, 255, .97); }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header, .site-header.is-solid, .site-header.mega-open { background: rgba(255, 255, 255, .97); }
}
.nav-trigger, .nav-link { color: rgba(29, 29, 31, .72); }
.nav-trigger:hover, .nav-link:hover, .nav-trigger[aria-expanded="true"] { color: #1d1d1f; }
.menu-toggle span { background: #1d1d1f; }

.header-cta.btn {
  background: #1d1d1f; color: #fff; border-radius: 980px;
  letter-spacing: .06em;
}
.header-cta.btn:hover { background: #000; color: #fff; }

/* Megamenyen */
.mega {
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, .06);
  border-bottom: 1px solid rgba(0, 0, 0, .08);
  box-shadow: 0 30px 60px -40px rgba(0, 0, 0, .35);
}
.mega-title { color: var(--gold-text); }
.mega-col li a { color: #1d1d1f; }
.mega-col li a:hover { color: var(--gold-text); }
.mega-models a { border-bottom-color: rgba(0, 0, 0, .08); }
.mega-models span, .mega-facts span { color: #6e6e73; }
.mega-facts li { border-bottom-color: rgba(0, 0, 0, .08); }
.mega-facts strong { color: #1d1d1f; }
.mega-all { color: var(--gold-text); }
.mega-feature { border-radius: 20px; color: #fff; }
.mega-cta { background: #f6f1e9; border-radius: 20px; }
.mega-cta-title { color: #1d1d1f; }
.mega-cta p:not(.mega-cta-title) { color: #6e6e73; }
.mega-cta .btn { background: #1d1d1f; color: #fff; border-radius: 980px; }
.mega-cta .btn:hover { background: #000; }
.mega-backdrop { background: rgba(0, 0, 0, .18); }

/* Mobilmenyen */
.mobile-nav { background: #fff; }
.mobile-nav details, .mobile-link { border-bottom-color: rgba(0, 0, 0, .08); }
.mobile-nav summary, .mobile-link { color: #1d1d1f; }
.mobile-nav summary::after { color: var(--gold-text); }
.mobile-nav details a { color: #6e6e73; }
.mobile-nav .btn { background: #1d1d1f; color: #fff; border-radius: 980px; }
/* Uskarpt glass gjør headeren til «ramme» for mobilmenyen (position: fixed), så menyen
   ble bare like høy som headeren. Skru av glasset mens menyen er åpen. */
body.menu-open .site-header {
  -webkit-backdrop-filter: none; backdrop-filter: none;
  background: #fff;
}


/* =========================================================
   MEGAMENY «MODELLENE»: ekte produktbilder i Apple-stil
   ========================================================= */
.mega-models-inner { display: block; padding-top: 34px; padding-bottom: 30px; }
.mega-models-head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.mega-models-head .mega-title { margin: 0; }
.mega-models-lead { font-family: var(--serif); font-size: 17px; letter-spacing: -.01em; color: #6e6e73; }
.mega-models-lead em { font-family: var(--accent); font-style: italic; font-size: 1.08em; color: var(--logo-gold); }

.mega-lineup { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; }
.mega-lineup li { animation: mega-pop .55s var(--ease) both; animation-delay: calc(var(--i, 0) * 45ms + 60ms); }
@keyframes mega-pop { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.mega-model {
  display: flex; flex-direction: column; height: 100%;
  padding: 0 0 14px; text-decoration: none; color: #1d1d1f;
}
.mega-model-media {
  display: grid; place-items: center; aspect-ratio: 4 / 3; margin-bottom: 14px;
  background: #f6f1e9; border-radius: 18px; overflow: hidden;
  transition: background .4s var(--ease), box-shadow .4s var(--ease);
}
.mega-model-media img { width: 92%; height: auto; mix-blend-mode: multiply; transition: transform .7s var(--ease); }
.mega-model:hover .mega-model-media, .mega-model:focus-visible .mega-model-media { background: #eee4d5; box-shadow: inset 0 0 0 1px rgba(200, 164, 108, .45); }
.mega-model:hover .mega-model-media img, .mega-model:focus-visible .mega-model-media img { transform: scale(1.07) translateY(-4px); }
.mega-model-roof { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: #6e6e73; }
.mega-model-name { margin-top: 6px; font-family: var(--serif); font-weight: 400; font-size: 20px; line-height: 1.15; letter-spacing: -.02em; transition: color .3s; }
.mega-model:hover .mega-model-name { color: var(--gold-text); }
.mega-model-tag { margin-top: 4px; font-family: var(--accent); font-style: italic; font-size: 15.5px; line-height: 1.3; color: var(--logo-gold); }

.mega-models-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
  margin-top: 14px; padding-top: 20px; border-top: 1px solid rgba(0, 0, 0, .08);
}
.mega-models-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 30px; }
.mega-link { display: inline-flex; align-items: center; gap: 4px; font-size: 15px; font-weight: 500; color: var(--gold-text); text-decoration: none; }
.mega-link::after { content: "›"; font-size: 1.3em; line-height: 1; transition: transform .3s var(--ease); }
.mega-link:hover::after { transform: translateX(3px); }
.mega-models-cta { display: flex; align-items: center; gap: 18px; font-size: 14px; color: #6e6e73; }
.mega-pill {
  display: inline-flex; align-items: center; min-height: 38px; padding: 0 18px; border-radius: 980px;
  background: #1d1d1f; color: #fff; text-decoration: none; font-size: 14px; font-weight: 500;
  transition: background .3s;
}
.mega-pill:hover { background: #000; }
/* Seriene (A, C, D og P): hver serie har tittel og sine modeller under, og seriene fyller seks kolonner (to rader) */
.mega-series-grid { display: grid; grid-template-columns: repeat(6, 1fr); grid-auto-flow: row dense; gap: 22px 12px; }
.mega-series { grid-column: span var(--n, 1); min-width: 0; }
.mega-series .mega-lineup { grid-template-columns: repeat(var(--n, 1), 1fr); }
.mega-series-title { display: flex; align-items: baseline; gap: 10px; margin: 0 0 10px; padding-bottom: 8px; border-bottom: 1px solid rgba(0, 0, 0, .08); font-size: 12px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--ap-ink, #1d1d1f); }
.mega-series-title span { font-size: 12px; font-weight: 400; letter-spacing: .02em; text-transform: none; color: #6e6e73; }
.mobile-series { margin: 14px 0 4px; font-size: 11.5px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #6e6e73; }
.mobile-series span { margin-left: 8px; font-weight: 400; letter-spacing: .02em; text-transform: none; }
@media (max-width: 1240px) {
  .mega-lineup { grid-template-columns: repeat(3, 1fr); } .mega-model-media { aspect-ratio: 16 / 9; }
  .mega-series-grid { grid-template-columns: 1fr; gap: 18px; }
  .mega-series { grid-column: auto; }
  .mega-series .mega-lineup { grid-template-columns: repeat(4, 1fr); }
}
@media (prefers-reduced-motion: reduce) { .mega-lineup li { animation: none; } }

/* Mobilmenyen: modellene med bilde */
.mobile-nav .mobile-model { display: flex; align-items: center; gap: 14px; padding: 6px 0; color: #1d1d1f; }
.mobile-model img { flex: none; width: 76px; height: 52px; object-fit: contain; background: #f6f1e9; border-radius: 10px; mix-blend-mode: multiply; }
.mobile-model span { display: flex; flex-direction: column; font-size: 13px; color: #6e6e73; line-height: 1.3; }
.mobile-model strong { font-family: var(--serif); font-weight: 400; font-size: 17px; color: #1d1d1f; }


/* =========================================================
   MØRK HEADER over mørke seksjoner (data-header="dark")
   app.js setter .is-dark mens headeren ligger over seksjonen.
   ========================================================= */
.site-header .logo { display: grid; }
.site-header .logo picture { grid-area: 1 / 1; transition: opacity .45s var(--ease); }
.logo-on-dark { opacity: 0; }
.site-header { transition: background .45s var(--ease), border-color .45s var(--ease), color .45s var(--ease); }
.nav-trigger, .nav-link, .menu-toggle span, .header-cta.btn { transition: color .45s var(--ease), background .45s var(--ease); }

body:not(.menu-open) .site-header.is-dark:not(.mega-open) {
  background: rgba(0, 0, 0, .72);
  border-bottom-color: rgba(255, 255, 255, .08);
  color: #f5f5f7;
}
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .logo-on-light { opacity: 0; }
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .logo-on-dark { opacity: 1; }
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-trigger,
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-link { color: rgba(245, 245, 247, .72); }
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-trigger:hover,
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-link:hover { color: #fff; }
/* Tydelig hover på lenkene i toppen: grå bakgrunn (og når menyen er åpen) */
.nav-trigger, .nav-link { border-radius: 980px; padding: 9px 14px; }
.nav-trigger:hover, .nav-link:hover, .nav-trigger:focus-visible, .nav-link:focus-visible,
.nav-trigger[aria-expanded="true"] { background: #f4ede2; }  /* lys beige (var lysegrå) */
.nav-trigger:active, .nav-link:active { background: #ebe1d1; }
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-trigger:hover,
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-link:hover,
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-trigger:focus-visible,
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .nav-link:focus-visible { background: rgba(255, 255, 255, .12); }
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .menu-toggle span { background: #f5f5f7; }
body:not(.menu-open) .site-header.is-dark:not(.mega-open) .header-cta.btn { background: #f5f5f7; color: #1d1d1f; }

/* =========================================================
   FOOTER: hvit og lys, med modellene, tillit og et stort ordmerke
   ========================================================= */
.ft { position: relative; overflow: hidden; isolation: isolate; background: #fff; color: #1d1d1f; padding: clamp(64px, 7vw, 110px) 0 0; border-top: 1px solid #e8e8ed; }
.ft::before {
  content: ""; position: absolute; inset: -30% -20% auto -20%; height: 70%; z-index: -1;
  background: radial-gradient(50% 60% at 50% 0%, rgba(200, 164, 108, .08), rgba(200, 164, 108, 0) 70%);
}
.ft-inner { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.ft a { color: inherit; }
.ft-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; padding-bottom: 48px; border-bottom: 1px solid #e8e8ed; }
.ft .logo-img { height: 44px; }
.ft-claim { margin-top: 22px; font-family: var(--serif); font-size: clamp(28px, 3vw, 46px); letter-spacing: -.035em; line-height: 1.05; }
.ft-claim em { font-family: var(--accent); font-style: italic; font-size: 1.05em; color: var(--logo-gold); }
.ft-contact { display: flex; flex-wrap: wrap; gap: 10px; }
.ft-chip {
  display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 18px; border-radius: 980px;
  background: #f6f1e9; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .04);
  font-size: 14.5px; font-weight: 500; text-decoration: none; transition: background .3s, box-shadow .3s;
}
.ft-chip svg { color: var(--gold-text); }
.ft-chip:hover { background: #eee4d5; box-shadow: inset 0 0 0 1px rgba(168, 128, 70, .35); }
.ft-chip--gold { background: var(--gold-light); color: #1d1d1f !important; box-shadow: none; }
.ft-chip--gold:hover { background: linear-gradient(100deg, #c8a46c, #f0dab0 50%, #d4b27a); box-shadow: none; }

.ft-title { font-size: 12px; font-weight: 500; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-text); margin-bottom: 18px; }
.ft-models { padding: 44px 0; border-bottom: 1px solid #e8e8ed; }
.ft-models-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 18px; }
.ft-models-head .ft-title { margin-bottom: 0; }
.ft-rail-nav { display: flex; gap: 10px; }
.ft-rail-nav button { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--gold-light); color: #1d1d1f; cursor: pointer; transition: background .3s, opacity .3s, transform .2s var(--ease); }
.ft-rail-nav button:hover:not(:disabled) { background: var(--gold-light-hover); transform: scale(1.05); }
.ft-rail-nav button:disabled { background: #ebe1d1; opacity: .6; cursor: default; }
.ft-rail-nav button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
/* Modellene som slider: seks synlige på PC, sveip eller bruk pilene */
.ft-models ul.ft-rail { list-style: none; margin: 0; padding: 2px 0 4px; display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; }
.ft-rail::-webkit-scrollbar { display: none; }
.ft-rail > li { flex: 0 0 calc((100% - 5 * 12px) / 6); min-width: 0; scroll-snap-align: start; }
@media (max-width: 1000px) { .ft-rail > li { flex-basis: calc((100% - 3 * 12px) / 4); } }
@media (max-width: 760px) { .ft-rail > li { flex-basis: calc((100% - 12px) / 2.3); } }
.ft-model { display: flex; flex-direction: column; gap: 2px; text-decoration: none; }
.ft-model-img { display: grid; place-items: center; aspect-ratio: 4 / 3; margin-bottom: 10px; border-radius: 16px; background: #f6f1e9; overflow: hidden; transition: background .4s; }
.ft-model-img img { width: 90%; height: auto; mix-blend-mode: multiply; transition: transform .7s var(--ease); }
.ft-model:hover .ft-model-img img { transform: scale(1.07) translateY(-3px); }
.ft-model:hover .ft-model-img { background: #eee4d5; }
.ft-model-name { font-family: var(--serif); font-size: 16px; letter-spacing: -.01em; transition: color .3s; }
.ft-model:hover .ft-model-name { color: var(--gold-text); }
.ft-model-roof { font-size: 12.5px; color: #6e6e73; }

.ft-cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding: 48px 0; border-bottom: 1px solid #e8e8ed; }
.ft-cols nav { display: flex; flex-direction: column; align-items: flex-start; }
.ft-cols nav a { padding: 6px 0; font-size: 15px; color: #6e6e73; text-decoration: none; transition: color .25s, transform .3s var(--ease); }
.ft-cols nav a:hover { color: #1d1d1f; transform: translateX(3px); }
.ft-cols nav a.ft-ic-link { display: flex; align-items: center; gap: 10px; padding: 6px 0; }
.ft-ic { flex: none; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #f6f1e9; color: var(--gold-text); transition: background .25s, color .25s; }
.ft-ic-link:hover .ft-ic { background: var(--ap-ink, #1d1d1f); color: var(--gold-light); }

.ft-trust { list-style: none; margin: 0; padding: 28px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; border-bottom: 1px solid #e8e8ed; }
.ft-trust li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #424245; }
.ft-trust svg { flex: none; color: var(--gold-text); }

.ft-bottom { display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; flex-wrap: wrap; padding: 26px 0 0; font-size: 13px; color: #6e6e73; }
.ft-bottom .footer-pay { display: flex; align-items: center; gap: 12px; }
.ft .footer-pay > span { color: #6e6e73; }
.ft .pay-logos--footer li { box-shadow: 0 0 0 1px rgba(0, 0, 0, .1); }
.ft-legal { display: flex; gap: 20px; }
.ft-legal a { color: #6e6e73; text-decoration: none; }
.ft-legal a:hover { color: #1d1d1f; }

.ft-word {
  margin: clamp(20px, 3vw, 40px) 0 0; text-align: center; white-space: nowrap; user-select: none; pointer-events: none;
  font-family: var(--logo); font-weight: 500; text-transform: uppercase; letter-spacing: .12em;
  font-size: clamp(56px, 13.5vw, 230px); line-height: .78;
  background: linear-gradient(180deg, rgba(200, 164, 108, .26), rgba(200, 164, 108, 0) 85%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
  transform: translateY(12%);
}
@media (max-width: 1000px) {
  .ft-models ul { grid-template-columns: repeat(3, 1fr); }
  .ft-cols { grid-template-columns: repeat(2, 1fr); }
  .ft-trust { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .ft-models ul { grid-template-columns: repeat(2, 1fr); }
  .ft-trust { grid-template-columns: 1fr; }
  .ft-bottom { flex-direction: column; align-items: flex-start; }
}

/* Modellkortene på undersidene: med bilde */
.model-img { display: grid; place-items: center; margin: -8px -8px 16px; border-radius: 16px; background: #f6f1e9; aspect-ratio: 4 / 3; overflow: hidden; }
.model-img img { width: 88%; height: auto; mix-blend-mode: multiply; transition: transform .7s var(--ease); }
.model:hover .model-img img { transform: scale(1.05); }
.model-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 900px) { .model-grid--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .model-grid--3 { grid-template-columns: 1fr; } }

/* =========================================================
   MEGAMENYENE (Utekjøkken, Forhåndsbestilling, Guider)
   Rader med ikon, fliser, bildekort, tidslinje og et mørkt CTA-kort
   ========================================================= */
.mm-grid { display: grid; gap: 40px; padding-top: 34px; padding-bottom: 34px; align-items: start; }
.mm-grid--ute { grid-template-columns: 1fr 1fr 1.05fr; }
.mm-grid--best { grid-template-columns: 1fr .9fr 1fr; }
.mm-grid--guide { grid-template-columns: 1.15fr 1fr 1fr 1fr; }
.mega--rich .mega-title { margin-bottom: 14px; }
.mega--rich .mm-col, .mega--rich .mm-photo, .mega--rich .mm-cta { animation: mega-pop .5s var(--ease) both; }
.mega--rich .mm-grid > :nth-child(2) { animation-delay: .06s; }
.mega--rich .mm-grid > :nth-child(3) { animation-delay: .12s; }
.mega--rich .mm-grid > :nth-child(4) { animation-delay: .18s; }

.mm-ic { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #f6f1e9; color: var(--gold-text); transition: background .3s, color .3s, transform .4s var(--ease); }

/* Rader med ikon og undertekst */
.mm-rows { list-style: none; margin: 0 -10px; padding: 0; }
.mega-col li a.mm-row, .mm-row { display: flex; align-items: center; gap: 14px; padding: 8px 10px; border-radius: 14px; text-decoration: none; color: #1d1d1f; transition: background .25s; }
.mm-row:hover { background: #f6f1e9; transform: none; }
.mm-row:hover .mm-ic { background: #fff; transform: scale(1.06); box-shadow: inset 0 0 0 1px rgba(200, 164, 108, .45); }
.mm-row-text { display: flex; flex-direction: column; line-height: 1.25; }
.mm-row-title { font-family: var(--serif); font-size: 17px; letter-spacing: -.01em; }
.mm-row-sub { font-size: 13px; color: #6e6e73; }

/* Fliser med ikon */
.mm-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mm-tile { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 16px; background: #f6f1e9; text-decoration: none; color: #1d1d1f; font-family: var(--serif); font-size: 15.5px; transition: background .3s, box-shadow .3s, transform .3s var(--ease); }
.mm-tile .mm-ic { width: 34px; height: 34px; background: #fff; }
.mm-tile:hover { background: #fff; box-shadow: 0 14px 30px -20px rgba(0, 0, 0, .35), inset 0 0 0 1px rgba(200, 164, 108, .45); transform: translateY(-2px); }

/* Bildekort */
.mm-photo { position: relative; display: flex; align-items: flex-end; min-height: 300px; overflow: hidden; isolation: isolate; border-radius: 22px; color: #fff; text-decoration: none; }
.mm-photo img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.mm-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(0, 0, 0, .78), rgba(0, 0, 0, .1) 55%, rgba(0, 0, 0, 0)); }
.mm-photo:hover img { transform: scale(1.05); }
.mm-photo-body { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px; }
.mm-kicker { font-size: 11px; font-weight: 500; letter-spacing: .24em; text-transform: uppercase; color: var(--gold-light); }
.mm-photo-title { font-family: var(--serif); font-size: 24px; line-height: 1.12; letter-spacing: -.025em; }
.mm-photo-title em, .mm-cta-title em { font-family: var(--accent); font-style: italic; color: var(--logo-gold); font-size: 1.05em; }
.mm-photo-cta { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; font-size: 14px; font-weight: 500; color: #fff; }
.mm-photo-cta::after { content: "›"; font-size: 1.3em; line-height: 1; transition: transform .3s var(--ease); }
.mm-photo:hover .mm-photo-cta::after { transform: translateX(3px); }

/* Tidslinje */
.mm-timeline { list-style: none; margin: 4px 0 0; padding: 0 0 0 26px; position: relative; }
.mm-timeline::before { content: ""; position: absolute; left: 6px; top: 8px; bottom: 8px; width: 2px; border-radius: 2px; background: linear-gradient(var(--gold), rgba(200, 164, 108, .25)); }
.mm-timeline li { position: relative; display: flex; flex-direction: column; padding: 0 0 22px; }
.mm-dot { position: absolute; left: -26px; top: 4px; width: 14px; height: 14px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 2px var(--gold), 0 0 0 6px rgba(200, 164, 108, .15); }
.mm-timeline strong { font-family: var(--serif); font-weight: 400; font-size: 18px; color: #1d1d1f; }
.mm-timeline li > span:last-child { font-size: 13.5px; color: #6e6e73; line-height: 1.45; }

/* Mørkt CTA-kort */
.mm-cta { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 22px; background: #0b0b0b; color: #f5f5f7; }
.mm-cta-glow { position: absolute; z-index: -1; right: -30%; top: -40%; width: 120%; height: 120%; background: radial-gradient(closest-side, rgba(200, 164, 108, .35), rgba(200, 164, 108, 0)); }
.mm-cta-title { font-family: var(--serif); font-size: 28px; line-height: 1.08; letter-spacing: -.03em; }
.mm-cta-perks { list-style: none; margin: 6px 0 8px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.mm-cta-perks li { display: flex; align-items: center; gap: 10px; font-size: 14px; color: #d2d2d7; }
.mm-cta-perks svg { color: var(--gold-light); }
.mm-cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 980px; background: var(--gold-light); color: #1d1d1f; text-decoration: none; font-weight: 500; font-size: 15px; transition: background-color .3s; }
.mm-cta-btn:hover { background: var(--gold-light-hover); }
.mm-cta-note { font-size: 12.5px; color: #8e8e93; text-align: center; }

/* Guidelenker */
.mm-links { list-style: none; margin: 0; padding: 0; }
.mega-col li a.mm-link, .mm-link { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid rgba(0, 0, 0, .06); color: #1d1d1f; text-decoration: none; font-family: var(--serif); font-size: 16px; line-height: 1.3; transition: color .25s; }
.mm-link::after { content: "›"; color: #c7c7cc; font-size: 1.3em; transition: transform .3s var(--ease), color .3s; }
.mm-link:hover { color: var(--gold-text); }
.mm-link:hover::after { transform: translateX(3px); color: var(--gold-text); }
.mm-grid--guide .mm-photo { grid-row: span 2; min-height: 320px; }
.mm-guide-foot { grid-column: 2 / -1; display: flex; gap: 28px; padding-top: 4px; }
@media (max-width: 1240px) {
  .mm-grid--guide { grid-template-columns: 1fr 1fr 1fr; }
  .mm-grid--guide .mm-photo { display: none; }
  .mm-guide-foot { grid-column: 1 / -1; }
}
.mm-tile > span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* =========================================================
   MOBIL OG NETTBRETT
   Sveipbare kortrader, header som glir bort ved scroll ned, footer som trekkspill,
   store nok trykkflater, ingen zoom i skjemafelt på iPhone og plass til hjemknappen.
   ========================================================= */

/* Headeren glir bort når du scroller ned og kommer tilbake når du scroller opp (app.js setter klassen) */
:root { --hdr-top: 64px; }
@media (max-width: 1000px) { :root { --hdr-top: 56px; } }
.site-header { transition: background .5s var(--ease), border-color .5s, transform .4s var(--ease); }
html.hdr-tucked { --hdr-top: 0px; }
html.hdr-tucked .site-header:not(.mega-open) { transform: translateY(-100%); }

/* Sveip: kortrader blir karuseller med snap og prikker på mobil (app.js legger på .km-swipe) */
.km-dots { display: none; }
@media (max-width: 760px) {
  .km-swipe {
    display: flex !important; flex-wrap: nowrap !important; gap: 12px !important;
    margin-inline: calc(var(--gutter) * -1) !important; padding: 4px var(--gutter) 6px !important;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter);
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .km-swipe::-webkit-scrollbar { display: none; }
  .km-swipe > * { flex: 0 0 min(84%, 340px) !important; width: auto !important; max-width: none !important; margin: 0 !important; scroll-snap-align: start; scroll-snap-stop: always; }
  .km-swipe > [hidden], .km-swipe[hidden], [hidden] + .km-dots { display: none !important; }
  .km-swipe, .ap-story-lists, .ap-story-body > * { min-width: 0; }
  .km-swipe--wide > * { flex-basis: 88% !important; }
  .km-swipe--small > * { flex-basis: min(46%, 200px) !important; }
  .km-dots { display: flex; justify-content: center; gap: 2px; margin-top: 14px; }
  .km-dots button { display: grid; place-items: center; width: 22px; height: 28px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; }
  .km-dots button::before { content: ""; width: 6px; height: 6px; border-radius: 99px; background: currentColor; opacity: .22; transition: width .35s var(--ease), opacity .35s; }
  .km-dots button[aria-current="true"]::before { width: 20px; opacity: .85; }
}

/* Trykk: ingen blå blink, men en liten trykk-effekt på knapper og kort på berøringsskjerm */
html { -webkit-tap-highlight-color: transparent; }
button, a, label, summary { touch-action: manipulation; }
@media (hover: none) {
  .btn:active, .ap-btn:active, .ap-card:active, .ap-zone:active, .ap-guide-card:active, .ap-tile:active,
  .cfg-model-card:active, .cfg-opt-card:active, .pp-preset:active, .ft-chip:active { transform: scale(.98); transition-duration: .1s; }
}

/* Skjemafelt: minst 16px, ellers zoomer iPhone inn når feltet får fokus */
@media (max-width: 1000px) {
  :where(input:not([type=checkbox], [type=radio], [type=range]), select, textarea) { font-size: max(16px, 1em); }
}

/* Små runde fargeknapper: større trykkflate enn det som synes */
.ap-swatch::before { content: ""; position: absolute; inset: -8px; border-radius: 50%; }

/* Plass til hjemknappen på iPhone under de faste linjene */
.pp-bar-inner { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }

/* Footer på mobil: modellene som sveiperad og lenkene som trekkspill */
@media (max-width: 760px) {
  .ft-models ul { grid-template-columns: none; }
  .ft-cols { grid-template-columns: 1fr; gap: 0; padding: 12px 0; }
  .ft-cols nav { border-bottom: 1px solid #e8e8ed; }
  .ft-cols nav:last-child { border-bottom: 0; }
  .ft-cols .ft-title {
    display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 56px; margin: 0; cursor: pointer;
  }
  .ft-cols .ft-title::after {
    content: ""; width: 9px; height: 9px; margin-right: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: translateY(-3px) rotate(45deg); transition: transform .35s var(--ease);
  }
  .ft-cols nav.is-open .ft-title::after { transform: translateY(2px) rotate(-135deg); }
  .ft-cols nav.ft-fold:not(.is-open) > a { display: none; }
  .ft-cols nav > a { padding: 10px 0; font-size: 16px; }
  .ft-cols nav > a:last-child { margin-bottom: 14px; }
  .ft-trust { padding: 20px 0; }
  .ft-legal { flex-wrap: wrap; gap: 4px 20px; }
  .ft-legal a { padding: 8px 0; }
}

/* Tabeller som rulles sidelengs: myk kant til høyre så lenge det er mer, og et lite «Sveip»-hint (app.js) */
.km-swipe-hint { display: none; }
@media (max-width: 1000px) {
  .km-swipe-hint { display: flex; align-items: center; justify-content: flex-end; gap: 6px; margin: 0 0 10px; font-size: 13px; font-weight: 500; color: #6e6e73; transition: opacity .4s; }
  .km-swipe-hint[hidden] { display: none; }
  .km-swipe-hint.is-gone { opacity: 0; }
  .km-swipe-hint svg { animation: km-nudge 1.8s var(--ease) infinite; }
  .km-scrollx { overscroll-behavior-x: contain; scroll-snap-type: x proximity; }
  .km-scrollx.is-more { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent); }
}
@media (max-width: 760px) {
  .km-scrollx tr > th:first-child:not([colspan]) { position: sticky; left: 0; z-index: 2; background: var(--km-sticky-bg, #fff); transition: box-shadow .3s; }
  .km-scrollx:not(.is-start) tr > th:first-child:not([colspan]) { box-shadow: 8px 0 12px -10px rgba(0, 0, 0, .25); }
}
@keyframes km-nudge { 0%, 100% { transform: none; } 50% { transform: translateX(4px); } }
@media (prefers-reduced-motion: reduce) { .km-swipe-hint svg { animation: none; } }

/* Fast linje nederst på mobil: hvitt glass som kjøpslinjen, «Bygg ditt kjøkken» og ventelisten side om side */
.sticky-cta {
  grid-template-columns: auto minmax(0, 1fr); gap: 8px; padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
  border-top: 1px solid rgba(0, 0, 0, .08); transition: transform .45s var(--ease), background .4s, border-color .4s;
}
.sticky-cta-alt, .sticky-cta-main {
  display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 16px; border-radius: 980px;
  font-size: 14.5px; font-weight: 500; white-space: nowrap; text-decoration: none; transition: background .3s, color .3s, transform .1s;
}
.sticky-cta-alt { background: #f0f0f3; color: #1d1d1f; }
.sticky-cta-main { background: #1d1d1f; color: #fff; }
.sticky-cta.is-dark { background: rgba(10, 10, 11, .82); border-top-color: rgba(255, 255, 255, .1); }
.sticky-cta.is-dark .sticky-cta-alt { background: rgba(255, 255, 255, .12); color: #f5f5f7; }
.sticky-cta.is-dark .sticky-cta-main { background: var(--gold-light); color: #1d1d1f; }
@media (max-width: 360px) { .sticky-cta-alt, .sticky-cta-main { padding: 0 12px; font-size: 13.5px; } }

/* Forhåndsbestilling (WooCommerce): knappene vises bare når bestillingen er åpen, handlekurven i headeren når den har noe */
[data-shop][hidden], [data-noshop][hidden] { display: none !important; }
.is-busy { opacity: .7; pointer-events: none; }
/* Ikonene i headeren: favoritter, Min side og handlekurven, foran «Bygg ditt kjøkken» */
.hdr-end { display: flex; align-items: center; gap: 2px; justify-self: end; }
.hdr-end .header-cta { margin-left: 12px; white-space: nowrap; }
.hdr-ic { position: relative; flex: none; display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: none; color: inherit; text-decoration: none; cursor: pointer; transition: background .25s; }
.hdr-ic[hidden], .mobile-link[data-wp][hidden] { display: none; }
.hdr-ic:hover { background: #f4ede2; }
.site-header.is-dark .hdr-ic:hover { background: rgba(255, 255, 255, .1); }
.hdr-badge { position: absolute; top: 3px; right: 1px; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: var(--gold); color: #1d1d1f; font-size: 11px; font-weight: 600; line-height: 1; }
.hdr-badge[hidden] { display: none; }
@media (max-width: 1180px) { .hdr-end { margin-left: auto; } .hdr-end + .menu-toggle { margin-left: 2px; } }
@media (max-width: 420px) { .hdr-account { display: none !important; } }

/* Hjertet: favoritter på modellkortene, produktbildet og i Bygg ditt kjøkken (app.js) */
.km-has-fav { position: relative; }
.km-fav {
  position: absolute; top: 12px; right: 12px; z-index: 4; display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
  border: 0; border-radius: 50%; background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  color: #1d1d1f; box-shadow: 0 2px 12px rgba(0, 0, 0, .1); cursor: pointer; transition: transform .2s var(--ease), color .2s;
}
.km-fav:hover { transform: scale(1.06); }
.km-fav:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.km-fav[aria-pressed="true"] { color: #d6453d; }
.km-fav[aria-pressed="true"] path { fill: currentColor; }
.km-fav.is-pop { animation: km-pop .45s var(--ease); }
.cfg-view .km-fav { top: 14px; right: 14px; }
@keyframes km-pop { 0% { transform: scale(1); } 35% { transform: scale(1.28); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) { .km-fav.is-pop { animation: none; } }

/* ---------- Sammenligning: knappen (app.js), linja nederst og siden /no/sammenlign/ ---------- */
.km-has-cmp { position: relative; }
.km-has-fav > .km-cmp:not(.km-cmp--label) { right: 62px; }  /* ved siden av hjertet når det vises */
.km-cmp {
  position: absolute; top: 12px; right: 12px; z-index: 4; display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
  border: 0; border-radius: 50%; background: #1d1d1f;
  color: #fff; box-shadow: 0 6px 18px -6px rgba(0, 0, 0, .45); cursor: pointer; transition: transform .2s var(--ease), background .2s, color .2s;
}
.km-cmp:hover { transform: scale(1.08); background: #000; }
.km-cmp:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.km-cmp[aria-pressed="true"] { background: var(--gold-light); color: #1d1d1f; box-shadow: 0 6px 18px -8px rgba(138, 106, 54, .6); }
.km-cmp[aria-pressed="true"]:hover { background: var(--gold-light-hover); }
/* Produktbildet: knapp med tekst, øverst til venstre */
.km-cmp--label { left: 14px; right: auto; top: 14px; width: auto; height: 40px; gap: 8px; display: inline-flex; align-items: center; padding: 0 16px 0 12px; border-radius: 980px; font: inherit; font-size: 14px; font-weight: 500; }
.km-cmp--label:hover { transform: none; background: #000; }
.km-cmp--label[aria-pressed="true"]:hover { background: var(--gold-light-hover); }

.km-cmpbar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 46;
  background: rgba(255, 255, 255, .92); -webkit-backdrop-filter: blur(20px) saturate(180%); backdrop-filter: blur(20px) saturate(180%);
  border-top: 1px solid rgba(0, 0, 0, .08); box-shadow: 0 -18px 40px -30px rgba(0, 0, 0, .35);
  transform: translateY(110%); transition: transform .45s var(--ease);
}
.km-cmpbar.is-on { transform: none; }
body.km-cmp-on .sticky-cta, body.km-cmp-on .pp-bar { display: none; }
body.km-cmp-on { padding-bottom: 84px; }
/* Bygg ditt utekjøkken har egen fast linje nederst (pris og «Send forespørsel»): sammenligningen legger seg over den */
body:has(.cfg-bar:not(.is-hidden)) .km-cmpbar { bottom: var(--cfg-bar-h, 64px); transition: transform .45s var(--ease), bottom .4s var(--ease); }
body.km-cmp-on:has(.cfg-bar:not(.is-hidden)) { padding-bottom: calc(84px + var(--cfg-bar-h, 64px)); }
.km-cmpbar-in { position: relative; display: flex; align-items: center; gap: 16px; max-width: 1240px; margin: 0 auto; padding: 12px var(--gutter, 20px); }
.km-cmpbar-items { flex: 1; display: flex; gap: 10px; min-width: 0; margin: 0; padding: 0; list-style: none; }
.km-cmpbar-item, .km-cmpbar-slot { flex: 0 1 200px; min-width: 0; height: 58px; border-radius: 14px; }
.km-cmpbar-item { display: flex; align-items: center; gap: 10px; padding: 6px 8px 6px 6px; background: #f6f1e9; animation: km-cmp-in .35s var(--ease); }
.km-cmpbar-item img { flex: none; width: 64px; height: 44px; object-fit: contain; mix-blend-mode: multiply; }
.km-cmpbar-item span { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: var(--serif); font-size: 16px; color: #1d1d1f; }
.km-cmpbar-item button { flex: none; display: grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #6e6e73; cursor: pointer; transition: background .2s, color .2s; }
.km-cmpbar-item button:hover { background: #e9dfcf; color: #1d1d1f; }
.km-cmpbar-slot { display: flex; border: 1.5px dashed rgba(0, 0, 0, .14); transition: border-color .2s; }
.km-cmpbar-slot:has(.km-cmpbar-add:hover), .km-cmpbar-slot:has(.km-cmpbar-add[aria-expanded="true"]) { border-color: var(--gold); border-style: solid; }
.km-cmpbar-add { flex: 1; display: flex; align-items: center; justify-content: center; gap: 9px; min-width: 0; padding: 0 12px; border: 0; border-radius: 12px; background: transparent; font: inherit; font-size: 14.5px; font-weight: 500; color: #6e6e73; cursor: pointer; transition: background .2s, color .2s; }
.km-cmpbar-add:hover, .km-cmpbar-add[aria-expanded="true"] { background: #f6f1e9; color: #1d1d1f; }
.km-cmpbar-add:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.km-cmpbar-plus { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .1), 0 2px 6px -2px rgba(0, 0, 0, .15); color: #1d1d1f; transition: transform .25s var(--ease), background .2s; }
.km-cmpbar-add:hover .km-cmpbar-plus { background: var(--gold-light); }
.km-cmpbar-add[aria-expanded="true"] .km-cmpbar-plus { transform: rotate(45deg); background: var(--gold-light); }
.km-cmpbar-add-text { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.km-cmpbar-pick {
  position: absolute; bottom: calc(100% + 12px); z-index: 2; width: min(420px, calc(100vw - 32px)); max-height: min(64vh, 520px); overflow: auto; overscroll-behavior: contain;
  padding: 18px 18px 16px; border-radius: 22px; background: #fff;
  box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .35), 0 0 0 1px rgba(0, 0, 0, .06); animation: km-cmp-in .25s var(--ease);
}
.km-cmpbar-pick[hidden] { display: none; }
.km-cmpbar-pick-title { margin: 0 0 14px; font-family: var(--serif); font-size: 19px; color: #1d1d1f; }
.km-cmpbar-pick-group + .km-cmpbar-pick-group { margin-top: 14px; }
.km-cmpbar-pick-group > p { margin: 0 0 8px; font-size: 11.5px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-text); }
.km-cmpbar-pick-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.km-cmpbar-opt { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; padding: 6px 10px 6px 6px; border: 1px solid transparent; border-radius: 13px; background: #f6f1e9; font: inherit; font-size: 15px; color: #1d1d1f; text-align: left; cursor: pointer; transition: background .2s, border-color .2s; }
.km-cmpbar-opt img { flex: none; width: 56px; height: 38px; object-fit: contain; mix-blend-mode: multiply; }
.km-cmpbar-opt span { flex: 1; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-family: var(--serif); }
.km-cmpbar-opt:hover { background: #eee4d5; border-color: rgba(200, 164, 108, .5); }
.km-cmpbar-opt:focus-visible { outline: 2px solid var(--gold); outline-offset: 1px; }
.km-cmpbar-opt[aria-disabled="true"] { cursor: default; background: #fff; border-color: rgba(0, 0, 0, .08); color: #86868b; }
.km-cmpbar-opt[aria-disabled="true"] img { opacity: .5; }
.km-cmpbar-opt i { flex: none; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--gold-light); color: #1d1d1f; }
.km-cmpbar-opt i svg { width: 13px; height: 13px; }
.km-cmpbar-actions { flex: none; display: flex; align-items: center; gap: 8px; }
.km-cmpbar-clear { display: inline-flex; align-items: center; gap: 6px; height: 46px; padding: 0 16px; border: 1px solid rgba(0, 0, 0, .12); border-radius: 980px; background: #fff; font: inherit; font-size: 14.5px; font-weight: 500; color: #1d1d1f; cursor: pointer; transition: border-color .2s; }
.km-cmpbar-clear:hover { border-color: rgba(0, 0, 0, .3); }
.km-cmpbar-go { display: inline-flex; align-items: center; gap: 10px; height: 46px; padding: 0 20px; border-radius: 980px; background: #1d1d1f; color: #fff; text-decoration: none; font-size: 15px; font-weight: 500; transition: background .25s; }
.km-cmpbar-go:hover { background: #000; }
.km-cmpbar-go.is-one { opacity: .55; }
.km-cmpbar-n { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 6px; background: var(--gold-light, #e3c891); color: #1d1d1f; font-size: 12.5px; font-weight: 600; }
.km-cmpbar-note { position: absolute; left: 50%; bottom: calc(100% + 10px); transform: translate(-50%, 6px); margin: 0; padding: 10px 16px; border-radius: 12px; background: #1d1d1f; color: #fff; font-size: 14px; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s var(--ease); }
.km-cmpbar-note.is-on { opacity: 1; transform: translate(-50%, 0); }
@keyframes km-cmp-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (max-width: 1000px) {  /* smalt: bare bildene i linja */
  body.km-cmp-on { padding-bottom: 76px; }
  .km-cmpbar-in { gap: 10px; padding-top: 10px; padding-bottom: 10px; }
  .km-cmpbar-item, .km-cmpbar-slot { flex: 0 0 52px; height: 52px; padding: 4px; }
  .km-cmpbar-item span, .km-cmpbar-clear span, .km-cmpbar-go-text { display: none; }
  .km-cmpbar-item { position: relative; }
  .km-cmpbar-item img { width: 44px; height: 44px; }
  .km-cmpbar-item button { position: absolute; top: -6px; right: -6px; width: 22px; height: 22px; background: #1d1d1f; color: #fff; }
  .km-cmpbar-clear { width: 46px; padding: 0; justify-content: center; }
  .km-cmpbar-go { padding: 0 16px; }
  .km-cmpbar-note { white-space: normal; width: calc(100vw - 32px); text-align: center; }
  .km-cmpbar-add { padding: 0; }
  .km-cmpbar-add-text { display: none; }
  .km-cmpbar-pick { left: 16px !important; right: 16px; width: auto; }
}
@media (prefers-reduced-motion: reduce) { .km-cmpbar, .km-cmpbar-item { transition: none; animation: none; } }

/* Siden */
.cmpx { padding: 120px 0 clamp(56px, 7vw, 100px); }
.cmpx-top { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 18px 0 22px; flex-wrap: wrap; }
.cmpx-h1 { margin: 6px 0 6px; }
.cmpx-count { color: var(--ap-soft); font-size: 15px; }
.cmpx-tools { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; padding: 12px 14px; margin-bottom: 16px; border-radius: 16px; background: var(--ap-grey, #f5f5f7); }
.cmpx-tools[hidden] { display: none; }
.cmpx-tools-end { display: flex; gap: 8px; }
.cmpx-tool { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 16px; border: 1px solid rgba(0, 0, 0, .1); border-radius: 980px; background: #fff; font: inherit; font-size: 14px; font-weight: 500; color: #1d1d1f; cursor: pointer; transition: border-color .2s; }
.cmpx-tool:hover { border-color: rgba(0, 0, 0, .3); }
.cmpx-switch { display: inline-flex; align-items: center; gap: 10px; font-size: 14.5px; font-weight: 500; cursor: pointer; user-select: none; }
.cmpx-switch input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cmpx-switch-track { position: relative; width: 42px; height: 26px; border-radius: 99px; background: #d2d2d7; transition: background .25s; }
.cmpx-switch-track::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .2); transition: transform .25s var(--ease); }
.cmpx-switch input:checked + .cmpx-switch-track { background: #1d1d1f; }
.cmpx-switch input:checked + .cmpx-switch-track::after { transform: translateX(16px); }
.cmpx-switch input:focus-visible + .cmpx-switch-track { outline: 2px solid var(--gold); outline-offset: 2px; }
.cmpx-note { min-height: 0; margin: 0; font-size: 14px; color: var(--gold-text); opacity: 0; transition: opacity .25s; }
.cmpx-note.is-on { opacity: 1; margin-bottom: 12px; }
.cmpx-scroll[hidden], .cmpx-empty[hidden] { display: none; }
.cmpx-scroll { overflow-x: auto; border-radius: 22px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); -webkit-overflow-scrolling: touch; }
.cmpx-table { width: 100%; min-width: calc(200px + var(--cols, 2) * 220px); border-collapse: separate; border-spacing: 0; table-layout: fixed; background: #fff; }
.cmpx-table .cmpx-col:not(.is-on) { display: none; }
.cmpx-table [data-cmp-addcol][hidden] { display: none; }
.cmpx-corner, .cmpx-table tbody th { width: 200px; }
.cmpx-table thead th, .cmpx-corner { vertical-align: top; padding: 20px 16px 22px; border-bottom: 1px solid rgba(0, 0, 0, .08); background: #fff; }
.cmpx-table thead th, .cmpx-row th, .cmpx-row td { text-transform: none; letter-spacing: normal; font-size: inherit; font-weight: 400; color: #1d1d1f; }
.cmpx-head { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; }
.cmpx-remove { position: absolute; top: -6px; right: -6px; z-index: 1; display: grid; place-items: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: #f6f1e9; color: #6e6e73; cursor: pointer; transition: background .2s, color .2s; }
.cmpx-remove:hover { background: #1d1d1f; color: #fff; }
.cmpx-img { display: block; width: 100%; margin-bottom: 4px; }
.cmpx-img img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.cmpx-name { font-family: var(--serif); font-size: 24px; letter-spacing: -.02em; color: #1d1d1f; text-decoration: none; }
.cmpx-tag { font-family: var(--accent); font-style: italic; font-size: 15px; line-height: 1.3; color: var(--logo-gold); font-weight: 400; }
.cmpx-from { font-size: 14px; font-weight: 500; color: #1d1d1f; }
.cmpx-go { margin-top: 6px; }
.cmpx-build { font-size: 13.5px; font-weight: 500; color: var(--gold-text); text-decoration: none; }
.cmpx-build:hover { text-decoration: underline; text-underline-offset: 3px; }
.cmpx-addcol { vertical-align: middle; }
.cmpx-add { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 260px; padding: 18px; border: 1.5px dashed rgba(0, 0, 0, .14); border-radius: 18px; text-align: center; }
.cmpx-add-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #f6f1e9; color: var(--gold-text); }
.cmpx-add label { font-size: 15px; font-weight: 500; }
.cmpx-add select { width: 100%; max-width: 200px; height: 42px; padding: 0 36px 0 14px; border: 1px solid rgba(0, 0, 0, .14); border-radius: 12px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e6e73' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center / 16px; font: inherit; font-size: 14.5px; color: #1d1d1f; appearance: none; cursor: pointer; }
.cmpx-table .cmpx-group th { position: static; width: auto; padding: 14px 16px 10px; background: #1d1d1f; color: #fff; text-align: left; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.cmpx-row th, .cmpx-row td { padding: 14px 16px; border-bottom: 1px solid rgba(0, 0, 0, .06); text-align: left; vertical-align: top; font-size: 14.5px; }
.cmpx-row th { font-weight: 500; color: #1d1d1f; vertical-align: middle; }
.cmpx-row th .cmp-row-icon { display: inline-grid; vertical-align: middle; margin: -4px 10px -4px 0; }
.cmpx-row:nth-child(even) th, .cmpx-row:nth-child(even) td { background: #fbf8f3; }
.cmpx-table tbody th, .cmpx-corner { position: sticky; left: 0; z-index: 1; background: #fff; }
.cmpx-price { font-family: var(--serif); font-size: 19px; color: #1d1d1f; }
.cmpx-size { display: block; margin-top: 4px; font-size: 13px; color: var(--ap-soft); }
.cmpx-table.only-diff .cmpx-row.is-same { display: none; }
.cmpx-empty { padding: clamp(24px, 4vw, 44px); border-radius: 24px; background: var(--ap-grey); }
.cmpx-empty-title { font-family: var(--serif); font-size: 26px; letter-spacing: -.02em; }
.cmpx-empty-text { margin-top: 6px; max-width: 560px; color: var(--ap-soft); }
.cmpx-picks { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; }
.cmpx-pick { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 12px 12px 14px; border-radius: 18px; background: #fff; }
.cmpx-pick-img img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.cmpx-pick strong { margin-top: 6px; font-family: var(--serif); font-weight: 400; font-size: 18px; }
.cmpx-pick > span:not(.cmpx-pick-img) { font-size: 13px; color: var(--ap-soft); }
.cmpx-pick-btn { margin-top: 10px; height: 36px; padding: 0 16px; border: 0; border-radius: 980px; background: #1d1d1f; color: #fff; font: inherit; font-size: 13.5px; font-weight: 500; cursor: pointer; }
.cmpx-pick-btn[aria-pressed="true"] { background: #f6f1e9; color: #1d1d1f; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
@media (max-width: 760px) {
  .cmpx { padding-top: 96px; }
  .cmpx-corner, .cmpx-table tbody th { width: 128px; }
  .cmpx-table { min-width: calc(128px + var(--cols, 2) * 170px); }
  .cmpx-row th { font-size: 13px; }
  .cmpx-row th .cmp-row-icon { display: none; }
  .cmpx-name { font-size: 19px; }
  .cmpx-tag { display: none; }
}

/* Favorittene i skuffen */
.kmc-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 10px; }
.kmc-btn { display: inline-flex; align-items: center; min-height: 36px; padding: 0 16px; border: 0; border-radius: 980px; background: #1d1d1f; color: #fff; font: inherit; font-size: 14px; font-weight: 500; text-decoration: none; cursor: pointer; transition: background .25s; }
.kmc-btn:hover { background: #000; }
.kmc-note { margin: 0; padding: 14px 24px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid #ececf0; background: #fbfbfd; font-size: 13px; color: #86868b; text-align: center; }

/* =========================================================
   MINIHANDLEKURVEN: skuffen fra høyre (app.js og pluginen Kitchamore Forhåndsbestilling)
   ========================================================= */
html.kmc-open { overflow: hidden; }
.kmc { position: fixed; inset: 0; z-index: 200; }
.kmc[hidden] { display: none; }
.kmc-backdrop { position: absolute; inset: 0; background: rgba(10, 10, 12, .38); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .35s var(--ease); }
.kmc-panel {
  position: absolute; top: 0; right: 0; bottom: 0; display: flex; flex-direction: column; width: min(460px, 100%);
  background: #fff; color: #1d1d1f; box-shadow: -24px 0 60px -20px rgba(0, 0, 0, .35); outline: none;
  transform: translateX(104%); transition: transform .5s cubic-bezier(.2, .8, .2, 1); font-family: var(--sans);
}
.kmc.is-open .kmc-backdrop { opacity: 1; }
.kmc.is-open .kmc-panel { transform: none; }
.kmc-body { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.kmc-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px 14px 24px; border-bottom: 1px solid #ececf0; }
.kmc-head h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-family: var(--serif); font-size: 22px; font-weight: 400; letter-spacing: -.02em; }
.kmc-count { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; border-radius: 99px; background: #f0f0f3; font-family: var(--sans); font-size: 13px; font-weight: 600; }
.kmc-close { display: grid; place-items: center; width: 44px; height: 44px; margin-right: -8px; border: 0; border-radius: 50%; background: none; color: inherit; cursor: pointer; transition: background .2s; }
.kmc-close:hover { background: #f4ede2; }
.kmc-added { display: flex; align-items: center; gap: 8px; margin: 14px 20px 0; padding: 11px 14px; border-radius: 14px; background: #eef6ee; color: #25562a; font-size: 14.5px; font-weight: 500; animation: kmc-in .5s var(--ease) both; }
.kmc-items { flex: 1; overflow-y: auto; overscroll-behavior: contain; margin: 0; padding: 8px 20px; list-style: none; }
.kmc-item { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 16px; padding: 16px 0; border-bottom: 1px solid #f0f0f3; transition: opacity .25s; }
.kmc-item:last-child { border-bottom: 0; }
.kmc-item.is-new { animation: kmc-in .6s var(--ease) both; }
.kmc-item.is-busy { opacity: .45; pointer-events: none; }
.kmc-media .cfg-photo, .kmc-media img { display: block; width: 100%; height: auto; border-radius: 14px; background: #f6f1e9; }
.kmc-top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 4px; }
.kmc-name { margin: 0; font-family: var(--serif); font-size: 17px; letter-spacing: -.01em; line-height: 1.25; }
.kmc-meta { margin: 0 0 10px; font-size: 13px; line-height: 1.45; color: #6e6e73; }
.kmc-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.kmc-link { padding: 0; border: 0; background: none; color: #6e6e73; font: inherit; font-size: 13.5px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.kmc-link:hover { color: #1d1d1f; }
.kmc-price { margin: 0; white-space: nowrap; font-family: var(--serif); font-size: 17px; }
.kmc-foot { padding: 16px 24px calc(18px + env(safe-area-inset-bottom)); border-top: 1px solid #ececf0; background: #fbfbfd; }
.kmc-sum { display: grid; gap: 6px; margin: 0 0 16px; font-size: 14px; }
.kmc-sum > div { display: flex; justify-content: space-between; gap: 12px; color: #6e6e73; }
.kmc-sum dd { margin: 0; color: #1d1d1f; }
.kmc-sum .kmc-now { align-items: flex-end; margin-top: 6px; padding-top: 12px; border-top: 1px solid #e3e3e8; color: #1d1d1f; font-weight: 600; font-size: 16px; }
.kmc-sum .kmc-now small { display: block; font-size: 12.5px; font-weight: 400; color: #6e6e73; }
.kmc-sum .kmc-now dd { font-family: var(--serif); font-size: 26px; font-weight: 400; letter-spacing: -.02em; }
.kmc-cta { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 56px; border-radius: 980px; background: #1d1d1f; color: #fff; font-size: 16.5px; font-weight: 500; text-decoration: none; transition: background .25s, transform .25s var(--ease); }
.kmc-cta:hover { background: #000; transform: translateY(-1px); }
.kmc-more { display: flex; justify-content: center; gap: 22px; margin-top: 12px; }
.kmc-trust { margin: 12px 0 0; text-align: center; font-size: 12.5px; color: #86868b; }
.kmc-empty { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 20px 24px 24px; }
.kmc-empty-hero { display: flex; flex-direction: column; align-items: center; padding: 30px 24px 26px; border-radius: 22px; background: linear-gradient(160deg, #f7f3ec, #f6f1e9 70%); text-align: center; }
.kmc-empty-ic { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 16px; border-radius: 50%; background: #fff; color: #8a6a36; box-shadow: 0 6px 20px -8px rgba(138, 106, 54, .45); }
.kmc-empty-title { margin: 0 0 8px; font-family: var(--serif); font-size: 23px; letter-spacing: -.02em; color: #1d1d1f; }
.kmc-empty-text { margin: 0 0 20px; max-width: 30ch; font-size: 14.5px; line-height: 1.5; color: #6e6e73; }
.kmc-empty .kmc-cta { width: auto; min-height: 50px; padding: 0 28px; font-size: 15.5px; }
.kmc-sub { margin: 26px 0 8px; font-size: 12px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: #8a6a36; }
.kmc-suggest { margin: 0; padding: 0; list-style: none; }
.kmc-suggest a { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto 16px; align-items: center; gap: 14px; padding: 10px 8px; margin: 0 -8px; border-radius: 16px; color: inherit; text-decoration: none; transition: background .2s; }
.kmc-suggest a:hover { background: #f6f1e9; }
.kmc-suggest li + li { border-top: 1px solid #f0f0f3; }
.kmc-sg-img { display: block; border-radius: 12px; background: #f6f1e9; overflow: hidden; }
.kmc-sg-img img { display: block; width: 100%; height: auto; mix-blend-mode: multiply; }
.kmc-sg-text strong { display: block; font-family: var(--serif); font-size: 16px; font-weight: 400; letter-spacing: -.01em; }
.kmc-sg-text small { display: block; margin-top: 1px; font-size: 12.5px; color: #86868b; }
.kmc-sg-price { font-size: 13.5px; color: #424245; white-space: nowrap; }
.kmc-sg-chev { color: #b8b8bd; }
.kmc-all { display: block; margin-top: 14px; text-align: center; font-size: 14px; color: #8a6a36; text-decoration: underline; text-underline-offset: 3px; }
.kmc-body > .kmc-trust { margin: 0; padding: 14px 24px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid #ececf0; background: #fbfbfd; }
.kmc-error { margin: 20px 24px; padding: 16px 18px; border-radius: 14px; background: #fdf0ef; color: #1d1d1f; font-size: 15px; line-height: 1.5; }
.kmc-error a { color: #8a6a36; }
.kmc-loading { flex: 1; display: grid; place-items: center; }
.kmc-loading::after { content: ""; width: 28px; height: 28px; border-radius: 50%; border: 2px solid #e3e3e8; border-top-color: #1d1d1f; animation: kmc-spin .8s linear infinite; }
@keyframes kmc-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes kmc-spin { to { transform: rotate(360deg); } }
@media (max-width: 520px) {
  .kmc-panel { width: 100%; }
  .kmc-item { grid-template-columns: 84px minmax(0, 1fr); gap: 14px; }
  .kmc-head, .kmc-foot { padding-left: 20px; padding-right: 20px; }
}
@media (prefers-reduced-motion: reduce) { .kmc-panel, .kmc-backdrop { transition: none; } .kmc-item.is-new, .kmc-added { animation: none; } }

/* Antallsvelgeren (− antall +): i skuffen, handlekurven og kassen */
.kms-stepper { display: inline-flex; align-items: center; height: 36px; border-radius: 99px; background: #f0f0f3; }
.kms-stepper button { display: grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: none; color: #1d1d1f; cursor: pointer; transition: background .2s; }
.kms-stepper button:hover:not(:disabled) { background: #ebe1d1; }
.kms-stepper button:disabled { color: #b8b8bd; cursor: default; }
.kms-stepper output { min-width: 22px; text-align: center; font-size: 14.5px; font-weight: 600; }

/* Uten betaling i nettbutikken (WordPress setter km-mode-request): det som bare gjelder kjøp, skjules,
   og teksten for forespørsel ([data-req]) vises i stedet */
.km-mode-request [data-noreq], body:not(.km-mode-request) [data-req] { display: none !important; }


/* ---------- Gullknappene: alle «Sett meg på ventelisten» og «Bygg ditt utekjøkken» (kit.gold_ctas). Fast lys beige, uten gradient ---------- */
.km-gold, .km-gold:visited, .woocommerce .return-to-shop .button {
  background: var(--gold-light) !important; color: #1d1d1f !important; border: 0 !important;
  box-shadow: 0 14px 34px -18px rgba(200, 164, 108, .75) !important;
  transition: background-color .3s, transform .3s var(--ease), box-shadow .3s !important;
}
.km-gold:hover, .km-gold:focus-visible, .woocommerce .return-to-shop .button:hover {
  background: var(--gold-light-hover) !important; color: #1d1d1f !important; transform: translateY(-1px);
  box-shadow: 0 18px 40px -16px rgba(200, 164, 108, .9) !important;
}

/* ---------- Nyhetsbrev: avkrysning på alle skjemaene (home_apple.newsletter_box) ---------- */
.km-news { position: relative; display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-size: 14px; line-height: 1.45; text-align: left; }
.km-news input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.km-news-box { flex: none; display: grid; place-items: center; width: 22px; height: 22px; margin-top: 1px; border-radius: 7px; background: #fff; box-shadow: inset 0 0 0 1.5px rgba(0, 0, 0, .25); color: transparent; transition: background .2s, box-shadow .2s, color .2s; }
.km-news input:checked + .km-news-box { background: #1d1d1f; box-shadow: none; color: #fff; }
.km-news input:focus-visible + .km-news-box { outline: 2px solid var(--gold); outline-offset: 2px; }
.km-news-text { color: var(--ap-soft, #6e6e73); }
/* På mørk bakgrunn (ventelisten) */
.wl .km-news-box { background: rgba(0, 0, 0, .35); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .3); }
.wl .km-news input:checked + .km-news-box { background: var(--gold-light); color: #1d1d1f; box-shadow: none; }
.wl .km-news-text { color: #a1a1a6; }

/* Sammenlign i bunnteksten: mindre knapp i høyre hjørne av bildet */
.km-cmp--sm { top: 8px; right: 8px; width: 34px; height: 34px; }
.km-cmp--sm svg { width: 16px; height: 16px; }

/* ---------- Forespørselen og kassen: enkel header og footer (færre veier ut, mer tillit) ---------- */
.hdr-secure { display: none; }
:is(body.page-rq, body.woocommerce-checkout) :is(.nav, .hdr-end, .menu-toggle, .mega, .mobile-nav, .sticky-cta, .km-cmpbar) { display: none !important; }
:is(body.page-rq, body.woocommerce-checkout) .hdr-secure { display: flex; align-items: center; gap: 22px; margin: 0 0 0 auto; font-size: 13.5px; color: var(--ap-soft, #6e6e73); }
.hdr-secure-lock { display: inline-flex; align-items: center; gap: 7px; font-weight: 500; color: #1d1d1f; }
.hdr-secure-lock svg { color: var(--gold-text); }
.hdr-secure-help { color: inherit; text-decoration: none; }
.hdr-secure-help:hover { color: var(--gold-text); text-decoration: underline; text-underline-offset: 3px; }
:is(body.page-rq, body.woocommerce-checkout) :is(.ft-hero, .ft-models, .ft-cols, .ft-trust, .ft-word) { display: none !important; }
:is(body.page-rq, body.woocommerce-checkout) .ft { padding-top: 0; }
:is(body.page-rq, body.woocommerce-checkout) .ft-bottom { border-top: 1px solid rgba(0, 0, 0, .07); }
@media (max-width: 640px) { .hdr-secure-help { display: none; } }
