/* ==========================================================================
   Kunstbanken 360 – lag (utstillinger), bobler og redigeringsskall
   ========================================================================== */
:root {
  --kb-gronn: #6aa632;
  --kb-mork: #16181b;
  --kb-kort: #ffffff;
  --kb-tekst: #1d1f22;
  --kb-dempet: #6b7078;
  --kb-linje: #e3e5e8;
  --kb-radius: 14px;
  --kb-skygge: 0 12px 40px rgba(0, 0, 0, .35);
}

/* ---------- Utstillingsvelger ---------- */
.kb-lagvelger {
  position: fixed; top: max(12px, env(safe-area-inset-top)); left: 50%; transform: translateX(-50%);
  z-index: 115; display: none; align-items: center; gap: 6px;
}
.kb-lagvelger.synlig { display: flex; }
/* Inne i toppmenyen står velgeren ved siden av «Gå til rom» */
.kb-toppmeny .kb-lagvelger { position: relative; top: auto; left: auto; transform: none; }
.kb-lagknapp {
  display: flex; align-items: center; gap: 8px; border: 0; cursor: pointer;
  background: rgba(22, 24, 27, .78); color: #fff; padding: 8px 14px; border-radius: 999px;
  font: 600 13px/1.2 system-ui, -apple-system, sans-serif; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  max-width: min(420px, calc(100vw - 260px));
}
.kb-lagknapp small { font-weight: 500; opacity: .7; }
.kb-lagknapp span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-lagknapp svg { width: 14px; height: 14px; fill: #fff; flex: none; }
.kb-lagmeny {
  position: absolute; top: calc(100% + 6px); left: 50%; transform: translateX(-50%);
  background: var(--kb-kort); color: var(--kb-tekst); border-radius: var(--kb-radius); box-shadow: var(--kb-skygge);
  min-width: 280px; max-width: calc(100vw - 32px); padding: 6px; display: none;
}
.kb-lagmeny.apen { display: block; }
.kb-lagmeny button {
  display: block; width: 100%; text-align: left; border: 0; background: none; cursor: pointer;
  padding: 10px 12px; border-radius: 10px; font: 14px/1.3 system-ui, sans-serif; color: inherit;
}
.kb-lagmeny button:hover, .kb-lagmeny button.valgt { background: #f1f4ee; }
.kb-lagmeny button small { display: block; color: var(--kb-dempet); font-size: 12px; margin-top: 2px; }
.kb-lagmeny hr { border: 0; border-top: 1px solid var(--kb-linje); margin: 4px 0; }

/* ---------- Punkter i rommet ---------- */
.kb-punkt {
  width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; cursor: pointer;
  background: var(--kb-gronn); border: 2px solid #fff; box-shadow: 0 2px 10px rgba(0, 0, 0, .4);
  animation: kb-puls 2.4s infinite; transition: transform .15s;
}
.kb-punkt:hover { transform: scale(1.12); }
.kb-punkt svg { width: 20px; height: 20px; fill: #fff; }
.kb-punkt.utkast { background: #9aa0a6; }
@keyframes kb-puls {
  0% { box-shadow: 0 0 0 0 rgba(106, 166, 50, .6), 0 2px 10px rgba(0, 0, 0, .4); }
  70% { box-shadow: 0 0 0 14px rgba(106, 166, 50, 0), 0 2px 10px rgba(0, 0, 0, .4); }
  100% { box-shadow: 0 0 0 0 rgba(106, 166, 50, 0), 0 2px 10px rgba(0, 0, 0, .4); }
}

/* ---------- Boblen ---------- */
.kb-boble {
  position: fixed; z-index: 105; width: 360px; max-height: min(70vh, 640px); overflow: auto;
  background: var(--kb-kort); color: var(--kb-tekst); border-radius: var(--kb-radius); box-shadow: var(--kb-skygge);
  font: 15px/1.55 system-ui, -apple-system, "Segoe UI", sans-serif;
  opacity: 0; transform: scale(.15); transition: opacity .22s ease, transform .28s cubic-bezier(.2, .9, .3, 1.15);
  pointer-events: none;
}
.kb-boble.video { width: 520px; }
.kb-boble.apen { opacity: 1; transform: scale(1); pointer-events: auto; }
.kb-boble.utenfor { opacity: 0 !important; pointer-events: none !important; }
.kb-boble-lukk {
  position: sticky; top: 8px; float: right; margin: 8px 8px 0 0; width: 32px; height: 32px; border-radius: 50%;
  border: 0; background: rgba(0, 0, 0, .55); color: #fff; font-size: 20px; line-height: 1; cursor: pointer; z-index: 2;
}
.kb-boble-innhold { padding: 16px 18px 18px; }
.kb-boble h3 { margin: 0 0 2px; font-size: 19px; line-height: 1.25; }
.kb-boble .kunstner { color: var(--kb-dempet); font-weight: 600; margin-bottom: 10px; }
.kb-boble p { margin: 0 0 .8em; }
.kb-boble .kreditt { font-size: 12px; color: var(--kb-dempet); margin-top: 4px; }
.kb-boble audio { width: 100%; margin: 6px 0 12px; }
.kb-boble iframe.strom { display: block; width: 100%; border: 0; border-radius: 12px; margin: 6px 0 12px; background: #f2f2f2; }
.kb-boble .video { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 10px; overflow: hidden; margin: 4px 0 12px; }
.kb-boble .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kb-boble .video .mangler { position: absolute; inset: 0; display: grid; place-items: center; color: #aaa; font-size: 14px; text-align: center; padding: 1em; }
.kb-boble .forsidebilde { display: block; width: calc(100% + 36px); margin: -16px -18px 12px; max-height: 280px; object-fit: cover; border-radius: var(--kb-radius) var(--kb-radius) 0 0; }

/* Når en boble er åpen, skjules tittelen fra musepekeren */
body.kb-boble-apen .psv-tooltip { display: none !important; }

/* Galleri */
.kb-galleri { margin: -16px -18px 12px; }
.kb-galleri-hoved { position: relative; background: #111; border-radius: var(--kb-radius) var(--kb-radius) 0 0; overflow: hidden; }
.kb-galleri-hoved img { display: block; width: 100%; height: 260px; object-fit: contain; cursor: zoom-in; }
.kb-galleri-hoved button {
  position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border-radius: 50%;
  border: 0; background: rgba(255, 255, 255, .85); cursor: pointer; font-size: 18px;
}
.kb-galleri-hoved .forrige { left: 8px; }
.kb-galleri-hoved .neste { right: 8px; }
.kb-galleri-teller { position: absolute; bottom: 8px; right: 10px; background: rgba(0, 0, 0, .6); color: #fff; font-size: 12px; padding: 2px 8px; border-radius: 999px; }
.kb-galleri-tekst { padding: 8px 18px 0; font-size: 13px; }
.kb-galleri-rad { display: flex; gap: 6px; overflow-x: auto; padding: 8px 18px 2px; }
.kb-galleri-rad img { width: 56px; height: 56px; object-fit: cover; border-radius: 6px; cursor: pointer; opacity: .6; flex: none; }
.kb-galleri-rad img.valgt { opacity: 1; outline: 2px solid var(--kb-gronn); }

/* Fullskjerm for galleribilder */
.kb-lysboks { position: fixed; inset: 0; z-index: 300; background: rgba(0, 0, 0, .94); display: none; place-items: center; }
.kb-lysboks.apen { display: grid; }
.kb-lysboks figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.kb-lysboks img { max-width: 92vw; max-height: 84vh; object-fit: contain; }
.kb-lysboks figcaption { color: #ddd; font: 14px/1.4 system-ui, sans-serif; text-align: center; max-width: 80vw; }
.kb-lysboks figcaption .kreditt { color: #999; }
.kb-lysboks button { position: absolute; border: 0; cursor: pointer; background: rgba(255, 255, 255, .15); color: #fff; border-radius: 50%; width: 48px; height: 48px; font-size: 28px; line-height: 1; }
.kb-lysboks button:hover { background: rgba(255, 255, 255, .3); }
.kb-lysboks .lb-lukk { top: 16px; right: 16px; }
.kb-lysboks .lb-forrige { left: 16px; top: 50%; transform: translateY(-50%); }
.kb-lysboks .lb-neste { right: 16px; top: 50%; transform: translateY(-50%); }
.kb-lysboks.ett .lb-forrige, .kb-lysboks.ett .lb-neste { display: none; }
.kb-lysboks .lb-teller { position: absolute; top: 26px; left: 50%; transform: translateX(-50%); color: #ccc; font: 13px system-ui, sans-serif; }

/* Galleri etter video (ikke helt ut i kanten) */
.kb-galleri.etter { margin: 4px 0 12px; }
.kb-galleri.etter .kb-galleri-hoved { border-radius: 10px; }
.kb-galleri.etter .kb-galleri-tekst, .kb-galleri.etter .kb-galleri-rad { padding-left: 0; padding-right: 0; }
.kb-galleri-zoom { position: absolute; bottom: 8px; left: 10px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 14px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; pointer-events: none; }

/* Om utstillingen */
.kb-omlag h2 { margin: 0 0 .2em; }
.kb-omlag .undertittel { color: var(--kb-dempet); margin-bottom: 1em; }
.kb-omlag dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; font-size: 14px; }
.kb-omlag dt { font-weight: 600; }
.kb-omlag dd { margin: 0; }
.kb-omlag ul { padding-left: 1.2em; }

/* Mobil: boblen blir et ark nederst */
@media (max-width: 600px) {
  .kb-boble, .kb-boble.video {
    left: 0 !important; right: 0; top: auto !important; bottom: 0; width: 100%; max-height: 75vh;
    border-radius: var(--kb-radius) var(--kb-radius) 0 0; transform: translateY(100%); transform-origin: bottom center !important;
  }
  .kb-boble.apen { transform: translateY(0); }
  .kb-lagknapp { max-width: calc(100vw - 120px); }
  .kb-lagvelger:not(.kb-toppmeny .kb-lagvelger) { top: calc(max(12px, env(safe-area-inset-top)) + 58px); }
  .kb-lagknapp small { display: none; }
}

/* ==========================================================================
   Redigeringsskallet (glir inn fra høyre)
   ========================================================================== */
/* Mappefanen: stikker ut av skallets venstre kant, også når skallet er skjult */
.kb-skall-fane {
  position: absolute; left: -38px; top: 50%; transform: translateY(-50%); width: 38px; padding: 14px 0 12px;
  border: 0; border-radius: 12px 0 0 12px; background: var(--kb-gronn); color: #fff; cursor: pointer;
  display: flex; flex-direction: column; align-items: center; gap: 8px; box-shadow: -6px 0 18px rgba(0, 0, 0, .28);
  font: 600 13px/1 system-ui, sans-serif;
}
.kb-skall-fane .tekst { writing-mode: vertical-rl; transform: rotate(180deg); letter-spacing: .04em; }
.kb-skall-fane .pil { font-size: 20px; line-height: 1; transition: transform .3s; }
.kb-skall.apen .kb-skall-fane .pil { transform: rotate(180deg); }
.kb-skall-fane .prikk { width: 9px; height: 9px; border-radius: 50%; background: #f2c94c; box-shadow: 0 0 0 2px #fff; display: none; }
.kb-skall.endret .kb-skall-fane .prikk { display: block; }
.kb-skall-fane:hover { background: #5b9429; }
.kb-skall {
  position: fixed; top: 0; right: 0; bottom: 0; width: 400px; max-width: 100vw; z-index: 140;
  background: #fafbfa; color: var(--kb-tekst); box-shadow: -8px 0 30px rgba(0, 0, 0, .3);
  transform: translateX(100%); transition: transform .3s cubic-bezier(.2, .8, .2, 1);
  display: flex; flex-direction: column; font: 14px/1.45 system-ui, -apple-system, sans-serif;
}
.kb-skall.apen { transform: translateX(0); }
.kb-skall-topp { display: flex; align-items: center; gap: 8px; padding: 14px 16px; border-bottom: 1px solid var(--kb-linje); background: #fff; }
.kb-skall-topp h2 { flex: 1; margin: 0; font-size: 16px; }
.kb-skall-topp button { border: 0; background: #eef0ec; width: 32px; height: 32px; border-radius: 8px; font-size: 22px; cursor: pointer; line-height: 1; }
.kb-skall-kropp { flex: 1; overflow: auto; padding: 14px 16px 30px; }
.kb-skall section { background: #fff; border: 1px solid var(--kb-linje); border-radius: 12px; padding: 12px 14px; margin-bottom: 12px; }
.kb-skall h3 { margin: 0 0 8px; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--kb-dempet); }
.kb-skall label { display: block; font-weight: 600; font-size: 12px; margin: 8px 0 3px; }
.kb-skall input[type=text], .kb-skall input[type=password], .kb-skall input[type=number], .kb-skall input[type=url], .kb-skall textarea, .kb-skall select {
  width: 100%; box-sizing: border-box; border: 1px solid #cfd3d8; border-radius: 8px; padding: 8px 10px; font: inherit; background: #fff;
}
.kb-skall textarea { min-height: 90px; resize: vertical; }
.kb-skall .rad { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
.kb-skall .rad > * { flex: 1; }
.kb-skall .knapp {
  border: 0; border-radius: 8px; padding: 9px 12px; cursor: pointer; font: 600 13px/1 system-ui, sans-serif;
  background: var(--kb-gronn); color: #fff; flex: 0 0 auto;
}
.kb-skall .knapp.sekundar { background: #e9ece6; color: var(--kb-tekst); }
.kb-skall .knapp.fare { background: #fbe9e7; color: #b3261e; }
.kb-skall .knapp:disabled { opacity: .5; cursor: default; }
/* Lagreknapper: grå når alt er lagret, grønn når noe er endret */
.kb-skall .knapp { transition: background .25s, color .25s, box-shadow .25s; }
.kb-skall .knapp.noytral { background: #e9ece6; color: #6b7078; cursor: default; }
.kb-skall .knapp.lagrelag:not(.noytral), .kb-skall .knapp.lagrepunkt:not(.noytral) { box-shadow: 0 0 0 3px rgba(106, 166, 50, .25); }
.kb-skall .knapp.lagret { background: #e3f1d8; color: #2e7d32; }
.kb-skall .hint { color: var(--kb-dempet); font-size: 12px; margin-top: 4px; }
.kb-skall .melding { margin-top: 8px; font-size: 13px; }
.kb-skall .melding.ok { color: #2e7d32; }
.kb-skall .melding.feil { color: #b3261e; }
.kb-skall .typevalg { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.kb-skall .typevalg button { border: 1px solid #cfd3d8; background: #fff; border-radius: 8px; padding: 8px 4px; cursor: pointer; font: 600 12px system-ui, sans-serif; }
.kb-skall .typevalg button.valgt { border-color: var(--kb-gronn); background: #eef6e6; }
.kb-skall .punktliste { list-style: none; margin: 0; padding: 0; }
.kb-skall .punktliste li { display: flex; align-items: center; gap: 8px; padding: 8px 6px; border-radius: 8px; cursor: pointer; }
.kb-skall .punktliste li:hover { background: #f1f4ee; }
.kb-skall .punktliste .ikon { width: 26px; height: 26px; border-radius: 50%; background: var(--kb-gronn); display: grid; place-items: center; flex: none; }
.kb-skall .punktliste .ikon svg { width: 14px; height: 14px; fill: #fff; }
.kb-skall .bildeliste { display: grid; gap: 8px; margin-top: 6px; }
.kb-skall .bildeelement { display: grid; grid-template-columns: 64px 1fr auto; gap: 8px; align-items: start; border: 1px solid var(--kb-linje); border-radius: 8px; padding: 6px; }
.kb-skall .bildeelement img { width: 64px; height: 64px; object-fit: cover; border-radius: 6px; }
.kb-skall .bildeelement input { padding: 5px 7px !important; font-size: 12px !important; margin-bottom: 4px; }
.kb-skall .bildeelement .smaknapper { display: flex; flex-direction: column; gap: 3px; }
.kb-skall .bildeelement .smaknapper button { border: 0; background: #eef0ec; border-radius: 6px; cursor: pointer; width: 28px; height: 24px; }
.kb-skall .antall { font-weight: 400; color: var(--kb-dempet); }
/* Stor, tydelig flate for å legge til flere bilder */
.kb-skall .leggtil {
  display: flex; align-items: center; gap: 12px; margin-top: 8px; padding: 14px; cursor: pointer;
  border: 2px dashed #b9c7aa; border-radius: 10px; background: #f6faf2; font-weight: 400; font-size: 13px; transition: background .15s, border-color .15s;
}
.kb-skall .leggtil:hover, .kb-skall .leggtil.over { background: #eaf4df; border-color: var(--kb-gronn); }
.kb-skall .leggtil input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.kb-skall .leggtil .pluss { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--kb-gronn); color: #fff; font-size: 24px; display: grid; place-items: center; }
.kb-skall .leggtil small { color: var(--kb-dempet); }
.kb-skall .plassering { background: #fff8e1; border: 1px dashed #f2c94c; border-radius: 8px; padding: 8px 10px; margin-top: 8px; }
.kb-plasserer #viewer { cursor: crosshair !important; }
.kb-plasserer .psv-canvas-container { cursor: crosshair !important; }
.kb-plasseringshint {
  position: fixed; top: 70px; left: 50%; transform: translateX(-50%); z-index: 135; display: none;
  background: #f2c94c; color: #222; padding: 10px 16px; border-radius: 999px; font: 600 14px system-ui, sans-serif; box-shadow: var(--kb-skygge);
}
.kb-plasserer .kb-plasseringshint { display: block; }
@media (max-width: 600px) {
  .kb-skall { width: calc(100vw - 38px); }
}

/* ==========================================================================
   Kontoknapp (logg inn / logg ut) – under avsenderlogoen oppe til høyre
   ========================================================================== */
.kb-konto { position: fixed; top: calc(max(12px, env(safe-area-inset-top)) + 60px); right: 12px; z-index: 116; }
.kb-kontoknapp {
  position: relative; width: 36px; height: 36px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(22, 24, 27, .6); display: grid; place-items: center; opacity: .75;
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: opacity .2s, background .2s;
}
.kb-kontoknapp:hover, .kb-konto.innlogget .kb-kontoknapp { opacity: 1; background: rgba(22, 24, 27, .85); }
.kb-kontoknapp svg { width: 20px; height: 20px; fill: #fff; }
.kb-kontoprikk { position: absolute; right: 1px; bottom: 1px; width: 11px; height: 11px; border-radius: 50%; background: var(--kb-gronn); box-shadow: 0 0 0 2px #16181b; display: none; }
.kb-konto.innlogget .kb-kontoprikk { display: block; }
.kb-kontomeny {
  position: absolute; top: calc(100% + 6px); right: 0; min-width: 230px; display: none;
  background: var(--kb-kort); color: var(--kb-tekst); border-radius: 12px; box-shadow: var(--kb-skygge); padding: 6px;
  font: 14px/1.35 system-ui, -apple-system, sans-serif;
}
.kb-kontomeny.apen { display: block; }
.kb-kontomeny .hvem { padding: 8px 10px 10px; color: var(--kb-dempet); font-size: 13px; border-bottom: 1px solid var(--kb-linje); margin-bottom: 4px; }
.kb-kontomeny .hvem strong { color: var(--kb-tekst); word-break: break-all; }
.kb-kontomeny button { display: block; width: 100%; text-align: left; border: 0; background: none; padding: 9px 10px; border-radius: 8px; cursor: pointer; font: inherit; color: inherit; }
.kb-kontomeny button:hover { background: #f1f4ee; }
.kb-kontomeny button.ut { color: #b3261e; }
/* Når redigeringsskallet er åpent, ligger kontoknappen til venstre for det */
body:has(.kb-skall.apen) .kb-konto { right: 412px; }
@media (max-width: 600px) {
  .kb-konto { top: calc(max(12px, env(safe-area-inset-top)) + 40px); }
  body:has(.kb-skall.apen) .kb-konto { display: none; }
}

/* ==========================================================================
   Media arts: innslag (lyd/film med rolle) i boblene
   ========================================================================== */
.kb-innslagliste { display: grid; gap: 12px; margin: 10px 0 12px; }
.kb-innslag { border: 1px solid var(--kb-linje); border-radius: 12px; padding: 10px 12px 4px; background: #fafbf9; }
.kb-innslag .innslag-topp { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; margin-bottom: 6px; }
.kb-innslag .rolle { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--kb-gronn); }
.kb-innslag strong { font-size: 15px; }
.kb-innslag audio, .kb-innslag iframe.strom, .kb-innslag .video { margin: 4px 0 8px; }
.kb-innslag p { font-size: 14px; }

/* Om utstillingen: kunstnere og kunstnerisk team */
.kb-omlag h3.gruppe { margin: 1.4em 0 .6em; font-size: 13px; text-transform: uppercase; letter-spacing: .08em; color: var(--kb-dempet); }
.kb-personer { display: grid; grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); gap: 10px; }
.kb-person {
  display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 10px 6px; border-radius: 12px;
  border: 1px solid transparent; background: rgba(0, 0, 0, .03); cursor: pointer; font: inherit; color: inherit; text-align: center;
}
.kb-person:hover, .kb-person.valgt { border-color: var(--kb-gronn); background: rgba(106, 166, 50, .08); }
.kb-person .navn { font-weight: 600; font-size: 14px; line-height: 1.2; }
.kb-person .rolle { font-size: 12px; opacity: .7; }
.portrett { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; display: block; }
.portrett.stor { width: 120px; height: 120px; }
.portrett.initialer { display: grid; place-items: center; background: #dfe7d6; color: #3d5a24; font-weight: 700; font-size: 20px; }
.portrett.stor.initialer { font-size: 36px; }
.kb-persondetalj { margin-top: 16px; padding: 16px; border-radius: 14px; background: rgba(0, 0, 0, .04); display: flex; flex-direction: column; align-items: center; text-align: center; }
.kb-persondetalj h3 { margin: 10px 0 2px; }
.kb-persondetalj .rolletekst { opacity: .7; margin-bottom: 8px; }
.kb-persondetalj p { text-align: left; align-self: stretch; }
.kb-persondetalj .kb-innslag { align-self: stretch; text-align: left; color: var(--kb-tekst); }

/* ==========================================================================
   Redigering: lyd/film-innslag, personer og portretter
   ========================================================================== */
.kb-skall h4 { margin: 18px 0 6px; font-size: 13px; }
.kb-skall .innslagliste-red { display: grid; gap: 10px; margin: 8px 0; }
.kb-skall .innslagkort { border: 1px solid var(--kb-linje); border-left: 4px solid var(--kb-gronn); border-radius: 8px; padding: 8px 10px; background: #fcfdfb; display: grid; gap: 6px; }
.kb-skall .innslagkort.video { border-left-color: #c0392b; }
.kb-skall .innslag-hode { display: flex; align-items: center; gap: 8px; }
.kb-skall .innslag-hode .art { font-weight: 700; font-size: 12px; white-space: nowrap; }
.kb-skall .innslag-hode select { flex: 1; padding: 5px 7px !important; font-size: 12px !important; }
.kb-skall .smaknapper.vannrett { flex-direction: row; display: flex; gap: 3px; }
.kb-skall .innslagkort textarea { min-height: 54px; }
.kb-skall .filknapp { position: relative; overflow: hidden; }
.kb-skall .filknapp input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.kb-skall .portrettred { display: flex; align-items: center; gap: 12px; }
.kb-skall .portrettred > div { display: flex; flex-direction: column; gap: 6px; }
.kb-skall .personliste li { align-items: center; }
.kb-skall .personliste .portrett { width: 30px; height: 30px; font-size: 11px; flex: none; }
.kb-skall .personliste small { color: var(--kb-dempet); }

/* ==========================================================================
   SLØR: halvt gjennomsiktige, uskarpe flater i stedet for hvit bakgrunn
   (360-bildet skimtes bak alle informasjonsfelter)
   ========================================================================== */
:root {
  --kb-glass: rgba(20, 22, 26, .56);
  --kb-glass-sterk: rgba(20, 22, 26, .7);
  --kb-glass-flate: rgba(255, 255, 255, .07);
  --kb-glass-kant: rgba(255, 255, 255, .14);
  --kb-blur: blur(22px) saturate(150%);
  --kb-lysgronn: #a6d97a;
  --kb-kort: var(--kb-glass);
  --kb-tekst: #f2f3f1;
  --kb-dempet: rgba(255, 255, 255, .62);
  --kb-linje: rgba(255, 255, 255, .14);
  --kb-skygge: 0 18px 50px rgba(0, 0, 0, .38);
}

/* Bobler, menyer, konto */
.kb-boble, .kb-lagmeny, .kb-kontomeny {
  background: var(--kb-glass); color: var(--kb-tekst); color-scheme: dark;
  backdrop-filter: var(--kb-blur); -webkit-backdrop-filter: var(--kb-blur);
  border: 1px solid var(--kb-glass-kant); box-shadow: var(--kb-skygge);
}
.kb-lagmeny button:hover, .kb-lagmeny button.valgt, .kb-kontomeny button:hover { background: rgba(255, 255, 255, .1); }
.kb-kontomeny .hvem strong { color: #fff; }
.kb-kontomeny button.ut { color: #ff9a90; }
.kb-boble-lukk { background: rgba(255, 255, 255, .16); }
.kb-boble-lukk:hover { background: rgba(255, 255, 255, .28); }
.kb-galleri-hoved { background: rgba(0, 0, 0, .35); }
.kb-galleri-hoved button { background: rgba(20, 22, 26, .6); color: #fff; backdrop-filter: blur(6px); }
.kb-galleri-rad img.valgt { outline-color: var(--kb-lysgronn); }
.kb-innslag { background: var(--kb-glass-flate); border-color: var(--kb-glass-kant); }
.kb-innslag .rolle { color: var(--kb-lysgronn); }
.kb-boble a, .kb-omlag a { color: var(--kb-lysgronn); }

/* «Om utstillingen» (panelet fra 360-visningen) og personer */
.psv-panel { background: var(--kb-glass-sterk) !important; backdrop-filter: var(--kb-blur); -webkit-backdrop-filter: var(--kb-blur); border-left: 1px solid var(--kb-glass-kant); }
.kb-person { background: var(--kb-glass-flate); }
.kb-person:hover, .kb-person.valgt { background: rgba(166, 217, 122, .14); border-color: var(--kb-lysgronn); }
.kb-persondetalj { background: var(--kb-glass-flate); border: 1px solid var(--kb-glass-kant); }
.kb-persondetalj .kb-innslag { color: var(--kb-tekst); }
.portrett.initialer { background: rgba(166, 217, 122, .22); color: #dff3cc; }

/* Fullskjerm */
.kb-lysboks { background: rgba(10, 12, 14, .72); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }

/* Kontoknapp og pillene øverst: samme slør */
.kb-kontoknapp, .kb-lagknapp { backdrop-filter: var(--kb-blur); -webkit-backdrop-filter: var(--kb-blur); border: 1px solid var(--kb-glass-kant); }

/* Redigeringsskallet */
.kb-skall {
  background: var(--kb-glass-sterk); color: var(--kb-tekst); color-scheme: dark;
  backdrop-filter: var(--kb-blur); -webkit-backdrop-filter: var(--kb-blur);
  border-left: 1px solid var(--kb-glass-kant); box-shadow: -10px 0 40px rgba(0, 0, 0, .35);
}
.kb-skall-topp { background: rgba(255, 255, 255, .04); border-bottom-color: var(--kb-glass-kant); }
.kb-skall-topp button { background: rgba(255, 255, 255, .12); color: #fff; }
.kb-skall section { background: var(--kb-glass-flate); border-color: var(--kb-glass-kant); }
.kb-skall h3 { color: var(--kb-dempet); }
.kb-skall input[type=text], .kb-skall input[type=password], .kb-skall input[type=number], .kb-skall input[type=url], .kb-skall textarea, .kb-skall select {
  background: rgba(0, 0, 0, .28); border-color: rgba(255, 255, 255, .18); color: #fff;
}
.kb-skall input::placeholder, .kb-skall textarea::placeholder { color: rgba(255, 255, 255, .4); }
.kb-skall input:focus, .kb-skall textarea:focus, .kb-skall select:focus { outline: none; border-color: var(--kb-lysgronn); box-shadow: 0 0 0 3px rgba(166, 217, 122, .2); }
.kb-skall select option { background: #1e2024; color: #fff; }
.kb-skall .knapp.sekundar { background: rgba(255, 255, 255, .12); color: #fff; }
.kb-skall .knapp.sekundar:hover { background: rgba(255, 255, 255, .2); }
.kb-skall .knapp.noytral { background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .5); }
.kb-skall .knapp.fare { background: rgba(255, 110, 100, .16); color: #ff9a90; }
.kb-skall .knapp.lagret { background: rgba(106, 166, 50, .28); color: #c8ecaa; }
.kb-skall .punktliste li:hover { background: rgba(255, 255, 255, .08); }
.kb-skall .bildeelement { border-color: var(--kb-glass-kant); background: rgba(0, 0, 0, .15); }
.kb-skall .bildeelement .smaknapper button, .kb-skall .smaknapper button { background: rgba(255, 255, 255, .12); color: #fff; }
.kb-skall .leggtil { background: rgba(106, 166, 50, .1); border-color: rgba(166, 217, 122, .45); }
.kb-skall .leggtil:hover, .kb-skall .leggtil.over { background: rgba(106, 166, 50, .2); border-color: var(--kb-lysgronn); }
.kb-skall .plassering { background: rgba(242, 201, 76, .1); border-color: rgba(242, 201, 76, .45); }
.kb-skall .innslagkort { background: rgba(255, 255, 255, .05); border-color: var(--kb-glass-kant); }
.kb-skall .melding.ok { color: var(--kb-lysgronn); }
.kb-skall .melding.feil { color: #ff9a90; }
.kb-skall details summary { color: var(--kb-tekst); }

/* Når skallet er åpent, sentreres toppmenyen i den synlige delen av bildet */
body:has(.kb-skall.apen) .kb-toppmeny { left: calc((100vw - 400px) / 2); }
@media (max-width: 600px) { body:has(.kb-skall.apen) .kb-toppmeny { display: none; } }
.kb-toppmeny { transition: left .3s cubic-bezier(.2, .8, .2, 1); }
/* «Om utstillingen»-panelet legger seg til venstre for redigeringsskallet når det er åpent */
body:has(.kb-skall.apen) .psv-panel { right: 400px !important; }
@media (max-width: 600px) { body:has(.kb-skall.apen) .psv-panel { right: 0 !important; } }

/* ==========================================================================
   UTFORSK – meny med to valg og overlegg med slør
   ========================================================================== */
.kb-utforsk { position: relative; display: none; }
.kb-utforsk.synlig { display: block; }
.kb-utforskknapp {
  display: flex; align-items: center; gap: 6px; border: 1px solid rgba(166, 217, 122, .45); cursor: pointer;
  background: rgba(106, 166, 50, .78); color: #fff; padding: 8px 14px; border-radius: 999px;
  font: 700 13px/1.2 system-ui, -apple-system, sans-serif; letter-spacing: .02em;
  backdrop-filter: var(--kb-blur); -webkit-backdrop-filter: var(--kb-blur); box-shadow: 0 4px 18px rgba(0, 0, 0, .25);
}
.kb-utforskknapp:hover { background: rgba(106, 166, 50, .95); }
.kb-utforskknapp svg { width: 14px; height: 14px; fill: #fff; }
.kb-utforskmeny {
  position: absolute; top: calc(100% + 8px); right: 0; width: 300px; display: none; padding: 8px;
  background: var(--kb-glass); color: var(--kb-tekst); border: 1px solid var(--kb-glass-kant); border-radius: 16px;
  backdrop-filter: var(--kb-blur); -webkit-backdrop-filter: var(--kb-blur); box-shadow: var(--kb-skygge);
}
.kb-utforskmeny.apen { display: grid; gap: 4px; animation: kb-inn .18s ease-out; }
.kb-utforskmeny button {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; border: 0; cursor: pointer;
  background: none; color: inherit; padding: 10px; border-radius: 12px; font: 14px/1.3 system-ui, sans-serif;
}
.kb-utforskmeny button:hover { background: rgba(255, 255, 255, .1); }
.kb-utforskmeny .ikon { width: 40px; height: 40px; border-radius: 12px; background: rgba(106, 166, 50, .28); display: grid; place-items: center; flex: none; }
.kb-utforskmeny .ikon svg { width: 22px; height: 22px; fill: var(--kb-lysgronn); }
.kb-utforskmeny strong { display: block; font-size: 15px; }
.kb-utforskmeny small { color: var(--kb-dempet); font-size: 12px; }
@keyframes kb-inn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

/* Overlegget */
.kb-overlegg {
  position: fixed; inset: 0; z-index: 200; display: flex; justify-content: center; align-items: stretch;
  padding: max(24px, env(safe-area-inset-top)) 24px 24px;
  background: rgba(10, 12, 14, .42); backdrop-filter: blur(26px) saturate(140%); -webkit-backdrop-filter: blur(26px) saturate(140%);
  opacity: 0; pointer-events: none; transition: opacity .28s ease;
}
.kb-overlegg.apen { opacity: 1; pointer-events: auto; }
.kb-ov-ramme {
  width: min(1120px, 100%); display: flex; flex-direction: column; color: var(--kb-tekst);
  background: rgba(20, 22, 26, .5); border: 1px solid var(--kb-glass-kant); border-radius: 22px; box-shadow: 0 30px 80px rgba(0, 0, 0, .45);
  transform: translateY(14px) scale(.985); transition: transform .32s cubic-bezier(.2, .8, .2, 1); overflow: hidden;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}
.kb-overlegg.apen .kb-ov-ramme { transform: none; }
.kb-ov-topp { display: flex; align-items: center; gap: 20px; padding: 22px 26px 18px; border-bottom: 1px solid var(--kb-glass-kant); }
.kb-ov-tittel { flex: 1; min-width: 0; }
.kb-ov-tittel small { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; color: var(--kb-lysgronn); font-weight: 700; }
.kb-ov-tittel h2 { margin: 2px 0 2px; font-size: 26px; font-weight: 700; letter-spacing: .01em; }
.kb-ov-tittel .periode { color: var(--kb-dempet); font-size: 14px; }
.kb-ov-faner { display: flex; gap: 4px; padding: 4px; background: rgba(255, 255, 255, .08); border-radius: 999px; }
.kb-ov-faner button { border: 0; cursor: pointer; background: none; color: var(--kb-dempet); padding: 9px 18px; border-radius: 999px; font: 600 14px system-ui, sans-serif; white-space: nowrap; }
.kb-ov-faner button[aria-selected="true"] { background: rgba(255, 255, 255, .92); color: #16181b; }
.kb-ov-lukk { width: 42px; height: 42px; border-radius: 50%; border: 0; cursor: pointer; background: rgba(255, 255, 255, .12); color: #fff; font-size: 24px; line-height: 1; flex: none; }
.kb-ov-lukk:hover { background: rgba(255, 255, 255, .24); }
.kb-ov-innhold { flex: 1; overflow: auto; padding: 22px 26px 34px; }
.kb-ov-tom, .kb-ov-ingress { color: var(--kb-dempet); margin: 4px 0 18px; }

/* Kunstnere og team */
.kb-ov-gruppe + .kb-ov-gruppe { margin-top: 30px; padding-top: 24px; border-top: 1px solid var(--kb-glass-kant); }
.kb-ov-gruppe h3 { margin: 0 0 18px; font-size: 13px; text-transform: uppercase; letter-spacing: .14em; color: var(--kb-dempet); font-weight: 700; }
.kb-ov-personer { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 22px 16px; }
.kb-ov-personer.team { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
.kb-ov-person { display: flex; flex-direction: column; align-items: center; gap: 8px; border: 0; background: none; color: inherit; cursor: pointer; font: inherit; text-align: center; padding: 6px; }
.kb-ov-person .ring { padding: 4px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .18); transition: border-color .2s, transform .25s cubic-bezier(.2, .8, .2, 1); }
.kb-ov-person:hover .ring, .kb-ov-person:focus-visible .ring { border-color: var(--kb-lysgronn); transform: scale(1.05); }
.kb-ov-person .portrett { width: 132px; height: 132px; font-size: 36px; }
.kb-ov-personer.team .portrett { width: 104px; height: 104px; font-size: 28px; }
.kb-ov-person .navn { font-weight: 700; font-size: 15px; line-height: 1.2; }
.kb-ov-person .rolle { color: var(--kb-dempet); font-size: 13px; }

/* Personlig presentasjon */
.kb-ov-tilbake { border: 0; cursor: pointer; background: rgba(255, 255, 255, .1); color: #fff; padding: 8px 14px; border-radius: 999px; font: 600 13px system-ui, sans-serif; margin-bottom: 20px; }
.kb-ov-tilbake:hover { background: rgba(255, 255, 255, .2); }
.kb-ov-presentasjon { display: grid; grid-template-columns: 240px 1fr; gap: 34px; align-items: start; animation: kb-inn .25s ease-out; }
.kb-ov-presentasjon .portrett.stor { width: 220px; height: 220px; font-size: 56px; box-shadow: 0 16px 40px rgba(0, 0, 0, .4); }
.kb-ov-presentasjon .gruppe { text-transform: uppercase; letter-spacing: .12em; font-size: 11px; color: var(--kb-lysgronn); font-weight: 700; }
.kb-ov-presentasjon h3 { margin: 4px 0 2px; font-size: 30px; }
.kb-ov-presentasjon .rolletekst { color: var(--kb-dempet); margin-bottom: 16px; font-size: 16px; }
.kb-ov-presentasjon p { line-height: 1.65; font-size: 16px; max-width: 68ch; }
.kb-ov-presentasjon .kb-innslag { margin: 14px 0; max-width: 640px; }
.kb-ov-presentasjon h4 { margin: 26px 0 12px; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; color: var(--kb-dempet); }
.kb-ov-presentasjon a { color: var(--kb-lysgronn); }

/* Verkene */
.kb-ov-verk { columns: 4 230px; column-gap: 16px; }
.kb-ov-verk.sma { columns: 3 180px; }
.kb-ov-verkkort {
  position: relative; display: block; width: 100%; margin: 0 0 16px; break-inside: avoid; padding: 0; border: 0; cursor: pointer;
  border-radius: 14px; overflow: hidden; background: rgba(0, 0, 0, .3); color: #fff; text-align: left; font: inherit;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}
.kb-ov-verkkort img { display: block; width: 100%; height: auto; transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
.kb-ov-verkkort:hover img { transform: scale(1.04); }
.kb-ov-verkkort .tekst {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 36px 14px 12px; display: flex; flex-direction: column; gap: 2px;
  background: linear-gradient(transparent, rgba(0, 0, 0, .78));
}
.kb-ov-verkkort strong { font-size: 15px; }
.kb-ov-verkkort .tekst span { font-size: 13px; opacity: .85; }
.kb-ov-verkkort small { font-size: 12px; color: var(--kb-lysgronn); opacity: 0; transform: translateY(4px); transition: opacity .2s, transform .2s; }
.kb-ov-verkkort:hover small, .kb-ov-verkkort:focus-visible small { opacity: 1; transform: none; }
.kb-ov-verkkort .antall { position: absolute; top: 10px; right: 10px; background: rgba(20, 22, 26, .65); backdrop-filter: blur(8px); padding: 3px 9px; border-radius: 999px; font-size: 12px; }

/* Skjul toppmeny, konto og skall-fane bak overlegget */
body.kb-overlegg-apent .kb-toppmeny, body.kb-overlegg-apent .kb-konto { opacity: 0; pointer-events: none; }

@media (max-width: 700px) {
  .kb-overlegg { padding: 0; }
  .kb-ov-ramme { border-radius: 0; border: 0; }
  .kb-ov-topp { flex-wrap: wrap; gap: 12px; padding: max(16px, env(safe-area-inset-top)) 16px 14px; }
  .kb-ov-tittel h2 { font-size: 21px; }
  .kb-ov-faner { order: 3; width: 100%; }
  .kb-ov-faner button { flex: 1; padding: 9px 8px; font-size: 13px; }
  .kb-ov-innhold { padding: 18px 16px 30px; }
  .kb-ov-personer { grid-template-columns: repeat(2, 1fr); }
  .kb-ov-personer.team { grid-template-columns: repeat(3, 1fr); }
  .kb-ov-person .portrett { width: 110px; height: 110px; }
  .kb-ov-personer.team .portrett { width: 80px; height: 80px; font-size: 22px; }
  .kb-ov-presentasjon { grid-template-columns: 1fr; justify-items: center; gap: 16px; text-align: left; }
  .kb-ov-presentasjon .portrett.stor { width: 170px; height: 170px; }
  .kb-ov-verk { columns: 2 140px; column-gap: 10px; }
  .kb-ov-verkkort small { opacity: 1; transform: none; }
  .kb-utforskmeny { right: auto; left: 50%; transform: translateX(-50%); }
}

/* Spillere i innslag – likt overalt (boble, «Om utstillingen», overlegg) */
.kb-innslag .video { position: relative; width: 100%; aspect-ratio: 16 / 9; background: #000; border-radius: 10px; overflow: hidden; }
.kb-innslag .video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kb-innslag iframe.strom { display: block; width: 100%; border: 0; border-radius: 12px; }
.kb-innslag audio { width: 100%; }

/* Stående film (YouTube Shorts, 9:16) */
.kb-innslag .video.staende { aspect-ratio: 9 / 16; width: min(100%, 300px); max-height: 72vh; margin-left: auto; margin-right: auto; }
.kb-skall .formatvalg { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--kb-dempet); }
.kb-skall .formatvalg select { flex: 1; padding: 5px 7px !important; font-size: 12px !important; }

/* Knapper øverst i boblen: utvid og lukk */
.kb-boble-knapper { position: sticky; top: 8px; float: right; display: flex; gap: 6px; margin: 8px 8px 0 0; z-index: 3; }
.kb-boble-knapper .kb-boble-lukk { position: static; float: none; margin: 0; }
.kb-boble-utvid { width: 32px; height: 32px; border-radius: 50%; border: 0; cursor: pointer; background: rgba(255, 255, 255, .16); display: grid; place-items: center; }
.kb-boble-utvid:hover { background: rgba(255, 255, 255, .28); }
.kb-boble-utvid svg { width: 17px; height: 17px; fill: #fff; }
.kb-boble-utvid .tilbake, .kb-boble.utvidet .kb-boble-utvid .utvid { display: none; }
.kb-boble.utvidet .kb-boble-utvid .tilbake { display: block; }

/* Utvidet boble: nesten hele skjermen, med dempet bakgrunn */
.kb-boble.utvidet {
  left: 50% !important; top: 50% !important; right: auto; bottom: auto; transform: translate(-50%, -50%) !important;
  width: min(1100px, 94vw) !important; max-height: 92vh; font-size: 17px; z-index: 210;
  box-shadow: 0 0 0 100vmax rgba(8, 10, 12, .5), var(--kb-skygge);
  transition: width .3s cubic-bezier(.2, .8, .2, 1), opacity .22s;
}
.kb-boble.utvidet .kb-boble-innhold { padding: 22px 30px 30px; }
.kb-boble.utvidet h3 { font-size: 28px; }
.kb-boble.utvidet .kb-galleri { margin: -22px -30px 16px; }
.kb-boble.utvidet .kb-galleri-hoved img { height: min(62vh, 640px); }
.kb-boble.utvidet .kb-galleri-tekst, .kb-boble.utvidet .kb-galleri-rad { padding-left: 30px; padding-right: 30px; }
.kb-boble.utvidet .kb-galleri-rad img { width: 72px; height: 72px; }
.kb-boble.utvidet .kb-innslag .video.staende { width: auto; height: min(78vh, 760px); max-height: none; }
.kb-boble.utvidet p { max-width: 75ch; line-height: 1.65; }
body.kb-boble-utvidet .kb-toppmeny, body.kb-boble-utvidet .kb-konto { opacity: 0; pointer-events: none; }
@media (max-width: 600px) {
  .kb-boble.utvidet { width: 100vw !important; max-height: 100vh; height: 100vh; border-radius: 0; top: 0 !important; left: 0 !important; transform: none !important; }
  .kb-boble.utvidet .kb-boble-innhold { padding: 16px 16px 30px; }
  .kb-boble.utvidet .kb-galleri { margin: -16px -16px 12px; }
  .kb-boble.utvidet .kb-galleri-hoved img { height: 55vh; }
}

/* Instagram og TikTok – kanalenes egne rammer rundt filmen */
.kb-innslag .video.instagram, .kb-innslag .video.tiktok { background: #fff; margin-left: auto; margin-right: auto; }
.kb-innslag .video.instagram.staende { aspect-ratio: 326 / 700; width: min(100%, 340px); max-height: none; }
.kb-innslag .video.instagram.kvadrat { aspect-ratio: 326 / 520; width: min(100%, 360px); }
.kb-innslag .video.tiktok { aspect-ratio: 325 / 740; width: min(100%, 330px); max-height: none; }
.kb-innslag .video.kvadrat { aspect-ratio: 1 / 1; width: min(100%, 400px); margin-left: auto; margin-right: auto; }
.kb-boble.utvidet .kb-innslag .video.instagram, .kb-boble.utvidet .kb-innslag .video.tiktok { width: auto; height: min(84vh, 800px); }
@media (max-width: 600px) {
  /* På mobil fyller stående formater bredden, men aldri mer enn skjermhøyden */
  .kb-innslag .video.staende, .kb-innslag .video.tiktok, .kb-innslag .video.instagram { width: min(100%, calc(62vh * 9 / 16 + 40px)); }
}

/* QR-koder i skallet */
.kb-skall .qrliste { display: grid; gap: 10px; margin-top: 10px; }
.kb-skall .qrrad { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: center; padding: 8px; border: 1px solid var(--kb-glass-kant); border-radius: 10px; background: rgba(0, 0, 0, .15); }
.kb-skall .qrbilde { width: 84px; height: 84px; background: #fff; border-radius: 6px; padding: 4px; box-sizing: border-box; }
.kb-skall .qrbilde svg { width: 100%; height: 100%; display: block; }
.kb-skall .qrtekst strong { display: block; font-size: 13px; }
.kb-skall .qrtekst small { color: var(--kb-dempet); font-size: 11px; }
.kb-skall .qrknapper { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.kb-skall .qrknapper .knapp { padding: 6px 9px; font-size: 11px; }
.kb-skall .hint.advarsel { color: #f2c94c; margin-top: 6px; }
.kb-skall .deltakelse-rad { padding: 8px 0; border-bottom: 1px solid var(--kb-glass-kant); }
.kb-skall .deltakelse-rad small { display: block; color: var(--kb-dempet); }

/* Kunstnerside i overlegget */
.kb-overlegg.kunstnermodus .kb-ov-faner { display: none; }
.kb-ov-utstillinger { margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--kb-glass-kant); }
.kb-ov-utstillinger > h3 { margin: 0 0 16px; font-size: 13px; text-transform: uppercase; letter-spacing: .14em; color: var(--kb-dempet); }
.kb-ov-utstilling { padding: 16px; border-radius: 16px; background: var(--kb-glass-flate); border: 1px solid var(--kb-glass-kant); margin-bottom: 14px; }
.kb-ov-utstilling .topp { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 12px; }
.kb-ov-utstilling strong { display: block; font-size: 18px; }
.kb-ov-utstilling small { color: var(--kb-dempet); }
.kb-ov-apne, .kb-ov-alle { border: 0; cursor: pointer; background: rgba(106, 166, 50, .8); color: #fff; padding: 9px 14px; border-radius: 999px; font: 600 13px system-ui, sans-serif; white-space: nowrap; }
.kb-ov-alle { margin-top: 18px; }
.kb-ov-apne:hover, .kb-ov-alle:hover { background: rgba(106, 166, 50, 1); }
