* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
:root {
  --burgundy: #722f37;
  --burgundy-dark: #5a242a;
  --burgundy-light: #8b3a42;
}
body {
  font-family: Georgia, 'Times New Roman', serif;
  background: #f8f8f8;
  color: #1a3a4a;
  line-height: 1.6;
}
.container { max-width: 860px; margin: 0 auto; padding: 24px; }
.site-header { background: #ffffffd9; border-bottom: 1px solid #e3e3e3; backdrop-filter: blur(3px); position: sticky; top: 0; z-index: 10; }
.nav { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 16px; max-width: 980px; margin: 0 auto; }
.nav .brand { display: inline-flex; align-items: center; gap: 8px; color: #1a3a4a; text-decoration: none; font-weight: 600; }
.nav .links a { margin-left: 16px; color: #1a3a4a; text-decoration: none; border-bottom: 2px solid transparent; transition: border-color 0.3s; }
.nav .links a:hover { border-bottom-color: var(--burgundy); }

.home .hero { text-align: center; padding: 40px 0 24px; }
.logo { width: 200px; height: auto; margin-bottom: 16px; }
h1 { font-size: 2.2rem; font-weight: 500; margin: 0 0 8px; }
.tagline { font-size: 1.2rem; font-style: italic; color: var(--burgundy); margin: 0 auto 16px; }
.description { font-size: 1.05rem; color: #4a5a6a; max-width: 720px; margin: 0 auto 8px; }

h2 { font-size: 1.5rem; margin: 24px 0 12px; font-weight: 600; color: var(--burgundy-dark); }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.card { background: #fff; border: 1px solid #e6edf2; border-radius: 8px; padding: 16px; }
.card h3 { margin: 0 0 8px; font-size: 1.1rem; }
.card a { color: var(--burgundy-dark); text-decoration: none; transition: color 0.3s; }
.card a:hover { color: var(--burgundy-light); text-decoration: underline; }
.card-row { display: flex; gap: 12px; align-items: flex-start; }
.thumb { width: 120px; height: auto; border-radius: 6px; border: 1px solid #e6edf2; box-shadow: 0 2px 4px rgba(0,0,0,0.1); flex-shrink: 0; transition: transform 0.3s, box-shadow 0.3s; }
.card:hover .thumb { transform: translateY(-2px); box-shadow: 0 4px 8px rgba(114, 47, 55, 0.2); }
.card .muted { color: #6a7a8a; font-size: 0.95rem; }
.more a { color: var(--burgundy); text-decoration: none; border-bottom: 2px solid var(--burgundy); transition: opacity 0.3s; }
.more a:hover { opacity: 0.8; }

.site-footer { text-align: center; padding: 24px; color: #6a7a8a; }
.site-footer a { color: var(--burgundy-dark); }

.prose { max-width: 720px; margin: 0 auto; color: #4a5a6a; }
.prose p { margin: 0 0 12px; }
.prose a { color: var(--burgundy); }
.prose a:hover { color: var(--burgundy-dark); }

/* Standardized book cover sizing */
.book-cover { display: block; max-width: 440px; width: 100%; height: auto; margin: 16px 0 20px; border: 1px solid #e6edf2; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); transition: transform 0.3s, box-shadow 0.3s; }
.book-cover:hover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(114, 47, 55, 0.25); }
@media (max-width: 500px) { .book-cover { max-width: 360px; } }
@media (max-width: 400px) { .book-cover { max-width: 300px; } }

/* Buttons */
.btn { display: inline-block; padding: 10px 14px; border-radius: 6px; text-decoration: none; font-weight: 600; border: 1px solid transparent; }
.btn:hover { text-decoration: none; }
.btn-audible { background: #ff9900; color: #111; border-color: #e18800; }
.btn-audible:hover { filter: brightness(0.95); }
.btn-amazon { background: #232f3e; color: #fff; border-color: #1b2430; }
.btn-amazon:hover { filter: brightness(1.08); }
.btn-bn { background: #2a5934; color: #fff; border-color: #214a2b; }
.btn-bn:hover { filter: brightness(1.08); }
.btn-row { display: flex; gap: 10px; flex-wrap: wrap; margin: 8px 0 4px; }

/* Ensure button text has proper contrast inside .prose */
.prose a.btn, .prose a.btn:visited { color: inherit; }
.prose a.btn-audible, .prose a.btn-audible:visited { color: #111 !important; }
.prose a.btn-amazon, .prose a.btn-amazon:visited { color: #fff !important; }
.prose a.btn-bn, .prose a.btn-bn:visited { color: #fff !important; }

/* Neater metadata list */
.meta-list { list-style: none; padding: 0; margin: 12px 0; }
.meta-list li { margin: 6px 0; }
.meta-list strong { color: #1a3a4a; }

.list { list-style: none; padding: 0; margin: 0; }
.list li { margin: 0 0 8px; }

/* Screen reader only - for SEO */
.sr-only {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Heat level indicator */
.heat-level {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 1.1rem;
  color: var(--burgundy);
  margin: 8px 0;
}
.heat-level .flames {
  color: #ff6b35;
  letter-spacing: 2px;
}
.heat-level .label {
  font-size: 0.9rem;
  color: #6a7a8a;
  margin-left: 8px;
}

@media (max-width: 640px) {
  h1 { font-size: 1.8rem; }
  .logo { width: 150px; }
}
