/* Intro: mirrors reels-intro pattern */
.production-intro {
  text-align: center;
  margin: 2rem auto;
}
.production-intro h2 {
  font-size: 2rem;
  margin-bottom: 0.5rem;
}
.production-intro .lead {
  font-size: 1.1rem;
  color: #767676;
  max-width: 700px;
  margin: 0 auto;
}

/* Shared section heading style */
.podcast-section h2,
.video-section h2,
.tools-section h2 {
  text-align: center;
  margin: 3rem 0 1.5rem;
  font-size: 1.6rem;
}

/* Podcast cards: image + text side by side */
.podcast-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.podcast-card {
  display: flex;
  flex-direction: column;
  background: #1e1e1e;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.podcast-card img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}
.podcast-info {
  padding: 1.25rem;
}
.podcast-info h3 {
  margin-bottom: 0.25rem;
  color: var(--color-accent);
}
.podcast-role {
  font-size: 0.9rem;
  color: #999;
  margin-bottom: 0.75rem;
}
.podcast-desc {
  font-size: 0.95rem;
  color: #ccc;
  margin-bottom: 1rem;
}
/* Amphibious Soul book section */
.book-section h2 {
  text-align: center;
  margin: 3rem 0 1.5rem;
  font-size: 1.6rem;
}

/* Feature image: floats directly on the page background, no card/box around it */
.book-feature {
  text-align: center;
  margin: 0 auto 2rem;
}
.book-feature img {
  max-width: 380px;
  width: 100%;
  height: auto;
  /* drop-shadow (not box-shadow) follows the actual alpha silhouette of the PNG,
     so it reads as one floating object rather than a shadow behind a rectangle */
  filter: drop-shadow(0 20px 30px rgba(0,0,0,0.5));
}

/* Info block: centered underneath, no card background since there's nothing to contain */
.book-info {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}
.book-author {
  font-size: 0.9rem;
  color: #999;
  margin-bottom: 0.75rem;
}
.book-desc {
  font-size: 0.95rem;
  line-height: 1.55;
  color: #ccc;
  margin-bottom: 1.25rem;
}
.book-info .link-pill {
  display: inline-block;
  padding: 0.6rem 1.25rem;
  border: 1px solid #c9a876;
  border-radius: 20px;
  color: #c9a876;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  letter-spacing: 0.02em;
}
.book-info .link-pill:hover {
  background: rgba(201, 168, 118, 0.12);
}

/* Video cards: reuses the film-card overlay pattern from reels.css */
.video-grid {
  display: grid;
  gap: 2rem;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
}
.video-card {
  background: #1e1e1e;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}
.video-embed {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 aspect ratio, keeps the frame responsive */
}
.video-embed iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.video-info {
  padding: 1.25rem;
}
.video-info h3 {
  margin-bottom: 0.25rem;
  color: var(--color-accent);
}
.video-info p {
  font-size: 0.9rem;
  color: #ccc;
}

/* Tools list: simple centered pill row for now */
.tools-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 3rem;
}
.tools-list li {
  background: #1e1e1e;
  padding: 0.5rem 1rem;
  border-radius: 20px;
  font-size: 0.9rem;
  color: #ddd;
}

.spotify-embed {
  margin-top: 0.75rem;
  border-radius: 12px;
  overflow: hidden;
}
.spotify-embed iframe {
  display: block;
  width: 100%;
  border: 0;
}
/* Released music section */
.music-section h2 {
  text-align: center;
  margin: 3rem 0 0.5rem;
  font-size: 1.6rem;
}
.music-section .lead {
  text-align: center;
  color: #767676;
  max-width: 600px;
  margin: 0 auto 2rem;
  font-size: 1rem;
}

.music-grid {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  margin-bottom: 1rem;
}
.music-card {
  background: #1e1e1e;
  border-radius: 12px;
  padding: 1.25rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}
.music-meta {
  margin-bottom: 0.9rem;
}
.music-meta h3 {
  margin: 0.4rem 0 0.15rem;
  color: var(--color-accent);
  font-size: 1.1rem;
}
.music-credit {
  font-size: 0.85rem;
  color: #999;
}

/* Role tags: small colored pills so each credit type is visually distinct at a glance */
.role-tag {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.25rem 0.6rem;
  border-radius: 10px;
}
.role-composer {
  background: rgba(201, 168, 118, 0.18);
  color: #c9a876;
}
.role-production {
  background: rgba(120, 170, 210, 0.18);
  color: #7ab0d6;
}
.role-performer {
  background: rgba(150, 200, 150, 0.18);
  color: #8fca8f;
}
.play-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
}