/* ========= Blocksy Product Carousel - Versión Final Sin Recortes ========= */

/* 1. CONTENEDOR PRINCIPAL */
.blocksy-carousel-container {
    position: relative !important;
    width: 100% !important;
    margin: 20px 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* 2. TRACK (FILA HORIZONTAL) */
.blocksy-carousel-container .carrusel-track {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scroll-behavior: smooth !important;
    gap: 15px !important;
    padding: 20px 10px !important;
    scrollbar-width: none !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
}
.blocksy-carousel-container .carrusel-track::-webkit-scrollbar { display: none !important; }

/* 3. ITEM (CUADRO DE PRODUCTO) */
.blocksy-carousel-container .carrusel-item {
    flex: 0 0 280px !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    background: #f6f6f6 !important;
    border-radius: 10px !important;
    padding: 15px !important;
    border: 1px solid #ececec !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: space-between !important;
    text-align: center !important;
    min-height: 440px !important; /* Un poco más de altura para seguridad */
    box-sizing: border-box !important;
}

/* 4. FORZAR BOX-SIZING */
.blocksy-carousel-container .carrusel-item,
.blocksy-carousel-container .carrusel-item * {
    box-sizing: border-box !important;
}

/* 5. IMAGEN (AJUSTE PARA QUE NO SE CORTE) */
.blocksy-carousel-container .ct-media-container {
    position: relative !important;
    width: 100% !important;
    height: 200px !important; /* Altura fija para el área de imagen */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    margin-bottom: 10px !important;
    background: transparent !important;
}

.blocksy-carousel-container .ct-media-container img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important; /* No se sale del ancho */
    max-height: 100% !important; /* No se sale del alto */
    object-fit: contain !important; /* Muestra la imagen completa sin recortar */
    transition: none !important;
    transform: none !important;
}

/* 6. PRODUCT INFO Y TÍTULO (CORTE A 2 LÍNEAS) */
.blocksy-carousel-container .product-info {
    width: 100% !important;
    flex-grow: 1 !important;
    white-space: normal !important;
    display: block !important;
}

.blocksy-carousel-container .product-info h3 {
    margin: 10px 0 !important;
    font-size: 16px !important;
    line-height: 1.3 !important;
    min-height: 42px !important;
    max-height: 42px !important;
    overflow: hidden !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    white-space: normal !important;
    text-align: center !important;
}

.blocksy-carousel-container .product-info h3 a {
    color: #d1127a !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    display: block !important;
    white-space: normal !important;
}

/* 7. PRECIO */
.blocksy-carousel-container .price {
    color: #d1127a !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    margin: 10px 0 !important;
    display: block !important;
}

.blocksy-carousel-container .price del {
    color: #999 !important;
    font-size: 14px !important;
    margin-left: 6px !important;
}

/* 8. BOTÓN AÑADIR AL CARRITO */
.blocksy-carousel-container .product-actions {
    width: 100% !important;
    margin-top: auto !important;
}

.blocksy-carousel-container .product-actions .button {
    display: block !important;
    width: 100% !important;
    padding: 12px !important;
    border-radius: 8px !important;
    background-color: #d1127a !important;
    color: #fff !important;
    text-align: center !important;
    text-decoration: none !important;
    border: none !important;
    font-weight: 700 !important;
    cursor: pointer !important;
}

/* 9. BADGE DE OFERTA (SALE FLASH) */
.blocksy-carousel-container .onsale {
    position: absolute !important;
    top: 5px !important;
    left: 5px !important;
    background-color: #000 !important;
    color: #fff !important;
    padding: 4px 10px !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    border-radius: 6px !important;
    z-index: 20 !important;
}

/* 10. FLECHAS DE NAVEGACIÓN */
.blocksy-carousel-container .carousel-nav {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 30 !important;
    background: #fff !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    border: 1px solid #ddd !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
.blocksy-carousel-container .prev-btn { left: -20px !important; }
.blocksy-carousel-container .next-btn { right: -20px !important; }

/* 11. RESPONSIVE */
@media (max-width: 600px) {
    .blocksy-carousel-container .carrusel-item {
        flex: 0 0 260px !important;
        width: 260px !important;
        min-height: 400px !important;
    }
    .blocksy-carousel-container .ct-media-container { height: 180px !important; }
    .blocksy-carousel-container .carousel-nav { display: none !important; }
}