/* music-artist-profile.css */
@import url('/fonts.css');
@import url('/tailwind.css');
@import url('/app/global.css');

html, body {
    min-height: 100vh !important;
    width: 100% !important;
    background-color: white !important;
    font-family: var(--font-inter) !important;
}

.artist-name {
    text-align: center;
    font-weight: bold;
    font-size: 3rem;
    color: black;
    margin-top: .5rem;
}

.page-container {
    width: 100%;
    min-height: 100vh;
    font-family: var(--font-inter);
}

.header-section {
    text-align: center;
}

.main-title {
    font-weight: bold;
    font-size: 3.75rem;
    color: #000;
    padding-top: 2.5rem;
}

.sub-title-music-artists {
    background-color: #000;
    color: #fff !important;
    padding: 4px 10px;
    text-decoration: none;
    font-weight: 500;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    line-height: 1;
    margin-top: 1rem;
    font-size: 1.125rem;
    max-width: 24rem;
    margin-left: auto;
    margin-right: auto;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Artist Profile Section - New Side-by-Side Layout */
.artist-profile-section {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    /* margin-bottom: 3rem; */
    padding: 2.5rem 5rem 0rem 5rem;
}

.artist-profile-container {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 2rem;
}

/* Artist Profile - Left Side */
.artist-left-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
    width: 350px;
    outline: 1px solid #e0e0d9;
    border-radius: 1rem;
    /* position: sticky; */
    top: 2rem;
}

.artist-profile-image {
    /* margin-bottom: 1.5rem; */
}

.artist-profile-image img {
    width: 20rem;
    height: 20rem;
    object-fit: cover;
    border-radius: 1rem;
    margin-top: 1rem;
    margin-left: 1rem;
    margin-right: 1rem;
}

/* Social Icons Styles */
.social-icons {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
    margin-top: .5rem;
    flex-wrap: wrap;
}

.social-icon {
    display: inline-block;
    padding: 0.3rem;
    border-radius: .5rem;
    transition: all 0.3s ease;
}

.social-icon:hover {
    background-color: #e9ecef;
}

.social-icon-img {
    width: 1.25rem !important;
    height: 1.25rem !important;
    object-fit: contain !important;
    margin: 0 !important;
    border-radius: 0 !important;
    aspect-ratio: unset !important;
}

/* Artist Stats */
.artist-stats {
    background-color: #f8f9fa;
    padding: 1rem 1.5rem;
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 20rem;
    display: none;
}

.total-views {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

.total-likes {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

.total-tracks {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    text-align: center;
}

/* Videos Section - Right Side */
.artist-right-section {
    display: flex;
    flex-direction: column;
    min-width: 0;
    max-width: 100%; /* Set a fixed max-width instead of flex: 1 */
}

.featured-tracks-title {
    font-size: 1.5rem;
    font-weight: 700;
    color: #000;
    margin-bottom: 1.5rem;
    text-align: center;
    display: none;
}

/* New Layout: Large thumbnail + smaller thumbnails below */
.tracks-layout {
    width: 100%;
    max-width: 39.5vw;
}

/* Large Featured Video */
/* Large Featured Video */
.large-featured-video {
    width: 100%;
    /* margin-bottom: 1.5rem; */
}

.large-video-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.large-video-thumbnail {
    width: 100%;
    position: relative;
    overflow: hidden;
    aspect-ratio: 16/9;
    border-radius: 1rem;
    /* outline: 1px solid #e0e0d9; */
    margin-bottom: 0.5rem;
}

.large-video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.large-video-thumbnail:hover img {
    filter: brightness(105%);
}

.large-video-info {
    padding: 0;
    background: transparent;
}

.large-video-title {
    font-size: 1rem;
    font-weight: 600;
    color: black;
    margin: 0;
    text-align: center;
    line-height: 1.3;
    
    /* Single line with ellipsis */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;

    margin-bottom: .6rem;
}

/* Small Thumbnails Navigation Container */
.small-thumbnails-container {
    position: relative;
    width: 100%;
}

.small-thumbnails-wrapper {
    position: relative;
    width: 100%;
    /* overflow: hidden; */
}

.nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: bold;
    transition: opacity 0.3s ease;
    flex-shrink: 0;
    z-index: 10;
    opacity: 0;
    pointer-events: none; /* Initially disable interaction */
}

.nav-arrow:hover {
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.9);
}

.small-thumbnails-wrapper:hover .nav-arrow {
    opacity: 0.5;
}

.nav-arrow.disabled {
    background: rgba(0, 0, 0, 0.3);
    cursor: not-allowed;
}

.nav-arrow.disabled:hover {
    background: rgba(0, 0, 0, 0.3);
    opacity: 0.3 !important;
}

#prevArrow {
    left: .5rem;
    top: 2.6rem;
}

#nextArrow {
    right: .5rem;
    top: 2.6rem;
}

/* Small Thumbnails Grid */
.small-thumbnails-grid {
    display: flex;
    gap: 0.75rem;
    width: 100%;
    will-change: auto; /* Remove transform optimization */
    overflow-x: auto; /* Add horizontal scroll */
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.small-thumbnails-grid::-webkit-scrollbar {
    display: none;
}

.small-track-card {
    flex-shrink: 0;
    width: 9.25rem;
    transition: transform 0.3s ease;
}

.small-track-card:hover img {
    filter: brightness(90%);
}

.small-track-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.small-track-thumbnail {
    width: 100%;
    border-radius: 0.5rem;
    overflow: hidden;
    margin-bottom: 0.5rem;
    position: relative;
}

.small-track-thumbnail img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.small-track-info {
    padding: 0 0.25rem;
}

.small-track-title {
    font-size: 0.813rem;
    font-weight: 600;
    color: black;
    margin: 0;
    text-align: center;
    line-height: 1.3;
    
    /* Single line with ellipsis */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Hide original grid layout */
.compact-tracks-grid {
    display: none;
}

.pagination-controls {
    display: none;
}




/* Related Artists Section */
.related-artists-section {
    margin-bottom: 2rem;
}

.related-artists-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #000;
    padding-left: 22.75rem;
    text-align: left;
    padding-top: .5rem;
    padding-bottom: 1rem;
}

.related-artists-container {
    position: relative;
}

.related-artists-wrapper {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.related-artists-nav-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 1.25rem;
    font-weight: bold;
    transition: opacity 0.3s ease;
    z-index: 10;
    opacity: 0;
    pointer-events: none;
}

.related-artists-nav-arrow:hover {
    opacity: 1 !important;
    background: rgba(0, 0, 0, 0.9);
}

.related-artists-wrapper:hover .related-artists-nav-arrow {
    opacity: 0.5;
    pointer-events: auto;
}

#relatedPrevArrow {
    left: 0.5rem;
}

#relatedNextArrow {
    right: 0.5rem;
}

.related-artists-grid {
    display: flex;
    gap: 1rem;
    justify-content: center;
}

.related-artist-card {
    flex-shrink: 0;
    width: 180px;
    text-align: center;
    transition: transform 0.3s ease;
}

.related-artist-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.related-artist-image {
    width: 180px;
    height: 180px;
    border-radius: 1rem;
    overflow: hidden;
    margin-bottom: 1rem;
    /* outline: 1px solid #e0e0d9; */
}

.related-artist-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: filter 0.3s ease;
}

.related-artist-card:hover .related-artist-image img {
    filter: brightness(110%);
}

.related-artist-name {
    font-size: 1.1rem;
    font-weight: 600;
    color: black;
    margin: 0;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}







/* Making music-artist-profile.php responsive on all devices */

/* Desktop | 1281px - 1440px  */
@media (max-width: 1280px) {
  /* None, coded on macbook m1 pro */
}

/* Medium Laptop/Desktop | 1515px - 1920px */
@media (max-width: 1515px) {
 /* None, coded on macbook m1 pro */
}

/* Small Laptop/Desktop | 1024px - 1280px */
@media (max-width: 1024px) {
  /* None, coded on macbook m1 pro */
}

/* Mobile Small Portrait (Normal) | up to 480px */
@media (max-width: 480px) and (orientation: portrait) {

  .large-featured-video {
    max-width: 90vw;
    margin: 0 auto;
  }

  .artist-profile-section {
    margin-top: -3.5rem;
    padding: 2.5rem 1rem 0rem 1rem !important;
  }
  
  .artist-profile-container {
    flex-direction: column !important;
    gap: 1.5rem !important;
  }
  
  .artist-left-section {
    width: 90vw !important;
    position: static !important;
    margin: 0 auto;
    margin-top: 5rem;
  }
  
  .artist-profile-image img {
    width: 12rem !important;
    height: 12rem !important;
  }
  
  .artist-name {
    font-size: 1.5rem !important;
    margin-top: 1rem !important;
  }

  .artist-right-section {
    width: 100vw !important;
    margin-left: -1rem !important;
    margin-right: -1rem !important;
  }

  .tracks-layout {
    width: 100% !important;
    padding: 0 1rem !important;
    display: grid;
  }

  .large-video-thumbnail {
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .small-thumbnails-container {
    width: 100vw !important;
    margin-left: -1rem !important;
    margin-right: -1rem !important;
  }

  .small-thumbnails-wrapper {
    width: 100% !important;
    padding: 0 1rem !important;
  }

  .small-thumbnails-grid {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-behavior: smooth !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-x !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    width: 100% !important;
  }
  
  .small-thumbnails-grid::-webkit-scrollbar {
    display: none !important;
  }
  
  .large-video-title {
    font-size: 0.85rem !important;
    margin-bottom: 1rem;
  }
  
  .small-track-card {
    width: 7rem !important;
    flex-shrink: 0 !important;
  }
  
  .small-track-title {
    font-size: 0.7rem !important;
  }
  
  .related-artists-title {
    padding-left: 0 !important;
    text-align: center !important;
    font-size: 1.25rem !important;
    padding-top: 1rem !important;
  }
  
  .related-artists-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr)) !important;
    justify-items: center !important;
    gap: 1rem !important;
  }
  
  .related-artist-card {
    width: 12.5rem !important;
  }
  
  .related-artist-image {
    width: 12.5rem !important;
    height: 12.5rem !important;
  }
  
  .related-artist-name {
    font-size: 0.9rem !important;
  }
}

/* Mobile Small Landscape (Seitlich gehlaten) | up to 950px */
/* S20+, iPhone 14, iPhone 15 Pro in Landscape (Seitlich gehlaten) */
@media (max-width: 950px) and (orientation: landscape) {

  .large-featured-video {
    max-width: 50vw;
    margin: 0 auto;
  }

  .small-thumbnails-grid {
    max-width: 50vw;
  }

  .related-artists-grid {
    max-width: 50vw;
    margin: 0 auto;
  }

  .artist-profile-container {
    padding-top: 3.25rem;
    gap: 1.5rem !important;
  }
  .artist-profile-section {
    padding: 1rem 5.5rem !important;
  }

  .artist-right-section {
    /* margin-top: 1rem; */
  }
  
  .artist-left-section {
    width: 280px !important;
  }
  
  .artist-profile-image img {
    width: 15rem !important;
    height: 15rem !important;
  }
  
  .artist-name {
    font-size: 1.25rem !important;
  }
  
  .tracks-layout {
    max-width: 60vw !important;
  }
  
  .large-video-title {
    font-size: 0.9rem !important;
  }
  
  .small-track-card {
    width: 8rem !important;
  }
  
  .small-track-title {
    font-size: 0.75rem !important;
  }
  
  .related-artists-title {
    padding-left: 3.75rem !important;
    font-size: 1.25rem !important;
  }
  
  .related-artist-card {
    width: 120px !important;
  }
  
  .related-artist-image {
    width: 120px !important;
    height: 120px !important;
  }

  .large-video-thumbnail {
    /* margin-top: 1rem !important; */
  }
}

/* Mobile Large Portrait (Normal) | 481px - 600px */
/* iPhone 14 Pro Max, Pixel 7 Pro, larger phones */
@media (min-width: 481px) and (max-width: 600px) and (orientation: portrait) {
  .artist-profile-section {
    padding: 1.5rem !important;
  }
  
  .artist-profile-container {
    flex-direction: column !important;
    gap: 2rem !important;
  }
  
  .artist-left-section {
    width: 100% !important;
    position: static !important;
  }
  
  .artist-profile-image img {
    width: 16rem !important;
    height: 16rem !important;
  }
  
  .artist-name {
    font-size: 1.75rem !important;
    margin-top: 1rem !important;
  }
  
  .artist-right-section {
    max-width: 100% !important;
  }
  
  .tracks-layout {
    max-width: 100% !important;
  }
  
  .large-video-title {
    font-size: 0.95rem !important;
  }
  
  .small-track-card {
    width: 8.5rem !important;
  }
  
  .small-track-title {
    font-size: 0.75rem !important;
  }
  
  .related-artists-title {
    padding-left: 0 !important;
    text-align: center !important;
    font-size: 1.35rem !important;
    padding-top: 2rem !important;
  }
  
  .related-artist-card {
    width: 140px !important;
  }
  
  .related-artist-image {
    width: 140px !important;
    height: 140px !important;
  }
  
  .related-artist-name {
    font-size: 0.95rem !important;
  }

  .related-artists-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(12.5rem, 1fr)) !important;
    justify-items: center !important;
    gap: 1rem !important;
  }
}

/* Tablet Portrait (Normal) | 601px - 1024px */
@media (min-width: 601px) and (max-width: 1024px) and (orientation: portrait) {
  .artist-profile-section {
    padding: 2rem !important;
  }
  
  .artist-profile-container {
    flex-direction: column !important;
    gap: 2.5rem !important;
  }
  
  .artist-left-section {
    width: 50vw !important;
    position: static !important;
    margin: 0 auto;
    margin-top: 1rem;
  }
  
  .artist-profile-image img {
    width: 18rem !important;
    height: 18rem !important;
  }
  
  .artist-name {
    font-size: 2rem !important;
    margin-top: 1rem !important;
  }
  
  .artist-right-section {
    max-width: 100% !important;
  }
  
  .tracks-layout {
    max-width: 100% !important;
  }
  
  .large-video-title {
    font-size: 1rem !important;
  }

  .large-video-thumbnail {
    border-radius: 2rem;
  }

  .related-artist-image {
    margin: 0 auto !important;
    width: 150px !important;
    height: 150px !important;
  }

  .related-artists-grid {
    gap: .25rem !important;
  }

  .artist-right-section {
    max-width: 95vw !important;
  }
  
  .small-track-card {
    width: 10rem !important;
  }
  
  .small-track-title {
    font-size: 0.8rem !important;
  }
  
  .related-artists-title {
    padding-left: 0 !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    padding-top: rem !important;
  }
  
  .related-artist-card {
    width: 160px !important;
  }
}

/* Tablet Landscape (Seitlich gehlaten) | 951px - 1366px */
@media (min-width: 951px) and (max-width: 1366px) and (orientation: landscape) {
  .artist-profile-section {
    padding: 2rem 3rem !important;
  }
  
  .artist-profile-container {
    gap: 1.5rem !important;
  }
  
  .artist-left-section {
    width: 320px !important;
  }
  
  .artist-profile-image img {
    width: 18rem !important;
    height: 18rem !important;
  }
  
  .artist-name {
    font-size: 1.5rem !important;
  }
  
  .tracks-layout {
    max-width: 50vw !important;
  }
  
  .large-video-title {
    font-size: 0.95rem !important;
  }
  
  .small-track-card {
    width: 8.75rem !important;
  }
  
  .related-artists-title {
    padding-left: 20rem !important;
    font-size: 1.35rem !important;
  }
  
  .related-artist-card {
    width: 160px !important;
  }
  
  .related-artist-image {
    width: 160px !important;
    height: 160px !important;
  }
}