/* Menubord — gedeeld door scherm en dashboard. Alles op 1920 x 1080 punten. */
.mn-canvas {
  position: absolute; top: 0; left: 0; width: 1920px; height: 1080px; overflow: hidden;
  transform-origin: 0 0; background: var(--mn-bg); color: var(--mn-tekst);
  --krimp: 1;
}
.mn-watermerk {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
  filter: grayscale(1) brightness(2.4); pointer-events: none;
}
.mn-logo { position: absolute; right: 44px; bottom: 44px; height: auto; object-fit: contain; }
.mn-kolommen {
  position: absolute; top: 52px; left: 48px; right: 48px; bottom: 48px;
  display: grid; column-gap: calc(86px * var(--s)); align-items: start;
}
.mn-kolom { min-width: 0; height: 100%; display: flex; flex-direction: column; }
.mn-blok { margin-bottom: calc(36px * var(--s)); }
.mn-kop {
  font-family: var(--mn-kopfont); font-size: calc(104px * var(--s)); line-height: 1; letter-spacing: .02em;
  color: var(--mn-kop); text-transform: uppercase; white-space: nowrap;
  -webkit-text-stroke: calc(2px * var(--s)) rgba(0, 0, 0, .35);
  text-shadow: calc(3px * var(--s)) calc(3px * var(--s)) 0 var(--mn-bg), calc(7px * var(--s)) calc(7px * var(--s)) 0 var(--mn-kop);
  margin-bottom: calc(30px * var(--s));
}
.mn-rij {
  display: grid; grid-template-columns: var(--mn-naambreedte, 460px) max-content; column-gap: calc(28px * var(--s));
  align-items: baseline; min-height: calc(57px * var(--s));
  font-family: var(--mn-tekstfont); letter-spacing: .07em; text-transform: uppercase;
}
.mn-naam {
  font-size: calc(50px * var(--s) * var(--krimp)); white-space: nowrap; overflow: hidden;
  display: flex; align-items: baseline; gap: calc(12px * var(--s));
}
.mn-sub { font-size: calc(20px * var(--s) * max(var(--krimp), .8)); letter-spacing: .06em; opacity: .95; }
.mn-prijs { font-size: calc(54px * var(--s)); white-space: nowrap; display: flex; align-items: baseline; }
.mn-euro { margin-right: calc(22px * var(--s)); }
.mn-oud { font-size: .55em; opacity: .7; margin-right: .35em; }
.mn-extra { font-size: calc(20px * var(--s)); margin-left: calc(14px * var(--s)); letter-spacing: .05em; }
.mn-label {
  font-size: calc(22px * var(--s)); background: var(--mn-kop); color: #1c1c1c; padding: calc(2px * var(--s)) calc(8px * var(--s)) 0;
  border-radius: calc(4px * var(--s)); letter-spacing: .05em; align-self: center; line-height: 1.25;
}
.mn-uit .mn-n, .mn-uit .mn-prijs { text-decoration: line-through; opacity: .45; }
.mn-label-uit { background: #e5484d; color: #fff; }
.mn-vrij { font-family: var(--mn-tekstfont); font-size: calc(36px * var(--s)); letter-spacing: .05em; text-transform: uppercase; line-height: 1.2; }
.mn-afb { flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; }
.mn-afb img { max-width: 100%; max-height: 100%; object-fit: contain; }
