Sin complicaciones, el diseño plano se ajusta cómodamente en la parte trasera de tu cabeza—perfecto para conducir, relajarse o hacer yoga
Clip de gran tamaño sujeta sin esfuerzo los mechones parasemirrecogidos o moños completos
Usa un clip para un look simple o combina dos juntos para un estilo versátil
Bonito tono azul profundo que eleva tu estilo con un sutil toque de color
Dientes suaves pero fuertes que sujetan todo tipo de cabello sin engancharse ni resbalar
Hecho de plástico reciclado, para que puedas estilizar de manera sostenible
Fácil, rápido y siempre con estilo—simplemente recoge una sección de tu cabello, gírala, sujétala con el clip y listo!
Consejo profesional: El Clip Nube funciona mejor en cabello seco o ligeramente húmedo para un agarre máximo. Si tienes el cabello ultra fino o sedoso, prueba agregar un poco de spray texturizante antes de usar para un agarre extra!
Plástico reciclado
{
discount_percentage = $event.detail?.percentage || 0;
})"
x-init="$watch('selected', value => {
if (value.length != total_items) {
discount_percentage = 0;
}else{
discount_percentage = 0;
}
})"
x-data="{
renderPrice(price){
let total = price;
if(this.discount_percentage > 0){
total = price - (price * (this.discount_percentage / 100));
}
return Unick.formatMoney(total);
},
selected: [],
fixed_product: false,
discount_percentage: 0,
total_items: 4,
imgSrc(src, width) {
if (!src) return '';
if (/[?&]width=/.test(src)) return src.replace(/([?&]width=)\d+/, '$1' + width);
return src + (src.includes('?') ? '&' : '?') + 'width=' + width;
},
getSrcset(src) {
if (!src) return '';
return [72, 100, 144, 200].map(w => this.imgSrc(src, w) + ' ' + w + 'w').join(', ');
},
add(item) {
this.selected.push(item)
},
remove(id) {
this.selected = this.selected.filter(item => item.id !== id)
},
isInBundle(id) {
return this.selected.some(item => item.id === id)
},
priceBeforeDiscount(){
let total = 0;
this.selected.forEach(function (item) {
total += item.price;
})
return total;
},
totalPrice(){
let total = 0;
this.selected.forEach(function (item) {
total += item.price;
})
total = total - (total * (this.discount_percentage / 100));
let extraDiscount = 0;
return total - extraDiscount;
},
addToCart(){
let cartObj = [];
let bundleTitle = `Clip Nube plano azul orquídea - Grande`;
let bundleHandle = `blue-orchid-flat-cloud-clip-large`;
let bundleCount = 4;
let bundleQty = 1;
let index = 0;
// Update button text to 'adding...'
this.$refs.addToCartButton.textContent = 'Adding...';
this.selected.forEach(function (item) {
cartObj.push({
quantity: 1,
id: item.variants[0].id,
properties: {
'_fbt_bundle': bundleTitle,
'_fbt_bundle_handle': bundleHandle,
'_fbt_bundle_count': bundleCount,
}
})
})
if(this.fixed_product && this.total_items == this.selected.length){
cartObj = [];
cartObj.push({
quantity: 1,
id: this.fixed_product,
})
}
fetch(routes.cart_add_url + '.js', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
items: cartObj
})
})
.then(response => {
// Update button text back to 'add to cart'
this.$refs.addToCartButton.textContent = 'Add to cart';
// Update cart with event dispatch
this.$dispatch('update-cart', { cart: response });
// Open cart after adding product
this.$dispatch('toggle-cart-drawer');
});
}
}">
Comprados juntos frecuentemente
+
Total price:
Clip Nube plano azul orquídea - Grande
€11,95
€11,95
Registratevi per ricevere una notifica quando questo articolo sarà di nuovo disponibile.
Inserire un indirizzo e-mail valido.
Grazie per esserti iscritto/a! Ti invieremo un'e-mail quando il prodotto sarà disponibile.
{
let mainAddToCart = document.querySelector('.product__info-wrapper .button-add-to-cart, .product__info-wrapper .product-form__submit');
if(mainAddToCart) {
let rect = mainAddToCart.getBoundingClientRect();
// Hide floating cart when main button is visible (with some buffer)
show = rect.top > window.innerHeight || rect.bottom < 0;
} else {
// If main button not found, show floating cart
show = true;
}
})"
x-init="$nextTick(() => {
// Delay initialization to ensure Alpine has rendered the main add-to-cart button
setTimeout(() => {
let mainAddToCart = document.querySelector('.product__info-wrapper .button-add-to-cart, .product__info-wrapper .product-form__submit');
if(mainAddToCart) {
let rect = mainAddToCart.getBoundingClientRect();
show = rect.top > window.innerHeight || rect.bottom < 0;
} else {
// Fallback: show sticky cart if main button not found after delay
show = true;
}
}, 500);
})"
class="add-to-cart-footer p-3 bg-white text-black fixed bottom-0 w-full z-20 shadow border-t">
El precio de referencia representa el precio al que se ofrecía anteriormente el producto o el precio de mercado estimado de artículos comparables en otros establecimientos. Dado que los precios suelen fluctuar, no podemos garantizar que el precio de referencia refleje el precio de mercado vigente en un momento determinado.
Al seleccionar una opción, se actualiza toda la página.