:root, body {
  --md-primary-fg-color: #06142e !important; /* Primäre Textfarbe (z.B. Header, Titel) */
  --md-primary-bg-color: #ffffff !important; /* Primäre Hintergrundfarbe */
  --md-typeset-a-color: #065871 !important; /* Primäre Farbe für Links */
  --md-accent-fg-color: #05c1d6 !important; /* Akzentfarbe für Buttons und Links */
  /* Füge hier weitere Farben je nach Designrichtlinien deiner Firma hinzu */
}

/* Allgemeine Schriftgröße */
body {
  font-size: 14px;
}


/* Aktiven Menüeintrag fett darstellen */
md-nav__link--active {
  font-weight: bold;
}

/* Schriftgrößen für Überschriften */
.md-typeset h1 { font-size: 32px; }
.md-typeset h2 { font-size: 28px; }
.md-typeset h3 { font-size: 20px; }
p { font-size: 14px; }

/* microtech Header in blau (unsichtbar) */
.md-header__topic:first-child {
  font-weight: inherit !important;
  color: #06142e !important;
} 

/* Schriftgröße für Aufzählungen */
ul, ol {
  font-size: 14px; /* Allgemeine Schriftgröße für Listen */
}

li {
  font-size: 14px; /* Schriftgröße für Listenelemente */
}

/* Fix um Annotations in Tabellen verwenden können */
.md-tooltip {
  top: inherit;
  left: inherit;
  margin-left: 12px;
  margin-top: 7px;
}

/* Schriftart */
@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Regular.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Bold.ttf') format('truetype');
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-Italic.ttf') format('truetype');
  font-weight: normal;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: 'Open Sans';
  src: url('../fonts/OpenSans-BoldItalic.ttf') format('truetype');
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}

body {
  font-family: 'Open Sans', sans-serif;
}

/* Video Admonition */

:root {
--md-admonition-icon--video: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="white" d="M336.2 64H63.8C28.6 64 0 92.6 0 127.8v256.4C0 419.4 28.6 448 63.8 448h272.4c35.2 0 63.8-28.6 63.8-63.8V127.8C400 92.6 371.4 64 336.2 64zm-8 160l112-80v224l-112-80v-64z"/></svg>');
}

.md-typeset .admonition.video,
.md-typeset details.video {
border-color: #0099aa;
}

.md-typeset .video > .admonition-title,
.md-typeset .video > summary {
background-color: rgba(0, 153, 170, 0.1);
}

.md-typeset .video > .admonition-title::before,
.md-typeset .video > summary::before {
background-color: #0099aa;
-webkit-mask-image: var(--md-admonition-icon--video);
        mask-image: var(--md-admonition-icon--video);
}

/* Unsichtbarer, aber durchsuchbarer Text */
.hidden-search {
display: none;
}

/* Video-Zustimm-Banner über Cookies */

.video-consent {
  position: relative;
  aspect-ratio: 16 / 9;
  padding-bottom: 56.25%; /* 16:9 */
  background: #000; /* Schwarz statt grau - fällt weniger auf */
  cursor: pointer;
  overflow: hidden;
}

.video-consent img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* Bild füllt Container vollständig */
}

.video-consent .play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgba(255, 0, 0, 0.8);
  border-radius: 12px;
  padding: 20px 30px;
  color: white;
  font-size: 16px;
  font-weight: bold;
  z-index: 2;
}

.video-consent .privacy-note {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.7);
  color: white;
  padding: 10px;
  font-size: 12px;
  text-align: center;
  z-index: 2;
}

.video-consent .privacy-note a {
  color: white;
  text-decoration: underline;
}

.video-consent.no-consent .play-button {
  background: rgba(100, 100, 100, 0.8);
}

.video-consent.no-consent .play-button::after {
  content: " (Einwilligung erforderlich)";
  font-size: 12px;
  font-weight: normal;
}

.video-consent iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* DOM order: content (1st) → primary nav (2nd) → secondary toc (3rd)
   Visual order via flexbox: primary nav (0) → content (1) → secondary toc (2)
   Theme sets md-sidebar--secondary to order:2; primary has implicit order:0 */
.md-sidebar--primary {
  order: 0;
}

.md-content {
  order: 1;
}

/* ==========================================================================
   CONTENT TABS: Visueller Abschluss (Register-Boxen)
   
   Rahmen um den gesamten Tab-Bereich + Gradient-Linie am Ende,
   damit klar erkennbar ist, wo der Tab-Inhalt endet.
   ========================================================================== */

.md-typeset .tabbed-set {
  border: 1px solid rgba(6, 20, 46, 0.15);
  border-left: 4px solid var(--md-accent-fg-color);
  border-radius: 6px;
  padding: 0.4em 1em 1em;
  margin-bottom: 1.5em;
}

/* Links im Fließtext fett darstellen (nicht Navigation/TOC) */
.md-content .md-typeset a:not(.md-nav__link):not(.md-header__button):not(.tabbed-labels a) {
  font-weight: bold;
}

.md-typeset .tabbed-set::after {
  content: "";
  display: block;
  height: 3px;
  margin-top: 1em;
  background: linear-gradient(
    to right,
    var(--md-primary-fg-color),
    var(--md-accent-fg-color),
    transparent
  );
  border-radius: 2px;
}

.md-typeset .tabbed-set::before {
  content: "";
  display: block;
  height: 2px;
  margin-top: 0.3em;
  background: linear-gradient(
    to left,
    var(--md-accent-fg-color),
    var(--md-primary-fg-color),
    transparent
  );
  border-radius: 2px;
  opacity: 0.45;
  order: 99;
}