/* Presentation styles for public recital view */
.program { max-width: 720px; margin: 16px auto; padding: 0 12px; }
.program-header { text-align: center; margin: 16px 0; font-family: Georgia, serif; font-size: 20px; }
.leader-row { display: flex; align-items: baseline; gap: 8px; }
.leader-row .piece { font-style: italic; white-space: nowrap; }
.leader-row .leader { flex: 1; border-bottom: 1px dotted #999; transform: translateY(-3px); }
.comp-meta { text-align: right; color: #555; font-size: 0.95rem; }
.performer { text-align: center; font-style: italic; color: #444; margin-top: 6px; }
.performers-section { margin-top: 32px; }
.performer-bio-block { margin-bottom: 24px; display: grid; gap: 16px; }
.performer-photo img { width: 150px; height: 150px; object-fit: cover; border-radius: 8px; border: 1px solid #e9ecef; }
.performer-info h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 18px; }
.program-bio { margin-top: 32px; padding-top: 24px; border-top: 2px solid #e9ecef; }
.program-bio > div { font-size: 14px; line-height: 1.7; text-align: justify; color: #333; font-family: Georgia, serif; }


