/* ============================================================
   LAWO – Utgivelse (albumside)
   Komponentstiler for single-utgivelse.php. Bygd UTELUKKENDE på
   variablene i tokens.css – ingen harde farger eller fonter.
   Mobil-først: enkolonne som standard, to kolonner på bredere skjerm.
   ============================================================ */

.utgivelse {
  padding-block: var(--space-7);
}

/* ---------- Hero ---------- */
.utgivelse__hero {
  display: grid;
  grid-template-columns: 1fr;        /* mobil: stablet */
  gap: var(--space-6);
  align-items: start;
}

.utgivelse__cover {
  border-radius: var(--radius-md);
  border: 1px solid rgba(26, 26, 26, 0.08); /* HERO-COVER-FIKS C1: diskret ramme — rammer inn hvit-kant-cover som flyter ut */
  box-shadow: 0 6px 20px rgba(26, 26, 26, 0.14); /* C1: litt dypere enn --shadow-md (0 4px 16px .10), fortsatt diskret */
  overflow: hidden;
  background: var(--color-paper-warm);
}
.utgivelse__cover img {
  width: 100%;
  height: auto;
}
/* Klikkbart cover: hele flaten er lenke til full størrelse (lysboks med JS,
   direkte bildevisning uten). Diskret zoom-hint, ingen visuell støy. */
.utgivelse__cover-lenke {
  display: block;
  cursor: zoom-in;
}

/* Komponist over tittel (navn i normal skrivemåte, dempet over hovedtittelen). */
.utgivelse__komponist {
  font-size: var(--fs-500); /* HERO-COVER-FIKS C2: samme som primary-artist (--fs-500, 20px) */
  color: var(--color-ink-soft);
  margin: 0 0 var(--space-2);
}
.utgivelse__komponist a {
  color: var(--color-accent);
  text-decoration: none;
}
.utgivelse__komponist a:hover { text-decoration: underline; }

.utgivelse__title {
  margin-bottom: var(--space-4);
  /* A: responsiv tittel – fast 49px (--fs-900) i smal 2-kolonne-hero (~720-900px) stablet
     lange titler nesten ett ord per linje. clamp krymper i smal kolonne, men holder full
     størrelse på brede skjermer (≥~1090px → 49px). overflow-wrap deler KUN ekstreme ord
     (ikke break-all, som hakker normale ord). KUN denne tittelen (ikke globale h1). */
  font-size: clamp(2rem, 4.5vw, var(--fs-900));
  overflow-wrap: break-word;
}
/* TOPPLINJE-TRAPPER: server-satt lengdeklasse (mb_strlen på post_title, single-utgivelse.php)
   skalerer tittelen mot én linje: 36–60 tegn → fs-800-tak; 61+ → fs-700-tak = GULVET
   (>85 tegn wrapper heller enn å krympe mer). Viewport-clampen beholdes i alle trapper. */
.utgivelse__title--lang { font-size: clamp(2rem, 4.5vw, var(--fs-800)); }
.utgivelse__title--xlang { font-size: clamp(1.75rem, 4.5vw, var(--fs-700)); }

/* TITTEL-INLINE: diskret edit-affordanse + in-place skjema ved H1 (intern-only, '' for anon). */
.utgivelse__tittel-inline { display: inline-flex; align-items: center; gap: var(--space-2); margin-left: var(--space-3); vertical-align: middle; }
.utgivelse__tittel-edit { font-size: var(--fs-300); padding: 2px 10px; }
.utgivelse__tittel-skjema { display: inline-flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.utgivelse__tittel-input { font-size: var(--fs-500); padding: 4px 8px; border: 1px solid var(--color-line); border-radius: var(--radius-sm, 6px); min-width: 18rem; font-family: var(--font-display); }
.utgivelse__tittel-status { font-size: var(--fs-300); color: var(--color-ink-soft); }

.utgivelse__intro {
  font-size: var(--fs-500);
  color: var(--color-ink-soft);
  line-height: var(--lh-base);
  margin-bottom: var(--space-5);
}

/* Kompakt metadatalinje: katalognr · format · år · label · varighet */
.utgivelse__meta {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-3);
  font-size: var(--fs-300);
  color: var(--color-ink-soft);
}
.utgivelse__meta li {
  display: flex;
  align-items: center;
}
/* Skilletegn mellom punkter (ikke før det første). TOPPLINJE: --color-line (#e3ded6) var
   nesten usynlig som tekstfarge — dempet ink-soft (opacity) gir synlig men underordnet tegn.
   PIPE-FAKTA (2026-09-12, husregel pipe-skille-2): tegnet er « | » (var middot) — samme LAWO_SKILLE-språk som artist-linja under. */
.utgivelse__meta li + li::before {
  content: "|";
  margin-right: var(--space-3);
  color: var(--color-ink-soft);
  opacity: .45;
}

/* Hovedartist(er) under metalinja (kort-stil): speiler release-card-rich__artist – accent-lenker. */
.utgivelse__artist {
  font-size: var(--fs-500); /* HERO-FLIKK: økt fra --fs-400 (16→20px) */
  margin: var(--space-2) 0 0;
}
.utgivelse__artist a {
  color: var(--color-accent);
  text-decoration: none;
}
.utgivelse__artist a:hover { text-decoration: underline; }

/* ---------- Generell seksjon ---------- */
.utgivelse__section {
  margin-top: var(--space-7);
}

/* PV-2: intern panel-knapperad — de syv panelknappene på ÉN rad, wrapper på smal skjerm. */
.utgivelse__panelknapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-top: var(--space-7);
}
.utgivelse__section-title {
  font-size: var(--fs-600);
  margin-bottom: var(--space-4);
}

/* Lytt/kjøp-handlinger */
.utgivelse__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center; /* HERO-FLIKK: intern verif-prikker (booklet/Listen/Buy) sentreres mot knappene (målt −16.87px → −0.01px). Anon: knapper i lik høyde → visuelt uendret. */
}

/* ---------- Beskrivelse (wysiwyg) ---------- */
.utgivelse__desc {
  font-size: var(--fs-400);
  line-height: var(--lh-base);
}
.utgivelse__desc > :last-child { margin-bottom: 0; }

/* ---------- Faktablokk (detaljer/spesifikasjon) ---------- */
.factbox {
  border: 1px solid var(--color-line);
  border-radius: var(--radius-md);
  background: var(--color-paper-warm);
  padding: var(--space-5);
}
.factbox__list {
  margin: 0;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: var(--space-2) var(--space-5);
}
.factbox__label {
  font-size: var(--fs-300);
  color: var(--color-ink-soft);
  margin: 0;
}
.factbox__value {
  font-size: var(--fs-400);
  color: var(--color-ink);
  margin: 0;
}

/* ---------- Sporliste (Orchard) ---------- */
.tracklist {
  max-width: var(--container-text);
}
.tracklist__disc {
  font-family: var(--font-body);
  font-size: var(--fs-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-ink-soft);
  margin: var(--space-6) 0 var(--space-3);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--color-line);
}
.tracklist__disc:first-child { margin-top: 0; }

.tracklist__composer {
  font-family: var(--font-display);
  font-size: var(--fs-500);
  margin: var(--space-5) 0 var(--space-1); /* v3: strammere kobling til raden/verkslinja under */
}
.tracklist__composer:first-child { margin-top: 0; }
.tracklist__composer a { color: var(--color-ink); }
.tracklist__composer a:hover { color: var(--color-accent); }

.tracklist__track {
  display: grid;
  grid-template-columns: 1.75rem 1fr auto;
  gap: var(--space-3);
  align-items: baseline;
  padding: var(--space-2) 0;
  border-bottom: 1px solid var(--color-line);
}
.tracklist__pos {
  font-size: var(--fs-300);
  color: var(--color-ink-soft);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.tracklist__title {
  font-family: var(--font-display); /* FIKS 3: samme familie som verkstittel; fs-400/400/lh-base beholdt → satser fortsatt visuelt underordnet */
  font-size: var(--fs-400);
  line-height: var(--lh-base);
}
.tracklist__dur {
  font-size: var(--fs-300);
  color: var(--color-ink-soft);
  font-variant-numeric: tabular-nums;
}
/* TRACKCRED: lyricist-/utøver-linjer under spor-tittel (i tittel-cellen) og under verk-header. */
.tracklist__credit {
  display: block;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: var(--fs-300);
  line-height: var(--lh-base);
  color: var(--color-ink-soft);
}
.tracklist__credit a { color: var(--color-ink-soft); }
.tracklist__credit a:hover { color: var(--color-accent); }
.tracklist__work-credit {
  margin: calc(-1 * var(--space-2)) 0 var(--space-2);
  /* FIKS 2 (følgeregel): kreditt-linja under verk-overskriften er et søsken-element og må følge
     overskriftens innrykk, ellers dangler den på x=0. Samme calc som .tracklist__work. */
  padding-left: calc(1.75rem + var(--space-3));
}
.tracklist:has(.tracklist__track--spillbar) .tracklist__work-credit {
  padding-left: calc(2.4rem + 1.75rem + 2 * var(--space-3));
}

/* ---------- Gruppert sporliste (Fase 4b): verk-header + innrykkede satser ---------- */
.tracklist__work {
  font-family: var(--font-display);
  font-size: var(--fs-400); /* v3: underordnet komponist-linja (fs-500) */
  font-weight: var(--fw-medium); /* v3: h4-elementets bold nedtones */
  margin: var(--space-3) 0 var(--space-1);
  /* FIKS 2: verk-overskrift (h4, ikke grid-rad) flukter med tittel-kolonnen. Anon 3-kolonne-
     kontekst: pos-kolonne (1.75rem) + gap (--space-3) = 40px → samme x som enkeltspor/sats-tittel.
     h4 beholdes som element (semantikk/SEO uendret); innrykk via padding, ikke grid (h4-innhold
     er inline komponist+år+tittel og ville spredt seg over grid-celler). */
  padding-left: calc(1.75rem + var(--space-3));
}
.tracklist__work:first-child { margin-top: 0; }
.tracklist__work a { color: var(--color-ink); }
.tracklist__work a:hover { color: var(--color-accent); }
/* Spillbar liste (intern): tittel-kolonnen starter etter spill (2.4rem) + nummer (1.75rem) + 2×gap
   = 90.4px. Ren CSS-deteksjon via :has() på containeren (samme mønster som .review__quote:has() i
   denne fila) — ingen PHP-endring, ingen egen klasse på overskriften. */
.tracklist:has(.tracklist__track--spillbar) .tracklist__work {
  padding-left: calc(2.4rem + 1.75rem + 2 * var(--space-3));
}
.tracklist__work-aar {
  font-family: var(--font-body);
  font-size: var(--fs-300);
  color: var(--color-ink-soft);
}
/* FIKS 1: satsinnrykket fjernet. .tracklist__movement bar KUN padding-left (24px) som forskjøv HELE
   grid-elementet (spill/nummer/tittel/varighet/nedlast samtidig) → brøt den loddrette flukten mot
   enkeltspor. Sats og enkeltspor er samme grid → flukter nå automatisk. Klassen står igjen i markup
   [tracklist.php:304,324] som inert semantisk markør (ingen JS/PHP-avhengighet) — beholdt uten stil
   for fremtidig differensiering; kun typografien (fs-400/400 vs fs-500/700) skiller nå sats fra verk. */
/* v3: .tracklist__work-inline PENSJONERT i markup (enkeltsats-tittel er naa ren .tracklist__title-rad;
   komponisten bor paa komponist-linja). Stilen beholdes inert — presedens tracklist__movement. */
/* Enkeltverk: HELE linjen (komponist + år + tittel) i samme typografi som verk-headeren.
   Speiler ALLE h4-egenskapene fra base.css (font-weight/line-height/color følger IKKE med
   klassen — de er element-regler på h4) + fs-500 (etter .tracklist__title i kaskaden → vinner). */
.tracklist__work-inline {
  font-family: var(--font-display);
  font-size: var(--fs-500);
  font-weight: var(--fw-bold);
  line-height: var(--lh-tight);
  color: var(--color-ink);
}
.tracklist__work-inline a { color: var(--color-ink); }
.tracklist__work-inline a:hover { color: var(--color-accent); }

/* ---------- Medvirkende (credits per rolle) ---------- */
.credits {
  margin: 0;
  display: grid;
  gap: var(--space-3);
  max-width: var(--container-text);
}
.credits__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-1);
}
.credits__role {
  font-size: var(--fs-300);
  color: var(--color-ink-soft);
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
.credits__people {
  margin: 0;
  font-size: var(--fs-400);
  line-height: var(--lh-base);
}
.credits__people a { color: var(--color-ink); }
.credits__people a:hover { color: var(--color-accent); }

@media (min-width: 560px) {
  .credits__row {
    grid-template-columns: 9rem 1fr;
    gap: var(--space-4);
    align-items: baseline;
  }
}

/* ---------- Additional information-panel (Spor A) ---------- */
/* EDITOR-POLISH: bredde-klemma flyttet fra seksjonen (.addinfo) til den offentlige lese-
   lista (.addinfo__list) — intern credits-editor får full seksjonsbredde, offentlig
   kolonne uendret (samme 68ch på <dl>). */
.addinfo__block + .addinfo__block {
  margin-top: var(--space-5);
}
.addinfo__subtitle {
  font-size: var(--fs-300);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--color-ink-soft);
  margin: 0 0 var(--space-3);
}
.addinfo__text {
  font-size: var(--fs-400);
  line-height: var(--lh-base);
  color: var(--color-ink);
  margin: 0;
}

/* Label : value-rader (booklet / foto / opptak) */
.addinfo__list {
  margin: 0;
  max-width: var(--container-text); /* EDITOR-POLISH: lese-kolonne (flyttet fra .addinfo) */
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-1) var(--space-4);
  font-size: var(--fs-400);
  line-height: var(--lh-base);
}
.addinfo__term {
  color: var(--color-ink-soft);
  margin: 0;
}
.addinfo__desc {
  color: var(--color-ink);
  margin: 0 0 var(--space-2);
}
/* TRACKS-RENDER-FASIT: diskret intern avvik-hint (count vs total_tracks-junk). Kun tegnet for
   intern (span rendres bare da) → dempet stiplet linje + hjelpe-peker; ingen mettet farge. */
.lawo-tracks-avvik {
  border-bottom: 1px dotted var(--color-ink-soft);
  cursor: help;
}

/* Spellemann-badge i panel-overskriften */
.addinfo__award {
  display: inline-block;
  margin-left: var(--space-3);
  padding: 0.1rem var(--space-2);
  border: 1px solid var(--color-line);
  border-radius: var(--radius-sm);
  background: var(--color-paper-warm);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--fs-300);
  font-weight: var(--fw-medium);
  letter-spacing: 0.02em;
  vertical-align: middle;
}

@media (min-width: 560px) {
  .addinfo__list {
    grid-template-columns: 12rem 1fr;
    align-items: baseline;
  }
  .addinfo__desc { margin-bottom: 0; }
}

/* ---------- Anmeldelser (Reviews) ---------- */
.reviews {
  max-width: var(--container-text);
  display: grid;
  gap: var(--space-6);
}
.review {
  border-bottom: 1px solid var(--color-line);
  padding-bottom: var(--space-5);
}
.review:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
.review__quote {
  font-family: var(--font-display);
  font-size: var(--fs-500);
  line-height: var(--lh-base);
  color: var(--color-ink);
  margin: 0 0 var(--space-3);
  padding-left: var(--space-4);
  border-left: 2px solid var(--color-line);
}
.review__quote em { font-style: italic; }
.review__quote p { margin: 0 0 var(--space-2); }
.review__quote p:last-child { margin-bottom: 0; }

.review__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  font-size: var(--fs-300);
  color: var(--color-ink-soft);
}
.review__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.1rem var(--space-2);
  border-radius: var(--radius-sm);
  font-size: var(--fs-300);
  font-weight: var(--fw-medium);
  line-height: 1.4;
}
.review__badge--rating {
  background: var(--color-accent);
  color: var(--color-on-accent);
  font-variant-numeric: tabular-nums;
}
.review__badge--award {
  background: var(--color-paper-warm);
  color: var(--color-ink);
  border: 1px solid var(--color-line);
}
.review__lang {
  font-style: italic;
  color: var(--color-ink-soft);
}
.review__link {
  color: var(--color-accent);
  white-space: nowrap;
}
.review__link:hover { color: var(--color-accent-hover); }

/* Publikasjonslogo-brikke (nøytral bakgrunn, synlig for lyse OG mørke logoer). */
/* PRESSEMERKER-VISNING: samme språk som kort-stripa — INGEN grå boks (#f0f0f0 fjernet),
   ÉN fast høyde 24px, transparent, proporsjon bevart. */
.lawo-anm-logo{display:inline-flex;align-items:center;justify-content:center;
  margin-right:8px;vertical-align:middle}
.lawo-anm-logo img{height:24px;width:auto;max-width:185px;
  object-fit:contain;display:block}

/* Pris/utmerkelse-merker (framtredende seksjon høyt på albumsiden). */
.lawo-priser{display:flex;flex-wrap:wrap;align-items:center}
.lawo-pris-badge{display:inline-flex;align-items:center;gap:8px;height:36px;
  padding:5px 12px;background:#f6f1fb;border:1px solid #e3d9f0;border-radius:8px;
  margin:0 8px 8px 0}
.lawo-pris-badge img{max-height:24px;max-width:80px;width:auto;object-fit:contain}
.lawo-pris-tekst{font-size:.85rem;font-weight:600;color:#4a3a63}

/* Kort pull-sitat + «Show more» (progressiv avsløring, JS-fritt). */
.review__quote-short { margin: 0; }
.review__more { margin-top: var(--space-2); }
.review__more-summary {
  cursor: pointer;
  list-style: none;
  font-family: var(--font-body);
  font-size: var(--fs-300);
  color: var(--color-accent);
  padding: var(--space-2) 0 0;
}
.review__more-summary:hover { color: var(--color-accent-hover); }
.review__more-summary::-webkit-details-marker { display: none; }
.review__more-close { display: none; }
.review__more[open] .review__more-open { display: none; }
.review__more[open] .review__more-close { display: inline; }
.review__quote-full { margin-top: var(--space-3); }
.review__quote-full p { margin: 0 0 var(--space-2); }
.review__quote-full p:last-child { margin-bottom: 0; }
/* Unngå duplisert førstesetning når kortet er utvidet. */
.review__quote:has(.review__more[open]) .review__quote-short { display: none; }

.reviews__more {
  display: grid;
  gap: var(--space-6);
}
.reviews__more-summary {
  cursor: pointer;
  font-size: var(--fs-300);
  color: var(--color-accent);
  list-style: none;
  padding: var(--space-2) 0;
}
.reviews__more-summary::-webkit-details-marker { display: none; }
.reviews__more[open] .reviews__more-summary { margin-bottom: var(--space-2); }

/* ---------- Video (responsiv 16:9) ---------- */
.utgivelse__video {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--color-ink);
}
.utgivelse__video iframe,
.utgivelse__video video,
.utgivelse__video embed,
.utgivelse__video object {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
/* FLERVIDEO (c): flere videoer under hverandre + valgfri tittel over hver */
.utgivelse__video-rad + .utgivelse__video-rad { margin-top: var(--space-4); }
/* VIDEO-SAMTYKKE (H25): stillbilde + spilleknapp; spilleren lastes først ved klikk (inc/video-samtykke.php) */
.lawo-video-samtykke__knapp { position: absolute; inset: 0; width: 100%; height: 100%; padding: 0; border: 0; background: var(--color-ink); cursor: pointer; display: block; }
.lawo-video-samtykke__bilde { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lawo-video-samtykke__plassholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; opacity: .7; font-size: var(--fs-500); }
.lawo-video-samtykke__spill { position: absolute; left: 50%; top: 50%; width: 72px; height: 50px; margin: -25px 0 0 -36px; border-radius: 12px; background: rgba(0,0,0,.75); }
.lawo-video-samtykke__spill::after { content: ''; position: absolute; left: 29px; top: 14px; border-style: solid; border-width: 11px 0 11px 20px; border-color: transparent transparent transparent #fff; }
.lawo-video-samtykke__knapp:hover .lawo-video-samtykke__spill, .lawo-video-samtykke__knapp:focus-visible .lawo-video-samtykke__spill { background: #c00; }
.lawo-video-samtykke__knapp:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
.lawo-video-samtykke__merknad { margin: var(--space-1) 0 0; font-size: var(--fs-300); color: var(--color-ink-soft); }
.utgivelse__video-tittel {
  margin: 0 0 var(--space-2);
  font-weight: 600;
}

/* ---------- To kolonner på bredere skjerm ---------- */
@media (min-width: 720px) {
  .utgivelse__hero {
    grid-template-columns: minmax(0, 320px) 1fr;
    gap: var(--space-7);
    align-items: center;
  }
}

/* ---------- Lysboks (cover i full størrelse) ----------
   Enkel og husren: mørklagt bakteppe, bildet sentrert innenfor viewport,
   lukk på klikk/Esc (assets/js/lysboks.js). Ingen bibliotek. */
.lysboks {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-5);
  background: color-mix(in srgb, var(--color-ink) 86%, transparent);
  cursor: zoom-out;
  animation: lysboks-inn var(--transition-fast);
}
@keyframes lysboks-inn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.lysboks__img {
  max-width: 100%;
  max-height: 100%;
  display: block;
  border-radius: var(--radius-sm);
  box-shadow: var(--shadow-md);
}
.lysboks__lukk {
  position: absolute;
  top: var(--space-4);
  right: var(--space-4);
  width: 44px;                 /* touch-vennlig treffflate */
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-600);
  line-height: 1;
  color: var(--color-paper);
  background: transparent;
  border: 0;
  border-radius: var(--radius-sm);
  cursor: pointer;
}
.lysboks__lukk:focus-visible {
  outline: 2px solid var(--color-paper);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .lysboks { animation: none; }
}

/* Cover-håndtering (kun redaktører): kompakt kontroll-stripe rett under hero-coveret.
   INGEN duplikat-cover-bilde — det offentlige hero-coveret over viser bildet. Staff-only;
   public ser aldri denne. */
.utgivelse-cover-panel {
  margin: var(--space-2) 0 var(--space-4); /* HERO-FLIKK: mindre luft mellom coverbildet og pillene (topp --space-4 → --space-2) */
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
}
.utgivelse-cover-panel__mangler {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  color: var(--color-ink-soft);
}
.utgivelse-cover-panel__mangler span { font-size: 1.6em; line-height: 1; }
.utgivelse-cover-panel__mangler p { margin: 0; }
/* Smaafiks A: cover-kontrollene paa ÉN linje — noeytraliser foto-opplast-widgetens margin-top
   (ment for galleri-kontekst) + handlinger-<p>-margin, saa badge + Bytt/Legg til + Fjern ligger
   paa samme flex-rad (align-items:center). */
/* 🔴 Lås kontrollene til coverbredden (desktop-hero-cover = minmax(0,320px)) → raden er ALDRI
   bredere enn coveret (ingen overflyt til høyre). position:relative for opplast-form-dropdown. */
.utgivelse-cover-panel { max-width: 320px; position: relative; flex-wrap: nowrap; }
.utgivelse-cover-panel .foto-opplast { margin-top: 0; flex: 1 1 0; min-width: 0; }
.utgivelse-cover-panel .foto-opplast > [data-lawo-opplast-apne] { width: 100%; }
.utgivelse-cover-panel__handlinger { margin: 0; flex: 2 1 0; min-width: 0; display: flex; align-items: center; gap: var(--space-2); }
.utgivelse-cover-panel__handlinger > .btn { flex: 1 1 0; min-width: 0; }
/* Tre like brede, kompakte pills som fyller coverbredden; tekst brytes inni pillen (ikke ut). */
.utgivelse-cover-panel .btn { padding: 5px 8px; font-size: var(--fs-300, 0.875rem); text-align: center; white-space: normal; line-height: 1.2; }
/* Opplast-form: full panel-bredde som dropdown (ikke klemt inn i 1/3-kolonnen). */
.utgivelse-cover-panel .foto-opplast__form { position: absolute; top: 100%; left: 0; right: 0; margin-top: var(--space-2); z-index: 5; background: var(--color-paper); border: 1px solid var(--color-line); border-radius: var(--radius-md); padding: var(--space-3); box-shadow: var(--shadow-md); }

/* 5b: e-booklet-PDF-panel (kun redaktører, i «Edit details»). Gjenbruker foto-admin/opplast-
   generikk; kun lett spacing her. Staff-only → public ser aldri denne. */
.utgivelse-booklet-panel {
  margin: 0; /* BOOKLET-KNAPP-PÅ-LINJE: flex-item i .utgivelse__actions → ingen blokk-margin (var space-3/4 forced tidligere egen linje) */
}
/* BOOKLET-KNAPP-JUSTERING: nullstill delt .foto-opplast margin-top (person.css: var space-4=16px), ellers skyves Upload-knappen 8px ned i panelet → ujevn linje. Speiler .utgivelse-cover-panel .foto-opplast. Scopet → rører ikke foto-gallerier o.l. */
.utgivelse-booklet-panel .foto-opplast { margin-top: 0; }
.utgivelse-booklet-panel__status {
  margin: var(--space-1) 0 var(--space-2);
}
.utgivelse-booklet-panel__status--tom {
  color: var(--color-ink-soft);
}
.utgivelse-booklet-panel__handlinger {
  margin-top: var(--space-2);
}

/* Rich text-redigering: .rich-edit-feltstilen bor nå i assets/css/rich-edit.css
   (PV-3, delt av alle richbox-flater — enqueues i lawo_enqueue_rediger_js). */

/* ---------- Sangtekst-panel (LWS-5c-fiks): oversettelses-underskjema visuelt innrammet,
   saa det ikke flyter sammen med hovedskjemaet (kun EN knapperad synlig om gangen). ---------- */
.lawo-lws__ov-skjema { margin: var(--space-2) 0 0 var(--space-3); padding: var(--space-2); border-left: 3px solid #cbd2dd; background: #f6f7f9; border-radius: 0 6px 6px 0; }
.lawo-lws__stav-knapp { margin-left: var(--space-2); }
.lawo-lws__stav-hint { margin-left: 6px; font-size: .85em; color: #7a736a; }
.lawo-lws__stav { margin: 4px 0 var(--space-2); font-size: .9em; }
.lawo-lws__stav-ord { display: inline-block; margin: 2px 4px 2px 0; padding: 1px 8px; border: 1px solid #d9a441; border-radius: 999px; background: #fff7e6; font: inherit; font-size: .95em; cursor: pointer; }
.lawo-lws__stav-ord small { color: #7a736a; }
.lawo-lws__stav-legg { margin: 2px 6px 2px -2px; padding: 0 6px; border: 1px solid #cbd2dd; border-radius: 999px; background: #fff; font: inherit; font-size: .85em; line-height: 1.5; cursor: pointer; }
.lawo-lws__stav-legg:hover { background: #e9f3ea; border-color: #2f7a3a; }
.lawo-lws__stav-ok { color: #2f7a3a; }

/* ---------- LWS-7: offentlig lyrics-details i tracklist (diskret, null JS).
   EKSPLISITT typografi paa alt innhold — details ligger mellom h4-styrte rader,
   og maa aldri arve verk-header-kaskaden (4b-laerdommen). ---------- */
.tracklist__lyrics { margin: 2px 0 var(--space-2) var(--space-4); }
.tracklist__lyrics-summary { cursor: pointer; color: var(--color-ink-soft, #666); font-size: var(--fs-300, 0.9rem); font-weight: 400; line-height: 1.4; }
.tracklist__lyrics-summary:hover { color: var(--color-accent, #155FA5); }
.tracklist__lyrics-body { margin-top: var(--space-2); max-width: 60ch; }
/* LYRICS-KOLONNE: original + oversettelse(r) side-om-side. Grid auto-fit → N kolonner saa lenge plass,
   ellers wrap/stack (mobil → 1 kolonne naturlig). Kun naar oversettelse finnes (wrapperen rendres da);
   uten oversettelse er det ingen .lyrics-cols → body beholder 60ch enkolonne (uendret). */
.tracklist__lyrics-body:has(.tracklist__lyrics-cols) { max-width: none; }
.tracklist__lyrics-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(24ch, 1fr)); gap: var(--space-2) var(--space-5); align-items: start; max-width: 124ch; }
.tracklist__lyrics-col { min-width: 0; max-width: 60ch; }
.tracklist__lyrics-body p { margin: 0 0 0.6em; font-size: var(--fs-300, 0.9rem); font-weight: 400; line-height: 1.5; color: var(--color-ink, #2c2c2a); }
.tracklist__lyrics-credit { color: var(--color-ink-soft, #666); }
/* LYRICS-POLISH: diskret attribusjonsnotat under teksten (lyricist/oversetter). */
.tracklist__lyrics-attrib { color: var(--color-ink-soft, #666); font-style: italic; }
.tracklist__lyrics-attrib a { color: var(--color-ink-soft, #666); }
.tracklist__lyrics-attrib a:hover { color: var(--color-accent, #155FA5); }
.tracklist__lyrics-hint { margin-top: var(--space-2); color: var(--color-ink-soft, #666); font-size: var(--fs-300, 0.9rem); font-style: italic; }

/* ---------- Review-audio (Fase 2d): gapless-spilleren ---------- */
.lawo-raudio__spiller { margin: var(--space-2) 0; padding: var(--space-2); border: 1px solid #cbd2dd; border-radius: 6px; background: #f6f7f9; }
/* SPILLER-PILLER-INN (2026-09-12): rammen bor på PHP-boksen .lawo-raudio__boks (omslutter JS-eid [data-raudio-spiller] + PHP-pilleraden
   .lawo-raudio__piller under transportlinja); det indre .lawo-raudio__spiller nulles så det ikke blir dobbel ramme. */
.lawo-raudio__boks { margin: var(--space-2) 0; padding: var(--space-2); border: 1px solid #cbd2dd; border-radius: 6px; background: #f6f7f9; }
.lawo-raudio__boks .lawo-raudio__spiller { margin: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.lawo-raudio__piller { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: var(--space-2) 0 0; }
.lawo-raudio__naa { font-weight: 600; margin: 0 0 var(--space-2); }
.lawo-raudio__linje { height: 10px; background: #e3e7ee; border-radius: 5px; cursor: pointer; }
.lawo-raudio__linje-fyll { height: 100%; width: 0; background: var(--color-accent, #155FA5); border-radius: 5px; }
.lawo-raudio__tid { color: var(--color-ink-soft, #666); font-size: var(--fs-300, 0.9rem); margin: 4px 0 var(--space-2); }
.lawo-raudio__versjon { margin: var(--space-2) 0; }
.lawo-raudio__fil { margin: 2px 0; }
/* 2e: spilleren ved Tracks */
.lawo-raudio-tracks__knapp { margin: 0 0 var(--space-2); }
/* TRYKKFIL-STATUS 2c-fiks: gjeninnfør det gamle trafikklysets form (border-farge på pillen).
   Pillen er .btn-radius:999px → en 6px border-left/right følger den rundede kanten = en halvsirkel
   inntil kanten. Venstre kant=PDF, høyre kant=DDP (speilvendt). Ren statusvisning (IKKE prikk, ikke
   klikkbar, ikke fokuserbar). Egen trafikklys-palett; farger uendret fra 2c. Verif-gul #c9a227 aldri. */
.lawo-trafikk2 { border-left: 6px solid transparent; border-right: 6px solid transparent; }
/* Venstre halvsirkel (PDF): oransje/gul/grønn = 6px statuskant. Hvit = INGEN statuskant → tilbake til
   pillens ordinære 1px ghost-ramme (2d-fiks). */
.lawo-tf-v--hvit { border-left: 1px solid var(--color-line); }
.lawo-tf-v--oransje { border-left-color: #c2410c; } /* mørk oransje */
.lawo-tf-v--gul { border-left-color: #facc15; }     /* klar gul, atskilt fra oransje og fra verif-gul #c9a227 */
.lawo-tf-v--gronn { border-left-color: #147d33; }   /* samme godkjent-grønn som badgen */
/* Høyre halvsirkel (DDP), speilvendt: gul/grønn = 6px. Hvit = ingen statuskant (1px ghost-ramme). */
.lawo-tf-h--hvit { border-right: 1px solid var(--color-line); }
.lawo-tf-h--gul { border-right-color: #facc15; }
.lawo-tf-h--gronn { border-right-color: #147d33; }
/* SEKSJONS-BANNER (banner-uniformering): base for ALLE interne kollaps-bannere (Pyramix Track info/TOC/
   mp3/FLAC, Design package + slots, EAN&QR, PR, Production plan, Trykkefiler). FLYTTET hit fra inline-
   <style> i inc/ean-qr.php (lawo_design_pakke_seksjon_html) → ÉN kilde, uavhengig av render-rekkefølge
   (Pyramix-bannerne stolte før paa ko-render av inline-stilen). PILLEFORM = felles utforming: radius 999px
   + 18px sidepadding (var 8px/12px). DEKOBLET fra tf-v/tf-h-statuskantene (Trykkefiler-only, under). */
.lawo-design-pakke__banner { display: flex; align-items: center; gap: 10px; cursor: pointer; padding: 9px 18px; background: var(--color-paper-warm, #f6f3ee); border: 1px solid #e3ded6; border-radius: 999px; user-select: none; transition: background var(--transition-fast, .15s ease); }
.lawo-design-pakke__banner:hover { background: #efe8dd; }
.lawo-design-pakke__banner:focus-visible { outline: 2px solid var(--color-accent, #8a1c2b); outline-offset: 1px; }
.lawo-design-pakke__banner-tittel { font-size: 14px; font-weight: 600; color: var(--color-ink, #1a1a1a); }
.lawo-design-pakke__banner-status { margin-left: auto; font-size: 11px; color: #a8a293; display: flex; align-items: center; gap: 8px; }
.lawo-design-pakke__banner-chevron { font-size: 11px; color: #8a8478; display: inline-block; transition: transform var(--transition-fast, .15s ease); }
.lawo-design-pakke__banner[aria-expanded="true"] .lawo-design-pakke__banner-chevron { transform: rotate(90deg); }
.lawo-design-pakke__innhold { padding: 12px 2px 2px; }
/* Godkjent-slot (approve-badges) i banner-status — flyttet med bannerne (Pyramix mp3/FLAC + design-slots + EAN&QR). */
.lawo-godkjent { color: var(--color-ink, #1a1a1a); font-weight: 600; font-size: 11px; }
.lawo-ikke-godkjent { color: #a8a293; font-size: 11px; }
.lawo-godkjenn-knapp { font-size: 11px; line-height: 1; padding: 3px 9px; border-radius: 999px; border: 1px solid #e3ded6; background: #fff; color: var(--color-ink-soft, #555); cursor: pointer; font-family: var(--font-body); }
.lawo-godkjenn-knapp:hover { background: #f6f1ea; }
.lawo-godkjenn-knapp--ja { background: var(--color-paper-warm, #f6f3ee); color: var(--color-ink, #1a1a1a); border-color: var(--color-line, #e3ded6); }
.lawo-godkjenn-knapp--ja:hover { background: #ece5d7; }
.lawo-godkjenn-badge { font-size: 11px; line-height: 1; padding: 3px 10px; border-radius: 999px; border: 0; font-weight: 600; font-family: var(--font-body); }
.lawo-godkjenn-badge--godkjent { background: #147d33; color: #fff; }
button.lawo-godkjenn-badge--godkjent { cursor: pointer; }
button.lawo-godkjenn-badge--godkjent:hover { background: #10682a; }
.lawo-godkjenn-badge--korrektur { background: #1f5f9e; color: #fff; }
button.lawo-godkjenn-badge--korrektur { cursor: pointer; }
button.lawo-godkjenn-badge--korrektur:hover { background: #184e82; }
.lawo-godkjenn-knapp--korrektur { border-color: #1f5f9e; color: #1f5f9e; }
.lawo-godkjenn-knapp--korrektur:hover { background: #eaf1f8; }

/* TRYKKEFILER-BANNER: statuskantene (pdf venstre / ddp hoyre) forblir Trykkefiler-only. Base er naa i
   stylesheet (pille 999px), saa trafikk2 reasserterer radius/padding (redundant, ufarlig) + de 6px
   fargede sidekantene. To-klasse-scope (0,2,0) vinner. Venstre=PDF, hoyre=DDP. */
.lawo-design-pakke__banner.lawo-trafikk2 {
	border-radius: 999px;
	border-top: 1px solid #e3ded6;
	border-bottom: 1px solid #e3ded6;
	border-left-style: solid;
	border-right-style: solid;
	border-left-width: 6px;
	border-right-width: 6px;
	padding-left: 18px;
	padding-right: 18px;
}
.lawo-design-pakke__banner.lawo-tf-v--hvit { border-left: 1px solid var(--color-line); }
.lawo-design-pakke__banner.lawo-tf-v--oransje { border-left-color: #c2410c; }
.lawo-design-pakke__banner.lawo-tf-v--gul { border-left-color: #facc15; }
.lawo-design-pakke__banner.lawo-tf-v--gronn { border-left-color: #147d33; }
.lawo-design-pakke__banner.lawo-tf-h--hvit { border-right: 1px solid var(--color-line); }
.lawo-design-pakke__banner.lawo-tf-h--gul { border-right-color: #facc15; }
.lawo-design-pakke__banner.lawo-tf-h--gronn { border-right-color: #147d33; }

/* ETIKETT-POST: Trykkefiler-panelet — pille-knapper i btn--ghost-formspråk (mindre), godkjent/trukket-badge. */
.lawo-trykkeri__knapp {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 10px; border-radius: 999px;
  font-size: var(--fs-200, 0.8rem); font-weight: var(--fw-medium, 600); line-height: 1.4;
  border: 1px solid var(--color-line); background: transparent; color: var(--color-ink);
  text-decoration: none; cursor: pointer; font-family: var(--font-body);
}
.lawo-trykkeri__knapp:hover { background: var(--color-paper-warm); }
.lawo-trykkeri__knapp:disabled { opacity: 0.5; cursor: wait; }
/* FS-2c-fiks: DOKUMENTERT UNNTAK fra destruktiv-regelen (rød Slett), skopet til Trykkefiler:
   Slett her er en vanlig ghost-pille (ikke rød tekst/ramme). Bekreftelsesdialogen (window.confirm
   i slett-handleren) er den bevisste sperren mot utilsiktet sletting. */
/* FS-2b: «Velg fil» = pille-<label> rundt en visuelt skjult, MEN fokuserbar native file-input.
   Ikke display:none (må nås med Tab + aktiveres med Enter/Space); fokus-ring vises på pillen. */
.lawo-trykkeri__fil-input {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
/* FS-2e: slot-etikettfarge — påkrevd tom slot = rød «mangler»; trengs_ikke = grå; ellers ink (default). */
.lawo-trykkeri__etikett--mangler { color: var(--color-accent); }
.lawo-trykkeri__etikett--tom { color: var(--color-ink-soft, #6b6862); } /* INLAY-EMBALLASJE (BUNT 11.8): tom slot nøytral */
.lawo-trykkeri__etikett--trengs { color: var(--color-ink-soft); }
.lawo-trykkeri__velg:focus-within { outline: 2px solid var(--color-ink); outline-offset: 2px; }
/* FS-2d: valgt-fil-feedback — dempet filnavn ved siden av pillen; skjult (ingen luft) når tom. */
.lawo-trykkeri__valgt { color: var(--color-ink-soft); font-size: var(--fs-200, 0.8rem); font-style: italic; margin: 0 6px; }
.lawo-trykkeri__valgt:empty { display: none; }

.lawo-trykkeri-badge {
  display: inline-block; padding: 2px 8px; border-radius: var(--radius-sm);
  font-size: var(--fs-200, 0.8rem); font-weight: var(--fw-medium, 600); vertical-align: middle;
}
/* Godkjent = sterk, mettet grønn + hvit tekst (WCAG AA). Klikkbar → trekker godkjenningen direkte. */
.lawo-trykkeri-badge--godkjent { background: #147d33; color: #fff; cursor: pointer; }
.lawo-trykkeri-badge--godkjent:hover { background: #10682a; }
.lawo-trykkeri-badge--godkjent:focus-visible { outline: 2px solid #147d33; outline-offset: 2px; }
/* TRYKK-NY-FIL (H69): fil byttet etter siste utsending av trykkeripakken — rød, hvit tekst; forsvinner ved neste utsending. */
.lawo-trykkeri-badge--ny-etter-print { background: #b3261e; color: #fff; }
/* Trukket + Trengs ikke = dempet ghost-badge (grå ramme, ingen fyll). Samme base som Godkjent. */
.lawo-trykkeri-badge--trukket,
.lawo-trykkeri-badge--trengs-ikke { background: transparent; color: var(--color-ink-soft); border: 1px solid var(--color-line); font-weight: var(--fw-regular, 400); }

/* FS-2e: «Ekstrafiler»-underseksjon under DDP-raden — skilt fra slot-radene med topplinje + luft. */
.lawo-trykkeri__ekstra { margin-top: var(--space-4); padding-top: var(--space-2); border-top: 1px solid var(--color-line); }
.lawo-trykkeri__ekstra-tittel { font-size: var(--fs-300); font-weight: var(--fw-medium, 600); margin: 0 0 var(--space-2); color: var(--color-ink-soft); }

/* FS-2c: pakke-nedlastingsknapp — vises kun når vilkåret er godkjent → godkjent-grønn (samme som badgen). */
/* FS-2c-fiks: luft over pakke-blokken så den ikke klistrer seg til slot-raden over. */
.lawo-trykkeri__pakke { margin-top: var(--space-4); }
.lawo-trykkeri__pakke-knapp { background: #147d33; color: #fff; border: 1px solid #147d33; }
.lawo-trykkeri__pakke-knapp:hover { background: #10682a; border-color: #10682a; color: #fff; }

/* FS-2b: DDP-innhold-panel («DDP-spiller») — inline under ddp-raden. */
.lawo-ddp-panel { margin: var(--space-2) 0; padding: var(--space-2); border: 1px solid var(--color-line); border-radius: 6px; background: var(--color-paper-warm, #f6f7f9); }
.lawo-ddp-panel__topp { margin-bottom: var(--space-2); }
.lawo-ddp-panel__artist { color: var(--color-ink-soft); }
.lawo-ddp-panel__meta { color: var(--color-ink-soft); font-size: var(--fs-300, 0.9rem); margin-top: 2px; }
.lawo-ddp-panel__avvik { margin: var(--space-2) 0 0; color: #b45309; font-size: var(--fs-300, 0.9rem); } /* dempet varsel, ikke feilrødt */
.lawo-ddp-panel__feil { margin: 0; color: var(--color-accent); font-size: var(--fs-300, 0.9rem); }
.lawo-ddp-panel__md5 { margin: var(--space-2) 0 0; color: var(--color-ink-soft); font-size: var(--fs-200, 0.8rem); }
/* DDP-AVSPILLER-CSS 40 (c): native <audio controls> manglet bredde-regel → ~300px standard. Full
   container-bredde så seek-baren fyller helt til høyre. */
.lawo-ddp-panel__audio { width: 100%; display: block; margin: var(--space-2) 0; }
.lawo-ddp-tabell { width: 100%; border-collapse: collapse; font-size: var(--fs-300, 0.9rem); }
.lawo-ddp-tabell th { text-align: left; font-weight: var(--fw-medium, 600); color: var(--color-ink-soft); border-bottom: 1px solid var(--color-line); padding: 4px 8px; }
.lawo-ddp-tabell td { padding: 3px 8px; border-bottom: 1px solid var(--color-line-soft, #ececec); vertical-align: top; }
/* DDP-AVSPILLER-CSS 40 (b): ▶-knappen er første barn i nr-cellen; text-align:right skjøv den etter
   nr-bredden (1- vs 2-sifret). Venstrejustering låser knappen til cellens venstrekant (fast loddrett
   kolonne uansett sifferantall); tabular-nums holder sifferbredden jevn. */
.lawo-ddp-tabell__nr { text-align: left; color: var(--color-ink-soft); white-space: nowrap; font-variant-numeric: tabular-nums; }
.lawo-ddp-tabell__tid { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.lawo-ddp-tabell__isrc { white-space: nowrap; color: var(--color-ink-soft); font-size: var(--fs-200, 0.8rem); }
.lawo-ddp-tabell__artist { color: var(--color-ink-soft); }
.lawo-ddp-pause { color: var(--color-ink-soft); font-size: var(--fs-200, 0.8rem); cursor: help; } /* DDP-PAUSE-UI: diskret ■ (dempet, ikke mettet) */

.lawo-raudio__nedlast { margin-top: var(--space-2); font-size: var(--fs-300, 0.9rem); }
.lawo-raudio__nedlast a { color: var(--color-accent, #155FA5); }

/* ---------- 2f/2g: spiller integrert i Tracks-listen (Presto-stil, kun intern) ----------
   --spillbar-modifieren gir 5 grid-kolonner: spill | pos | tittel | varighet | nedlast.
   Anon-rader beholder original 3-kolonners grid (klassen settes aldri der).
   LAWO-roedt = --color-accent (#8a1c2b, tokens.css). */
.tracklist__track--spillbar { grid-template-columns: 2.4rem 1.75rem 1fr auto auto; align-items: center; }
.tracklist__spill { text-align: center; }
.tracklist__spill-knapp, .lawo-raudio__tknapp { /* SPILLER-UI: transportknappene deler den runde ikon-knappen */
  width: 2rem; height: 2rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--color-accent, #8a1c2b); border-radius: 50%;
  background: transparent; color: var(--color-accent, #8a1c2b);
  cursor: pointer; padding: 0;
}
.tracklist__spill-knapp:hover, .lawo-raudio__tknapp:hover { background: var(--color-accent, #8a1c2b); color: #fff; }
.tracklist__spill-knapp.er-aktiv { background: var(--color-accent, #8a1c2b); color: #fff; }
.tracklist__track--naa { background: rgba(138, 28, 43, 0.06); border-radius: 4px; }
.tracklist__nedlast-lenke {
  width: 2rem; height: 2rem;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1.5px solid var(--color-ink-soft, #666); border-radius: 50%;
  color: var(--color-ink-soft, #666); text-decoration: none;
}
/* 2g-2: inline-SVG-ikoner (delt sett i tracklist.php + review-audio-panel.js).
   Trekanten skyves 1px hoeyre inne i sirkelen — kjent optisk sentrering av play-ikon. */
.lawo-ikon { vertical-align: -0.125em; }
.tracklist__spill-knapp .lawo-ikon--play, .lawo-raudio__tknapp .lawo-ikon--play { transform: translateX(1px); }
.tracklist__nedlast-lenke:hover { border-color: var(--color-accent, #8a1c2b); background: var(--color-accent, #8a1c2b); color: #fff; text-decoration: none; }
.lawo-raudio__spiller--linje { padding: var(--space-2); }
.lawo-raudio__spiller--linje .lawo-raudio__naa { margin-bottom: 4px; font-size: var(--fs-300, 0.9rem); }
/* 2g: kontroll-linjas knapper i samme toneleie (pille-form, roed hover). */
.lawo-raudio__spiller--linje .foto-admin__knapp {
  padding: 4px 12px; border: 1px solid #cbd2dd; border-radius: 999px; background: #fff; cursor: pointer;
}
.lawo-raudio__spiller--linje .foto-admin__knapp:hover { border-color: var(--color-accent, #8a1c2b); color: var(--color-accent, #8a1c2b); }
/* SPILLER-UI: transportlinje (runde ikon-knapper + handlinger). «Kommenter audio» = delt .btn--success (base.css Nivå 1b). */
.lawo-raudio__transport { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; }
/* KONTAKT-H181: infotekst etter «Comments (n)» — ved siden av pillen når det er plass, ellers egen linje under. */
.lawo-raudio__kinfo { flex: 1 1 22em; font-size: var(--fs-300, .9rem); color: var(--color-ink-soft, #666); }
/* TB-2: kommentar-liste under spilleren (egen soesken-div, overlever spiller-livssyklusen). */
.lawo-raudio__kliste { margin-top: 8px; }
.lawo-raudio__kliste[hidden] { display: none; }
.lawo-raudio__kversjon { margin: 0 0 10px; padding: 8px; border: 1px solid #cbd2dd; border-radius: 6px; background: #fff; }
.lawo-raudio__kversjon-hode { margin: 0 0 4px; font-size: var(--fs-300, 0.9rem); font-weight: 600; }
.lawo-raudio__kversjon summary { font-size: var(--fs-300, 0.9rem); font-weight: 600; cursor: pointer; }
.lawo-raudio__kopi-linje { margin: 0 0 6px; }
.lawo-raudio__krad { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; padding: 3px 0; border-top: 1px solid #eef1f5; }
.lawo-raudio__khopp { border: 0; background: none; padding: 0; cursor: pointer; color: var(--color-accent, #8a1c2b); font-variant-numeric: tabular-nums; text-decoration: underline; }
.lawo-raudio__kspor { font-weight: 600; }
.lawo-raudio__ktakt { color: var(--color-ink-soft, #666); }
.lawo-raudio__ktekst { flex: 1 1 12rem; }
.lawo-raudio__kmeta { color: var(--color-ink-soft, #666); font-size: 0.85em; }
/* TB-1: inline kommentar-skjema i kontroll-linja. */
.lawo-raudio__kskjema { margin-top: 6px; padding: 8px; border: 1px solid #cbd2dd; border-radius: 6px; background: #fff; }
.lawo-raudio__kskjema[hidden] { display: none; }
.lawo-raudio__kskjema-hode { margin: 0 0 4px; font-size: var(--fs-300, 0.9rem); font-weight: 600; }
.lawo-raudio__kskjema [data-rs-k-tekst] { width: min(28rem, 60%); }

/* ---------- Verk-import-panel (1C-ii-b): rediger-inputs + laas-banner + importer ---------- */
.lawo-vimp__spor { margin: 0 0 var(--space-3); }
.lawo-vimp__rad input[type="text"] {
  width: 100%;
  max-width: 28rem;
  font-size: var(--fs-300);
  padding: 2px 6px;
}
.lawo-vimp__laast {
  font-weight: var(--fw-bold);
  border: 1px solid var(--color-line);
  padding: var(--space-2) var(--space-3);
}
.lawo-vimp__kvittering {
  color: var(--color-ink-soft);
  font-size: var(--fs-300);
  margin: 0 0 var(--space-3);
}
/* Frittstående flash-toast (vises ved last i import-seksjonen, klikk-for-å-lukke). Lett
   grønn-tonet kort så «nettopp importert»-kvitteringen skiller seg fra vanlig panel-tekst. */
.lawo-vimp__flash {
  margin: 0 0 var(--space-4);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--color-line);
  border-left: 3px solid var(--color-ink-soft, #555); /* STATUSSPRÅK: import-flash nøytral, ikke grønn */
  border-radius: var(--radius-sm);
  background: var(--color-paper-warm);
  cursor: pointer;
}
.lawo-vimp__flash .lawo-vimp__kvittering { color: var(--color-ink); margin: 0; }
.lawo-vimp__flash .lawo-vimp__kvittering + .lawo-vimp__kvittering { margin-top: var(--space-1); }
.lawo-vimp__handling { margin-top: var(--space-3); }
.lawo-vimp__importer[disabled] { opacity: 0.5; cursor: not-allowed; }
.lawo-vimp__lyr-lagre[disabled] { opacity: 0.5; cursor: not-allowed; }
.lawo-vimp__bekreft { font-size: var(--fs-300); white-space: nowrap; }


/* ---------- Album-besetning (Line-up: frossent ensemble-snapshot) ---------- */
.besetning-blokk { margin-top: var(--space-3); }
.besetning-blokk__tittel { font-size: var(--fs-400); margin: 0 0 var(--space-2); }
.besetning-blokk__rader { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.besetning-blokk__rad { font-size: var(--fs-400); color: var(--color-ink-soft); }
.besetning-blokk__rad a { color: var(--color-accent); text-decoration: none; }
.besetning-blokk__rad a:hover { text-decoration: underline; }
/* ADMINISTRASJON-RENDER: offentlig blokk, speiler .besetning-blokk */
.administrasjon-blokk { margin-top: var(--space-3); }
.administrasjon-blokk__tittel { font-size: var(--fs-400); margin: 0 0 var(--space-2); }
.administrasjon-blokk__rader { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.administrasjon-blokk__rad { font-size: var(--fs-400); color: var(--color-ink-soft); }
.administrasjon-blokk__rad a { color: var(--color-accent); text-decoration: none; }
.administrasjon-blokk__rad a:hover { text-decoration: underline; }
/* Intern editor-panel */
.lawo-besetning { margin-top: var(--space-4); padding: var(--space-3); background: var(--color-paper-warm); border: 1px solid var(--color-line); border-radius: var(--radius-md); }
.besetning-ens { margin-bottom: var(--space-4); }
.besetning-ens:last-child { margin-bottom: 0; }
.besetning-ens__tittel { font-size: var(--fs-400); margin: 0 0 var(--space-2); }
.besetning-ens__rader { list-style: none; margin: 0 0 var(--space-2); padding: 0; }
.besetning-rad { display: grid; grid-template-columns: auto minmax(120px, 1.5fr) minmax(90px, 1fr) auto auto auto; gap: var(--space-1); align-items: center; margin-bottom: var(--space-1); }
.besetning-rad__navn { font-weight: 600; }
.besetning-ens__ny { max-width: 420px; }

/* TRYKKORDRE 6a: register-typeahead i Edit-details (intern) */
.regta { position: relative; display: inline-block; width: 100%; }
.regta__display { width: 100%; }
.regta__dropdown { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: var(--color-paper, #fff); border: 1px solid var(--color-line); border-radius: 4px; max-height: 220px; overflow-y: auto; box-shadow: 0 2px 8px rgba(0,0,0,.12); }
.regta__treff { display: block; width: 100%; text-align: left; padding: 4px 8px; background: none; border: 0; cursor: pointer; font-size: var(--fs-300, .9rem); }
.regta__treff:hover { background: var(--color-paper-warm, #f6f7f9); }
.regta__treff--ny { color: var(--color-accent); }

/* TRYKKORDRE 6b: forsendelses-repeater (Edit-details, intern) */
.trykk-forsendelse__rad { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 6px; }
.trykk-forsendelse__rest { display: inline-flex; align-items: center; gap: 4px; font-size: var(--fs-300, .9rem); }
.trykk-forsendelse__rest-sum { font-weight: 600; }
.trykk-forsendelse__rest-sum--neg { color: var(--color-accent); }

/* PR-PRESSKIT (H95): press kit-raden (intern under coveret OG pressevisningen under Listen/Buy/View booklet) — egen linje, mest luft
   over; «Download press kit» = .btn--success; lydvalgene = piller over EKTE radioer (input skjult m/ .screen-reader-text, valgt pille
   via :has(input:checked), fokusring via :has(input:focus-visible)). */
.lawo-presskit { margin: var(--space-5) 0 var(--space-3); }
.lawo-presskit__form { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-3); margin: 0; }
.lawo-presskit__formater { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: 0; padding: 0; border: 0; min-width: 0; }
.lawo-presskit__valg { position: relative; display: inline-flex; align-items: center; padding: var(--space-2) var(--space-4); border: 1px solid var(--btn-ghost-border); border-radius: var(--radius-pill); background: var(--btn-ghost-bg); color: var(--btn-ghost-fg); font-family: var(--btn-font); font-size: var(--fs-300); line-height: 1.2; white-space: nowrap; cursor: pointer; transition: background var(--transition-fast), color var(--transition-fast); }
.lawo-presskit__valg:hover { background: var(--btn-ghost-bg-hover); }
.lawo-presskit__valg:has(input:checked) { background: var(--color-ink); border-color: var(--color-ink); color: var(--color-paper); }
.lawo-presskit__valg:has(input:focus-visible) { outline: 2px solid var(--color-ink); outline-offset: 2px; }
/* HOTFIKS press kit (H147): ventetilstand (presskit-dl.js) — knappen låst m/ «Preparing files…», feil m/ «Try again» */
.lawo-presskit__last-ned.is-busy, [data-pr-presskit-zip].is-busy { cursor: progress; opacity: .75; pointer-events: none; }
.lawo-presskit__feil { flex: 0 0 100%; color: var(--color-danger); font-size: var(--fs-300); }
.lawo-presskit__advarsel { max-width: 320px; margin: 0 0 var(--space-3); color: var(--color-danger); font-size: var(--fs-300); font-weight: 600; line-height: 1.3; } /* H153: cover_3000 mangler · H158: egen linje under press kit-raden, maks cover-kolonnens bredde */
