/* ==========================================================================
   Apta Brand Guide — Color Palette
   Source: brand-guide/Colors.pdf
   ========================================================================== */

:root {
  /* Primary Colors */
  --apta-brand-black: #000000;
  --apta-brand-white: #FFFFFF;

  /* Neutral Colors */
  --apta-neutral-lightest: #F0F0F0;
  --apta-neutral-lighter: #CCCCCC;
  --apta-neutral-light: #AAAAAA;
  --apta-neutral: #666666;
  --apta-neutral-dark: #444444;
  --apta-neutral-darker: #222222;
  --apta-neutral-darkest: #111111;

  /* System Colors */
  --apta-success-green: #027A48;
  --apta-success-green-light: #ECFDF3;
  --apta-error-red: #B42318;
  --apta-error-red-light: #FEF3F2;
}

/* MkDocs Material — Dark scheme (slate) overrides */
[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--apta-neutral-darkest);
  --md-default-fg-color: var(--apta-neutral-lightest);
  --md-default-fg-color--light: var(--apta-neutral-lighter);
  --md-default-fg-color--lighter: var(--apta-neutral-light);
  --md-default-fg-color--lightest: var(--apta-neutral-light);

  --md-primary-fg-color: var(--apta-brand-black);
  --md-primary-bg-color: var(--apta-brand-white);

  --md-accent-fg-color: var(--apta-neutral-lighter);
  --md-accent-bg-color: var(--apta-neutral-darker);

  --md-typeset-color: var(--apta-neutral-lightest);

  --md-typeset-a-color: var(--apta-brand-white);

  --md-code-bg-color: var(--apta-neutral-darker);
  --md-code-fg-color: var(--apta-neutral-lightest);

  --md-footer-bg-color: var(--apta-brand-black);
  --md-footer-fg-color: var(--apta-neutral-lighter);
}

/* ==========================================================================
   Accessibility — Focus visibility for keyboard navigation (WCAG 2.4.7)
   ========================================================================== */

[data-md-color-scheme="slate"] *:focus-visible {
  outline: 2px solid var(--apta-brand-white);
  outline-offset: 2px;
}

[data-md-color-scheme="slate"] .md-header *:focus-visible,
[data-md-color-scheme="slate"] .md-tabs *:focus-visible,
[data-md-color-scheme="slate"] .md-footer *:focus-visible {
  outline-color: var(--apta-brand-white);
}

[data-md-color-scheme="slate"] .md-search__input:focus-visible {
  outline: 2px solid var(--apta-brand-white);
  outline-offset: -2px;
}

/* Links — white with underline on hover */
[data-md-color-scheme="slate"] .md-typeset a {
  color: var(--apta-brand-white);
  text-decoration: none;
  border-bottom: 1px solid var(--apta-neutral-dark);
  transition: border-color 0.2s;
}

[data-md-color-scheme="slate"] .md-typeset a:hover {
  border-color: var(--apta-brand-white);
}

/* Navigation links — no underline */
[data-md-color-scheme="slate"] .md-nav a,
[data-md-color-scheme="slate"] .md-tabs a,
[data-md-color-scheme="slate"] .md-header a,
[data-md-color-scheme="slate"] .md-footer a {
  border-bottom: none;
}

/* Headings */
[data-md-color-scheme="slate"] .md-typeset h1,
[data-md-color-scheme="slate"] .md-typeset h2,
[data-md-color-scheme="slate"] .md-typeset h3,
[data-md-color-scheme="slate"] .md-typeset h4,
[data-md-color-scheme="slate"] .md-typeset h5,
[data-md-color-scheme="slate"] .md-typeset h6 {
  color: var(--apta-brand-white);
}

/* Header bar */
[data-md-color-scheme="slate"] .md-header {
  background-color: var(--apta-brand-black);
}

/* Tabs bar */
[data-md-color-scheme="slate"] .md-tabs {
  background-color: var(--apta-neutral-darkest);
}

/* Search bar */
[data-md-color-scheme="slate"] .md-search__input {
  background-color: var(--apta-neutral-darker);
  color: var(--apta-neutral-lightest);
}
