/* =================================================================
   Bast AI — Sponsor Documentation Theme
   Brand palette derived from shared-styles design tokens
   ================================================================= */

/* ── Brand palette ─────────────────────────────────────────────── */
:root {
  /* Primary — Bast cyan */
  --md-primary-fg-color:            #0090cc;
  --md-primary-fg-color--light:     #33a6d6;
  --md-primary-fg-color--dark:      #0078a8;

  /* Accent — Bast deep indigo */
  --md-accent-fg-color:             #3c54a1;
  --md-accent-fg-color--transparent: rgba(60, 84, 161, 0.1);

  /* Typography */
  --md-text-font: "Inter", system-ui, -apple-system, sans-serif;
  --md-code-font: "IBM Plex Mono", ui-monospace, monospace;

  /* Bast-specific tokens */
  --bast-gradient-from:  #0090cc;
  --bast-gradient-to:    #3c54a1;
  --bast-text-primary:   #0d2935;
  --bast-bg-light:       #f8fafb;
  --bast-border-light:   rgba(13, 41, 53, 0.12);
  --bast-success:        #00975d;
  --bast-warning:        #eaac16;
  --bast-error:          #ed3b30;
}

/* ── Dark mode ─────────────────────────────────────────────────── */
[data-md-color-scheme="slate"] {
  --md-default-bg-color:            #2b3038;
  --md-default-bg-color--light:     #343a44;
  --md-primary-fg-color:            #33a6d6;
  --md-accent-fg-color:             #7b8fd4;
  --bast-text-primary:              #edf3f9;
  --bast-bg-light:                  #2b3038;
  --bast-border-light:              rgba(0, 144, 204, 0.18);
}

/* ── Header — darker brand gradient for contrast ──────────────── */
.md-header {
  background: linear-gradient(135deg, #005f8a 0%, #2a3d7a 100%);
}

.md-header[data-md-state="shadow"] {
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
}

/* Header text — ensure white is crisp */
.md-header .md-header__title {
  color: #fff;
  font-weight: 600;
}

/* Logo — force white fill so it's visible on dark header */
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  height: 1.6rem;
  width: auto;
  filter: brightness(0) invert(1);
}

/* ── Navigation polish ─────────────────────────────────────────── */
.md-nav__link--active {
  border-left: 3px solid var(--md-accent-fg-color);
  padding-left: 0.6rem;
}

/* Tabs — darker background for readable white text */
.md-tabs {
  background: #1a3050;
}

.md-tabs__link {
  color: rgba(255, 255, 255, 0.75) !important;
  font-weight: 500;
}

.md-tabs__link--active,
.md-tabs__link:hover {
  color: #fff !important;
}

/* ── Metadata bar — neumorphic ─────────────────────────────────── */
.doc-metadata {
  background: var(--md-default-bg-color, #fff);
  border: 1px solid var(--bast-border-light);
  border-radius: 10px;
  padding: 0.6rem 1.2rem;
  margin-bottom: 1.5rem;
  font-size: 0.82rem;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  color: var(--md-default-fg-color--light);
  box-shadow:
    3px 3px 6px rgba(0, 0, 0, 0.05),
    -3px -3px 6px rgba(255, 255, 255, 0.6);
}

[data-md-color-scheme="slate"] .doc-metadata {
  box-shadow:
    3px 3px 6px rgba(0, 0, 0, 0.2),
    -3px -3px 6px rgba(255, 255, 255, 0.03);
}

.doc-metadata .status-active  { color: var(--bast-success); font-weight: 600; }
.doc-metadata .status-draft   { color: var(--bast-warning); font-weight: 600; }
.doc-metadata .status-deprecated { color: var(--bast-error); font-weight: 600; }

/* ── Content polish ────────────────────────────────────────────── */
.md-content {
  max-width: 52rem;
}

/* Admonition accent colors aligned to brand */
.md-typeset .admonition.note,
.md-typeset details.note {
  border-color: var(--md-primary-fg-color);
}

/* Code blocks */
.md-typeset code {
  border-radius: 4px;
}

/* Tables */
.md-typeset table:not([class]) {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

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

[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: var(--md-primary-fg-color--dark);
}

/* ── Footer — confidentiality ──────────────────────────────────── */
.md-footer {
  background: var(--bast-gradient-to);
}

.sponsor-footer {
  text-align: center;
  padding: 1.2rem 1rem 0.8rem;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.85);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.sponsor-footer .confidential {
  font-weight: 600;
  letter-spacing: 0.02em;
  margin: 0.3rem 0;
  color: rgba(255, 255, 255, 0.95);
}

.sponsor-footer .copyright {
  color: rgba(255, 255, 255, 0.55);
  margin: 0;
}

/* ── Landing page hero ─────────────────────────────────────────── */
.hero-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.hero-stat {
  text-align: center;
  padding: 1.2rem 0.8rem;
  border-radius: 12px;
  background: var(--md-default-bg-color, #fff);
  border: 1px solid var(--bast-border-light);
  box-shadow:
    4px 4px 8px rgba(0, 0, 0, 0.05),
    -4px -4px 8px rgba(255, 255, 255, 0.6);
}

[data-md-color-scheme="slate"] .hero-stat {
  box-shadow:
    4px 4px 8px rgba(0, 0, 0, 0.25),
    -4px -4px 8px rgba(255, 255, 255, 0.03);
}

.hero-stat .number {
  display: block;
  font-size: 2rem;
  font-weight: 700;
  color: var(--md-primary-fg-color);
  line-height: 1.1;
}

.hero-stat .label {
  display: block;
  font-size: 0.82rem;
  color: var(--md-default-fg-color--light);
  margin-top: 0.3rem;
}

/* ── Print / PDF — hide confidential notice ────────────────────── */
@media print {
  .sponsor-footer .confidential {
    display: block !important;
    color: #333;
  }
}
