/* page.css: small site-wide overrides layered on top of index.css */

:root {
  /* Force a plain white page background */
  --body-bg-color: #ffffff;
}

/* TeX Gyre Termes (Times-like TeX font) */
@font-face {
  font-family: "TeX Gyre Termes";
  src: url("./fonts/tex-gyre-termes/texgyretermes-regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TeX Gyre Termes";
  src: url("./fonts/tex-gyre-termes/texgyretermes-italic.otf") format("opentype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "TeX Gyre Termes";
  src: url("./fonts/tex-gyre-termes/texgyretermes-bold.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "TeX Gyre Termes";
  src: url("./fonts/tex-gyre-termes/texgyretermes-bolditalic.otf") format("opentype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Override base font size from index.css (default is typically 16px). */
html {
  font-size: 14px;
}

/* Use the default Latin Modern body font from index.css */
body {
  font-family: "Latin Modern", Georgia, Cambria, "Times New Roman", Times, serif;
}

/* Remove the large blue focus outline boxes around links (from index.css). */
a:focus {
  outline: none;
}
a:focus-visible {
  outline: none;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
}

/* Utility: centered image capped at 50% of content width */
img.img-half {
  display: block;
  margin: 1.25rem auto;
  max-width: 50%;
  height: auto;
}

/* Default: center markdown images and cap at 50% width */
p > img,
p > a > img {
  display: block;
  margin: 1.25rem auto;
  max-width: 50%;
  height: auto;
}

/* Figure captions from image alt text */
figure.md-figure {
  margin: 1.25rem auto;
}
figure.md-figure > img,
figure.md-figure > a > img {
  display: block;
  margin: 0 auto;
  max-width: 50%;
  height: auto;
}
figure.md-figure > figcaption {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  line-height: 1.25;
  opacity: 0.8;
  text-align: center;
}

/* Simple top navigation */
.site-nav {
  font-size: 0.95rem;
  margin: 0 0 1.25rem;
}
.site-nav a {
  text-decoration: none;
}
.site-nav a:hover {
  text-decoration: underline;
}
.site-nav-sep {
  padding: 0 0.6rem;
  opacity: 0.6;
}

/* Give a bit more breathing room above the title block */
body {
  padding-top: 3rem;
}

/* Tighten the title block spacing (subtitle/date) */
.maketitle .titleHead {
  margin-top: 0;
  margin-bottom: 0.25rem;
}
.maketitle .author {
  margin: 0.35rem 0 0;
}
.maketitle .author:empty {
  display: none;
}
.maketitle br {
  display: none;
}
.maketitle .date {
  margin-top: 0.35rem;
  text-align: left;
  font-size: 0.85rem;
  line-height: 1.2;
  opacity: 0.85;
}
.maketitle .date:empty {
  display: none;
}
