/* ============================================================
   eapctf docs — custom theme
   Primary: #1a56db (blue-700 Flowbite)  Accent: #0ea5e9
   ============================================================ */

/* ---------- Color tokens ---------- */
:root {
  --md-primary-fg-color:        #1a56db;
  --md-primary-fg-color--light: #3f74e0;
  --md-primary-fg-color--dark:  #1240a8;
  --md-accent-fg-color:         #0ea5e9;
  --md-accent-fg-color--dark:   #0284c7;
}

[data-md-color-scheme="slate"] {
  --md-primary-fg-color:        #4a8af4;
  --md-primary-fg-color--light: #6ba3f7;
  --md-primary-fg-color--dark:  #2563eb;
  --md-accent-fg-color:         #38bdf8;
  --md-default-bg-color:        #0f172a;
  --md-default-bg-color--light: #1e293b;
  --md-default-bg-color--dark:  #0a0f1e;
  --md-code-bg-color:           #1e293b;
}

/* ---------- Fonts ---------- */
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");

body {
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  -webkit-font-smoothing: antialiased;
}

/* ---------- Header / nav tabs ---------- */
.md-header {
  box-shadow: 0 1px 0 0 rgba(0,0,0,.08);
}

.md-tabs {
  border-bottom: 1px solid rgba(0,0,0,.06);
}

[data-md-color-scheme="slate"] .md-tabs {
  border-bottom: 1px solid rgba(255,255,255,.06);
}

/* ---------- Site title ---------- */
.md-header__title {
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* ---------- Hero on home page ---------- */
.md-typeset h1:first-of-type {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  margin-bottom: 0.4rem;
}

/* ---------- Code blocks ---------- */
.md-typeset pre > code {
  font-size: 0.82rem;
  border-radius: 8px;
}

.highlight .hll {
  background: rgba(26,86,219,.12);
}

/* ---------- Inline code ---------- */
.md-typeset code {
  font-size: 0.83em;
  padding: 0.1em 0.35em;
  border-radius: 4px;
  background: rgba(26,86,219,.08);
  color: var(--md-primary-fg-color);
}

[data-md-color-scheme="slate"] .md-typeset code {
  background: rgba(74,138,244,.15);
  color: var(--md-primary-fg-color);
}

/* ---------- Tables ---------- */
.md-typeset table:not([class]) {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--md-default-fg-color--lightest);
  font-size: 0.88rem;
}

.md-typeset table:not([class]) th {
  background: var(--md-primary-fg-color);
  color: #fff;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.md-typeset table:not([class]) tr:nth-child(even) td {
  background: rgba(26,86,219,.03);
}

[data-md-color-scheme="slate"] .md-typeset table:not([class]) tr:nth-child(even) td {
  background: rgba(74,138,244,.05);
}

/* ---------- Admonitions ---------- */
.md-typeset .admonition,
.md-typeset details {
  border-radius: 8px;
  border-left-width: 3px;
  font-size: 0.9rem;
}

/* ---------- Navigation sidebar ---------- */
.md-nav__title {
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--md-default-fg-color--light);
}

.md-nav__item--active > .md-nav__link {
  font-weight: 600;
  color: var(--md-primary-fg-color);
}

/* ---------- TOC ---------- */
.md-nav--secondary .md-nav__link--active {
  color: var(--md-primary-fg-color);
  font-weight: 500;
}

/* ---------- Buttons / copy buttons ---------- */
.md-clipboard {
  border-radius: 6px;
  opacity: 0.55;
  transition: opacity .15s;
}
.md-clipboard:hover { opacity: 1; }

/* ---------- Footer ---------- */
.md-footer-meta {
  background: var(--md-primary-fg-color--dark);
}

/* ---------- API reference headings ---------- */
.doc-heading {
  font-weight: 700;
}

/* Slightly muted parameter descriptions */
.doc-contents p {
  font-size: 0.92rem;
}

/* ---------- Search ---------- */
.md-search__form {
  border-radius: 8px;
}

/* ---------- Back-to-top button ---------- */
.md-top {
  border-radius: 8px;
  font-weight: 600;
}
