.product-carousel {
  width: 100%;

  &__main {
    aspect-ratio: 1 / 1;
    width: 100%;
    background-color: #e0e0e0 !important;
    /* Matches grey placeholder in mock */

    display: flex;
    align-items: center;
    justify-content: center;
  }

  &__main-image {
    display: block;
    padding: 0;
    transition: transform 0.3s ease;
  }

  &__placeholder {
    height: 100%;
    background-color: #e0e0e0;
  }

  &__discount-badge {
    top: 0 !important;
    right: 0 !important;
    background-color: var(--tenant-primary, #6376F3) !important;
    border-bottom-left-radius: 4px;
    font-size: 0.9rem;
    letter-spacing: 0.5px;
    padding: 0.5rem 1rem !important;
  }

  &__nav-btn {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.2) !important;
    color: #ffffff !important;
    font-size: 0.9rem;
    transition: background-color 0.2s ease, transform 0.2s ease;
    z-index: 10;

    &:hover {
      background-color: rgba(0, 0, 0, 0.4) !important;
      transform: translateY(-50%) scale(1.05);
    }

    &--prev {
      left: 16px !important;
    }

    &--next {
      right: 16px !important;
    }
  }

  &__thumbnails {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
  }

  &__thumbnail {
    width: 100%;
    aspect-ratio: 1 / 1;
    background-color: #e0e0e0 !important;
    /* Matches mock layout */
    padding: 0;
    transition: opacity 0.2s ease, border-color 0.2s ease;
    border: 3px solid transparent !important;
    cursor: pointer;

    img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    &:hover {
      opacity: 0.9;
    }

    &--active {
      border-color: var(--tenant-primary, #6376F3) !important;
      opacity: 1;
    }
  }
}
