/* ───────────────────────────────────────────────────────
   Nordivé — Sterile/Generic Document Stylesheet
   For interne juridiske/compliance-dokumenter

   Designprinsipp: Skal se ut som et ekte advokat-/notar-
   dokument, IKKE et marketing-grafisk produkt. Inspirert
   av norske rettsdokumenter, statsforvalter-rapporter,
   og Microsoft Word default-stiler.

   - Times New Roman (klassisk juridisk font)
   - Sort tekst på hvit bakgrunn
   - Minimalt med farger (kun sort, grå, evt navy for headings)
   - Tabeller med tynne sorte linjer
   - Sidetall, header/footer
   - Nummererte seksjoner (1, 1.1, 1.1.1)
   - A4 print-optimalisert
   ─────────────────────────────────────────────────────── */

@page{
  size:A4;
  margin:25mm 22mm 28mm 22mm;
  @top-left{
    content:string(doc-title);
    font-family:"Times New Roman",Times,serif;
    font-size:9pt;color:#444;
  }
  @top-right{
    content:string(doc-version);
    font-family:"Times New Roman",Times,serif;
    font-size:9pt;color:#444;
  }
  @bottom-center{
    content:"Side " counter(page) " av " counter(pages);
    font-family:"Times New Roman",Times,serif;
    font-size:9pt;color:#444;
  }
  @bottom-left{
    content:string(doc-classification);
    font-family:"Times New Roman",Times,serif;
    font-size:8pt;color:#666;letter-spacing:.1em;
    text-transform:uppercase;
  }
}

*{box-sizing:border-box;margin:0;padding:0}

html,body{
  background:#fff;
  color:#000;
  font-family:"Times New Roman",Times,Georgia,serif;
  font-size:11pt;
  line-height:1.45;
  -webkit-font-smoothing:auto;
  text-rendering:optimizeLegibility;
}

.doc{
  max-width:18.5cm;
  margin:0 auto;
  padding:30mm 24mm 30mm;
  background:#fff;
  min-height:100vh;
}
@media screen{
  body{background:#e0e0e0;padding:24px 0}
  .doc{
    box-shadow:0 0 0 1px #ccc, 0 4px 20px rgba(0,0,0,.08);
    margin:24px auto;
  }
}
/* Mobil: dokumentet fyller skjermen, og brede tabeller ruller i seg selv
   i stedet for å gjøre hele siden bredere enn skjermen. */
@media screen and (max-width:700px){
  body{padding:0}
  .doc{margin:0;padding:28px 20px 40px;box-shadow:none;min-height:0}
  .doc-header{flex-direction:column;gap:10px}
  .doc-header-right{text-align:left}
  .doc table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .doc-titleblock-meta table{display:table}
  .doc h1,.doc h2,.doc p,.doc li{overflow-wrap:break-word}
}

/* String() for running header/footer */
.doc-title-meta{string-set:doc-title content()}
.doc-version-meta{string-set:doc-version content()}
.doc-classification-meta{string-set:doc-classification content()}

/* ── DOCUMENT HEADER ── */
.doc-header{
  display:flex;align-items:flex-start;justify-content:space-between;
  padding-bottom:8mm;margin-bottom:10mm;
  border-bottom:1.5pt solid #000;
}
.doc-header-left{flex:1}
.doc-header-org{
  font-size:10pt;font-weight:bold;letter-spacing:.04em;
  text-transform:uppercase;color:#000;margin-bottom:2pt;
}
.doc-header-meta{
  font-size:8.5pt;color:#666;line-height:1.4;letter-spacing:.01em;
}
.doc-header-right{
  text-align:right;font-size:8.5pt;color:#444;
  font-family:"Courier New",Courier,monospace;
}
.doc-header-classification{
  display:inline-block;
  margin-top:2pt;padding:1pt 6pt;
  border:1pt solid #000;
  font-size:8pt;font-weight:bold;letter-spacing:.15em;
  text-transform:uppercase;color:#000;background:#fff;
}

/* ── TITLE BLOCK ── */
.doc-titleblock{
  text-align:left;padding:10mm 0 12mm;
  border-bottom:0.5pt solid #999;margin-bottom:10mm;
}
.doc-titleblock-eyebrow{
  font-size:9pt;font-weight:bold;letter-spacing:.18em;
  text-transform:uppercase;color:#444;margin-bottom:4pt;
}
.doc-titleblock h1{
  font-family:"Times New Roman",Times,serif;
  font-weight:bold;font-size:22pt;line-height:1.2;color:#000;
  letter-spacing:-.005em;margin-bottom:6pt;
}
.doc-titleblock-sub{
  font-size:11pt;color:#333;line-height:1.4;font-style:italic;
}
.doc-titleblock-meta{
  margin-top:8pt;font-size:9.5pt;color:#444;
}
.doc-titleblock-meta table{
  border-collapse:collapse;
}
.doc-titleblock-meta td{
  padding:2pt 14pt 2pt 0;
  vertical-align:top;
}
.doc-titleblock-meta td.k{font-weight:bold;color:#000;width:auto;white-space:nowrap}

/* ── HEADINGS ── */
.doc h1{
  font-family:"Times New Roman",Times,serif;
  font-size:16pt;font-weight:bold;color:#000;
  margin:12mm 0 4mm;line-height:1.25;
  page-break-after:avoid;
}
.doc h2{
  font-family:"Times New Roman",Times,serif;
  font-size:13pt;font-weight:bold;color:#000;
  margin:8mm 0 3mm;line-height:1.3;
  page-break-after:avoid;
}
.doc h3{
  font-family:"Times New Roman",Times,serif;
  font-size:11pt;font-weight:bold;color:#000;
  margin:6mm 0 2mm;line-height:1.4;
  page-break-after:avoid;
}
.doc h4{
  font-family:"Times New Roman",Times,serif;
  font-size:11pt;font-style:italic;font-weight:normal;color:#000;
  margin:4mm 0 1mm;
}

/* Numbered section style: <h2 class="num"><span>1.1</span> Title</h2> */
.num{display:flex;align-items:baseline;gap:8pt}
.num > span:first-child{
  font-family:"Times New Roman",Times,serif;
  font-weight:bold;color:#000;
  min-width:30pt;
}

/* ── BODY ── */
.doc p{
  margin:0 0 8pt;
  text-align:justify;
  hyphens:auto;
  color:#000;
}
.doc p + p{margin-top:0}

.doc ul, .doc ol{
  margin:4pt 0 8pt 18pt;
  color:#000;
}
.doc li{margin-bottom:3pt;line-height:1.45}
.doc li::marker{color:#000}

.doc strong, .doc b{font-weight:bold;color:#000}
.doc em, .doc i{font-style:italic}

.doc a{
  color:#000;text-decoration:underline;
  text-decoration-thickness:0.5pt;
  text-underline-offset:1.5pt;
}
.doc a:visited{color:#000}

/* ── TABLES (plain bordered) ── */
.doc table{
  border-collapse:collapse;width:100%;
  margin:6pt 0 12pt;
  font-size:10pt;line-height:1.4;
}
.doc table th, .doc table td{
  border:0.5pt solid #000;
  padding:4pt 7pt;
  text-align:left;vertical-align:top;
  color:#000;
}
.doc table th{
  background:#f0f0f0;
  font-weight:bold;
  font-size:9.5pt;
}
.doc table caption{
  caption-side:top;text-align:left;
  font-size:9pt;font-style:italic;color:#444;
  padding-bottom:3pt;
}

/* ── CODE ── */
.doc code, .doc pre{
  font-family:"Courier New",Courier,monospace;
  font-size:9.5pt;
}
.doc code{
  background:#f5f5f5;padding:1pt 3pt;
  border:0.5pt solid #ddd;
}
.doc pre{
  background:#f9f9f9;
  border:0.5pt solid #ccc;
  padding:6pt;
  white-space:pre-wrap;
  margin:6pt 0 10pt;
}

/* ── BLOCKQUOTE / NOTE ── */
.doc blockquote, .doc-note{
  border-left:2pt solid #000;
  padding:4pt 0 4pt 10pt;
  margin:6pt 0 10pt;
  color:#222;font-style:italic;
}
.doc-note{
  font-style:normal;
  background:#fafafa;
  border-left:2pt solid #555;
  padding:6pt 10pt;
}
.doc-note-h{
  font-weight:bold;font-style:normal;text-transform:uppercase;
  font-size:9pt;letter-spacing:.1em;color:#000;margin-bottom:3pt;
}

/* ── SIGNATURE BLOCK ── */
.doc-signature{
  margin-top:18mm;
  display:grid;grid-template-columns:1fr 1fr;gap:30pt;
  page-break-inside:avoid;
}
.doc-signature-block{
  border-top:0.5pt solid #000;padding-top:6pt;
  font-size:10pt;
}
.doc-signature-block-name{font-weight:bold}
.doc-signature-block-role{color:#444;font-size:9pt;margin-top:2pt}
.doc-signature-block-date{color:#444;font-size:9pt;margin-top:6pt}

/* ── FOOTER (last page) ── */
.doc-footer{
  margin-top:14mm;padding-top:6mm;
  border-top:0.5pt solid #999;
  font-size:8.5pt;color:#666;line-height:1.5;
  text-align:center;
}
.doc-footer-org{font-weight:bold;color:#000}

/* ── DOCUMENT-CONTROL TABLE (sist på siste side) ── */
.doc-control{
  margin-top:14mm;
  page-break-inside:avoid;
}
.doc-control-h{
  font-size:9pt;font-weight:bold;letter-spacing:.12em;
  text-transform:uppercase;color:#000;margin-bottom:4pt;
}
.doc-control table th{
  background:#e8e8e8;
}

/* ── TABLE OF CONTENTS ── */
.doc-toc{
  margin:10mm 0 14mm;padding:6mm 8mm;
  border:0.5pt solid #000;background:#fafafa;
}
.doc-toc h2{
  font-size:11pt;text-transform:uppercase;letter-spacing:.1em;
  margin:0 0 4mm;border-bottom:0.5pt solid #000;padding-bottom:2mm;
}
.doc-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.doc-toc li{
  display:flex;align-items:baseline;gap:6pt;
  padding:1pt 0;font-size:10pt;
  counter-increment:toc;
}
.doc-toc li::before{
  content:counter(toc) ".";
  font-weight:bold;min-width:18pt;
}
.doc-toc a{
  flex:1;text-decoration:none;color:#000;
  border-bottom:0.3pt dotted #888;
}
.doc-toc-page{font-family:"Courier New",monospace;font-size:9pt;color:#444}

/* ── PRINT-ONLY UTILITIES ── */
@media print{
  body{background:#fff;padding:0}
  .doc{box-shadow:none;margin:0;padding:0}
  .no-print{display:none!important}
  .page-break{page-break-before:always}
  .avoid-break{page-break-inside:avoid}
}
