/* ============================================
   CAROUSEL RESPONSIVE FIX - SOLO SWIPE Y FILA
   CSS mejorado para carousel balanceado
============================================ */

/* ELIMINAR BOTONES COMPLETAMENTE */
.carousel-nav {
    display: none !important;
}

/* CAROUSEL BASE */
.carousel-wrapper {
    overflow: hidden !important;
    position: relative !important;
    width: 100% !important;
    padding: 0 !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1) !important;
    margin: 0 auto !important;
    max-width: 1300px !important;
}

.carousel-slides {
    display: flex !important;
    transition: transform 0.3s ease !important;
    width: 100% !important;
}

.carousel-slide {
    flex-shrink: 0 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    gap: 1rem !important;
    padding: 0 1rem !important;
    justify-content: flex-start !important;
}

/* DESKTOP - 4 PRODUCTOS EN FILA */
@media (min-width: 769px) {
    .carousel-slide {
        justify-content: space-between !important;
    }
    
    .product-card {
        flex: 0 0 calc(25% - 0.75rem) !important;
        width: calc(25% - 0.75rem) !important;
        max-width: 280px !important;
        height: 180px !important;
        min-height: 170px !important;
    }
    
    .product-image {
        height: 160px !important;
    }
}

/* TABLET - 3 PRODUCTOS EN FILA */
@media (max-width: 768px) and (min-width: 481px) {
    .carousel-slide {
        gap: 1rem !important;
        padding: 0 0.8rem !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    
    .carousel-slide::-webkit-scrollbar {
        display: none !important;
    }
    
    .product-card {
        flex: 0 0 calc(33.333% - 0.7rem) !important;
        width: calc(33.333% - 0.7rem) !important;
        min-width: 200px !important;
        max-width: 220px !important;
        height: 180px !important;
        min-height: 170px !important;
        margin: 0 !important;
    }
    
    .product-image {
        height: 160px !important;
    }
    
    .product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* MÓVIL - 2 PRODUCTOS EN FILA CON SCROLL */
@media (max-width: 580px) {
    .carousel-slide {
        gap: 0.8rem !important;
        padding: 0 0.8rem !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
        -ms-overflow-style: none !important;
    }
    
    .carousel-slide::-webkit-scrollbar {
        display: none !important;
    }
    
    .product-card {
        flex: 0 0 calc(50% - 0.4rem) !important;
        width: calc(50% - 0.4rem) !important;
        min-width: 160px !important;
        max-width: 180px !important;
        height: 140px !important;
        min-height: 130px !important;
        margin: 0 !important;
        padding: 0.4rem !important;
    }
    
    .product-image {
        height: 120px !important;
        margin-bottom: 0.2rem !important;
    }
    
    .product-image img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 8px !important;
    }
    
    .product-card h3 {
        font-size: 10px !important;
        line-height: 1.2 !important;
        margin-bottom: 0.1rem !important;
        flex-shrink: 0 !important;
    }
    
    .product-card p {
        font-size: 8px !important;
        line-height: 1.2 !important;
        flex-grow: 1 !important;
        margin-bottom: 0.2rem !important;
        -webkit-line-clamp: 1 !important;
        display: -webkit-box !important;
        -webkit-box-orient: vertical !important;
        overflow: hidden !important;
    }
    
    .product-btn {
        padding: 0.2rem 0.3rem !important;
        font-size: 8px !important;
        margin-top: auto !important;
        flex-shrink: 0 !important;
        width: 100% !important;
    }
}



/* MÓVILES MUY PEQUEÑOS - AJUSTE ESPECIAL */
@media (max-width: 375px) {
    .product-card {
        min-width: 140px !important;
        max-width: 160px !important;
        height: 120px !important;
        padding: 0.3rem !important;
    }
    
    .product-image {
        height: 100px !important;
    }
    
    .product-card h3 {
        font-size: 9px !important;
    }
    
    .product-card p {
        font-size: 7px !important;
    }
    
    .product-btn {
        padding: 0.2rem 0.3rem !important;
        font-size: 7px !important;
    }
}