
html, body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; line-height: 1.55; }
h1, h2, h3 { font-weight: 700; }
.columns { gap: 1.25rem; }
img { max-width: 100%; height: auto; }

/* Print-like page frame in browser preview */
body {
  box-sizing: border-box;
  border: 1px solid #000;
  padding: 4%;         /* ~4% inset */
}

/* Custom title page style */
.titlepage {
  text-align: center;
  margin-top: 10vh;
  margin-bottom: 10vh;
}

.titlepage h1 {
  font-size: 3rem;
  font-weight: 700;
}

.titlepage p {
  font-size: 1.4rem;
  line-height: 1.5;
}

/* NSE block layout for HTML output */
.nse-row {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  /* default if filter didn't set --img-scale */
  --img-scale: 100%;
}

.nse-left {
  flex: 0 0 50%;
  min-width: 0;
}

.nse-right {
  flex: 0 0 50%;
  min-width: 0;
  display: flex;
  justify-content: center;
}

.nse-right img {
  display: block;
  height: auto;
  max-width: 100%;
  width: var(--img-scale, 100%);
}

/* Centered title page (no footer image) */
.nse-titlepage.nse-titlepage--center{
  box-sizing: border-box;
  min-height: 100vh;
  padding: 5vh 4vw;
  display: grid;
  grid-auto-rows: auto;
  justify-items: center;     /* center horizontally */
  align-content: center;     /* center vertically as a block */
  row-gap: 3vh;              /* smaller vertical spacing */
  text-align: center;
  font-family: var(--titlepage-font, system-ui, Segoe UI, Roboto, Arial, sans-serif);
}

.nse-titlepage__logo img{
  max-width: 16cm;           /* iets groter */
  width: 100%;
  height: auto;
  display: block;
}

/* Bigger text, tighter spacing */
.nse-titlepage__lines{
  display: flex;
  flex-direction: column;
  gap: 0.8em;                /* smaller v-space */
  align-items: center;
}

.nse-line{
  margin: 0;
  line-height: 1.05;
  font-size: clamp(26px, 3.6vw, 34px);  /* bigger */
}

.nse-line--version{
  margin-top: 0.6em;
  font-size: clamp(18px, 2.2vw, 22px);
}

.pagebreak{
  page-break-after: always;
  break-after: page;
  height: 0;
  overflow: hidden;
}

/* Extra ruimte rond elk nse block in HTML */
.nse-block{
  margin-block: 1rem;           /* boven/onder ruimte */
}

/* Vertical center ONLY left column when requested */
.nse-left--vcenter{
  display: flex;
  flex-direction: column;
  justify-content: center;      /* center content vertically in left column */
}
