/* Kontron AG Corporate Design Stylesheet
 * Source: https://www.kontron.com/en/brandbook/
 * Font: Kontron (official corporate font, local TTFs)
 * Primary: Kontron Blue #005083, Kontron Green #3FB498
 * Generated by generate-brand-artifacts.js v1.0.0
 * Last-Generated: 2026-04-23
 *
 * NOTE: This is a COPY of the file generated at branding/generated/brand.css,
 * vendored into this self-contained website so the GitLab CI Docker build
 * (context = website/) needs no reference outside this folder. Re-sync it
 * after any `npm run generate` run in the shared branding project. The only
 * manual change here is the five @font-face `src` URLs below, repointed to
 * `../fonts/…` to match this folder's local layout (`assets/brand/brand.css`
 * plus `assets/fonts/`).
 */

@font-face {
  font-family: 'Kontron';
  src: url('../fonts/Kontron-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Kontron';
  src: url('../fonts/Kontron-LightItalic.ttf') format('truetype');
  font-weight: 300;
  font-style: italic;
}

@font-face {
  font-family: 'Kontron';
  src: url('../fonts/Kontron-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Kontron';
  src: url('../fonts/Kontron-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Kontron';
  src: url('../fonts/Kontron-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

:root {
  /* --- Colors --- */
  --kontron-brand-primary: #005083;
  --kontron-brand-accent: #3FB498;
  --kontron-black-blue: #113350;
  --kontron-blue: #006BAC;
  --kontron-mid-blue: #4A86B5;
  --kontron-light-blue: #A1BBD0;
  --kontron-black: #000000;
  --kontron-dark-grey: #58585A;
  --kontron-grey: #808080;
  --kontron-light-grey: #F2F2F2;
  --kontron-magenta: #E50076;
  --kontron-cyan: #00FFFF;

  /* --- Gradients --- */
  --kontron-brand-gradient: linear-gradient(to right, #005083, #3FB498);
  --kontron-brand-gradient-diagonal: linear-gradient(to upper right, #005083, #3FB498);
}

/* --- Base --- */

body {
  font-family: 'Kontron', 'Calibri Light', 'Calibri', sans-serif;
  font-weight: 300;
  color: var(--kontron-dark-grey);
  line-height: 1.65;
  font-size: 10pt;
}

/* --- Headings --- */
/* Lighter weights preferred per brand guidelines.
   Larger text in 80% black (Dark Grey), <9pt in 100% black. */

h1 {
  font-family: 'Kontron', sans-serif;
  font-weight: 600;
  color: var(--kontron-brand-primary);
  font-size: 22pt;
  border-bottom: 3px solid var(--kontron-brand-accent);
  padding-bottom: 8px;
  margin-top: 36px;
  margin-bottom: 16px;
}

h1:first-of-type {
  font-size: 26pt;
  margin-top: 24px;
  border-bottom-width: 4px;
  border-bottom-color: transparent;
  border-image: linear-gradient(to right, var(--kontron-brand-primary), var(--kontron-brand-accent)) 1;
  padding-bottom: 12px;
}

h2 {
  font-family: 'Kontron', sans-serif;
  font-weight: 500;
  color: var(--kontron-brand-primary);
  font-size: 15pt;
  border-bottom: 1px solid var(--kontron-light-blue);
  padding-bottom: 4px;
  margin-top: 28px;
  margin-bottom: 12px;
}

h3 {
  font-family: 'Kontron', sans-serif;
  font-weight: 500;
  color: var(--kontron-black-blue);
  font-size: 12pt;
  margin-top: 22px;
  margin-bottom: 8px;
}

h4, h5, h6 {
  font-family: 'Kontron', sans-serif;
  font-weight: 500;
  color: var(--kontron-dark-grey);
  font-size: 10pt;
  margin-top: 16px;
  margin-bottom: 6px;
}

/* --- Tables --- */

table {
  border-collapse: collapse;
  width: 100%;
  margin: 14px 0;
  font-size: 9pt;
}

thead th {
  background-color: var(--kontron-brand-primary);
  color: #fff;
  font-weight: 500;
  text-align: left;
  padding: 8px 12px;
  border: 1px solid var(--kontron-brand-primary);
}

td {
  padding: 6px 12px;
  border: 1px solid #ddd;
  vertical-align: top;
}

tbody tr:nth-child(even) {
  background-color: var(--kontron-light-grey);
}

/* --- Links --- */

a {
  color: var(--kontron-blue);
  text-decoration: none;
}

/* --- Horizontal Rules (gradient accent) --- */

hr {
  border: none;
  height: 2px;
  background: linear-gradient(to right, var(--kontron-brand-primary), var(--kontron-brand-accent));
  margin: 24px 0;
}

/* --- Blockquotes --- */

blockquote {
  border-left: 3px solid var(--kontron-brand-accent);
  margin: 14px 0;
  padding: 8px 16px;
  background-color: var(--kontron-light-grey);
  color: var(--kontron-dark-grey);
}

/* --- Code --- */

code {
  font-family: 'Fira Code', 'Consolas', 'Monaco', monospace;
  font-size: 9pt;
  background-color: var(--kontron-light-grey);
  padding: 1px 4px;
  border-radius: 3px;
}

pre {
  background-color: var(--kontron-light-grey);
  border-left: 3px solid var(--kontron-mid-blue);
  padding: 12px;
  border-radius: 4px;
  overflow-x: auto;
  font-size: 9pt;
  line-height: 1.4;
}

pre code {
  background: none;
  padding: 0;
}

/* --- Emphasis --- */

strong {
  font-weight: 600;
  color: var(--kontron-black-blue);
}

/* --- Mermaid Diagrams --- */

.mermaid {
  text-align: center;
  margin: 20px 0;
  padding: 8px;
  background-color: #fff;
  border: 1px solid var(--kontron-light-blue);
  border-radius: 6px;
  overflow: visible;
}

.mermaid svg {
  width: 100%;
  height: auto;
  overflow: visible;
}

/* --- Lists --- */

ul, ol {
  padding-left: 24px;
}

li {
  margin-bottom: 3px;
}

/* --- Print --- */

@media print {
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  h1, h2, h3 {
    page-break-after: avoid;
  }

  table, pre, blockquote {
    page-break-inside: avoid;
  }
}
