/* ariviti-tokens.css
   The built implementation of 02_PARTICLE_Color_Typefaces.md's Color &
   Typography spec. Do not hand-edit color/font VALUES here without
   updating that file first — this file follows the spec, it does not
   define it. New colors are a token-level decision (Decision Rights
   Table, Strings doc) — they escalate, they don't get added in CSS.
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Plus+Jakarta+Sans:wght@400;500;700;800&display=swap');

:root {
  /* Particles — Color (02_PARTICLE_Color_Typefaces.md § Full Specification) */
  --ariviti-orange: #FF4D1C;
  --ariviti-orange-tint-20: #FFE0D3;
  --ariviti-indigo: #3B3EA9;
  --ariviti-indigo-tint-20: #D4D5F0;
  --ariviti-indigo-dark: #1E1669;
  --ariviti-soft-black: #2E2E2E;
  --ariviti-white: #FFFFFF;

  /* Particles — Dark Surfaces
     FIXED: previously used two invented hex values (#0A0A18, #14142B)
     that don't exist anywhere in 02_PARTICLE_Color_Typefaces.md's
     approved 14-value set (5 base colors + 9 tints/shades). Swapped
     for the already-approved Indigo 80% shade instead — same visual
     job (near-black background), zero new colors introduced. */
  --ariviti-dark-bg: #0C0D22;
  /* = --ariviti-indigo-shade-80, approved */
  --ariviti-dark-surface: #1E1669;
  /* = --ariviti-indigo-dark, approved */

  /* Particles — Typography (02_PARTICLE_Color_Typefaces.md § The Three-Font Rule) */
  --ariviti-font-display: 'Space Grotesk', sans-serif;
  --ariviti-font-body: 'Plus Jakarta Sans', sans-serif;
}

/* ==========================================================================
   SCHEME MAPPING
   ========================================================================== */

[data-md-color-scheme="default"],
[data-md-color-primary="custom"] {
  --md-default-bg-color: var(--ariviti-white);
  --md-default-fg-color: var(--ariviti-soft-black);
  --md-typeset-color: var(--ariviti-soft-black);
  --md-typeset-a-color: var(--ariviti-indigo);

  --md-primary-fg-color: var(--ariviti-indigo);
  --md-primary-fg-color--light: var(--ariviti-indigo-tint-20);
  --md-primary-fg-color--dark: var(--ariviti-indigo-dark);
  --md-accent-fg-color: var(--ariviti-indigo-dark);
}

[data-md-color-scheme="slate"] {
  --md-default-bg-color: var(--ariviti-dark-bg);
  --md-default-fg-color: var(--ariviti-white);
  --md-typeset-color: var(--ariviti-white);
  --md-typeset-a-color: var(--ariviti-orange-tint-20);

  --md-primary-fg-color: var(--ariviti-dark-bg);
  --md-primary-fg-color--light: var(--ariviti-dark-surface);
  --md-primary-fg-color--dark: var(--ariviti-indigo-dark);
  --md-accent-fg-color: var(--ariviti-indigo-dark);
  --md-sidebar-bg-color: var(--ariviti-dark-bg);
}

/* ==========================================================================
   TYPOGRAPHY & GLOBAL OVERRIDES
   ========================================================================== */

body,
.md-typeset {
  font-family: var(--ariviti-font-body);
  color: var(--md-typeset-color) !important;
  font-size: 16px;
  /* body minimum, no exceptions — Accessibility standard */
}

.md-typeset h1,
.md-typeset h2,
.md-typeset h3,
.md-typeset h4 {
  font-family: var(--ariviti-font-display);
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--md-typeset-color);
}

.md-typeset table thead {
  background-color: var(--ariviti-indigo);
}

.md-typeset table thead th {
  color: var(--ariviti-white) !important;
  font-family: var(--ariviti-font-body);
  font-weight: 700;
}

[data-md-color-scheme="default"] .md-typeset table tbody tr:nth-child(odd) {
  background-color: #FFFAF7;
}

[data-md-color-scheme="slate"] .md-typeset table tbody tr:nth-child(odd) {
  background-color: var(--ariviti-dark-surface);
}

/* ==========================================================================
   INLINE & NAVIGATION LINK HOVER STATES (HIGH SPECIFICITY FIX)
   ========================================================================== */

/* 1. Body & Content Links (Light & Dark Mode) */
.md-typeset a:hover,
.md-typeset a:focus,
.md-content a:hover,
.md-content a:focus {
  color: var(--ariviti-orange) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--ariviti-orange) !important;
}

/* 2. File Browser Table Links (Dark Indigo Background Support) */
.ariviti-file-table a {
  color: var(--ariviti-orange-tint-20) !important;
  text-decoration: underline;
  transition: color 0.15s ease;
}

.ariviti-file-table a:hover,
.ariviti-file-table a:focus {
  color: var(--ariviti-orange) !important;
  text-decoration-color: var(--ariviti-orange) !important;
}

/* 3. Left Sidebar & Header Navigation Hovers */
nav.md-nav .md-nav__link:hover,
nav.md-nav .md-nav__link:focus,
.md-header a:hover {
  color: var(--ariviti-orange) !important;
}

/* 4. Exclude Primary CTA Buttons from Text Link Overrides */
.md-typeset .md-button--primary:hover {
  color: var(--ariviti-white) !important;
  background-color: #E0450F !important;
  border-color: #E0450F !important;
  text-decoration: none !important;
}

/* Exclude primary action buttons from inline link hover styles */
.md-typeset .md-button {
  text-decoration: none !important;
}

/* Primary CTA buttons — the one surface Orange is allowed to carry
   text, per the Accessibility "Use Orange For" rule: short label,
   large type, 24px+. Never applied to inline links or body copy. */
.md-typeset .md-button--primary {
  background-color: var(--ariviti-orange);
  border-color: var(--ariviti-orange);
  color: var(--ariviti-white);
  font-family: var(--ariviti-font-body);
  font-weight: 700;
  font-size: 1rem;
}

.md-typeset .md-button--primary:hover {
  background-color: #E0450F;
  border-color: #E0450F;
}

/* No italics anywhere — system-wide rule. Markdown *single-asterisk*
   emphasis is neutralized to weight instead of slant. */
.md-typeset em,
.md-typeset i {
  font-style: normal;
  font-weight: 600;
  color: var(--md-typeset-a-color);
}

.md-typeset code,
.md-typeset pre {
  background-color: var(--ariviti-soft-black);
  color: var(--ariviti-white);
}

/* Dark Mode Logo Switch */
[data-md-color-scheme="slate"] .md-header__button.md-logo img,
[data-md-color-scheme="slate"] .md-drawer__button.md-logo img {
  content: url("https://cdn.ariviti.com/tabs/02_ATOM_Logo_Core/SVG/logo_full_light.svg");
  height: 3rem;
}

/* Level 1: Main Category / File Title */
nav .md-nav--primary>ul>li>a {
  font-size: 1.2em !important;
  /* ~18px */
  font-weight: 900;
}

nav .md-nav>ul>li>a {
  font-size: 1.1em !important;
  /* ~18px */
  font-weight: 700;
}

/* Level 2: Sub-headings (H2s) */
nav .md-nav ul ul>li>a {
  font-size: 0.95em !important;
  /* ~15px */
  font-weight: 500;
  padding-left: 1rem;
  /* Indent to reinforce hierarchy */
}

/* Level 3: Nested Sub-headings (H3s) */
nav .md-nav ul ul ul>li>a {
  font-size: 0.85em !important;
  /* ~13px */
  font-weight: 400;
  padding-left: 2rem;
}

/* ==========================================================================
   INLINE FILE BROWSER (used by assets/file-browser.js on each tier page)
   ========================================================================== */

.ariviti-file-status {
  color: var(--md-typeset-color);
  opacity: 0.7;
}

.ariviti-file-table {
  width: 100%;
  border-collapse: collapse;
}

.ariviti-file-table th,
.ariviti-file-table td {
  text-align: left;
  padding: 0.5rem 0.75rem;
  border-bottom: 1px solid var(--ariviti-indigo-tint-20);
}