/* Great Controversy page template — light parchment theme
   Navy used as accent; warm paper background to match homepage. */

/* ---- Page shell ---- */
.gc-page { background: var(--moh-paper); }

/* ---- Hero ---- */
.gc-hero .wrap {
  padding-top: clamp(4rem, 10vw, 7rem);
  padding-bottom: clamp(4rem, 10vw, 7rem);
}

/* ---- Intro band ---- */
.gc-intro {
  background: var(--moh-ink);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  text-align: center;
}
.gc-intro p {
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  line-height: 1.75;
  margin: 0 0 1.25em;
}
.gc-intro p:last-child { margin-bottom: 0; }
.gc-intro em { color: var(--moh-gold-soft); }

/* ---- Section (Watch/Listen/Read) ---- */
.gc-section {
  background: var(--moh-paper);
  padding: clamp(1.5rem, 4vw, 2.5rem);
}
.gc-cards {
  max-width: 900px;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* ---- Cards — white with navy top border ---- */
.gc-card {
  background: var(--moh-white);
  border: 1px solid #e2e6ec;
  border-top: 3px solid var(--moh-gold-soft);
  border-radius: 10px;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  box-shadow: var(--moh-shadow);
}

/* ---- Card header ---- */
.gc-card-head { text-align: center; margin-bottom: 1.75rem; }
.gc-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px; height: 76px;
  border-radius: 50%;
  background: var(--moh-gold-soft);
  color: var(--moh-ink-deep);
  margin-bottom: 1rem;
}
.gc-card-head h2 {
  color: var(--moh-ink);
  margin-bottom: 0.35em;
}
.gc-card-head p {
  color: var(--moh-muted);
  font-size: 1.1rem;
  margin: 0;
}

/* ---- Video embed ---- */
.gc-video {
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #d5d9e0;
  box-shadow: 0 8px 24px rgba(20, 32, 47, 0.10);
}
.gc-video iframe { width: 100%; height: 100%; border: 0; display: block; }
#gc-yt-player { width: 100%; height: 100%; }

.gc-note {
  color: var(--moh-muted);
  font-size: 0.9rem;
  text-align: center;
  margin: 0.9rem 0 0;
}
.gc-sub {
  color: var(--moh-text);
  text-align: center;
  max-width: 620px;
  margin: 0 auto 1.5rem;
}

.gc-divider {
  border-top: 1px solid #e2e6ec;
  margin: 2rem 0;
}

/* ---- Episodes toggle ---- */
.gc-episodes-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--moh-tint);
  border: 1px solid #d5d9e0;
  border-radius: 10px;
  color: var(--moh-ink);
  font-family: var(--font-body);
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  padding: 0.9rem 1.1rem;
  margin: 1.25rem 0 0.75rem;
  cursor: pointer;
}
.gc-episodes-toggle .gc-toggle-arrow { color: var(--moh-gold-soft); }
.gc-episodes-toggle:hover { background: #e4e8ef; }

/* ---- Episode list ---- */
.gc-episode-list {
  max-height: 20rem;
  overflow-y: auto;
  border: 1px solid #d5d9e0;
  border-radius: 10px;
}
.gc-episode-list.is-collapsed { display: none; }
.gc-episode {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-align: left;
  background: var(--moh-white);
  border: 0;
  border-left: 2px solid transparent;
  border-bottom: 1px solid #eef0f3;
  color: var(--moh-text);
  font-family: var(--font-body);
  font-size: 0.92rem;
  padding: 0.75rem 1rem;
  cursor: pointer;
  transition: background 0.15s ease;
}
.gc-episode:last-child { border-bottom: 0; }
.gc-episode:hover { background: var(--moh-tint); }
.gc-episode.is-active {
  background: #eef4fb;
  border-left-color: var(--moh-ink);
  color: var(--moh-ink);
  font-weight: 700;
}
.gc-episode-num {
  flex-shrink: 0;
  width: 1.8rem;
  height: 1.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #e2e6ec;
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--moh-muted);
}
.gc-episode.is-active .gc-episode-num {
  background: var(--moh-ink);
  color: var(--moh-white);
}

/* ---- Audio player ---- */
.gc-audio-now {
  background: var(--moh-tint);
  border-radius: 10px;
  border: 1px solid #d5d9e0;
  padding: 1.5rem;
  text-align: center;
  margin-bottom: 1.5rem;
}
.gc-audio-now h3 { color: var(--moh-ink); margin-bottom: 1rem; }
.gc-audio-now audio { width: 100%; }

.gc-list-label {
  color: var(--moh-muted);
  font-family: var(--font-body);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin: 0 0 0.75rem;
}

.gc-chapter-list {
  max-height: 24rem;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding-right: 0.4rem;
}
.gc-chapter {
  text-align: left;
  width: 100%;
  background: var(--moh-tint);
  border: 1px solid #d5d9e0;
  border-radius: 8px;
  color: var(--moh-text);
  font-family: var(--font-body);
  font-size: 0.95rem;
  font-weight: 600;
  padding: 0.8rem 1rem;
  cursor: pointer;
  transition: background 0.15s ease;
}
.gc-chapter:hover { background: #e4e8ef; }
.gc-chapter.is-active {
  background: var(--moh-ink);
  border-color: var(--moh-ink);
  color: var(--moh-white);
}

/* ---- Read section ---- */
.gc-read-block { text-align: center; }
.gc-read-block p {
  color: var(--moh-text);
  font-size: 1.1rem;
  margin: 0 0 1.25rem;
}

/* Scrollbar for chapter lists */
.gc-chapter-list::-webkit-scrollbar,
.gc-episode-list::-webkit-scrollbar { width: 5px; }
.gc-chapter-list::-webkit-scrollbar-track,
.gc-episode-list::-webkit-scrollbar-track { background: transparent; }
.gc-chapter-list::-webkit-scrollbar-thumb,
.gc-episode-list::-webkit-scrollbar-thumb {
  background: #c5cad3;
  border-radius: 3px;
}

/* ---- Book cover image ---- */
.gc-book-cover {
  display: block;
  max-width: 450px;
  width: 100%;
  margin: 0 auto 1.5rem;
  border-radius: 8px;
  box-shadow: 0 12px 36px rgba(20,32,47,0.18), 0 2px 8px rgba(20,32,47,0.10);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.gc-book-cover:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(20,32,47,0.22), 0 4px 12px rgba(20,32,47,0.12);
}
