.navbar-dark .navbar-nav .nav-link {
  position: relative;
  padding: 0.5rem 1rem;
  font-weight: 500;
  color: #f8f9fa;
  transition: color 0.2s ease-in-out;
}

.navbar-dark .navbar-nav .nav-link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background: #f8f9fa;
  transition: width 0.3s ease-in-out;
}

.navbar-dark .navbar-nav .nav-link:hover::after,
.navbar-dark .navbar-nav .nav-link.active::after {
  width: 100%;
}

.text-gold {
  background: linear-gradient(45deg, #d4af37, #f1c40f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

footer a:hover {
  color: #f1c40f !important;
}

.text-gold,
.text-gold i {
  background: linear-gradient(45deg, #d4af37, #f1c40f);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  color: #d4af37;
}

footer a i {
  color: inherit !important;
}

#heroCarousel .carousel-item img {
  height: 80vh;
  object-fit: cover;
  width: 100%;
}

#artistCarousel .carousel-item {
  display: flex;
  justify-content: center; /* center the image in the carousel */
  min-height: 400px;       /* match your desired height */
}

.artist-carousel-item-img {
  width: 100%;          /* fill container width on small screens */
  max-width: 480px;     /* max width on large screens */
  height: 700px;        /* fixed height */
  object-fit: cover;    /* maintain aspect ratio, crop if needed */
  border-radius: 0.5rem; 
}

.cart-floating-btn {
    position: fixed;
    bottom: 20px;
    left: 20px;
    z-index: 1050;
    border-radius: 30px;
    font-weight: bold;
    padding: 12px 20px;
}