:root{–papel:#fdfaf6;–papel-2:#f2ebe2;–tarjeta:#fff;–tinta:#221812;–tinta-2:#7d7066;
–linea:#e6dbcd;–naranja:#f26a1b;–naranja-osc:#c4470a;–hay:#2f7d4f;–poco:#b4530c;
–suave:#fdeee2;–sombra:0 1px 2px rgba(34,24,18,.05),0 6px 18px rgba(34,24,18,.06);
–rotulo:»Helvetica Neue Condensed»,»Arial Narrow»,»Roboto Condensed»,system-ui,sans-serif;
–texto:system-ui,-apple-system,»Segoe UI»,Roboto,Arial,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme=»light»]){
–papel:#17120e;–papel-2:#100c09;–tarjeta:#211a14;–tinta:#f6ece2;–tinta-2:#a6978a;
–linea:#362819;–naranja:#ff8038;–naranja-osc:#ff9457;–hay:#63c088;–poco:#e0a153;
–suave:#2b1a0e;–sombra:0 1px 2px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.35)}}
:root[data-theme=»dark»]{
–papel:#17120e;–papel-2:#100c09;–tarjeta:#211a14;–tinta:#f6ece2;–tinta-2:#a6978a;
–linea:#362819;–naranja:#ff8038;–naranja-osc:#ff9457;–hay:#63c088;–poco:#e0a153;
–suave:#2b1a0e;–sombra:0 1px 2px rgba(0,0,0,.45),0 6px 18px rgba(0,0,0,.35)}
*{box-sizing:border-box}
body{margin:0;background:var(–papel-2);color:var(–tinta);font-family:var(–texto);
font-size:15px;line-height:1.5}
img{max-width:100%;display:block}
.marco{max-width:1120px;margin:0 auto;padding:0 14px}
:where(button,input,select):focus-visible{outline:2px solid var(–naranja);outline-offset:2px}

/* ———- Barra de arriba, naranja como la portada ———- */
.cima{position:sticky;top:0;z-index:30;
background:linear-gradient(160deg,var(–naranja),var(–naranja-osc));color:#fff}
.cima-fila{display:flex;align-items:center;gap:12px;padding:11px 0}
.icono{background:none;border:0;padding:0;cursor:pointer;color:#fff;position:relative;
display:grid;place-items:center;width:30px;height:30px;flex:none}
.icono svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;
stroke-linecap:round;stroke-linejoin:round;
filter:drop-shadow(1px 0 0 rgba(0,0,0,.7)) drop-shadow(-1px 0 0 rgba(0,0,0,.7))
drop-shadow(0 1px 0 rgba(0,0,0,.7)) drop-shadow(0 -1px 0 rgba(0,0,0,.7))}
.icono:hover{opacity:.78}
.rotulo{font-family:var(–rotulo);font-size:21px;letter-spacing:.06em;text-transform:uppercase;
flex:1;min-width:0;paint-order:stroke fill;-webkit-text-stroke:.04em rgba(0,0,0,.55)}
.cuenta{position:absolute;top:-5px;right:-7px;min-width:17px;height:17px;padding:0 4px;
border-radius:999px;background:#fff;color:var(–naranja-osc);font-size:10.5px;font-weight:700;
display:grid;place-items:center;box-shadow:0 0 0 1px rgba(0,0,0,.5)}

/* ———- La moneda, a la vista ———- */
.moneda{display:inline-flex;align-items:center;gap:4px;flex:none;cursor:pointer;
font:inherit;font-size:13.5px;font-weight:700;letter-spacing:.04em;color:#fff;
background:rgba(20,12,6,.34);border:1px solid rgba(255,255,255,.62);
border-radius:999px;padding:5px 11px}
.moneda:hover{background:rgba(20,12,6,.52)}
.moneda svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;
stroke-linecap:round;stroke-linejoin:round;transition:transform .18s ease}
.moneda[aria-expanded=»true»] svg{transform:rotate(180deg)}
.monedas{padding:0 0 12px}
.monedas[hidden]{display:none}
.monedas p{margin:0 0 8px;font-size:12.5px;color:rgba(255,255,255,.9)}
.monedas-fila{display:flex;gap:7px;flex-wrap:wrap}
.monedas-fila button{cursor:pointer;font:inherit;font-size:14px;font-weight:700;
letter-spacing:.04em;color:#fff;background:rgba(20,12,6,.3);
border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:8px 18px}
.monedas-fila button:hover{background:rgba(20,12,6,.5)}
.monedas-fila button[aria-pressed=»true»]{background:#fff;color:var(–naranja-osc);border-color:#fff}

/* ———- Buscar ———- */
.busca{padding:0 0 11px}
.busca[hidden]{display:none}
.busca form{display:flex;align-items:center;gap:10px;
background:rgba(20,12,6,.4);border:1px solid rgba(255,255,255,.6);border-radius:999px;
padding:8px 15px}
.busca svg{width:18px;height:18px;flex:none;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round}
.busca input{flex:1;min-width:0;background:none;border:0;outline:none;color:#fff;
font:inherit;font-size:15px}
.busca input::placeholder{color:rgba(255,255,255,.75)}

/* ———- Categorías ———- */
.tira{background:var(–papel);border-bottom:1px solid var(–linea);
position:sticky;top:52px;z-index:29}
/* Las flechas van EN LA FILA, ocupando su propio sitio, no flotando encima:
así ninguna categoría queda escondida debajo de ellas ni cortada a medias. */
.tira-caja{display:flex;align-items:center;gap:6px}
.tira-fila{flex:1;min-width:0;display:flex;gap:7px;align-items:center;padding:10px 0;
overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none}
.tira-fila::-webkit-scrollbar{display:none}
.correr{flex:none;width:30px;height:30px;border-radius:999px;cursor:pointer;
border:1px solid var(–linea);background:var(–tarjeta);color:var(–tinta-2);
display:grid;place-items:center;padding:0}
.correr:hover{border-color:var(–naranja);color:var(–naranja)}
.correr[hidden]{display:none}
.correr svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.4;
stroke-linecap:round;stroke-linejoin:round}
.cat{flex:none;padding:7px 14px;border-radius:999px;border:1px solid var(–linea);
background:var(–tarjeta);font:inherit;font-size:13.5px;color:var(–tinta);
white-space:nowrap;cursor:pointer}
.cat:hover{border-color:var(–naranja)}
.cat[aria-pressed=»true»]{background:var(–naranja);border-color:var(–naranja);color:#fff;font-weight:600}
.cat.todas{border-style:dashed;font-weight:600;color:var(–naranja-osc)}

/* ———- El desplegable con todo el árbol ———- */
.arbol{display:none;background:var(–papel);border-bottom:1px solid var(–linea);
padding:4px 0 16px}
.arbol[data-abierto]{display:block}
.rama{border-top:1px solid var(–linea);padding:11px 0 0}
.rama:first-child{border-top:0}
.rama b{font-family:var(–rotulo);font-size:16px;display:block;margin-bottom:7px}
.rama .subs{display:flex;flex-wrap:wrap;gap:6px}
.rama .subs button{padding:5px 11px;border-radius:999px;border:1px solid var(–linea);
background:var(–tarjeta);font:inherit;font-size:13px;color:var(–tinta-2);cursor:pointer}
.rama .subs button:hover{border-color:var(–naranja);color:var(–tinta)}

/* ———- Productos ———- */
.aviso{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:16px 0 14px;
padding:11px 14px;background:var(–suave);border:1px solid var(–linea);
border-left:3px solid var(–naranja);border-radius:0 10px 10px 0}
.aviso b{font-family:var(–rotulo);font-size:16px}
.aviso span{color:var(–tinta-2);font-size:13px}

.rejilla{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));
padding-bottom:60px}
.ficha{background:var(–tarjeta);border:1px solid var(–linea);border-radius:12px;
overflow:hidden;box-shadow:var(–sombra);display:flex;flex-direction:column}
.ficha[hidden]{display:none}
.foto{aspect-ratio:1;background:#fff;display:grid;place-items:center;padding:8px}
.foto img{width:100%;height:100%;object-fit:contain}
.nombre{margin:10px 11px 0;font-size:13.5px;line-height:1.32;min-height:2.6em}
.fila-precio{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:6px 11px 0}
.precio{font-family:var(–rotulo);font-size:23px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1}
.precio i{font-style:normal;font-size:12px;color:var(–tinta-2);font-weight:400}
.quedan{font-size:11.5px;font-weight:600;color:var(–hay);white-space:nowrap}
.quedan.poco{color:var(–poco)}
.de{margin:5px 11px 0;font-size:11px;color:var(–tinta-2)}
.anadir{display:flex;gap:7px;margin:11px;margin-top:auto;padding-top:10px}
.paso{flex:1;display:flex;align-items:center;border:1px solid var(–linea);border-radius:8px;overflow:hidden}
.paso button{flex:none;width:30px;height:34px;border:0;background:var(–tarjeta);color:var(–tinta);
font-size:17px;cursor:pointer;line-height:1}
.paso button:hover{background:var(–suave)}
.paso output{flex:1;text-align:center;font-variant-numeric:tabular-nums;font-size:14px;font-weight:600}
.echar{flex:none;padding:0 13px;height:36px;border-radius:8px;border:1px solid var(–naranja);
background:var(–naranja);color:#fff;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer}
.echar:hover{background:var(–naranja-osc);border-color:var(–naranja-osc)}
.vacio{padding:40px 0 60px;text-align:center;color:var(–tinta-2)}
.vacio[hidden]{display:none}


Bodegón



Lo que se acaba desaparece de aquí · actualizado hace 4 minutos
Sin foto

Acondicionador XtraCare Rose Hips-413ml

1200 CUPQuedan 5

Sin categorizar

1

Sin foto

Adobo para Todo 24*14g

250 CUP

Sin categorizar

1

Sin foto

Aji chombo

250 CUP

Sin categorizar

1

Sin foto

Ajo en Polvo grande

250 CUP

Sin categorizar

1

Ajo molido 50x10

Ajo molido 50×10

120 CUP

Sin categorizar

1

Sin foto

alitas de pollo 2lb

1350 CUP

Sin categorizar

1

Almejas-.500g

Almejas-.500g

2800 CUPQuedan 5

Sin categorizar

1

Sin foto

Anis

250 CUP

Sin categorizar

1

Sin foto

Antical Gel Limpiador

2800 CUPQuedan 2

Sin categorizar

1

Sin foto

Arrocero 50x10g

150 CUP

Sin categorizar

1

Sin foto

Arroz -2L

780 CUP

Sin categorizar

1

Sin foto

Azucar 1KG importada

900 CUPQuedan 3

Sin categorizar

1

Sin foto

Bicarbonato 1/2 lb

700 CUP

Sin categorizar

1

Bistec de Cerdo 1L

Bistec de Cerdo 1L

2300 CUP

Sin categorizar

1

Bombillo-15w

Bombillo-15w

650 CUP

Sin categorizar

1

Sin foto

Bonbillo

450 CUP

Sin categorizar

1

Brocha

Brocha

250 CUP

Sin categorizar

1

Sin foto

Café Roche-230g

1150 CUPQuedan 4

Sin categorizar

1

Caja Electrica 2x4

Caja Electrica 2×4

150 CUP

Sin categorizar

1

Caja Electrica 4x4

Caja Electrica 4×4

150 CUP

Sin categorizar

1

Sin foto

Caldito de pollo con culantro achote 200x10g

170 CUP

Sin categorizar

1

Sin foto

Cerveza cristal de lata

550 CUPQuedan 5

Sin categorizar

1

Sin foto

Cerveza La Fria

470 CUP

Sin categorizar

1

Sin foto

Cerveza Lander Brau

460 CUP

Sin categorizar

1

Sin foto

Cerveza Parranda 330ml

350 CUP

Sin categorizar

1

Sin foto

Cerveza Parranda 500ml

420 CUP

Sin categorizar

1

Sin foto

Cerveza Parranda-1.5L

1200 CUPQuedan 5

Sin categorizar

1

Sin foto

Cerveza Unlaguer

470 CUP

Sin categorizar

1

Sin foto

Champu Infantil Queray-750ml

2500 CUPQuedan 5

Sin categorizar

1

Sin foto

Cocina de Induccion-$50

18500 CUPQuedan 3

Sin categorizar

1

Sin foto

Cocina Electrica-1 hornilla

9500 CUPQuedan 2

Sin categorizar

1

Sin foto

Cocina Electrica-2 hornilla

30000 CUPQuedan 1

Sin categorizar

1

Sin foto

Colonia-250ml

2000 CUP

Sin categorizar

1

Sin foto

Comin don don-5g

80 CUP

Sin categorizar

1

Sin foto

Comino Molido-2oz

1300 CUP

Sin categorizar

1

Sin foto

Consome de pollo 24x15g

300 CUP

Sin categorizar

1

Sin foto

Conzome sazon costilla de res

150 CUP

Sin categorizar

1

Sin foto

Corta Uñas

500 CUPQuedan 5

Sin categorizar

1

Sin foto

Cozome y sazonador Total

150 CUP

Sin categorizar

1

Sin foto

Crema Corporal-355ml

1050 CUP

Sin categorizar

1

Culantro

Culantro

300 CUP

Sin categorizar

1

Sin foto

Derri de Pelo

950 CUP

Sin categorizar

1

Sin foto

Desatascador Turbo

2300 CUP

Sin categorizar

1

Sin foto

Detergente La salud-2.65L Color

5500 CUPQuedan 3

Sin categorizar

1

Sin foto

Detergente La salud-2.65L Marsella

5500 CUPQuedan 3

Sin categorizar

1

Sin foto

Detergente La salud-2.65L Original

5500 CUPQuedan 1

Sin categorizar

1

Sin foto

Detergente La salud-2L Marsella

4500 CUPQuedan 4

Sin categorizar

1

Sin foto

Detergente La salud-2L Ropa negra

4500 CUPQuedan 5

Sin categorizar

1

Sin foto

Detergente polvo 1kg

650 CUP

Sin categorizar

1

Sin foto

El parrillero

450 CUP

Sin categorizar

1

Sin foto

Espaguetis-500g

360 CUP

Sin categorizar

1

Sin foto

Espuma Afeitar

1150 CUP

Sin categorizar

1

Estropajo de Aluminio

Estropajo de Aluminio

70 CUP

Sin categorizar

1

Sin foto

Expander plastico 6x120mm

130 CUP

Sin categorizar

1

Sin foto

Expander plastico 6x80mm

60 CUP

Sin categorizar

1

Filete Pescado-1L

Filete Pescado-1L

2300 CUP

Sin categorizar

1

Sin foto

Finas hierbas

350 CUP

Sin categorizar

1

Sin foto

Fosforera

200 CUP

Sin categorizar

1

Sin foto

Frijol Negro-1Kg

950 CUP

Sin categorizar

1

Sin foto

Frijol Negro-1l

450 CUPQuedan 1

Sin categorizar

1

Sin foto

Galletas Fore Fresa-160g

350 CUP

Sin categorizar

1

Sin foto

Galletas Saltinas Mantequilla

80 CUP

Sin categorizar

1

Sin foto

Galletas Saltinas Original

80 CUP

Sin categorizar

1

Sin foto

Gel de Baño Magali-750ml

1900 CUPQuedan 4

Sin categorizar

1

Sin foto

Gel de Baño Queray-1.25L

2500 CUP

Sin categorizar

1

Sin foto

Gelatina Fresa

300 CUP

Sin categorizar

1

Sin foto

Gelatina Frutos Rojos

300 CUP

Sin categorizar

1

Grifo de Jardin

Grifo de Jardin

400 CUP

Sin categorizar

1

Grifo de Lavamanos

Grifo de Lavamanos

800 CUP

Sin categorizar

1

Sin foto

Grifo Fregadero de Meceta

1800 CUP

Sin categorizar

1

Sin foto

Grifo Fregadero de Pared

1800 CUPQuedan 3

Sin categorizar

1

Sin foto

Harina-2L

850 CUPQuedan 5

Sin categorizar

1

Sin foto

Incienso

30 CUP

Sin categorizar

1

Sin foto

Interruptor con Toma Corriente

750 CUPQuedan 5

Sin categorizar

1

Sin foto

Intima Lady-10und

570 CUP

Sin categorizar

1

Sin foto

Jabas

15 CUP

Sin categorizar

1

jamon barra especial

jamon barra especial

6500 CUPQuedan 1

Sin categorizar

1

jamon barra especial lasqueado 0,5lb

jamon barra especial lasqueado 0,5lb

720 CUP

Sin categorizar

1

Sin foto

Jugo de Cajita Tropical

380 CUP

Sin categorizar

1

Sin foto

Jugo de Lata Fresco Guayaba

500 CUP

Sin categorizar

1

Sin foto

Jugo de Lata Fresco Limonada

500 CUPQuedan 5

Sin categorizar

1

Sin foto

Jugo de Lata Fresco Manzana

500 CUP

Sin categorizar

1

Sin foto

Jugo de Lata Fresco Piña

500 CUPQuedan 1

Sin categorizar

1

Ketchup 1800 GR C/6

Ketchup 1800 GR C/6

4200 CUPQuedan 5

Sin categorizar

1

Sin foto

Laca Above-250ml

2000 CUP

Sin categorizar

1

Sin foto

Lampara Recargable

3500 CUPQuedan 4

Sin categorizar

1

Sin foto

Lavavajillas-750ml

1300 CUPQuedan 3

Sin categorizar

1

Sin foto

Leche Condensada

800 CUP

Sin categorizar

1

Levadura-450g

Levadura-450g

2200 CUPQuedan 4

Sin categorizar

1

Sin foto

Llave de Paso 1/2"

1400 CUP

Sin categorizar

1

Sin foto

Llave de Paso 3/4"

2000 CUPQuedan 3

Sin categorizar

1

Sin foto

Lomo Ahumado de cerdo- S/H

1800 CUPQuedan 4

Sin categorizar

1

lomo Ahumado troceado

lomo Ahumado troceado

2000 CUP

Sin categorizar

1

Sin foto

Maicena 1 lb

600 CUP

Sin categorizar

1

Sin foto

Malta Guagira-330

450 CUP

Sin categorizar

1

Sin foto

Malta santa isabel

500 CUPQuedan 3

Sin categorizar

1

Masas de Cerdo-1L

Masas de Cerdo-1L

2250 CUP

Sin categorizar

1

Mejillon-1kg

Mejillon-1kg

3800 CUPQuedan 1

Sin categorizar

1

Sin foto

Miel-500ml

500 CUP

Sin categorizar

1

Sin foto

Mojo Criollo Don Roy-1L

350 CUPQuedan 5

Sin categorizar

1

Sin foto

Mojo marinado 295 ml

1300 CUP

Sin categorizar

1

Mostaza 1.85g

Mostaza 1.85g

3800 CUPQuedan 3

Sin categorizar

1

Naranja agria  295 ml

Naranja agria 295 ml

1500 CUP

Sin categorizar

1

Sin foto

Naranja Agria Don Roy-1L

300 CUP

Sin categorizar

1

Sin foto

Nues moscada polvo 24xg

300 CUP

Sin categorizar

1

Sin foto

Paleticas Helado CID

450 CUP

Sin categorizar

1

Sin foto

pan rallado

200 CUPQuedan 4

Sin categorizar

1

Sin foto

Papel Sanitario

250 CUP

Sin categorizar

1

Paprika 24x14g

Paprika 24x14g

250 CUP

Sin categorizar

1

Sin foto

Pasta de carbon 100g

400 CUP

Sin categorizar

1

Sin foto

Pasta de tomate -400g

750 CUP

Sin categorizar

1

Pasta tomate Vima-3kg

Pasta tomate Vima-3kg

5500 CUPQuedan 2

Sin categorizar

1

Sin foto

Pega todo epoxy 20+20g

1000 CUP

Sin categorizar

1

Sin foto

Perfume-50ml

1000 CUP

Sin categorizar

1

Sin foto

Petit-Beurre-175g

350 CUP

Sin categorizar

1

Sin foto

Pimienta Negra

300 CUPQuedan 5

Sin categorizar

1

Sin foto

Pintura acrilica Marfil -4L

3300 CUPQuedan 4

Sin categorizar

1

Sin foto

Pintura acrilica Salmon -10L

5200 CUPQuedan 3

Sin categorizar

1

Sin foto

Pintura acrilica Verde -4L

3300 CUPQuedan 1

Sin categorizar

1

Sin foto

Protector diaria

500 CUP

Sin categorizar

1

Sin foto

Quaker

320 CUPQuedan 2

Sin categorizar

1

Sin foto

Queso Crema Vima-200g

1300 CUP

Sin categorizar

1

Queso Gouda Barra Completa

Queso Gouda Barra Completa

17500 CUPQuedan 2

Sin categorizar

1

Sin foto

Queso Gouda Lasqueado-0.5L

1500 CUP

Sin categorizar

1

Sin foto

Queso Gouda-1L

2800 CUP

Sin categorizar

1

Sin foto

Refresco Candy coctel 50*U

40 CUP

Sin categorizar

1

Sin foto

Refresco Candy durazno 50*U

40 CUP

Sin categorizar

1

Refresco Candy limon 50*U

Refresco Candy limon 50*U

40 CUP

Sin categorizar

1

Sin foto

Refresco Candy mango 50*U

40 CUPQuedan 1

Sin categorizar

1

Sin foto

Refresco Candy naranja 50*U

40 CUP

Sin categorizar

1

Sin foto

Refresco Candy piña 50*U

40 CUP

Sin categorizar

1

Sin foto

Refresco Cola lata 24*33cl

390 CUP

Sin categorizar

1

Sin foto

Refresco Limon lata 24*33cl

390 CUP

Sin categorizar

1

Sin foto

Refresco naranja lata 24*33cl

390 CUP

Sin categorizar

1

Sin foto

Refresco Piña lata 24*33cl

390 CUP

Sin categorizar

1

Regleta

Regleta

1850 CUP

Sin categorizar

1

Sin foto

Remaches de Aluminio 4×12.7mm

15 CUP

Sin categorizar

1

Sin foto

Repelente Spray Above Niño-150ml

1700 CUP

Sin categorizar

1

Sin foto

Repelente Spray Above-100ml

1400 CUP

Sin categorizar

1

Sin foto

Repelente Spray Above-150ml

1500 CUP

Sin categorizar

1

Sin foto

Romero

250 CUP

Sin categorizar

1

Sin foto

Sal condimentada

320 CUP

Sin categorizar

1

Sin foto

Salfumant-1L

2300 CUP

Sin categorizar

1

Salsa China-1.7L

Salsa China-1.7L

4950 CUP

Sin categorizar

1

Salsa soya 12 onz

Salsa soya 12 onz

1200 CUP

Sin categorizar

1

Sin foto

Sampoo XtraCare Rose Hips-413ml

1200 CUPQuedan 5

Sin categorizar

1

Sin foto

Sandwichera

15000 CUPQuedan 3

Sin categorizar

1

Sin foto

Sazon Achiote 250x10g

150 CUP

Sin categorizar

1

Sin foto

Sazon Completo 200*10g

150 CUP

Sin categorizar

1

Sin foto

Sazon de Naranja Agria-5g

60 CUP

Sin categorizar

1

Sin foto

Sazón Liquido Criollo

550 CUP

Sin categorizar

1

Sin foto

Sazonador Completo con Curcuma

150 CUP

Sin categorizar

1

Sin foto

Sazonador con Mantequilla

400 CUP

Sin categorizar

1

Sin foto

Sazonador de camaron

150 CUP

Sin categorizar

1

Sin foto

Sazonatado 24x14g

280 CUP

Sin categorizar

1

Sin foto

Sazondor de res

150 CUP

Sin categorizar

1

Sin foto

Seca Esmaltes Spray

1400 CUP

Sin categorizar

1

Sin foto

Servilletas Joker-60u

900 CUP

Sin categorizar

1

Sin foto

Set Facial Nevada

5000 CUP

Sin categorizar

1

Sin foto

Set Ginseng, Romero, Oliva (Shampoo420+Acondicionador200ml)

2500 CUP

Sin categorizar

1

Sin foto

Set Iviza-Colonia100ml-CVrema50g

3000 CUP

Sin categorizar

1

Sin foto

Set Nevada SOS-champoo500ml acondicionador300ml

3700 CUP

Sin categorizar

1

Sin foto

Set Romero(Shampoo320+Acondicionador320 ml)

2500 CUP

Sin categorizar

1

Sin foto

Set V.V.Love de 4

4000 CUP

Sin categorizar

1

Silicona Negra

Silicona Negra

700 CUP

Sin categorizar

1

Sin foto

Silicona Nevada-180ml

2500 CUPQuedan 1

Sin categorizar

1

Sin foto

Sopa de carne Belina

220 CUP

Sin categorizar

1

Sin foto

Sopa de curry Banetti

220 CUPQuedan 1

Sin categorizar

1

Sin foto

Suavizante-2L La salud

3800 CUPQuedan 3

Sin categorizar

1

T-1/2

T-1/2

200 CUP

Sin categorizar

1

Sin foto

Terminales Electrico para Carro

4000 CUP

Sin categorizar

1

Sin foto

Tinte de Pelo Nevada

750 CUP

Sin categorizar

1

Toallitas Humedas

Toallitas Humedas

850 CUP

Sin categorizar

1

Tomillo

Tomillo

250 CUP

Sin categorizar

1

Sin foto

Tornillo Drywal 3.5x32mm

10 CUP

Sin categorizar

1

Union Universal -1/2

Union Universal -1/2

300 CUP

Sin categorizar

1

Sin foto

Vinagre de Frutas Don Roy-1L

350 CUP

Sin categorizar

1

Sin foto

Vinagre de sidra de manzana

570 CUP

Sin categorizar

1

Sin foto

Vinagre de V Tinto Don Roy-1L

350 CUP

Sin categorizar

1

Sin foto

Vinagre deleite 2 lb

500 CUP

Sin categorizar

1

Sin foto

Vinagre-1L

450 CUP

Sin categorizar

1

Yogurt probiotico 1/2 lt

Yogurt probiotico 1/2 lt

850 CUP

Sin categorizar

1

const ARBOL =

  • ;

    (() => {
    const sinTildes = t => t.normalize(‘NFD’).replace(/[̀-ͯ]/g, »).toLowerCase().trim();
    const rejilla = document.getElementById(‘rejilla’);
    const fichas = […rejilla.querySelectorAll(‘.ficha’)];
    const tira = document.getElementById(‘tira’);
    const arbol = document.getElementById(‘arbol’);
    const busca = document.getElementById(‘busca’);
    const texto = document.getElementById(‘busca-texto’);
    let elegida = null;

    // «Todos» va de PRIMERA, para no tener que bajar hasta el final para verlo todo.
    const usadas = [];
    for (const f of fichas) {
    const c = f.dataset.cat;
    if (c && !usadas.includes(c)) usadas.push(c);
    }

    const pinta = (etiqueta, valor, clase) => {
    const b = document.createElement(‘button’);
    b.type = ‘button’; b.className = ‘cat’ + (clase ? ‘ ‘ + clase : »);
    b.textContent = etiqueta;
    b.setAttribute(‘aria-pressed’, String(elegida === valor));
    b.addEventListener(‘click’, () => {
    if (clase === ‘todas’) {
    const abierto = arbol.hasAttribute(‘data-abierto’);
    arbol.toggleAttribute(‘data-abierto’, !abierto);
    return;
    }
    elegida = valor;
    arbol.removeAttribute(‘data-abierto’);
    pintarTira(); filtrar();
    });
    tira.appendChild(b);
    };

    // Las flechas solo salen cuando de verdad queda algo por ese lado.
    const izq = document.getElementById(‘izq’);
    const der = document.getElementById(‘der’);

    function mirarFlechas() {
    const sobra = tira.scrollWidth – tira.clientWidth;
    izq.hidden = tira.scrollLeft <= 2;
    der.hidden = sobra = sobra – 2;
    }
    const correr = paso => {
    tira.scrollBy({ left: tira.clientWidth * 0.8 * paso });
    // No se confía solo en el evento de desplazamiento: se vuelve a mirar al rato.
    setTimeout(mirarFlechas, 60);
    setTimeout(mirarFlechas, 400);
    };
    izq.addEventListener(‘click’, () => correr(-1));
    der.addEventListener(‘click’, () => correr(1));
    tira.addEventListener(‘scroll’, mirarFlechas);
    addEventListener(‘resize’, mirarFlechas);
    // El ancho de la fila cambia cuando asientan las tipografías y cuando entran las fotos,
    // y para entonces la primera comprobación ya pasó. Con esto se vuelve a mirar sola.
    if (window.ResizeObserver) {
    tira._vigia = new ResizeObserver(mirarFlechas);
    tira._vigia.observe(tira);
    }
    if (document.fonts?.ready) document.fonts.ready.then(mirarFlechas);

    function pintarTira() {
    tira.textContent = »;
    pinta(‘Todos’, null);
    for (const c of usadas) pinta(c, c);
    pinta(‘Ver todas ▾’, ‘__arbol__’, ‘todas’);
    // La elegida se trae a la vista, que si no queda escondida a un lado.
    const marcada = tira.querySelector(‘.cat[aria-pressed=»true»]’);
    if (marcada) marcada.scrollIntoView({ block: ‘nearest’, inline: ‘nearest’ });
    requestAnimationFrame(mirarFlechas);
    if (window.ResizeObserver && tira._vigia) for (const hijo of tira.children) tira._vigia.observe(hijo);
    }

    // El desplegable con el árbol entero: categoría y sus subcategorías.
    function pintarArbol() {
    const marco = document.getElementById(‘arbol-marco’);
    marco.textContent = »;
    for (const [padre, hijas] of ARBOL) {
    const rama = document.createElement(‘div’);
    rama.className = ‘rama’;
    const b = document.createElement(‘b’);
    b.textContent = padre;
    const subs = document.createElement(‘div’);
    subs.className = ‘subs’;
    for (const hija of hijas) {
    const s = document.createElement(‘button’);
    s.type = ‘button’; s.textContent = hija;
    s.addEventListener(‘click’, () => {
    elegida = hija; arbol.removeAttribute(‘data-abierto’);
    if (!usadas.includes(hija)) usadas.unshift(hija);
    pintarTira(); filtrar();
    scrollTo({ top: 0, behavior: ‘smooth’ });
    });
    subs.appendChild(s);
    }
    rama.append(b, subs);
    marco.appendChild(rama);
    }
    }

    function filtrar() {
    const escrito = sinTildes(texto.value);
    let salen = 0;
    for (const f of fichas) {
    const porCat = !elegida || f.dataset.cat === elegida || f.dataset.sub === elegida;
    const porTexto = !escrito || sinTildes(f.querySelector(‘.nombre’).textContent).includes(escrito);
    const sale = porCat && porTexto;
    f.hidden = !sale;
    if (sale) salen++;
    }
    document.getElementById(‘cuantos’).textContent =
    salen === 1 ? ‘Hay 1 producto’ : ‘Hay ‘ + salen + ‘ productos’;
    document.getElementById(‘vacio’).hidden = salen > 0;
    document.getElementById(‘cuando’).hidden = salen === 0;
    }

    // ———- La moneda ———-
    // Estas tasas son de muestra. En la web de verdad salen de la máquina, con la regla
    // de que el dólar va al cambio del billete grande (`shared/monedas.ts`).
    const MONEDAS = [
    { cod: ‘CUP’, tasa: 1 },
    { cod: ‘USD’, tasa: 440 },
    { cod: ‘EUR’, tasa: 470 },
    { cod: ‘MLC’, tasa: 260 },
    ];
    let moneda = MONEDAS[0];
    const precios = […document.querySelectorAll(‘.precio’)];
    const cajaMonedas = document.getElementById(‘monedas’);
    const botonMoneda = document.getElementById(‘abre-moneda’);

    const redondear = valor => moneda.cod === ‘CUP’
    ? Math.round(valor).toLocaleString(‘es’)
    : (Math.round(valor * 100) / 100).toLocaleString(‘es’, { minimumFractionDigits: 2 });

    function pintarPrecios() {
    for (const p of precios) {
    const cup = Number(p.dataset.cup || 0);
    p.innerHTML = redondear(cup / moneda.tasa) + ‘ ‘ + moneda.cod + ‘‘;
    }
    document.getElementById(‘moneda-hoy’).textContent = moneda.cod;
    }

    function pintarMonedas() {
    const fila = document.getElementById(‘monedas-fila’);
    fila.textContent = »;
    for (const m of MONEDAS) {
    const b = document.createElement(‘button’);
    b.type = ‘button’;
    b.setAttribute(‘aria-pressed’, String(m.cod === moneda.cod));
    b.textContent = m.cod;
    b.addEventListener(‘click’, () => {
    moneda = m;
    pintarPrecios(); pintarMonedas();
    cajaMonedas.hidden = true;
    botonMoneda.setAttribute(‘aria-expanded’, ‘false’);
    });
    fila.appendChild(b);
    }
    }

    botonMoneda.addEventListener(‘click’, () => {
    cajaMonedas.hidden = !cajaMonedas.hidden;
    botonMoneda.setAttribute(‘aria-expanded’, String(!cajaMonedas.hidden));
    if (!cajaMonedas.hidden) busca.hidden = true;
    });

    pintarMonedas(); pintarPrecios();

    document.getElementById(‘abre-busca’).addEventListener(‘click’, () => {
    busca.hidden = !busca.hidden;
    document.getElementById(‘abre-busca’).setAttribute(‘aria-expanded’, String(!busca.hidden));
    if (!busca.hidden) texto.focus(); else { texto.value = »; filtrar(); }
    });
    document.getElementById(‘busca-form’).addEventListener(‘submit’, e => e.preventDefault());
    texto.addEventListener(‘input’, filtrar);
    addEventListener(‘keydown’, e => { if (e.key === ‘Escape’ && !busca.hidden) {
    busca.hidden = true; texto.value = »; filtrar(); } });

    // El sumador y el carrito
    let enCarro = 0;
    for (const f of fichas) {
    const salida = f.querySelector(‘output’);
    const [menos, mas] = f.querySelectorAll(‘.paso button’);
    const mover = paso => { salida.value = Math.max(1, Number(salida.value) + paso); };
    menos.addEventListener(‘click’, () => mover(-1));
    mas.addEventListener(‘click’, () => mover(1));
    f.querySelector(‘.echar’).addEventListener(‘click’, () => {
    enCarro += Number(salida.value);
    const n = document.getElementById(‘n-carro’);
    n.textContent = enCarro; n.hidden = false;
    salida.value = 1;
    });
    }

    pintarTira(); pintarArbol(); filtrar();
    })();

    (() => {
    document.addEventListener(‘click’, ev => {
    const boton = ev.target.closest(‘.echar’);
    if (!boton) return;
    const ficha = boton.closest(‘.ficha’);
    const id = ficha?.dataset.id;
    if (!id) return;
    ev.preventDefault();
    const cuantos = Number(ficha.querySelector(‘.paso output’)?.textContent || 1) || 1;
    boton.textContent = ‘Echando…’;
    window.location = ‘/?add-to-cart=’ + id + ‘&quantity=’ + cuantos;
    });
    })();

    .woocommerce-products-header, .woocommerce-result-count, .woocommerce-ordering,
    ul.products, .woocommerce-pagination, .page-header{ display:none !important; }
    #main, #content-wrap, .content-area, .container, #wrap, .entry, .single-page-article{
    max-width:none !important; width:100% !important; margin:0 !important; padding:0 !important;
    }
    #site-header, #footer, #scroll-top{ display:none !important; }
    html{ margin-top:0 !important; } #wpadminbar{ position:absolute !important; }