.hero-section{position:relative;overflow:hidden}.hero-background-image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.artist-avatar-lg{width:200px;height:200px;-o-object-fit:cover;object-fit:cover}.hero-overlay{background:linear-gradient(to bottom,#0000008c,#000000c7);position:absolute;top:0;right:0;bottom:0;left:0}.hero-content{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45)}.hero-content h1,.hero-content p{color:inherit}.artist-detail-section+.artist-detail-section{padding-top:1.5rem}.artist-description-preline{white-space:pre-line}.artist-next-performance-meta{display:grid;gap:.55rem}.artist-next-performance-meta span{align-items:flex-start}.artist-next-performance-meta i{flex:0 0 18px;line-height:1.4;text-align:center}.artist-sidebar-empty{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;border:1px dashed var(--color-border);border-radius:var(--radius-base);color:var(--color-text-muted);text-align:center}.artist-sidebar-empty i{color:var(--color-text-muted);font-size:2rem}.artist-sidebar-empty p{margin:0}.artist-facts-list{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.artist-fact-item{display:flex;min-width:0;align-items:center;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface-muted);padding:.8rem}.artist-fact-item>span:last-child{min-width:0}.artist-fact-item small{display:block;color:var(--color-text-muted);font-size:.78rem;line-height:1.2}.artist-fact-item strong{display:block;overflow:hidden;color:var(--color-text);font-size:.95rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.artist-fact-icon{display:inline-flex;width:40px;height:40px;flex:0 0 40px;align-items:center;justify-content:center;border-radius:var(--radius-base);background:rgba(var(--brand-primary-rgb),.1);color:var(--color-primary)}@media(max-width:575.98px){.artist-facts-list{grid-template-columns:1fr}}.gallery-count{align-self:flex-start;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-muted);color:var(--color-text);font-size:.8rem;font-weight:600;padding:.35rem .75rem}.artist-gallery-grid .gallery-item-wrapper{display:flex}.gallery-item{position:relative;display:flex;width:100%;flex-direction:column;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-base);background:var(--color-surface-elevated);box-shadow:var(--shadow-card);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.gallery-item:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.gallery-item img,.gallery-item video{display:block;width:100%;height:auto;aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.gallery-item:hover img{transform:scale(1.05)}.gallery-media-link{position:relative;display:block;overflow:hidden;color:inherit;text-decoration:none}.gallery-overlay{position:absolute;top:.75rem;right:.75rem;display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:999px;background:#143d49b8;color:var(--color-cta-text);opacity:0;transition:opacity .2s ease,transform .2s ease}.gallery-media-link:hover .gallery-overlay{opacity:1;transform:translateY(2px)}.gallery-video-frame{background:#111827}.gallery-video-frame video{background:#111827}.audio-player{display:flex;min-height:180px;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-16);background:var(--color-surface-muted);padding:var(--card-padding-lg)}.audio-icon{display:inline-flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:999px;background:var(--color-text);color:var(--color-cta-text);font-size:1.4rem}.gallery-caption{margin:0;color:var(--color-text-muted);font-size:.85rem;line-height:1.4;padding:.75rem .85rem}.gallery-empty-state,.artist-empty-state{display:flex;min-height:220px;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-12);border:1px dashed var(--color-border);border-radius:var(--radius-base);color:var(--color-text-muted);text-align:center}.gallery-empty-state i,.artist-empty-state i{color:var(--color-text-muted);font-size:3rem}.gallery-empty-state p,.artist-empty-state p{margin:0}.artist-event-tabs{gap:.5rem}.artist-event-tabs .nav-link{border:1px solid var(--color-border);color:var(--color-text-muted)}.artist-event-tabs .nav-link.active{border-color:var(--color-primary);color:var(--color-cta-text)}
