/* Book — page setup, layout, palettes */

/* ====== PALETTES ====== */
/* Default: Variant C — Tropical Premium (MORE Group brand-aligned) */
:root,
.palette-c {
  --paper: #FAF7F1;
  --ink: #14282E;
  --ink-soft: #4F6770;
  --accent: #0E6E73;
  --accent-soft: #BCDDDE;
  --rule: #DCD3C0;
  --callout-bg: #EFE7D5;
  --gold: #B68A3E;
}

.palette-a {
  --paper: #F6F2EA;
  --ink: #1C1C1A;
  --ink-soft: #4A4843;
  --accent: #1F5D52;
  --accent-soft: #C9DAD3;
  --rule: #D9D2C2;
  --callout-bg: #EFE9DC;
  --gold: #B68A3E;
}

.palette-b {
  --paper: #FFFFFF;
  --ink: #0A0A0A;
  --ink-soft: #4A4A4A;
  --accent: #FF5A3C;
  --accent-soft: #FFE4DC;
  --rule: #E5E5E5;
  --callout-bg: #F7F7F7;
  --gold: #B07A2E;
}

/* ====== PAGE SETUP ====== */
@page {
  size: A4;
  margin: 25mm 25mm 22mm 25mm;
}

@page :first {
  margin: 0;
}

@page chapter-opener {
  margin: 0;
}

@page cover {
  margin: 0;
  size: A4;
}

/* Page numbers via running headers (handled by per-page elements in HTML) */

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  background: var(--paper);
  color: var(--ink);
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Pages — each .page is a single A4 sheet */
.page {
  width: 210mm;
  height: 297mm;
  padding: 25mm;
  position: relative;
  page-break-after: always;
  break-after: page;
  background: var(--paper);
  overflow: hidden;
}

.page:last-child {
  page-break-after: auto;
}

.page.full-bleed {
  padding: 0;
}

.page.cover {
  padding: 0;
  page: cover;
}

/* Running header */
.running-head {
  position: absolute;
  top: 12mm;
  left: 25mm;
  right: 25mm;
  font-family: var(--font-sans);
  font-size: 8.5pt;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-soft);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 0.5pt solid var(--rule);
  padding-bottom: 3mm;
}

.running-head .book-title { font-weight: 600; color: var(--ink); }
.running-head .chapter-tag { color: var(--ink-soft); }

/* Page number footer */
.page-number {
  position: absolute;
  bottom: 12mm;
  left: 25mm;
  right: 25mm;
  font-family: var(--font-sans);
  font-size: 9pt;
  color: var(--ink-soft);
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  letter-spacing: 0.05em;
}

.page-number .num {
  font-family: var(--font-mono);
  font-weight: 500;
}

.page-number .brand {
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.15em;
  font-size: 8pt;
}

/* Two-column inner layout helpers */
.col-2 {
  column-count: 2;
  column-gap: 8mm;
  column-rule: 0;
}

.flow {
  max-width: 105mm;
}

/* Tables, callouts, and figures break out of the prose column to use the full content width */
.flow > .data-table,
.flow > table,
.flow > .callout,
.flow > .figure {
  max-width: 155mm;
  width: 155mm;
}

/* Spacers */
.mt-sm { margin-top: 4mm; }
.mt-md { margin-top: 8mm; }
.mt-lg { margin-top: 14mm; }
.mt-xl { margin-top: 22mm; }
