/* Theatre Collage — productions listing + single (crimson accent) */

/* Teal page header variant */
.tc-pagehead--stage {
  background:
    radial-gradient(70% 120% at 80% -10%, rgba(199,51,42,.22), transparent 55%),
    linear-gradient(120deg, #141019, #2a1517);
}

/* Subsection label rows on the listing */
.tc-prod-group { margin-top: var(--tc-section-y); }
.tc-prod-group:first-child { margin-top: 0; }
.tc-prod-group__head { display: flex; align-items: baseline; gap: 1rem; margin-bottom: 2rem; }
.tc-prod-group__head h2 { margin: 0; }
.tc-prod-group__count { color: var(--tc-muted); font-size: .9rem; }

/* ===== Single production ===== */
.tc-prod-hero {
  position: relative;
  padding-block: clamp(3rem, 7vw, 5.5rem);
  background:
    radial-gradient(60% 100% at 78% 0%, rgba(199,51,42,.28), transparent 55%),
    linear-gradient(120deg, #141019, #241315);
  border-bottom: 1px solid var(--tc-line);
}
.tc-prod-hero__grid { display: grid; grid-template-columns: 300px 1fr; gap: clamp(1.5rem,4vw,3rem); align-items: center; }
.tc-poster { aspect-ratio: 3/4; border-radius: var(--tc-radius-lg); box-shadow: var(--tc-shadow); background:
  radial-gradient(90% 70% at 50% 10%, rgba(234,106,92,.4), transparent 60%), linear-gradient(180deg,#2a1517,#141019); }
.tc-prod-hero h1 { margin: .8rem 0 .6rem; }
.tc-prod-hero__tagline { font-size: clamp(1.1rem,2vw,1.5rem); color: var(--tc-crimson-hi); font-weight: 500; }
.tc-prod-hero__meta { display: flex; flex-wrap: wrap; gap: 1.5rem; margin: 1.5rem 0; }
.tc-prod-hero__cta { display: flex; flex-wrap: wrap; gap: 1rem; }

/* Cast & crew */
.tc-cast { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px,1fr)); gap: 1.2rem; margin-top: 1rem; }
.tc-cast__person { text-align: left; }
.tc-cast__avatar { aspect-ratio: 1; border-radius: var(--tc-radius); margin-bottom: .6rem; background:
  radial-gradient(80% 80% at 50% 20%, rgba(199,51,42,.25), transparent 60%), var(--tc-bg-3); }
.tc-cast__name { font-weight: 600; }
.tc-cast__role { color: var(--tc-muted); font-size: .88rem; }

.tc-prose { max-width: 62ch; }
.tc-prose h2 { margin: 2.5rem 0 1rem; }
.tc-prose h2:first-child { margin-top: 0; }

@media (max-width: 760px) {
  .tc-prod-hero__grid { grid-template-columns: 1fr; }
  .tc-poster { max-width: 260px; }
}
