.products-carousel-wrapper {
    position: relative;
    padding: 0 15px;
}

.products-carousel {
    display: flex;
    gap: 15px;
    overflow-x: auto;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 10px 0 20px;
    -ms-overflow-style: none;
    scroll-snap-type: x mandatory;
}

.products-carousel::-webkit-scrollbar {
    display: none;
}

/* ------ botones del carrusel (solo desktop) ------ */
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: white;
    border: 2px solid var(--light-gray);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--transition);
    z-index: 10;
    color: var(--dark-color);
    font-size: 1.2rem;
    box-shadow: var(--shadow-md);
    display: none;
}

.carousel-btn:hover {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

.carousel-btn.prev {
    left: 0;
}

.carousel-btn.next {
    right: 0;
}

/* ------ Mobile muy pequeño (hasta 349px) - 1 producto ------ */

@media (max-width: 349px) {
    .products-carousel .product-card {
        flex: 0 0 calc(100% - 30px);
        max-width: calc(100% - 30px);
        scroll-snap-align: start;
        min-height: 280px;
    }
    
    .products-carousel .product-image {
        height: 130px;
    }
    
    .products-carousel .product-info {
        padding: 12px;
        min-height: 150px;
    }
    
    .products-carousel .product-title a {
        font-size: 0.85rem;
    }
    
    .carousel-btn {
        display: none !important;
    }
}

/* ------ Mobile pequeño (350px - 479px) - 2 producto ------ */

@media (min-width: 350px) and (max-width: 479px) {
    .products-carousel .product-card {
        flex: 0 0 calc(75% - 30px);
        max-width: calc(75% - 30px);
        scroll-snap-align: start;
        min-height: 300px;
    }
    
    .products-carousel .product-image {
        height: 140px;
    }
}

/* ------ Mobile mediano (480px - 599px) - 2 productos ------ */

@media (min-width: 480px) and (max-width: 599px) {
    .products-carousel .product-card {
        flex: 0 0 calc(75% - 15px);
        max-width: calc(75% - 15px);
        scroll-snap-align: start;
        min-height: 320px;
    }
    
    .products-carousel .product-image {
        height: 150px;
    }
}

/* ------ Mobile grande (600px - 767px) - 2 productos ------ */

@media (min-width: 600px) and (max-width: 767px) {
    .products-carousel .product-card {
        flex: 0 0 calc(50% - 15px);
        max-width: calc(50% - 15px);
        scroll-snap-align: start;
        min-height: 340px;
    }
    
    .products-carousel .product-image {
        height: 160px;
    }
}

/* ------ Tablet pequeña (768px - 899px) - 3 productos ------ */
@media (min-width: 768px) and (max-width: 899px) {
    .products-carousel .product-card {
        flex: 0 0 calc(33.333% - 17px);
        max-width: calc(33.333% - 17px);
        scroll-snap-align: start;
        min-height: 360px;
    }
    
    .products-carousel .product-image {
        height: 170px;
    }
}

/* ------ Tablet grande (900px - 1023px) - 3 productos ------ */
@media (min-width: 900px) and (max-width: 1023px) {
    .products-carousel .product-card {
        flex: 0 0 calc(33.333% - 17px);
        max-width: calc(33.333% - 17px);
        scroll-snap-align: start;
        min-height: 380px;
    }
    
    .products-carousel .product-image {
        height: 180px;
    }
}

/* ------ Desktop pequeño (1024px - 1199px) - 4 productos ------ */
@media (min-width: 1024px) and (max-width: 1199px) {
    .products-carousel-wrapper {
        padding: 0;
    }
    
    .products-carousel {
        display: flex;
        gap: 20px;
        overflow-x: auto;
        padding: 10px 0 20px;
    }
    
    .products-carousel .product-card {
        flex: 0 0 calc(25% - 15px);
        max-width: calc(25% - 15px);
        scroll-snap-align: none;
    }
    
    .products-carousel .product-image {
        height: 190px;
    }
    
    .carousel-btn {
        display: flex;
    }
}

/* ------ Desktop mediano (1200px - 1399px) - 5 productos ------ */
@media (min-width: 1200px) and (max-width: 1399px) {
    .products-carousel .product-card {
        flex: 0 0 calc(20% - 16px);
        max-width: calc(20% - 16px);
    }
    
    .products-carousel .product-image {
        height: 200px;
    }
    
    .carousel-btn {
        display: flex;
    }
}

/* ------ Desktop grande (1400px - 1599px) - 5 productos ------ */
@media (min-width: 1400px) and (max-width: 1599px) {
    .products-carousel .product-card {
        flex: 0 0 calc(20% - 16px);
        max-width: calc(20% - 16px);
    }
    
    .products-carousel .product-image {
        height: 210px;
    }
    
    .carousel-btn {
        display: flex;
    }
}

/* ------ Desktop extra grande (1600px+) - 6 productos ------ */
@media (min-width: 1600px) {
    .products-carousel .product-card {
        flex: 0 0 calc(16.666% - 17px);
        max-width: calc(16.666% - 17px);
    }
    
    .products-carousel .product-image {
        height: 220px;
    }
    
    .carousel-btn {
        display: flex;
    }
}

/* ------ Ajustes generales para todos los carruseles ------ */
.products-carousel .product-card {
    background: white;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    border: 1px solid var(--light-gray);
    display: flex;
    flex-direction: column;
    height: auto;
}

.products-carousel .product-info {
    padding: 15px;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    min-height: 170px;
}



.products-carousel .current-price {
    font-size: 1.1rem;
}

.products-carousel .btn-add-cart {
    margin-top: auto;
    padding: 10px;
    font-size: 0.9rem;
    flex-shrink: 0;
}

.products-carousel .quick-view,
.products-carousel .add-to-wishlist {
    position: absolute;
    background: #35b;
    color: #fff;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transform: translateY(10px);
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    z-index: 1;
}

.products-carousel .quick-view {
    top: 12px;
    left: 10px;
}

.products-carousel .add-to-wishlist {
    top: 95px;
    left: 10px;
}

.products-carousel .product-card:hover .quick-view,
.products-carousel .product-card:hover .add-to-wishlist {
    opacity: 1;
    transform: translateY(0);
}

/* ------ Ocultar botones en móvil ------ */
@media (max-width: 1023px) {
    .carousel-btn {
        display: none !important;
    }
}

@media (max-width:56.25rem){
    .quick-view{
        opacity: 1;
    }
}