/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Merriweather:ital,wght@0,300;0,400;0,700;1,300;1,400&family=Playfair+Display:ital,wght@0,500;0,700;0,800;1,400;1,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

h1, h2, h3, h4, .font-serif {
  font-family: var(--font-serif-title);
  color: var(--text-main);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.01em;
}

.font-sans {
  font-family: var(--font-sans);
}

.book-title {
  font-size: clamp(2.5rem, 5vw, 4rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--color-navy);
  letter-spacing: -0.02em;
}

[data-theme="dark"] .book-title {
  color: #FFFFFF;
}

.book-subtitle {
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.25rem);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: var(--color-terracotta);
  text-transform: uppercase;
}

.chapter-number {
  font-family: var(--font-sans);
  font-size: 0.825rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-gold);
  margin-bottom: 0.75rem;
  display: inline-block;
}

.chapter-title {
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  margin-bottom: 1.25rem;
  color: var(--color-navy);
}

[data-theme="dark"] .chapter-title {
  color: #F4EFEA;
}

.section-title {
  font-size: 1.5rem;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
  color: var(--color-navy-soft);
}

[data-theme="dark"] .section-title {
  color: #E2E8F0;
}

.prose {
  font-family: var(--font-serif-text);
  font-size: 1.075rem;
  line-height: 1.9;
  color: var(--text-body);
}

.prose p {
  margin-bottom: 1.5rem;
  text-align: justify;
  text-justify: inter-word;
}

/* Drop cap for first paragraph in chapter */
.prose .lead-dropcap::first-letter {
  float: left;
  font-family: var(--font-serif-title);
  font-size: 4.2rem;
  line-height: 0.75;
  padding-top: 0.15em;
  padding-right: 0.12em;
  padding-left: 0.02em;
  color: var(--color-terracotta);
  font-weight: 700;
}

.prose strong {
  font-weight: 700;
  color: var(--text-main);
}

.prose em {
  font-style: italic;
}

.verse-quote {
  font-family: var(--font-serif-title);
  font-style: italic;
  font-size: 1.22rem;
  line-height: 1.6;
  color: var(--color-navy);
}

[data-theme="dark"] .verse-quote {
  color: #E6EDF5;
}

.verse-ref {
  display: block;
  font-family: var(--font-sans);
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-terracotta);
  margin-top: 0.75rem;
}

/* Font Size Modifiers */
body.font-sm .prose { font-size: 0.975rem; }
body.font-md .prose { font-size: 1.075rem; }
body.font-lg .prose { font-size: 1.2rem; }
body.font-xl .prose { font-size: 1.325rem; }
