:root {
  --ink: #14171a;
  --muted: #5b6570;
  --accent: #7b2d3b;
  --paper: #fbfaf8;
  --rule: #e3e0da;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: Georgia, "Iowan Old Style", "Times New Roman", serif;
  font-size: 1.02rem;
  line-height: 1.65;
}

h1, h2, h3, h4, .navbar-brand, .btn, .badge {
  font-family: "Helvetica Neue", Arial, system-ui, sans-serif;
  letter-spacing: -0.01em;
}
h1, h2, h3 { font-weight: 700; }

a { color: var(--accent); }
a:hover { color: #5d1f2b; }

.site-head { background: #fff; border-color: var(--rule) !important; }
.navbar-brand { color: var(--ink); }
.nav-link { color: var(--muted); }
.nav-link:hover { color: var(--accent); }

.hero {
  background: linear-gradient(160deg, #1d2126 0%, #2f3540 100%);
  color: #f4f1ec;
}
.hero .lead { color: #ded8cf; }
.hero .btn-outline-secondary { color: #ded8cf; border-color: #6b727d; }
.hero .btn-outline-secondary:hover { background: #6b727d; color: #fff; }
.btn-primary { background: var(--accent); border-color: var(--accent); }
.btn-primary:hover { background: #5d1f2b; border-color: #5d1f2b; }

.album-card { border-color: var(--rule); transition: box-shadow .15s ease; color: var(--ink); }
.album-card:hover { box-shadow: 0 .35rem 1rem rgba(0,0,0,.10); }
.album-card .card-img-top { aspect-ratio: 1; object-fit: cover; }
.card-thumb { width: 96px; height: 96px; object-fit: cover; flex: 0 0 auto; }
.artist-row { border-color: var(--rule) !important; color: var(--ink); }
.artist-row:hover { background: #fff; border-color: var(--accent) !important; }

.album-cover { max-width: 340px; }

.entry-body { font-size: 1.06rem; }
.entry-body p { margin-bottom: 1.1rem; }
.entry-body img { max-width: 100%; height: auto; margin: 1rem 0; }
.entry-body blockquote {
  border-left: 3px solid var(--accent);
  padding-left: 1rem;
  color: var(--muted);
  font-style: italic;
}
.entry-body h2, .entry-body h3 { margin-top: 1.6rem; }

.list-group-item { background: transparent; border-color: var(--rule); }
.list-group-item-action:hover { background: #fff; }

.breadcrumb { --bs-breadcrumb-divider: '›'; }

.site-foot { background: #fff; border-color: var(--rule) !important; }

/* Ads: reserve space so layout doesn't jump, but collapse unfilled units. */

@media (max-width: 575.98px) {
  .card-thumb { width: 72px; height: 72px; }
}

/* The old theme's standfirst paragraph, kept as a lead-in. */
.entry-body .entry-summary {
  font-size: 1.12rem;
  color: var(--muted);
  font-style: italic;
  border-left: 3px solid var(--rule);
  padding-left: 1rem;
  margin-bottom: 1.4rem;
}

/* Amazon affiliate card */
.shop-card .shop-img { width: 72px; height: 72px; object-fit: contain; flex: 0 0 auto; }
.shop-card .shop-price { font-weight: 600; color: var(--accent); }
.affiliate-note { font-size: .78rem; line-height: 1.4; }

/* Track listing */
.tracklist .list-group-item { background: #fff; border-color: var(--rule); font-size: .95rem; }
.tracklist .list-group-numbered { counter-reset: section; }

/* Full-list table */
.list-table tr.covered td { background: #fff; }
.list-table tr.covered td:first-child { border-left: 3px solid var(--accent); }
.list-table th { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
