/* ============================================================
   RTI — ICAP CRIF Risk Training Institute brand tokens
   NAVY #12315b · NAVY-DK #0e2748 · ORANGE #ef7d00 · LIGHT #f5f7fb
   ============================================================ */

:root {
  --rti-navy: #12315b;
  --rti-navy-dk: #0e2748;
  --rti-navy-lt: #1c4a86;
  --rti-orange: #ef7d00;
  --rti-orange-dk: #cf6a00;
  --rti-light: #f5f7fb;

  /* Material primary (header, nav) = navy */
  --md-primary-fg-color:       var(--rti-navy);
  --md-primary-fg-color--light:var(--rti-navy-lt);
  --md-primary-fg-color--dark: var(--rti-navy-dk);
  --md-primary-bg-color:       #ffffff;
  --md-primary-bg-color--light:#ffffffcc;

  /* Accent (links hover, active) = orange */
  --md-accent-fg-color:        var(--rti-orange);
  --md-accent-fg-color--transparent: #ef7d0022;

  /* Typeset links */
  --md-typeset-a-color: var(--rti-navy-lt);
}

/* Dark theme: keep navy header, orange accents, lighter navy links */
[data-md-color-scheme="slate"] {
  --md-primary-fg-color:       var(--rti-navy-dk);
  --md-primary-fg-color--light:var(--rti-navy-lt);
  --md-primary-fg-color--dark: #081b30;
  --md-accent-fg-color:        var(--rti-orange);
  --md-typeset-a-color:        #6ea8ff;
  --md-default-bg-color:       #0c1826;
}

/* Logo sits on a white chip so the navy logo shows on any header */
.md-header__button.md-logo img,
.md-header__button.md-logo svg {
  background: #ffffff;
  padding: 5px 9px;
  border-radius: 7px;
  height: 2.1rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
}

/* Orange top rule under the header for brand pop */
.md-header {
  border-bottom: 3px solid var(--rti-orange);
}

/* Active/hover nav link → orange */
.md-nav__link--active,
.md-nav__link:focus,
.md-nav__link:hover {
  color: var(--rti-orange) !important;
}

/* Section headings get a subtle navy weight */
.md-typeset h1,
.md-typeset h2 {
  color: var(--rti-navy);
  font-weight: 700;
  letter-spacing: -.01em;
}
[data-md-color-scheme="slate"] .md-typeset h1,
[data-md-color-scheme="slate"] .md-typeset h2 {
  color: #cfe0ff;
}

/* H2 with a short orange underline */
.md-typeset h2 {
  border-bottom: 2px solid #e7ebf3;
  padding-bottom: .3rem;
}
[data-md-color-scheme="slate"] .md-typeset h2 {
  border-bottom-color: #1e3350;
}

/* Buttons (.md-button) branded */
.md-typeset .md-button {
  border-radius: 8px;
  border-color: var(--rti-navy);
  color: var(--rti-navy);
  font-weight: 600;
}
.md-typeset .md-button--primary {
  background: var(--rti-orange);
  border-color: var(--rti-orange);
  color: #ffffff;
}
.md-typeset .md-button--primary:hover {
  background: var(--rti-orange-dk);
  border-color: var(--rti-orange-dk);
}

/* Tables: navy header row */
.md-typeset table:not([class]) th {
  background: var(--rti-navy);
  color: #ffffff;
  font-weight: 600;
}
[data-md-color-scheme="slate"] .md-typeset table:not([class]) th {
  background: var(--rti-navy-dk);
}

/* Admonition "note" tinted orange to match brand */
.md-typeset .admonition.tip,
.md-typeset details.tip {
  border-color: var(--rti-orange);
}
.md-typeset .tip > .admonition-title,
.md-typeset .tip > summary {
  background-color: #ef7d0018;
}
.md-typeset .tip > .admonition-title::before,
.md-typeset .tip > summary::before {
  background-color: var(--rti-orange);
}

/* Screenshots (annotated) */
.md-typeset img.shot {
  display: block;
  width: 100%;
  max-width: 860px;
  margin: 1rem auto;
  border: 1px solid #dfe5ee;
  border-radius: 12px;
  box-shadow: 0 6px 22px rgba(18,49,91,.14);
  background: #fff;
}
[data-md-color-scheme="slate"] .md-typeset img.shot {
  border-color: #24384f;
  box-shadow: 0 6px 22px rgba(0,0,0,.4);
}
.md-typeset figure.shotfig { margin: 1.4rem 0; }
.md-typeset figure.shotfig figcaption {
  text-align: center;
  font-size: .8rem;
  color: var(--md-default-fg-color--light);
  margin-top: .35rem;
  font-style: italic;
}

/* Hero card on the home page */
.rti-hero {
  background: linear-gradient(135deg, var(--rti-navy) 0%, var(--rti-navy-dk) 100%);
  color: #fff;
  border-radius: 14px;
  padding: 2.2rem 2rem;
  margin: .5rem 0 1.4rem;
  box-shadow: 0 10px 30px rgba(18,49,91,.25);
}
.rti-hero .rti-eyebrow {
  color: var(--rti-orange);
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .72rem;
}
.rti-hero h1 {
  color: #fff !important;
  margin: .3rem 0 .5rem;
  font-size: 1.9rem;
  line-height: 1.15;
}
.rti-hero p { color: #dbe6f7; margin: 0; max-width: 46ch; }
.rti-hero .rti-tag {
  color: var(--rti-orange);
  font-style: italic;
  font-weight: 600;
  margin-top: 1rem;
  display: block;
}

/* Card grid (home) */
.rti-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
  margin: 1.2rem 0;
}
.rti-cards .rti-card {
  display: block;
  border: 1px solid #e3e8f0;
  border-radius: 12px;
  padding: 1.1rem 1.15rem;
  text-decoration: none !important;
  color: inherit;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
  background: #fff;
}
.rti-cards .rti-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 22px rgba(18,49,91,.12);
  border-color: var(--rti-orange);
}
[data-md-color-scheme="slate"] .rti-cards .rti-card {
  background: #10233a;
  border-color: #1e3350;
}
.rti-cards .rti-card .rti-card-t {
  font-weight: 700;
  color: var(--rti-navy);
  font-size: 1.02rem;
  margin-bottom: .25rem;
}
[data-md-color-scheme="slate"] .rti-cards .rti-card .rti-card-t { color: #cfe0ff; }
.rti-cards .rti-card .rti-card-d {
  font-size: .82rem;
  opacity: .78;
  line-height: 1.4;
}
