/* Part Grid Styles */
.service-item {
    transition: transform 0.3s ease;
}

.service-item:hover {
    transform: translateY(-5px);
}

.service-item .position-relative {
    height: 300px;
}

.service-item .part-image {
    height: 100%;
    object-fit: cover;
}

/* Image Counter Badge */
.image-counter {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 5px 10px;
    border-radius: 15px;
    font-size: 0.8rem;
    z-index: 1;
}

/* Gallery Modal Styles */
#partGalleryModal .modal-dialog {
    max-width: 900px;
}

#partImageGallery {
    background: #f8f9fa;
    border-radius: 5px;
}

#partImageGallery .carousel-item {
    height: 500px;
}

#partImageGallery .carousel-item img {
    height: 100%;
    object-fit: contain;
}

#thumbnailGallery {
    height: 80px;
    padding: 10px 0;
}

#thumbnailGallery img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 5px;
    cursor: pointer;
    border: 2px solid transparent;
    transition: border-color 0.2s ease;
}

#thumbnailGallery img:hover {
    border-color: #0d6efd;
}

#thumbnailGallery img.active {
    border-color: #0d6efd;
}

/* Purchase Modal Styles */
.quantity-control {
    max-width: 200px;
    margin: 0 auto;
}

.quantity-control input {
    text-align: center;
}

/* Alert Styles */
.alert-float {
    display: none;
    position: fixed;
    top: 20px;
    right: 20px;
    z-index: 1050;
    min-width: 300px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

/* Responsive Styles */
@media (max-width: 768px) {
    #partGalleryModal .modal-dialog {
        max-width: 95%;
        margin: 10px auto;
    }

    #partImageGallery .carousel-item {
        height: 300px;
    }

    #thumbnailGallery {
        height: 60px;
    }

    #thumbnailGallery img {
        width: 40px;
        height: 40px;
    }
}
