/* Candy · Carrito — mobile first */
.cm-cart{width:min(var(--cm-width),100% - 2 * var(--cm-space));margin:0 auto;font-family:var(--cm-font-body)}
.cm-cart *{box-sizing:border-box}
.cm-cart [hidden]{display:none!important}
.cm-cart-heading h1{margin:22px 0 16px;font-size:clamp(30px,5vw,44px)}
.cm-cart-heading-count{color:var(--cm-pink-dark)}
.cm-cart-layout{display:grid;gap:20px}

/* Envío gratis */
.cm-cart-shipping{margin-bottom:14px;padding:14px 16px;border-radius:18px;background:var(--cm-butter)}
.cm-cart-shipping-row{display:flex;align-items:center;gap:12px}
.cm-cart-shipping-row>svg{flex-shrink:0;color:#9a6b00}
.cm-cart-shipping-copy{flex:1;font-size:15px;font-weight:700;line-height:1.4}
.cm-cart-shipping-amounts{display:none}
.cm-cart-shipping-bar{height:10px;margin-top:10px;border-radius:999px;background:rgba(255,255,255,.8);overflow:hidden}
.cm-cart-shipping-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cm-pink),var(--cm-primary));transition:width .4s}
.cm-cart-shipping--done{background:var(--cm-mint)}
.cm-cart-shipping--done .cm-cart-shipping-row>svg{color:#2f7a63}
.cm-cart-shipping--done .cm-cart-shipping-bar span{background:#2f8f6f}

/* Artículos */
.cm-cart-items{display:grid;gap:10px}
.cm-cart-item{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:10px;border-radius:var(--cm-radius);background:#fff;box-shadow:0 0 0 1px var(--cm-line);transition:opacity .2s}
.cm-cart-busy{opacity:.5;pointer-events:none}
.cm-cart-item-photo{border-radius:14px;overflow:hidden;background:var(--cm-lilac-soft);aspect-ratio:1}
.cm-cart-item-photo img{display:block;width:100%;height:100%!important;object-fit:cover}
.cm-cart-item-body{display:flex;flex-direction:column;min-width:0}
.cm-cart-item-top{display:flex;align-items:flex-start;gap:8px}
.cm-cart-item h3{flex:1;margin:2px 0 4px;font-size:16px;font-weight:500;line-height:1.3}
.cm-cart-item h3 a{color:var(--cm-ink);text-decoration:none}.cm-cart-item h3 a:hover{color:var(--cm-primary)}
.cm-cart-remove{display:flex;align-items:center;justify-content:center;width:40px;height:40px;margin:-4px -4px 0 0;border:0;border-radius:50%;background:transparent;color:var(--cm-muted);cursor:pointer;flex-shrink:0}
.cm-cart-remove:hover{background:var(--cm-pink-soft);color:#b2385a}
.cm-cart-remove svg{width:20px;height:20px}
.cm-cart-item dl.variation{display:flex;flex-wrap:wrap;gap:2px 6px;margin:0 0 2px;font-size:13px;color:var(--cm-muted)}
.cm-cart-item dl.variation dt{font-weight:800;margin:0}.cm-cart-item dl.variation dd{margin:0}.cm-cart-item dl.variation dd p{margin:0}
.cm-cart-item-unit{margin:0;font-size:13px;color:var(--cm-muted)}
.cm-cart-item-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px}
.cm-cart-item-price{margin:0;font-size:17px;font-weight:800;color:var(--cm-primary)}
.cm-cart-qty{display:flex;align-items:center;border-radius:999px;background:var(--cm-lilac-soft)}
.cm-cart-qty button{width:38px;height:40px;border:0;background:transparent;color:var(--cm-primary);font-size:20px;font-weight:700;cursor:pointer}
.cm-cart-qty input{width:32px;height:40px;border:0;background:transparent;text-align:center;font-weight:800;font-size:16px;color:var(--cm-ink);-moz-appearance:textfield}
.cm-cart-qty input::-webkit-outer-spin-button,.cm-cart-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cm-cart-continue{display:inline-block;margin-top:14px;font-weight:800;color:var(--cm-primary);text-decoration:none}
.cm-cart-continue:hover{color:var(--cm-pink-dark)}

/* Resumen */
.cm-cart-side{padding:20px;border-radius:var(--cm-radius);background:#fff;box-shadow:0 0 0 1px var(--cm-line),var(--cm-shadow)}
.cm-cart-side h2{margin:0 0 14px;font-size:22px}
.cm-cart-coupon{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:4px 4px 4px 14px;border-radius:999px;background:var(--cm-lilac-soft)}
.cm-cart-coupon>svg{width:20px;height:20px;color:var(--cm-primary);flex-shrink:0}
.cm-cart-coupon input{flex:1;width:0;min-height:40px;border:0;background:transparent;font-size:15px;color:var(--cm-ink);outline:none}
.cm-cart-coupon button{min-height:40px;padding:8px 16px;border:0;border-radius:999px;background:#fff;color:var(--cm-primary);font-weight:800;cursor:pointer}
.cm-cart-coupon button:hover{background:var(--cm-primary);color:#fff}
.cm-cart-totals-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;font-size:15px}
.cm-cart-totals-row>span:last-child{text-align:right;font-weight:700}
.cm-cart-coupon-row{color:#2f7a63}.cm-cart-coupon-row a{margin-left:4px;font-size:13px;color:var(--cm-muted)}
.cm-cart-shipping-value strong{color:#2f7a63}
.cm-cart-total{margin-top:6px;padding-top:14px;border-top:1px dashed var(--cm-line);font-family:var(--cm-font-head);font-size:20px}
.cm-cart-total small{font-family:var(--cm-font-body);font-size:13px;color:var(--cm-muted)}
.cm-cart-total>span:last-child{color:var(--cm-primary);font-weight:600}
.cm-cart-total>span:last-child small{display:none}
.cm-cart-checkout{width:100%;margin-top:14px;min-height:54px;font-size:18px}
.cm-cart-pay{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:16px;font-size:13px;font-weight:700;color:var(--cm-muted)}
.cm-cart-pay .cm-pay-logos li{width:50px;height:32px;box-shadow:0 0 0 1px var(--cm-line)}

/* Vacío */
.cm-cart-empty{max-width:520px;margin:40px auto 0;padding:44px 24px;border-radius:var(--cm-radius);background:var(--cm-pink-soft);text-align:center}
.cm-cart-empty-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:#fff;color:var(--cm-pink-dark)}
.cm-cart-empty-icon svg{width:38px;height:38px}
.cm-cart-empty h1{margin:18px 0 8px;font-size:30px}
.cm-cart-empty p{margin:0 0 22px}

@media(min-width:600px){.cm-cart-item{grid-template-columns:120px minmax(0,1fr);padding:12px;gap:16px}.cm-cart-shipping-amounts{display:block;font-size:13px;font-weight:700;color:var(--cm-muted)}}
@media(min-width:960px){
  .cm-cart-layout{grid-template-columns:minmax(0,1fr) 380px;gap:32px;align-items:start}
  .cm-cart-side{position:sticky;top:20px}
}
