.elementor-18 .elementor-element.elementor-element-1e33e45{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-bd2a5b3 *//* ------------------------------------------- */
/* 🎨 Estilo general del carrito (ESCRITORIO OK) */
/* ------------------------------------------- */
/* ... [Mantenemos todos los estilos de escritorio sin cambios] ... */
.woocommerce-cart table.shop_table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
    border: 1px solid #ced4da;
    background: #ffffff;
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
    border-radius: 8px;
    overflow: hidden;
}

.woocommerce-cart table.shop_table th {
    background: #f8f9fa;
    color: #343a40;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    padding: 15px 20px;
}

.woocommerce-cart table.shop_table td {
    padding: 20px;
    vertical-align: middle;
    border-top: 1px solid #ced4da;
    min-width: 50px;
}

/* Imagen y Nombre, Cantidad (FIX COMPACTO) y Botones se mantienen igual que en el código anterior */
.woocommerce-cart .product-thumbnail img { width: 65px; height: 65px; object-fit: cover; border-radius: 4px; border: 1px solid #f1f1f1; }
.woocommerce-cart .product-name a { color: #343a40; font-weight: 600; text-decoration: none; font-size: 15px; }
.woocommerce .quantity { display: flex !important; align-items: center !important; width: 100px !important; max-width: 100% !important; border: 1px solid #ced4da !important; border-radius: 6px !important; overflow: hidden !important; }
.woocommerce .quantity .qty { border: none !important; padding: 0 !important; width: 40px !important; min-width: 40px !important; height: 30px !important; line-height: 30px !important; text-align: center !important; box-sizing: border-box !important; flex-grow: 1 !important; font-size: 15px !important; }
.woocommerce .quantity .button { background-color: #f8f9fa !important; color: #343a40 !important; border: none !important; padding: 0 !important; width: 30px !important; height: 30px !important; line-height: 30px !important; text-align: center !important; font-size: 16px !important; min-width: 30px !important; }
.woocommerce .quantity .minus { border-right: 1px solid #ced4da !important; }
.woocommerce .quantity .plus { border-left: 1px solid #ced4da !important; }
.woocommerce a.button, .woocommerce button.button { background-color: #007bff !important; color: #fff !important; padding: 12px 25px !important; border-radius: 6px !important; text-transform: uppercase !important; font-weight: 700 !important; letter-spacing: 0.5px !important; border: none !important; line-height: 1.5 !important; }

/* ------------------------------------------- */
/* 📱 Responsive - ARREGLO FINAL Y REFORZADO */
/* ------------------------------------------- */
@media (max-width: 768px) {
    
    /* Selector de alta especificidad para Elementor: body */
    body .woocommerce-cart table.shop_table {
        border: none !important;
        box-shadow: none !important;
        /* Asegurar que el contenedor principal de la tabla no fuerce un ancho mínimo */
        min-width: unset !important;
    }
    
    /* REFUERZO 1: Botones de acción 100% de ancho */
    body .woocommerce .actions .coupon,
    body .woocommerce .actions .button {
        display: block !important;
        width: 100% !important;
        margin-bottom: 10px !important;
        margin-right: 0 !important;
    }

    /* REFUERZO 2: Transformación de la tabla a Tarjetas */
    body .woocommerce-cart table.shop_table thead { display: none !important; }
    
    body .woocommerce-cart table.shop_table tr.cart_item {
        display: block !important; 
        margin-bottom: 15px !important;
        border: 1px solid #ced4da !important;
        border-radius: 8px !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.05) !important;
        position: relative !important; 
    }
    
    /* REFUERZO 3: Celdas apiladas con Flexbox */
    body .woocommerce-cart table.shop_table td {
        display: flex !important; 
        justify-content: space-between !important;
        align-items: center !important;
        padding: 12px 15px !important;
        border-top: none !important;
        border-bottom: 1px solid #f1f1f1 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        /* Remover el min-width que afecta la vista móvil */
        min-width: unset !important; 
    }

    /* REFUERZO 4: Ajuste de miniatura y nombre */
    body .woocommerce-cart td.product-name {
        display: block !important;
        border-bottom: 1px solid #ced4da !important;
        padding: 15px !important;
    }
    body .woocommerce-cart .product-thumbnail {
        float: left !important;
        margin-right: 15px !important;
        margin-bottom: 10px !important;
    }
    body .woocommerce-cart .product-thumbnail img {
        width: 50px !important;
        height: 50px !important;
    }

    /* REFUERZO 5: Cantidad (Asegurar que el input no se estire más allá de su contenedor) */
    body .woocommerce-cart td.product-quantity .quantity {
        width: 90px !important; 
        max-width: 90px !important;
    }
    
    /* Reposicionamiento del botón eliminar */
    body .woocommerce-cart td.product-remove {
        position: absolute !important;
        top: 5px !important;
        right: 5px !important;
        padding: 0 !important;
        border-bottom: none !important;
    }
    body .woocommerce-cart td.product-remove:before { display: none !important; }

    /* Ajuste de Totales */
    body .cart_totals {
        margin-top: 15px !important;
        padding: 15px !important;
    }
}/* End custom CSS */