/*
  Invora brand layer for Material for MkDocs.
  Brand tokens are sourced from the Invora Flutter theme (lib/utils/themes.dart):
  primary #0059E5, navy #001F50 / #00092B, success #2AC379, warning #F79009,
  error #C0362D. Typeface is Rubik (set in mkdocs.yml theme.font).
*/

:root {
  --inv-cobalt:        #0059E5;
  --inv-cobalt-dark:   #0047b8;
  --inv-cobalt-darker: #0038a0;
  --inv-cobalt-light:  #4d8bef;
  --inv-cobalt-tint:   #eef3ff;
  --inv-navy:          #001f50;
  --inv-navy-deep:     #00092b;
  --inv-success:       #2ac379;
  --inv-warning:       #f79009;
  --inv-error:         #c0362d;
  --inv-border:        #e6e8ef;
  --inv-shadow:        0 1px 2px rgba(0, 31, 80, .04), 0 8px 24px rgba(0, 31, 80, .06);
  --inv-shadow-hover:  0 2px 4px rgba(0, 89, 229, .08), 0 14px 32px rgba(0, 89, 229, .14);
}

/* ----- Light scheme: Invora cobalt ----- */
[data-md-color-scheme="default"] {
  --md-primary-fg-color:        var(--inv-cobalt);
  --md-primary-fg-color--light: var(--inv-cobalt-light);
  --md-primary-fg-color--dark:  var(--inv-cobalt-dark);
  --md-accent-fg-color:         var(--inv-cobalt-dark);
  --md-typeset-a-color:         var(--inv-cobalt);
  --md-default-fg-color:           rgba(0, 31, 80, .87);
  --md-default-fg-color--light:    rgba(0, 31, 80, .60);
  --md-default-fg-color--lighter:  rgba(0, 31, 80, .32);
  --md-footer-bg-color:         var(--inv-navy-deep);
}

/* ----- Dark scheme: cobalt accents on slate ----- */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color:        var(--inv-cobalt);
  --md-primary-fg-color--light: var(--inv-cobalt-light);
  --md-primary-fg-color--dark:  var(--inv-cobalt-dark);
  --md-accent-fg-color:         var(--inv-cobalt-light);
  --md-typeset-a-color:         #7aa9f5;
  --md-hue: 222;                /* steer slate toward a cool navy, not neutral grey */
  --inv-cobalt-tint:   rgba(77, 139, 239, .10);
  --inv-border:        rgba(255, 255, 255, .10);
  --inv-shadow:        0 1px 2px rgba(0, 0, 0, .30), 0 8px 24px rgba(0, 0, 0, .35);
  --inv-shadow-hover:  0 2px 4px rgba(0, 0, 0, .35), 0 14px 32px rgba(0, 0, 0, .45);
}

/* ===== Header & tabs ===== */
.md-header {
  box-shadow: 0 1px 0 rgba(0, 31, 80, .06), 0 2px 12px rgba(0, 31, 80, .08);
}
.md-header__title {
  font-weight: 600;
  letter-spacing: -.01em;
}
.md-tabs {
  font-weight: 500;
}
.md-tabs__link {
  opacity: .82;
  transition: opacity .2s, border-color .2s;
  border-bottom: 2px solid transparent;
  margin-top: .2rem;
  padding-bottom: .35rem;
}
.md-tabs__link:hover { opacity: 1; }
.md-tabs__item--active .md-tabs__link {
  opacity: 1;
  font-weight: 600;
  border-bottom-color: rgba(255, 255, 255, .9);
}

/* ===== Typography ===== */
.md-typeset {
  font-feature-settings: "kern", "liga", "ss01";
}
.md-typeset h1 {
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--md-default-fg-color);
}
[data-md-color-scheme="default"] .md-typeset h1 { color: var(--inv-navy); }
.md-typeset h2 {
  font-weight: 600;
  letter-spacing: -.01em;
}
.md-typeset h2 { margin-top: 2.2em; }
.md-typeset h3 { font-weight: 600; }
.md-typeset a { font-weight: 500; }

/* ===== Grid cards ===== */
.md-typeset .grid.cards > ul > li,
.md-typeset .grid > .card {
  border: 1px solid var(--inv-border);
  border-radius: .75rem;
  padding: 1.1rem 1.2rem;
  box-shadow: var(--inv-shadow);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.md-typeset .grid.cards > ul > li:hover {
  transform: translateY(-4px);
  border-color: var(--inv-cobalt);
  box-shadow: var(--inv-shadow-hover);
}
.md-typeset .grid.cards > ul > li > hr {
  margin: .8rem 0;
  border-color: var(--inv-border);
  background: var(--inv-border);
}
.md-typeset .grid.cards .twemoji,
.md-typeset .grid.cards .lg.middle {
  color: var(--inv-cobalt);
}
.md-typeset .grid.cards .twemoji svg { height: 1.6rem; width: 1.6rem; }

/* ===== Buttons ===== */
.md-typeset .md-button {
  border-radius: .5rem;
  font-weight: 600;
  border-width: 1.5px;
  transition: transform .15s, box-shadow .15s, background-color .15s;
}
.md-typeset .md-button--primary {
  background-color: var(--inv-cobalt);
  border-color: var(--inv-cobalt);
  color: #fff;
}
.md-typeset .md-button--primary:hover {
  background-color: var(--inv-cobalt-dark);
  border-color: var(--inv-cobalt-dark);
  transform: translateY(-2px);
  box-shadow: var(--inv-shadow-hover);
}
.md-typeset .md-button:not(.md-button--primary):hover {
  transform: translateY(-2px);
  border-color: var(--inv-cobalt);
  color: var(--inv-cobalt);
}

/* ===== Hero (home) ===== */
.invora-hero {
  margin: -1.2rem -.8rem 2rem;
  padding: 3.2rem 1.5rem 3rem;
  text-align: center;
  border-radius: 1rem;
  background: radial-gradient(120% 140% at 50% -20%, #1f6bff 0%, var(--inv-cobalt) 38%, #0040ad 100%);
  color: #fff;
  box-shadow: 0 18px 48px rgba(0, 64, 173, .35);
}
.invora-hero img.invora-hero__logo {
  height: 84px;
  width: 84px;
  padding: 11px;
  margin-bottom: 1.1rem;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 10px 26px rgba(0, 12, 48, .3);
}
.invora-hero h1 {
  color: #fff !important;
  font-weight: 800;
  font-size: 2.3rem;
  line-height: 1.1;
  letter-spacing: -.025em;
  margin: 0 0 .6rem;
}
.invora-hero p {
  color: rgba(255, 255, 255, .92);
  font-size: .95rem;
  max-width: 40rem;
  margin: 0 auto 1.4rem;
}
.invora-hero .md-button {
  margin: .3rem .35rem 0;
}
.invora-hero .md-button--primary {
  background: #fff;
  color: var(--inv-cobalt-dark);
  border-color: #fff;
}
.invora-hero .md-button--primary:hover {
  background: var(--inv-cobalt-tint);
  color: var(--inv-cobalt-darker);
}
.invora-hero .md-button:not(.md-button--primary) {
  color: #fff;
  border-color: rgba(255, 255, 255, .7);
}
.invora-hero .md-button:not(.md-button--primary):hover {
  border-color: #fff;
  color: #fff;
  background: rgba(255, 255, 255, .12);
}

/* ===== Admonitions: brand-aligned accents ===== */
.md-typeset .admonition,
.md-typeset details {
  border-radius: .6rem;
  border-left-width: .25rem;
}
.md-typeset :is(.admonition, details):is(.note) { border-left-color: var(--inv-cobalt); }
.md-typeset :is(.note) > :is(.admonition-title, summary) { background-color: var(--inv-cobalt-tint); }
.md-typeset :is(.admonition, details):is(.tip, .success) { border-left-color: var(--inv-success); }
.md-typeset :is(.admonition, details):is(.warning) { border-left-color: var(--inv-warning); }
.md-typeset :is(.admonition, details):is(.danger, .failure, .error) { border-left-color: var(--inv-error); }

/* ===== Tables ===== */
.md-typeset table:not([class]) {
  border: 1px solid var(--inv-border);
  border-radius: .6rem;
  box-shadow: var(--inv-shadow);
}
.md-typeset table:not([class]) th {
  background-color: var(--inv-cobalt-tint);
  color: var(--md-default-fg-color);
  font-weight: 600;
}

/* ===== Footer ===== */
.md-footer-meta { background-color: var(--inv-navy-deep); }

/* ===== Search ===== */
.md-search__form { border-radius: .5rem; }

/* ===== Content rhythm ===== */
.md-typeset { line-height: 1.65; }
