:root {
  --accent: #d9951a;      /* dark yellow-orange */
  --bar-fg: #2b1d05;
  --bar-rule: 3px solid var(--accent);
  --bs-body-font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", "DejaVu Sans Mono", monospace;
}

/* Layout: header, main, footer stacked to fill at least the viewport */
body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

/* Limit content width on large screens */
.container {
  max-width: 1140px;
}

/* Main grows so the footer sits at the bottom of the window when content is short */
.site-main {
  flex-grow: 1;
}

.site-bar {
  position: relative;
  isolation: isolate;
  color: var(--bar-fg);
  background-color: #fff;
}

/* Doodle background, dimmed to a faint gray via opacity */
.site-bar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url("../img/doodle-tile.svg") repeat;
  opacity: 0.05;
  pointer-events: none;
}

.site-bar a,
.site-bar .navbar-brand {
  color: var(--bar-fg);
}

.site-header {
  border-bottom: var(--bar-rule);
}

.site-footer {
  border-top: var(--bar-rule);
}

.navbar-brand {
  font-weight: 700;
}

.site-section + .site-section {
  margin-top: 3rem;
}

.site-section h2 {
  font-size: 1.5rem;
  color: var(--accent);
}

.footer-icon {
  flex-shrink: 0;
  fill: #444;
}
