.program-card{background-color:var(--card);box-shadow:0 4px 16px var(--shadow);border-radius:24px;transition:all .3s;overflow:hidden}.program-card[open]{box-shadow:0 8px 32px var(--shadow)}.program-card-header{width:100%;padding:var(--spacing-lg);cursor:pointer;text-align:left;background:0 0;border:none;font-family:inherit;list-style:none;transition:background-color .2s;display:block}.program-card-header::-webkit-details-marker{display:none}.program-card-header:hover{background-color:var(--bg-warm)}.program-card-preview{align-items:center;gap:var(--spacing-md);display:flex}.program-card-image{object-fit:cover;border-radius:12px;flex-shrink:0;width:120px;height:80px}.program-card-marker{background-color:var(--gold-pastel);width:80px;height:80px;color:var(--gold-text);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.program-card-info{flex:1;min-width:0}.program-card-title{color:var(--text);margin:0 0 var(--spacing-sm) 0;font-size:1.5rem;font-weight:700;display:block}.program-card-meta{gap:var(--spacing-sm);color:var(--text-soft);flex-wrap:wrap;font-size:.9rem;display:flex}.meta-item{align-items:center;gap:.25rem;display:inline-flex}.expand-icon{background-color:var(--burgundy-pastel);width:40px;height:40px;color:var(--burgundy);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;font-weight:700;transition:all .2s;display:flex}.expand-icon:before{content:"+"}.program-card[open] .expand-icon:before{content:"−"}.program-card-header:hover .expand-icon{background-color:var(--burgundy);color:var(--on-burgundy);transform:scale(1.1)}.program-card-details{padding:0 var(--spacing-lg) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--burgundy-pastel);animation:.3s expandDown}@keyframes expandDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.detail-section{margin-top:var(--spacing-md)}.detail-section:first-child{margin-top:var(--spacing-lg)}.detail-heading{color:var(--burgundy);margin:0 0 var(--spacing-sm) 0;font-size:1.2rem;font-weight:700}.concert-description{color:var(--text-soft);margin:0;line-height:1.6}.program-list{margin:0;padding:0;list-style:none}.program-item{padding:var(--spacing-sm);background-color:var(--bg-warm);margin-bottom:var(--spacing-xs);color:var(--text);align-items:flex-start;gap:var(--spacing-sm);border-radius:8px;display:flex}.program-item:last-child{margin-bottom:0}.program-band{background-color:var(--burgundy-pastel);padding:var(--spacing-md);border-left:4px solid var(--burgundy)}.program-piece{background-color:var(--bg-warm);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-lg)}.band-icon{color:var(--burgundy);flex-shrink:0;display:inline-flex}.program-content{flex:1;min-width:0}.program-title{display:block}.program-band .program-title{color:var(--burgundy);font-size:1.1rem}.program-piece .program-title{color:var(--text);font-size:1rem}.program-meta{color:var(--text-muted);font-size:.95rem}.extra-info{margin-top:var(--spacing-sm);color:var(--text-soft);font-style:italic}.ticket-info{color:var(--text-soft);margin:0;font-size:1rem}.ticket-price{color:var(--text);font-weight:600}.ticket-note{color:var(--text-muted)}.facebook-link{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--burgundy-pastel);color:var(--burgundy);border-radius:50px;align-items:center;gap:.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.facebook-link:hover{background-color:var(--burgundy);color:var(--on-burgundy);box-shadow:0 4px 12px var(--shadow);transform:translateY(-2px)}.tba-message{padding:var(--spacing-lg);text-align:center;background-color:var(--bg-warm);margin-top:var(--spacing-lg);border-radius:12px}.tba-text{color:var(--text);margin:0 0 var(--spacing-sm) 0;font-size:1.2rem;font-weight:600}.tba-description{color:var(--text-muted);margin:0}@media (width<=768px){.program-card-preview{flex-wrap:wrap}.program-card-image,.program-card-marker{width:100%;height:160px}.program-card-info{width:100%}.expand-icon{margin-left:auto}.program-card-meta{gap:var(--spacing-xs);flex-direction:column}}.program-card-past .program-card-marker{background-color:var(--bg-warm);color:var(--text-muted)}.program-card-past .program-card-title{color:var(--text-soft)}.program-page{background-color:var(--bg);min-height:100vh;padding:var(--spacing-2xl) var(--spacing-lg)}.program-container{max-width:900px;margin:0 auto}.program-header{text-align:center;margin-bottom:var(--spacing-2xl)}.program-badge{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--burgundy-pastel);color:var(--burgundy);margin:0 0 var(--spacing-md);border-radius:50px;font-size:.9rem;font-weight:600;display:inline-flex}.program-title{color:var(--burgundy);margin:0 0 var(--spacing-md) 0;font-size:2.5rem;font-weight:800}.program-description{color:var(--text-soft);max-width:700px;margin:0 auto;font-size:1.1rem;line-height:1.6}.program-grid{gap:var(--spacing-lg);flex-direction:column;display:flex}.program-empty{max-width:52ch;padding:var(--spacing-xl) 0;text-align:center;color:var(--text-soft);margin:0 auto;font-size:1.05rem;line-height:1.7}.program-empty a{color:var(--burgundy);font-weight:600}.program-archive{margin-top:var(--spacing-2xl);padding-top:var(--spacing-xl);border-top:1px solid var(--burgundy-pastel)}.program-archive-title{color:var(--burgundy);text-align:center;margin:0 0 var(--spacing-xl);font-size:1.75rem;font-weight:800}.program-footer{margin-top:var(--spacing-2xl);text-align:center;padding-top:var(--spacing-xl);border-top:1px solid var(--burgundy-pastel)}.footer-note{color:var(--text-soft);margin:0}.email-link{color:var(--burgundy);font-weight:600;text-decoration:none;transition:opacity .2s}.email-link:hover{opacity:.7}@media (width<=768px){.program-page{padding:var(--spacing-xl) var(--spacing-sm)}.program-title{font-size:2rem}.program-description{font-size:1rem}}
