Chamarra negro para dama con gorro y bolsillos frontales. Funcional, moderna y perfecta para climas frescos.
Chamarra negro para dama con gorro integrado, cierre frontal y bolsillos con cremallera al frente. Diseño moderno y funcional, ideal para días frescos o lluviosos. Su corte recto con caída estructurada realza la figura sin perder comodidad. Un básico de armario que combina estilo y practicidad, perfecta para climas variables o para armar outfits urbanos con aire minimalista.
80264JH.12612.7318009
$405.00 – $2,130.00Price range: $405.00 through $2,130.00
DESCRIPCION DE ARTICULO
#yh-matriz-wrap*,#yh-matriz-wrap *::before,#yh-matriz-wrap *::after{box-sizing:border-box;margin:0;padding:0}
#yh-matriz-wrap{
font-family:'Barlow',sans-serif;
background:#f5f4f1;
padding:24px 16px 100px;
max-width:680px;
}
#yh-matriz-wrap .yh-section-label{
font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#999;
margin-bottom:12px;display:flex;align-items:center;gap:10px;
}
#yh-matriz-wrap .yh-section-label::after{content:'';flex:1;height:1px;background:#ddd}
#yh-matriz-wrap .yh-step-num{
width:20px;height:20px;border-radius:50%;background:#111;color:#fff;
font-size:11px;font-weight:700;display:inline-flex;align-items:center;
justify-content:center;flex-shrink:0;
}
/* COLOR */
#yh-matriz-wrap .yh-color-wrap{
background:#fff;border:1px solid #e8e4de;border-radius:8px 8px 0 0;
padding:18px 20px 16px;border-bottom:none;
}
#yh-matriz-wrap .yh-color-name{
font-size:14px;font-weight:700;color:#111;letter-spacing:.06em;
text-transform:uppercase;margin-bottom:12px;
}
#yh-matriz-wrap .yh-color-name span{font-weight:400;color:#999;font-size:12px;text-transform:none;letter-spacing:.03em}
#yh-matriz-wrap .yh-swatches{display:flex;flex-wrap:wrap;gap:8px}
#yh-matriz-wrap .yh-swatch-btn{
display:flex;flex-direction:column;align-items:center;gap:5px;
cursor:pointer;padding:9px 12px;border:2px solid transparent;border-radius:7px;
transition:border-color .15s,background .15s;background:#f7f6f3;
}
#yh-matriz-wrap .yh-swatch-btn:hover:not(.yh-agotado){border-color:#bbb}
#yh-matriz-wrap .yh-swatch-btn.yh-active{border-color:#111;background:#f0f0ee}
#yh-matriz-wrap .yh-swatch-btn.yh-agotado{opacity:.3;cursor:not-allowed}
#yh-matriz-wrap .yh-csw{width:26px;height:26px;border-radius:50%;border:2px solid rgba(0,0,0,.1);position:relative}
#yh-matriz-wrap .yh-swatch-btn.yh-active .yh-csw::after{
content:'✓';position:absolute;inset:0;display:flex;align-items:center;
justify-content:center;font-size:13px;font-weight:700;color:#fff;
text-shadow:0 1px 3px rgba(0,0,0,.5);
}
#yh-matriz-wrap .yh-cname{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#666}
#yh-matriz-wrap .yh-swatch-btn.yh-active .yh-cname{color:#111;font-weight:700}
/* TALLAS */
#yh-matriz-wrap .yh-tallas-wrap{background:#fff;border:1px solid #e8e4de;border-radius:0 0 8px 8px;overflow:hidden}
#yh-matriz-wrap .yh-row{
display:flex;align-items:center;justify-content:space-between;
padding:13px 22px;border-bottom:1px solid #f2efea;transition:background .12s;
}
#yh-matriz-wrap .yh-row:last-child{border-bottom:none}
#yh-matriz-wrap .yh-row:hover:not(.yh-agotado-row){background:#fafaf8}
#yh-matriz-wrap .yh-agotado-row{background:#f0efed}
#yh-matriz-wrap .yh-pack-row{border-top:2px solid #e8dda8;background:#fffef0}
#yh-matriz-wrap .yh-pack-row:hover{background:#fffde8}
#yh-matriz-wrap .yh-talla-info{display:flex;align-items:baseline;gap:10px}
#yh-matriz-wrap .yh-tn{font-size:16px;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:.08em}
#yh-matriz-wrap .yh-tn.yh-pack-name{color:#a07800}
#yh-matriz-wrap .yh-tp{font-size:11px;color:#aaa;letter-spacing:.03em}
#yh-matriz-wrap .yh-tp.yh-pack-price{color:#c8a830}
#yh-matriz-wrap .yh-stock-ok{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:3px;background:#e8f5e9;color:#2e7d32;margin-left:6px}
#yh-matriz-wrap .yh-stock-low{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:3px;background:#fff3e0;color:#e65100;margin-left:6px}
#yh-matriz-wrap .yh-agotado-badge{
font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
color:#c0bbb5;border:1px solid #ddd;padding:6px 14px;border-radius:3px;background:#fafaf8;
}
/* STEPPER */
#yh-matriz-wrap .yh-stepper{
display:inline-flex;align-items:center;border:1.5px solid #222;border-radius:4px;overflow:hidden;height:38px;
}
#yh-matriz-wrap .yh-stepper.yh-pack-s{border-color:#c8a830}
#yh-matriz-wrap .yh-step-btn{
width:34px;height:100%;background:#111;color:#fff;border:none;
font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;
justify-content:center;transition:background .15s;user-select:none;
}
#yh-matriz-wrap .yh-step-btn:hover{background:#333}
#yh-matriz-wrap .yh-stepper.yh-pack-s .yh-step-btn{background:#1a1500;color:#c8a830}
#yh-matriz-wrap .yh-stepper.yh-pack-s .yh-step-btn:hover{background:#2c2300}
#yh-matriz-wrap .yh-step-inp{
width:44px;height:100%;border:none;border-left:1.5px solid #ddd;border-right:1.5px solid #ddd;
text-align:center;font-size:18px;font-weight:700;color:#111;background:#fff;
outline:none;-moz-appearance:textfield;
}
#yh-matriz-wrap .yh-step-inp::-webkit-outer-spin-button,
#yh-matriz-wrap .yh-step-inp::-webkit-inner-spin-button{-webkit-appearance:none}
#yh-matriz-wrap .yh-stepper.yh-pack-s .yh-step-inp{border-color:#c8a83040;color:#a07800;background:#fffef0}
/* RESUMEN */
#yh-matriz-wrap .yh-resumen{
margin-top:20px;background:#fff;border:1px solid #e8e4de;border-radius:8px;
overflow:hidden;display:none;
}
#yh-matriz-wrap .yh-resumen.yh-vis{display:block}
#yh-matriz-wrap .yh-res-head{
background:#fafaf8;border-bottom:1px solid #e8e4de;padding:12px 20px;
font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#555;
}
#yh-matriz-wrap .yh-res-line{
display:flex;justify-content:space-between;align-items:center;
padding:8px 20px;font-size:13px;color:#444;border-bottom:1px solid #f5f2ee;
}
#yh-matriz-wrap .yh-res-line:last-child{border-bottom:none}
#yh-matriz-wrap .yh-res-desc{display:flex;align-items:center;gap:8px}
#yh-matriz-wrap .yh-res-sw{width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.1);flex-shrink:0}
#yh-matriz-wrap .yh-res-sub{font-size:15px;font-weight:700;color:#111}
/* BARRA */
#yh-barra-flotante{
position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #111;
padding:14px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;
box-shadow:0 -6px 28px rgba(0,0,0,.10);z-index:9999;
transform:translateY(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);
}
#yh-barra-flotante.yh-bar-vis{transform:translateY(0)}
#yh-barra-flotante .yh-bl{display:flex;flex-direction:column;gap:1px}
#yh-barra-flotante .yh-piezas{font-size:11px;color:#888;letter-spacing:.06em;text-transform:uppercase}
#yh-barra-flotante .yh-piezas strong{color:#111}
#yh-barra-flotante .yh-monto{font-size:28px;font-weight:800;color:#111;line-height:1.1}
#yh-barra-flotante .yh-monto span{font-size:13px;font-weight:400;color:#aaa;margin-left:3px}
#yh-barra-flotante .yh-br{display:flex;gap:10px;align-items:center;flex-shrink:0}
#yh-barra-flotante .yh-btn-clear{
background:none;border:1.5px solid #ddd;border-radius:4px;padding:9px 14px;
font-size:12px;font-weight:500;color:#999;cursor:pointer;letter-spacing:.06em;
text-transform:uppercase;transition:border-color .15s,color .15s;
}
#yh-barra-flotante .yh-btn-clear:hover{border-color:#999;color:#555}
#yh-barra-flotante .yh-btn-add{
background:#111;color:#fff;border:none;border-radius:4px;padding:12px 26px;
font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
cursor:pointer;transition:background .15s;white-space:nowrap;
}
#yh-barra-flotante .yh-btn-add:hover{background:#2a2a2a}
#yh-barra-flotante .yh-btn-add:disabled{background:#aaa;cursor:not-allowed}
/* legend */
#yh-matriz-wrap .yh-legend{display:flex;align-items:center;gap:16px;margin-top:14px;flex-wrap:wrap}
#yh-matriz-wrap .yh-legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#999;letter-spacing:.05em}
#yh-matriz-wrap .yh-ld{width:8px;height:8px;border-radius:50%}
@media(max-width:480px){
#yh-barra-flotante{padding:12px 16px}
#yh-barra-flotante .yh-btn-clear{display:none}
#yh-barra-flotante .yh-monto{font-size:22px}
}
(function(){
// ═══ DATOS REALES DE WOOCOMMERCE (product_id: 12612) ═══
const PRODUCT_ID = 12612;
const COLORS = [
{id:'verde', name:'Verde', hex:'#4a7a55', available:true},
{id:'negro', name:'Negro', hex:'#222222', available:true},
{id:'arena', name:'Arena', hex:'#c9b99a', available:false},
{id:'khaki', name:'Khaki', hex:'#8a7d5e', available:false},
];
// Variaciones reales: color_talla => {variation_id, precio, stock}
const VARS = {
'verde_s': {vid:12613, precio:405, stock:21},
'verde_m': {vid:12614, precio:405, stock:21},
'verde_l': {vid:12615, precio:405, stock:21},
'verde_paq': {vid:12617, precio:2130, stock:21},
'negro_s': {vid:12618, precio:405, stock:21},
'negro_m': {vid:12619, precio:405, stock:21},
'negro_l': {vid:12620, precio:405, stock:0},
'negro_paq': {vid:12622, precio:2130, stock:0},
'arena_s': {vid:12623, precio:405, stock:0},
'arena_m': {vid:12624, precio:405, stock:0},
'arena_l': {vid:12625, precio:405, stock:0},
'arena_paq': {vid:12627, precio:2130, stock:0},
'khaki_s': {vid:12628, precio:405, stock:0},
'khaki_m': {vid:12629, precio:405, stock:0},
'khaki_l': {vid:12630, precio:405, stock:0},
'khaki_paq': {vid:12632, precio:2130, stock:0},
};
const TALLAS = [
{id:'s', name:'Talla S', atrib:'s', isPack:false},
{id:'m', name:'Talla M', atrib:'m', isPack:false},
{id:'l', name:'Talla L', atrib:'l', isPack:false},
{id:'paq', name:'Paquete', atrib:'paquete-6s2-m2-l2', isPack:true, label:'$2,130 · 6(S:2 M:2 L:2)'},
];
const COLOR_ATRIB = {verde:'verde', negro:'negro', arena:'arena', khaki:'khaki'};let currentColor = 'verde';
const qtys = {}; // key: colorId_tallaId => qty// ── SWATCHES ──
function buildSwatches(){
const wrap = document.getElementById('yh-swatches');
if(!wrap) return;
wrap.innerHTML = '';
COLORS.forEach(col => {
const btn = document.createElement('div');
btn.className = 'yh-swatch-btn' +
(!col.available ? ' yh-agotado' : '') +
(col.id === currentColor ? ' yh-active' : '');
btn.innerHTML =
'' +
'' + col.name + '';
if(col.available) btn.onclick = () => selectColor(col.id, col.name);
wrap.appendChild(btn);
});
}function selectColor(id, name){
currentColor = id;
const el = document.getElementById('yh-color-name');
if(el) el.innerHTML = name + ' — seleccionado';
buildSwatches();
buildTallas();
}// ── TALLAS ──
function buildTallas(){
const wrap = document.getElementById('yh-tallas');
if(!wrap) return;
wrap.innerHTML = '';
TALLAS.forEach(t => {
const key = currentColor + '_' + t.id;
const varData = VARS[key];
const qty = qtys[key] || 0;
const stock = varData ? varData.stock : 0;
const precio = varData ? varData.precio : (t.isPack ? 2130 : 405);
const disponible = stock > 0;const row = document.createElement('div');
row.className = 'yh-row' +
(!disponible ? ' yh-agotado-row' : '') +
(t.isPack ? ' yh-pack-row' : '');let stockBadge = '';
if(disponible && stock <= 5){
stockBadge = 'Solo ' + stock + '';
} else if(disponible){
stockBadge = '' + stock + ' disp.';
}const priceLabel = t.isPack
? '$' + precio.toLocaleString('es-MX') + ' · 6(S:2 M:2 L:2)'
: '$' + precio.toLocaleString('es-MX') + ' c/u';if(disponible){
row.innerHTML =
'
1 Elige el color
Verde — seleccionado
2 Cantidad por talla
📋 Resumen de pedido
Disponible
Agotado
Precio paquete
Total: 0 piezas
$0.00 MXN
' +
'' + t.name + '' +
'' + priceLabel + '' +
stockBadge +
'
' +
'' +
'' +
'' +
'' +
'
';
} else {
row.innerHTML =
'' +
'' + t.name + '' +
'Sin stock en este color' +
'
' +
'Agotado';
}
wrap.appendChild(row);
});// Eventos steppers
wrap.querySelectorAll('.yh-step-btn').forEach(btn => {
btn.onclick = function(){
const key = this.dataset.key;
const delta = parseInt(this.dataset.delta);
const max = parseInt(this.dataset.max);
const inp = this.parentElement.querySelector('.yh-step-inp');
const nv = Math.min(max, Math.max(0, (parseInt(inp.value)||0) + delta));
inp.value = nv;
qtys[key] = nv;
calcTotal();
};
});
wrap.querySelectorAll('.yh-step-inp').forEach(inp => {
inp.oninput = function(){
let v = parseInt(this.value);
const max = parseInt(this.dataset.max);
if(isNaN(v)||vmax) v=max;
this.value = v;
qtys[this.dataset.key] = v;
calcTotal();
};
});
}// ── TOTALES ──
function calcTotal(){
let piezas = 0, monto = 0;
const lineas = [];
Object.entries(qtys).forEach(([key, qty]) => {
if(!qty) return;
const [colorId, tallaId] = key.split('_');
const col = COLORS.find(c => c.id === colorId);
const tal = TALLAS.find(t => t.id === tallaId);
const varData = VARS[key];
if(!col || !tal || !varData) return;
piezas += qty;
monto += qty * varData.precio;
lineas.push({colorId, colorName:col.name, colorHex:col.hex,
tallaNombre:tal.name, qty, subtotal:qty*varData.precio, isPack:tal.isPack});
});// Barra
const bar = document.getElementById('yh-barra-flotante');
document.getElementById('yh-sum-pzas').textContent = piezas === 1 ? '1 pieza' : piezas + ' piezas';
document.getElementById('yh-sum-monto').innerHTML =
'$' + monto.toLocaleString('es-MX',{minimumFractionDigits:2}) + ' MXN';
if(bar) piezas > 0 ? bar.classList.add('yh-bar-vis') : bar.classList.remove('yh-bar-vis');// Resumen
const resumen = document.getElementById('yh-resumen');
const lineasEl = document.getElementById('yh-res-lineas');
if(lineas.length > 0){
if(resumen) resumen.classList.add('yh-vis');
if(lineasEl) lineasEl.innerHTML = lineas.map(l =>
'' +
'
'
).join('') +
'' +
'' +
'' + l.colorName + ' · ' + l.tallaNombre + ' × ' + l.qty + (l.isPack ? ' paq' : ' pzas') + '' +
'
' +
'$' + l.subtotal.toLocaleString('es-MX',{minimumFractionDigits:2}) + '' +
'' +
'Total' +
'$' +
monto.toLocaleString('es-MX',{minimumFractionDigits:2}) +
' MXN' +
'
';
} else {
if(resumen) resumen.classList.remove('yh-vis');
}// Actualizar btn agregar
const btnAdd = document.getElementById('yh-btn-add');
if(btnAdd) btnAdd.disabled = piezas === 0;
}// ── AGREGAR AL CARRITO (WooCommerce AJAX real) ──
document.getElementById('yh-btn-add').addEventListener('click', async function(){
const btn = this;
const itemsToAdd = [];
Object.entries(qtys).forEach(([key, qty]) => {
if(!qty) return;
const varData = VARS[key];
if(!varData || varData.stock === 0) return;
const [colorId, tallaId] = key.split('_');
const tal = TALLAS.find(t => t.id === tallaId);
itemsToAdd.push({
variation_id: varData.vid,
product_id: PRODUCT_ID,
quantity: qty,
color: COLOR_ATRIB[colorId],
talla: tal ? tal.atrib : tallaId,
});
});
if(!itemsToAdd.length) return;
btn.disabled = true;
btn.textContent = 'Agregando...';
try {
// Añadir cada variación al carrito
for(const item of itemsToAdd){
const fd = new FormData();
fd.append('add-to-cart', item.product_id);
fd.append('product_id', item.product_id);
fd.append('variation_id', item.variation_id);
fd.append('quantity', item.quantity);
fd.append('attribute_pa_color', item.color);
fd.append('attribute_pa_talla', item.talla);
await fetch('/?wc-ajax=add_to_cart', {method:'POST', body:fd});
}
btn.textContent = '✅ ¡Agregado!';
btn.style.background = '#2e7d32';
setTimeout(() => {
btn.textContent = '🛒 Agregar al carrito';
btn.style.background = '';
btn.disabled = false;
// Recargar mini carrito
if(typeof jQuery !== 'undefined'){
jQuery(document.body).trigger('wc_fragment_refresh');
}
}, 2500);
} catch(e){
btn.textContent = '🛒 Agregar al carrito';
btn.style.background = '';
btn.disabled = false;
}
});// Limpiar
document.getElementById('yh-btn-clear').addEventListener('click', function(){
Object.keys(qtys).forEach(k => delete qtys[k]);
buildTallas();
calcTotal();
});// INIT
buildSwatches();
buildTallas();
calcTotal();
})();1 Elige el color
verde
— seleccionado
2 Cantidad por talla
s
$405.00
21 disp.m
$405.00
21 disp.l
$405.00
21 disp.paquete-6s2-m2-l2
$2,130.00
21 disp.s
$405.00
Agotado
m
$405.00
Agotado
l
$405.00
Agotado
paquete-6s2-m2-l2
$2,130.00
Agotado
s
$405.00
Agotado
m
$405.00
Agotado
l
$405.00
Agotado
paquete-6s2-m2-l2
$2,130.00
Agotado
s
$405.00
21 disp.m
$405.00
21 disp.l
$405.00
Agotado
paquete-6s2-m2-l2
$2,130.00
Agotado
Resumen
0 piezas
Subtotal: $0.00





























