/* css styles */
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500;600;700&display=swap');

/* Override Bootstrap font family to use EB Garamond site-wide */
:root {
  --bs-font-sans-serif: 'EB Garamond', Georgia, 'Times New Roman', Times, serif;
  --bs-body-font-family: 'EB Garamond', Georgia, 'Times New Roman', Times, serif;
  --bs-body-font-size: 18px;
}

body {
  font-family: 'EB Garamond', Georgia, 'Times New Roman', Times, serif;
  font-size: 18px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'EB Garamond', Georgia, 'Times New Roman', Times, serif;
}

.callout.callout-style-default .callout-body {
  font-size: 18px;
  font-weight: 400;
}

/* Proof box for Markdown fenced divs: ::: {.proof} ... ::: */
.proof {
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-left: 4px solid rgba(0, 0, 0, 0.35);
  background: rgba(0, 0, 0, 0.02);
  padding: 0.75rem 1rem;
  margin: 1rem 0;
  border-radius: 0.25rem;
}

.proof::before {
  content: "Proof";
  display: block;
  font-weight: 600;
  margin-bottom: 0.25rem;
  letter-spacing: 0.02em;
}

/* Optional QED marker: add <span class="qed"></span> at the end */
.proof .qed::after {
  content: "∎";
  float: right;
  font-weight: 600;
}

/* Pinned navbar background opacity */
.navbar, .navbar.navbar-expand-lg, .navbar.navbar-dark, .navbar.navbar-light {
  opacity: 0.9;
}

/* Sidebar hover effect */
.quarto-sidebar .sidebar-item .sidebar-link,
.sidebar .sidebar-item .sidebar-link {
  border-radius: 6px;
  transition: background-color 120ms ease, color 120ms ease;
}

.quarto-sidebar .sidebar-item .sidebar-link:hover,
.sidebar .sidebar-item .sidebar-link:hover {
  background-color: rgba(0, 0, 0, 0.04);
  color: inherit;
}

/* Vertical guide line for subsection (nested) items */
.quarto-sidebar .sidebar-menu ul ul > li > a,
.sidebar .sidebar-menu ul ul > li > a {
  border-left: 2px solid #e5e5e5;
  padding-left: 10px;
}

/* Emphasize active nested item */
.quarto-sidebar .sidebar-menu ul ul > li.active > a,
.sidebar .sidebar-menu ul ul > li.active > a {
  border-left-color: #999;
  background-color: rgba(0, 0, 0, 0.03);
}

/* Ensure body content is visible beneath pinned navbar */
main.content {
  scroll-margin-top: 70px;
}
