/* Responsive page grid and content layout */

/* ---- Page grid (header / main / footer) ---- */
.page-wrapper {
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 100svh;
}

/* ---- Main content area ---- */
main {
  width: 100%;
  max-width: var(--max-width);
  margin-inline: auto;
  padding-inline: var(--space-4);
  padding-block: var(--space-8);
}

/* ---- Swup page transition (fade) ---- */
/* Swup adds .is-animating to <html> during navigation and waits for the
   transition on elements matching its animationSelector (default: .transition-*) */
.transition-fade {
  transition: opacity 200ms ease;
}
html.is-animating .transition-fade {
  opacity: 0;
}

/* ---- Narrower reading width for prose pages ---- */
.content-prose {
  max-width: var(--content-width);
}

/* ---- Site footer ---- */
.site-footer {
  border-block-start: 1px solid var(--color-border);
  padding: var(--space-6) var(--space-4);
  text-align: center;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
