/* ==========================================================================
   Birchville Corporate Design Theme ("Scholarly Synthesis" - Tagfarben)
   Applied to Material for MkDocs Standard Layout
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Birchville Tagfarben Token Overrides (Light: Warm Ivory & Deep Ink)
   -------------------------------------------------------------------------- */
:root,
[data-md-color-scheme="default"] {
  /* Page & surface backgrounds (Warm Ivory & Warm Sand) */
  --md-default-bg-color:           #fcf9f2; /* Warm Ivory base */
  --md-default-bg-color--light:    #f1eee7; /* Warm Sand surface / cards / code */
  --md-default-bg-color--lighter:  #eae5dc;
  --md-default-bg-color--lightest: #d8d2c6;

  /* Typography & foregrounds (Deep Midnight Navy & Slate) */
  --md-default-fg-color:           #03192e; /* Deep Midnight Navy primary text */
  --md-default-fg-color--light:    #1e2d37; /* Slate Navy secondary text */
  --md-default-fg-color--lighter:  #6b6257; /* Muted Stone tertiary text */
  --md-default-fg-color--lightest: #d8d2c6; /* Warm subtle borders / dividers */

  /* Primary Brand Tokens */
  --md-primary-fg-color:           #03192e;
  --md-primary-fg-color--light:    #1e2d37;
  --md-primary-fg-color--dark:     #021221;
  --md-primary-bg-color:           #03192e;
  --md-primary-bg-color--light:    #1e2d37;

  /* Accent / Highlights (Warm Amber / Gold) */
  --md-accent-fg-color:            #b45309; /* Warm Amber */
  --md-accent-fg-color--transparent: rgba(180, 83, 9, 0.10);
  --md-accent-bg-color:            #fcf9f2;
  --md-accent-bg-color--light:     #f1eee7;

  /* Typeset text & links */
  --md-typeset-color:              #1e2d37;
  --md-typeset-a-color:            #b45309;

  /* Code block */
  --md-code-fg-color:              #03192e;
  --md-code-bg-color:              #f1eee7;
  --md-code-hl-color:              #b45309;

  /* Tables & Borders */
  --md-typeset-table-color:        #d8d2c6;
  --md-typeset-table-color--light: #f7f4ec;

  /* Shadows */
  --md-shadow-z1: 0 1px 3px rgba(3, 25, 46, 0.05), 0 1px 2px rgba(3, 25, 46, 0.03);
  --md-shadow-z2: 0 4px 6px -1px rgba(3, 25, 46, 0.07), 0 2px 4px -1px rgba(3, 25, 46, 0.03);
  --md-shadow-z3: 0 10px 15px -3px rgba(3, 25, 46, 0.09), 0 4px 6px -2px rgba(3, 25, 46, 0.04);

  /* Footer */
  --md-footer-bg-color:            #03192e;
  --md-footer-bg-color--dark:      #021221;
  --md-footer-fg-color:            #fcf9f2;
  --md-footer-fg-color--light:     #d8d2c6;
  --md-footer-fg-color--lighter:   #a1a1a1;

  /* Header Frosted Glass */
  --bv-header-bg:                  rgba(252, 249, 242, 0.88);
  --bv-header-border:              #d8d2c6;
  --bv-header-fg:                  #03192e;
}

/* --------------------------------------------------------------------------
   1b. Birchville Dark Mode Tokens (Slate: Midnight Navy & Pergament)
   -------------------------------------------------------------------------- */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:           #0a1628; /* Midnight Navy base */
  --md-default-bg-color--light:    #0f1e35; /* Dark Slate Navy surface */
  --md-default-bg-color--lighter:  #152542;
  --md-default-bg-color--lightest: #334155; /* Slate border */

  --md-default-fg-color:           #e8e0d3; /* Warm Pergament primary text */
  --md-default-fg-color--light:    #c4bba5; /* Sand secondary text */
  --md-default-fg-color--lighter:  #a09080; /* Muted Stone tertiary text */
  --md-default-fg-color--lightest: #334155; /* Slate hairline divider */

  --md-primary-fg-color:           #e8e0d3;
  --md-primary-fg-color--light:    #c4bba5;
  --md-primary-fg-color--dark:     #0a1628;
  --md-primary-bg-color:           #0a1628;
  --md-primary-bg-color--light:    #0f1e35;

  --md-accent-fg-color:            #eab308; /* Luminous Warm Amber Gold */
  --md-accent-fg-color--transparent: rgba(234, 179, 8, 0.12);
  --md-accent-bg-color:            #0a1628;
  --md-accent-bg-color--light:     #0f1e35;

  --md-typeset-color:              #c4bba5;
  --md-typeset-a-color:            #eab308;

  --md-code-fg-color:              #e8e0d3;
  --md-code-bg-color:              #0f1e35;
  --md-code-hl-color:              #eab308;

  --md-typeset-table-color:        #334155;
  --md-typeset-table-color--light: #0f1e35;

  --md-shadow-z1: 0 1px 3px rgba(0, 0, 0, 0.35);
  --md-shadow-z2: 0 4px 6px -1px rgba(0, 0, 0, 0.45);
  --md-shadow-z3: 0 10px 15px -3px rgba(0, 0, 0, 0.55);

  --md-footer-bg-color:            #060e1a;
  --md-footer-bg-color--dark:      #040a12;
  --md-footer-fg-color:            #e8e0d3;
  --md-footer-fg-color--light:     #c4bba5;
  --md-footer-fg-color--lighter:   #a09080;

  --bv-header-bg:                  rgba(10, 22, 40, 0.88);
  --bv-header-border:              #334155;
  --bv-header-fg:                  #e8e0d3;
}

/* --------------------------------------------------------------------------
   2. Typography & Layout
   -------------------------------------------------------------------------- */
body {
  background-color: var(--md-default-bg-color) !important;
  color: var(--md-default-fg-color) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  letter-spacing: -0.01em;
}

.md-typeset {
  font-size: 0.85rem;
  line-height: 1.68;
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  font-weight: 700;
  letter-spacing: -0.025em;
  color: var(--md-default-fg-color);
}

.md-typeset h1 {
  font-size: 2.1rem;
  margin-bottom: 1.2rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

.md-typeset h2 {
  font-size: 1.45rem;
  margin-top: 2rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

.md-typeset a {
  color: var(--md-accent-fg-color);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 0.15s ease, opacity 0.15s ease;
}

.md-typeset a:hover {
  opacity: 0.85;
}

/* --------------------------------------------------------------------------
   3. Frosted Glass Header (Birchville Tagfarben Standard)
   -------------------------------------------------------------------------- */
.md-header {
  background-color: var(--bv-header-bg) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--bv-header-border) !important;
  box-shadow: 0 1px 2px rgba(3, 25, 46, 0.04) !important;
  color: var(--bv-header-fg) !important;
}

/* Hide top tabs bar: Scholarly Synthesis layout standard uses centralized drawer navigation */
.md-tabs {
  display: none !important;
}

.md-header__button {
  color: var(--bv-header-fg) !important;
}

.md-header__topic {
  color: var(--bv-header-fg) !important;
  font-weight: 600;
  letter-spacing: -0.015em;
}

.md-header__source {
  color: var(--bv-header-fg) !important;
}

/* Birchville Logo */
.md-header__button.md-logo {
  margin: 0.2rem 0.6rem 0.2rem 0 !important;
  padding: 0 !important;
}

.md-header__button.md-logo img {
  height: 2.1rem !important;
  width: auto !important;
  border-radius: 4px;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.18));
  transition: transform 0.2s ease;
}

.md-header__button.md-logo:hover img {
  transform: scale(1.06);
}

/* Search bar modern styling */
.md-search__form {
  background-color: var(--md-default-bg-color--light) !important;
  border: 1px solid var(--md-default-fg-color--lightest) !important;
  border-radius: 8px !important;
}

.md-search__input {
  color: var(--md-default-fg-color) !important;
}

.md-search__input::placeholder {
  color: var(--md-default-fg-color--lighter) !important;
}

.md-search__icon {
  color: var(--md-default-fg-color--light) !important;
}

/* --------------------------------------------------------------------------
   4. Universal Hamburger Drawer Layout (Scholarly Synthesis Standard)
   Enforces slide-over drawer across ALL viewports (Desktop, Tablet, Mobile)
   -------------------------------------------------------------------------- */
.md-header__button[for="__drawer"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 6px;
  width: 2.2rem;
  height: 2.2rem;
  margin-right: 0.4rem;
  transition: background-color 0.15s ease, transform 0.15s ease;
}

.md-header__button[for="__drawer"]:hover {
  background-color: var(--md-accent-fg-color--transparent) !important;
  color: var(--md-accent-fg-color) !important;
}

.md-header__button[for="__drawer"]:active {
  transform: scale(0.95);
}

.md-header__button[for="__drawer"] svg {
  width: 1.35rem;
  height: 1.35rem;
  fill: currentColor;
}

/* Header typography refinements */
.md-header__topic {
  font-size: 0.88rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em;
}

.md-header__topic:first-child {
  font-weight: 700 !important;
  font-size: 0.92rem !important;
}

/* Universal Off-Canvas Drawer for Desktop (>= 76.25em / 1220px) */
@media screen and (min-width: 76.25em) {
  .md-header__button[for="__drawer"] {
    display: inline-flex !important;
  }

  /* Detach sidebar from page flow and turn into fixed slide-over drawer */
  .md-sidebar--primary {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    bottom: 0 !important;
    z-index: 40 !important;
    width: 20rem !important;
    max-width: 86vw !important;
    height: 100vh !important;
    background-color: var(--md-default-bg-color) !important;
    border-right: 1px solid var(--md-default-fg-color--lightest) !important;
    box-shadow: 8px 0 32px rgba(3, 25, 46, 0.18) !important;
    transform: translateX(-100%) !important;
    transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: block !important;
    visibility: hidden !important;
    padding: 0 !important;
    overflow: hidden;
  }

  [data-md-color-scheme="slate"] .md-sidebar--primary {
    box-shadow: 8px 0 32px rgba(0, 0, 0, 0.65) !important;
  }

  .md-sidebar--primary .md-sidebar__scrollwrap {
    height: 100% !important;
    overflow-y: auto !important;
    padding: 1.2rem 1rem !important;
  }

  #__drawer:checked ~ .md-container .md-sidebar--primary {
    transform: translateX(0) !important;
    visibility: visible !important;
  }

  /* Overlay Backdrop on desktop when drawer is checked */
  #__drawer:checked ~ .md-overlay {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    z-index: 35 !important;
    background-color: rgba(3, 25, 46, 0.48) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    transition: opacity 0.25s ease !important;
  }

  /* Centered scholarly reading layout when drawer is off-screen */
  .md-main__inner {
    max-width: 54rem !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 2rem 1.5rem !important;
  }

  .md-content {
    max-width: 100% !important;
    margin: 0 !important;
  }
}

/* --------------------------------------------------------------------------
   5. Sidebar & Drawer Navigation Styling
   -------------------------------------------------------------------------- */
.md-nav__title {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--md-default-fg-color) !important;
  letter-spacing: -0.01em;
  padding: 0.6rem 0.5rem 0.8rem !important;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  margin-bottom: 0.6rem;
}

.md-nav__link {
  color: var(--md-default-fg-color--light);
  font-size: 0.82rem;
  border-radius: 6px;
  padding: 0.35rem 0.6rem;
  transition: all 0.15s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.md-nav__link:hover {
  color: var(--md-accent-fg-color) !important;
  background-color: var(--md-default-bg-color--light);
}

.md-nav__item--active > .md-nav__link {
  color: var(--md-accent-fg-color) !important;
  font-weight: 600;
  border-left: 2.5px solid var(--md-accent-fg-color);
  background-color: var(--md-accent-fg-color--transparent);
  border-radius: 0 6px 6px 0;
  padding-left: 0.75rem;
}

/* Integrated Table of Contents in Left Drawer */
.md-nav--integrated .md-nav__link {
  font-size: 0.78rem;
  color: var(--md-default-fg-color--lighter);
}

/* --------------------------------------------------------------------------
   6. Code Blocks, Tables & Admonitions
   -------------------------------------------------------------------------- */
.md-typeset pre > code {
  border-radius: 8px;
  border: 1px solid var(--md-default-fg-color--lightest);
  font-size: 0.82rem;
  line-height: 1.55;
  background-color: var(--md-default-bg-color--light);
  color: var(--md-default-fg-color);
}

.md-typeset code {
  border-radius: 4px;
  font-size: 0.85em;
  padding: 0.15em 0.35em;
  background-color: var(--md-default-bg-color--light);
  border: 1px solid var(--md-default-fg-color--lightest);
  color: var(--md-default-fg-color);
}

.md-typeset table:not([class]) {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  box-shadow: var(--md-shadow-z1);
  background-color: var(--md-default-bg-color);
}

.md-typeset table:not([class]) th {
  background-color: var(--md-default-bg-color--light);
  color: var(--md-default-fg-color);
  font-weight: 600;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  padding: 0.65rem 0.9rem;
}

.md-typeset table:not([class]) td {
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
  padding: 0.65rem 0.9rem;
}

.md-typeset table:not([class]) tr:last-child td {
  border-bottom: none;
}

.md-typeset table:not([class]) tr:hover td {
  background-color: var(--md-default-bg-color--lighter);
}

.md-typeset .admonition,
.md-typeset details {
  border-radius: 8px;
  border-width: 1px 1px 1px 4px;
  box-shadow: var(--md-shadow-z1);
}

/* --------------------------------------------------------------------------
   7. Cards & Grid
   -------------------------------------------------------------------------- */
.md-typeset .grid.cards > ol > li,
.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
  background-color: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.md-typeset .grid.cards > ol > li:hover,
.md-typeset .grid.cards > ul > li:hover,
.md-typeset .grid > .card:hover {
  transform: translateY(-2px);
  box-shadow: var(--md-shadow-z2);
  border-color: var(--md-accent-fg-color);
}

/* --------------------------------------------------------------------------
   8. Footer
   -------------------------------------------------------------------------- */
.md-footer {
  border-top: 1px solid var(--md-default-fg-color--lightest);
  background-color: var(--md-default-bg-color--light);
}

.md-footer-meta {
  background-color: var(--md-footer-bg-color) !important;
  color: var(--md-footer-fg-color) !important;
}

/* --------------------------------------------------------------------------
   9. Scholarly Synthesis Quick-Access Card Grid
   -------------------------------------------------------------------------- */
.quick-access-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.25rem;
  margin: 1.5rem 0 2rem;
}

.quick-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background-color: var(--md-default-bg-color);
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: 8px;
  padding: 1.25rem;
  box-shadow: var(--md-shadow-z1);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.quick-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--md-shadow-z2);
  border-color: var(--md-accent-fg-color);
}

.quick-card-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid var(--md-default-fg-color--lightest);
}

.quick-card-icon {
  font-size: 1.35rem;
  line-height: 1;
}

.quick-card-title {
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--md-default-fg-color);
  letter-spacing: -0.015em;
}

.quick-card-body {
  font-size: 0.83rem;
  line-height: 1.55;
  color: var(--md-default-fg-color--light);
  margin-bottom: 1.2rem;
  flex-grow: 1;
}

.quick-card-action {
  margin-top: auto;
}

.quick-card-action a.quick-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.9rem;
  font-size: 0.8rem;
  font-weight: 600;
  border-radius: 6px;
  text-decoration: none;
  transition: all 0.15s ease;
}

.quick-card-action a.quick-btn-primary {
  background-color: var(--md-accent-fg-color);
  color: #ffffff !important;
}

.quick-card-action a.quick-btn-primary:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.quick-card-action a.quick-btn-outline {
  border: 1px solid var(--md-accent-fg-color);
  color: var(--md-accent-fg-color) !important;
  background: transparent;
}

.quick-card-action a.quick-btn-outline:hover {
  background-color: var(--md-accent-fg-color--transparent);
  transform: translateY(-1px);
}

