/* ── Artist Page Nav: match entry-content-inner container width/position ── */
.site-main > .nyimbo-tabs-wrapper{width:calc(100% - var(--x-gap,24px) * 2);max-width:var(--content-width,1200px);margin-left:auto;margin-right:auto}
@media(max-width:768px){.site-main > .nyimbo-tabs-wrapper .nyimbo-tabs-nav{justify-content:center}}

/* ── Artist Header ── */
.artist-header{position:relative;background-size:cover;background-position:center center;min-height:420px;margin-bottom:30px;overflow:hidden}
.artist-header-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,rgba(0,0,0,.97) 0%,rgba(0,0,0,.7) 50%,rgba(0,0,0,.4) 100%);z-index:1}
.artist-header-content{position:relative;display:flex;justify-content:space-between;align-items:flex-end;height:100%;min-height:420px;padding:30px;z-index:2;gap:24px}
.artist-header .artist-info{flex:1;color:#fff;min-width:0}
.artist-header .artist-name{font-size:48px;margin-bottom:6px;font-weight:700;line-height:1.1}

/* ── Country Badge ── */
#play-artist-country-badge{margin-top:6px}
.artist-country-link{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:400;color:rgba(255,255,255,.8);text-decoration:none;transition:color .2s;letter-spacing:.3px}
.artist-country-link:hover{color:#fff}
.artist-country-link svg{flex-shrink:0}

/* ── Description Snippet ── */
.artist-desc-snippet{cursor:pointer;margin-top:12px;max-width:580px}
.artist-desc-snippet p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.75);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.artist-desc-snippet:hover p{color:rgba(255,255,255,.95)}
.artist-desc-snippet::after{content:'Read more';display:inline-block;margin-top:8px;font-size:13px;font-weight:700;color:#fff;letter-spacing:.2px;opacity:.9}
.artist-desc-snippet:hover::after{text-decoration:underline;opacity:1}

/* ── Round Image ── */
.artist-image{width:200px;height:200px;flex-shrink:0;min-width:200px;min-height:200px;aspect-ratio:1/1;border-radius:50%;overflow:hidden;border:3px solid rgba(255,255,255,.25);box-shadow:0 8px 40px rgba(0,0,0,.5)}
.artist-image img{width:100%;height:100%;object-fit:cover}

/* ── Modal Overlay ── */
.biography{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:none;align-items:center;justify-content:center;padding:24px;overflow-y:auto}
.biography.is-open{display:flex}
.biography-close{position:fixed;inset:0;z-index:0;cursor:pointer;background:none;border:none;padding:0}
body.bio-open{overflow:hidden}

/* ── Modal ── */
.artist-modal{position:relative;z-index:1;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;background:#fff;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.artist-modal::-webkit-scrollbar{display:none}
.artist-modal-close{position:absolute;top:12px;right:12px;z-index:4;width:36px;height:36px;padding:0;box-sizing:border-box;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:none;flex-shrink:0;line-height:0}
.artist-modal-close svg{display:block;width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2.5;overflow:visible}
.artist-modal-close:hover{background:rgba(0,0,0,.8)}

/* ── Modal Image ── */
.artist-modal-image{width:100%;max-height:380px;overflow:hidden;border-radius:12px 12px 0 0;margin-top:0}
.artist-modal-image img{width:100%;height:100%;object-fit:cover;display:block}

/* ── Modal Body ── */
.artist-modal-body{padding:28px 28px 32px}
.artist-modal-text{font-size:15px;line-height:1.8;color:#333}
.artist-modal-text p{margin-bottom:12px}
.artist-modal-text img{max-width:100%;height:auto;border-radius:8px;margin:12px 0}
.artist-modal-text .artist-info-table{margin-top:16px}

/* ── Dark Mode — Modal ── */
.dark .artist-modal{background:#181818;color:#e0e0e0}
.dark .artist-modal-text,.dark .artist-modal-text p{color:#d0d0d0}
.dark .artist-modal-close{background:rgba(255,255,255,.12);color:#fff}
.dark .artist-modal-close:hover{background:rgba(255,255,255,.22)}

/* ── Dark Mode — Info Table ── */
.artist-info-table td,.artist-info-table th{background-color:inherit}
.dark .artist-info-table td,.dark .artist-info-table th,
.dark body .artist-info-table td,.dark body .artist-info-table th{color:#e0e0e0}
.dark .artist-info-table td,.dark .artist-info-table th{border-color:#333}

/* ── Responsive ── */
@media (max-width:768px){
  .artist-header{min-height:auto}
  .artist-header-content{flex-direction:column;align-items:center;text-align:center;min-height:auto;padding:30px 20px}
  .artist-header .artist-info{display:contents}
  .artist-header .artist-name{order:1;font-size:30px;width:100%;margin-bottom:16px}
  .artist-image{order:2;width:140px;height:140px;min-width:140px;min-height:140px;margin-bottom:12px}
  .artist-image img{height:100%;min-height:140px}
  #play-artist-country-badge{order:3}
  .artist-desc-snippet{order:4;max-width:100%}
  .artist-desc-snippet p{-webkit-line-clamp:2;line-clamp:2;font-size:13px}
  .biography{padding:60px 16px}
  .artist-modal{max-width:100%;border-radius:10px;max-height:calc(100vh - 120px)}
  .artist-modal-body{padding:20px}
  .artist-modal-image{max-height:220px}
}
