/* Astral Computing - Brutalist Style */
body {
  max-width: 52em;
  margin: 2em auto;
  padding: 0 1em;
  font-family: Georgia, serif;
  line-height: 1.6;
  color: #1a1a1a;
  background: #f5f0e8;
}
h1 { font-size: 1.8em; margin-bottom: 0.2em; }
h2 { font-size: 1.3em; margin-top: 2em; }
h3 { font-size: 1.1em; }
a { color: #8b0000; }
a:visited { color: #5b0000; }
hr { border: none; border-top: 1px solid #999; margin: 2em 0; }
img { max-width: 100%; height: auto; border: 1px solid #ccc; }
.book-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5em; margin-top: 1.5em; }
.book-card { border: 1px solid #ccc; padding: 1em; background: #fff; }
.book-card img { width: 100%; margin-bottom: 0.5em; }
.book-card h3 { margin: 0 0 0.3em 0; font-size: 1em; }
.book-card .author { color: #555; font-style: italic; margin-bottom: 0.5em; }
.book-card .tags { font-size: 0.85em; color: #777; }
.book-images { display: flex; flex-wrap: wrap; gap: 1em; margin: 1.5em 0; }
.book-images img { max-width: 320px; }
.breadcrumb { font-size: 0.9em; margin-bottom: 1.5em; }
.details-table { margin: 1.5em 0; border-collapse: collapse; }
.details-table td { padding: 0.3em 1em 0.3em 0; vertical-align: top; }
.details-table td:first-child { font-weight: bold; white-space: nowrap; }
.buy-link { display: inline-block; margin: 1.5em 0; padding: 0.5em 1.2em; background: #8b0000; color: #fff; text-decoration: none; font-weight: bold; }
.buy-link:visited { color: #fff; }
footer { margin-top: 3em; padding-top: 1em; border-top: 1px solid #999; font-size: 0.85em; color: #666; }
nav { margin-bottom: 1em; font-size: 0.9em; }
nav a { margin-right: 1em; }
.signed-badge { display: inline-block; background: #2a5a2a; color: #fff; font-size: 0.8em; padding: 0.1em 0.4em; margin-left: 0.3em; vertical-align: middle; }
.condition-badge { display: inline-block; background: #1a3a6a; color: #fff; font-size: 0.8em; padding: 0.1em 0.4em; vertical-align: middle; }
