/* KTMC-inspired warm medical theme — v2 */

/* ── Base colors ── */
:root {
  --ktmc-cream: #faf7f2;
  --ktmc-cream-dark: #f0ebe3;
  --ktmc-brown: #8b7355;
  --ktmc-brown-dark: #5c4a32;
  --ktmc-brown-light: #b8a48c;
  --ktmc-text: #2d2a26;
  --ktmc-text-muted: #6b6560;
  --ktmc-text-light: #918a82;
  --ktmc-border: #e0d8cc;
  --ktmc-card-bg: #ffffff;
  --ktmc-accent: #a0845c;
}

/* ── Override Material theme colors ── */
[data-md-color-scheme="default"] {
  --md-primary-fg-color: var(--ktmc-brown-dark);
  --md-primary-bg-color: #ffffff;
  --md-accent-fg-color: var(--ktmc-accent);
  --md-default-bg-color: var(--ktmc-cream);
  --md-typeset-color: var(--ktmc-text);
  --md-typeset-a-color: var(--ktmc-brown);
}

/* ── Background ── */
.md-main {
  background: var(--ktmc-cream) !important;
}

/* ── Header — slimmer, more refined ── */
.md-header {
  background: var(--ktmc-brown-dark) !important;
  box-shadow: none;
  font-size: 0.85rem;
}

.md-header__title {
  font-weight: 400;
  letter-spacing: 0.03em;
  font-size: 0.9rem;
}

/* ── Left Sidebar — cleaner, smaller text ── */
.md-sidebar {
  background: var(--ktmc-cream) !important;
}

.md-sidebar--primary {
  width: 11rem;
}

.md-nav__title {
  font-size: 0.7rem !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ktmc-brown) !important;
  font-weight: 600;
  padding: 0.6rem 0.6rem 0.2rem;
}

/* Section labels in sidebar (topic names) */
.md-nav--primary > .md-nav__list > .md-nav__item > .md-nav__link,
.md-nav__item--section > .md-nav__link {
  font-size: 0.72rem !important;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--ktmc-brown-dark) !important;
  padding: 0.4rem 0.6rem;
  margin-top: 0.6rem;
}

/* Individual circular links in sidebar */
.md-nav__link {
  color: var(--ktmc-text-muted) !important;
  font-size: 0.78rem !important;
  padding: 0.25rem 0.6rem !important;
  line-height: 1.4;
}

.md-nav__link--active {
  color: var(--ktmc-brown-dark) !important;
  font-weight: 600;
}

.md-nav__link:hover {
  color: var(--ktmc-brown-dark) !important;
}

/* ── Right TOC sidebar — more subtle ── */
.md-sidebar--secondary {
  width: 10rem;
}

.md-sidebar--secondary .md-nav__link {
  font-size: 0.72rem !important;
  color: var(--ktmc-text-light) !important;
}

/* ══════════════════════════════════════ */
/* ── Typography — clear hierarchy ──    */
/* ══════════════════════════════════════ */

/* H1: Page title — large but light weight */
.md-typeset h1 {
  color: var(--ktmc-brown-dark);
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: -0.01em;
  line-height: 1.25;
  border-bottom: 1px solid var(--ktmc-border);
  padding-bottom: 0.5em;
  margin-bottom: 0.3em;
}

/* H2: Section headings — Summary, Documents, Official Source */
.md-typeset h2 {
  color: var(--ktmc-brown-dark);
  font-weight: 500;
  font-size: 1.15rem;
  letter-spacing: 0.01em;
  margin-top: 2em;
  margin-bottom: 0.8em;
  padding-bottom: 0.3em;
  border-bottom: 1px solid var(--ktmc-border);
}

/* H3: Sub-sections in topic index (circular titles) */
.md-typeset h3 {
  color: var(--ktmc-text);
  font-weight: 500;
  font-size: 1rem;
  margin-top: 1.2em;
  margin-bottom: 0.4em;
}

.md-typeset h3 a {
  color: var(--ktmc-brown-dark) !important;
  text-decoration: none;
}

.md-typeset h3 a:hover {
  color: var(--ktmc-accent) !important;
}

/* Bold numbered section headers within summary (1. Background, 2. Key...) */
.md-typeset strong {
  color: var(--ktmc-text);
  font-weight: 600;
  font-size: 0.88em;
}

/* Body text */
.md-typeset {
  font-size: 0.85rem;
  line-height: 1.7;
  color: var(--ktmc-text);
}

/* Metadata line under title (date | topic | circular number) */
.md-typeset p:first-of-type {
  color: var(--ktmc-text-muted);
}

/* Lists — tighter bullets */
.md-typeset ul {
  margin-left: 0;
}

.md-typeset li {
  margin-bottom: 0.3em;
}

/* ── Horizontal rules — lighter ── */
.md-typeset hr {
  border-color: var(--ktmc-border);
  margin: 1.5em 0;
}

/* ── Tables — warm styled ── */
.md-typeset table:not([class]) {
  border: 1px solid var(--ktmc-border);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
  font-size: 0.82rem;
}

.md-typeset table:not([class]) th {
  background: var(--ktmc-cream-dark);
  color: var(--ktmc-brown-dark);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-bottom: 2px solid var(--ktmc-border);
  padding: 0.7em 1em;
}

.md-typeset table:not([class]) td {
  border-color: var(--ktmc-border);
  padding: 0.7em 1em;
  vertical-align: top;
}

.md-typeset table:not([class]) tr:hover td {
  background: var(--ktmc-cream);
}

/* ── Buttons — refined ── */
.md-typeset .md-button {
  border-radius: 6px;
  font-size: 0.78rem;
  padding: 0.45em 1.1em;
  border: 1px solid var(--ktmc-border);
  color: var(--ktmc-brown-dark) !important;
  background: var(--ktmc-card-bg);
  transition: all 0.2s ease;
  font-weight: 500;
}

.md-typeset .md-button:hover {
  background: var(--ktmc-cream-dark);
  border-color: var(--ktmc-brown-light);
  box-shadow: 0 2px 4px rgba(0,0,0,0.06);
}

.md-typeset .md-button--primary {
  background: var(--ktmc-brown-dark) !important;
  color: #ffffff !important;
  border-color: var(--ktmc-brown-dark);
}

.md-typeset .md-button--primary:hover {
  background: var(--ktmc-brown) !important;
}

/* ── Admonitions — warm palette, override ALL Material defaults ── */
.md-typeset .admonition,
.md-typeset details,
.md-typeset .admonition.info,
.md-typeset .admonition.tip,
.md-typeset .admonition.note,
.md-typeset .admonition.warning,
.md-typeset details.info,
.md-typeset details.tip,
.md-typeset details.note {
  border-radius: 8px !important;
  border: 1px solid var(--ktmc-border) !important;
  border-left: 4px solid var(--ktmc-brown-light) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  font-size: 0.82rem;
  background: var(--ktmc-card-bg) !important;
}

/* Admonition title bar — warm background, override blue/cyan */
.md-typeset .admonition > .admonition-title,
.md-typeset details > summary,
.md-typeset .admonition.info > .admonition-title,
.md-typeset .admonition.note > .admonition-title,
.md-typeset .admonition.tip > .admonition-title,
.md-typeset details.note > summary,
.md-typeset details.info > summary {
  background: var(--ktmc-cream-dark) !important;
  border-bottom: 1px solid var(--ktmc-border) !important;
  color: var(--ktmc-brown-dark) !important;
  font-size: 0.82rem;
  font-weight: 500;
}

/* Override ALL icon colors in admonitions */
.md-typeset .admonition > .admonition-title::before,
.md-typeset details > summary::before {
  color: var(--ktmc-brown) !important;
}

/* Override Material's CSS custom properties for admonition colors */
:root {
  --md-admonition-fg-color: var(--ktmc-text) !important;
}
[data-md-color-scheme="default"] .md-typeset :is(.admonition, details) {
  border-color: var(--ktmc-border) !important;
}

/* ── Code blocks (shareable messages) ── */
.md-typeset code {
  background: var(--ktmc-cream-dark);
  color: var(--ktmc-text);
  border-radius: 4px;
  padding: 0.1em 0.4em;
  font-size: 0.8rem;
}

.md-typeset pre {
  background: var(--ktmc-cream-dark) !important;
  border: 1px solid var(--ktmc-border);
  border-radius: 8px;
}

.md-typeset pre code {
  color: var(--ktmc-text) !important;
  font-size: 0.8rem;
  line-height: 1.6;
  white-space: pre-wrap;
}

/* ── Search ── */
.md-search__input {
  background: var(--ktmc-cream) !important;
  border: 1px solid var(--ktmc-border);
  border-radius: 8px;
}

/* ── Footer ── */
.md-footer {
  background: var(--ktmc-brown-dark) !important;
}

/* ── Content area ── */
.md-content {
  max-width: 860px;
}

/* Add more breathing room to main content */
.md-content__inner {
  padding-top: 1.5rem;
}

/* ── Dark mode ── */
[data-md-color-scheme="slate"] {
  --md-default-bg-color: #1e1d1b;
  --ktmc-cream: #2a2826;
  --ktmc-cream-dark: #333130;
  --ktmc-card-bg: #2a2826;
  --ktmc-border: #444240;
  --ktmc-text: #e8e4de;
  --ktmc-text-muted: #a09890;
  --ktmc-text-light: #807870;
}
