/* Carrito lateral y contador (todas las páginas con tienda abierta) */
.cart{position:relative}
.cart-count{position:absolute;top:-8px;right:-13px;min-width:18px;height:18px;padding:0 5px;box-sizing:border-box;border-radius:99px;background:var(--cherry);color:#fff;font-size:.6875rem;font-weight:700;line-height:18px;text-align:center;transition:transform 200ms cubic-bezier(.23,1,.32,1)}
.cart-count[data-n="0"]{display:none}
.cart-count.pop{transform:scale(1.3)}
.lm-scrim{position:fixed;inset:0;z-index:60;background:rgba(26,24,21,.55);opacity:0;pointer-events:none;transition:opacity 260ms ease-out}
.lm-scrim.on{opacity:1;pointer-events:auto}
.lm-cart{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(480px,100vw);display:flex;flex-direction:column;box-sizing:border-box;color:#E3E0D8;background:rgba(31,42,36,.88);-webkit-backdrop-filter:blur(26px) saturate(160%);backdrop-filter:blur(26px) saturate(160%);border-left:1px solid rgba(227,224,216,.22);border-radius:34px 0 0 8px;overflow:hidden;transform:translateX(100%);visibility:hidden;transition:transform 380ms cubic-bezier(.32,.72,0,1),visibility 0s linear 380ms}
.lm-cart.on{transform:none;visibility:visible;transition-delay:0s}
.lm-cart h2{font-family:var(--display);font-weight:500;font-size:2rem;letter-spacing:-.01em}
.lc-head{display:flex;justify-content:space-between;align-items:center;padding:2rem 2.25rem 1.25rem}
.lc-x{all:unset;cursor:pointer;box-sizing:border-box;width:44px;height:44px;border-radius:99px;border:1px solid rgba(227,224,216,.3);display:grid;place-items:center;font-size:1.375rem;line-height:1;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.lc-x:active{transform:scale(.97)}
.lc-x:focus-visible,.lc-q button:focus-visible,.lc-go:focus-visible,.lc-rm:focus-visible{outline:2px solid #E6D8B1;outline-offset:2px}
.lc-body{flex:1;overflow-y:auto;padding:0 2.25rem}
.lc-empty{padding:2rem 0;color:#B7B9AF}
.lc-it{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:1.125rem;align-items:center;padding:1.125rem 0;border-top:1px solid rgba(227,224,216,.14);position:relative}
.lc-it:last-of-type{border-bottom:1px solid rgba(227,224,216,.14)}
.lc-img{width:92px;height:92px;border-radius:12px;overflow:hidden;background:rgba(227,224,216,.08)}
.lc-img img{width:100%;height:100%;object-fit:cover;display:block}
.lc-info b{display:block;font-family:var(--display);font-weight:500;font-size:1.1875rem;line-height:1.25}
.lc-info span{display:block;font-size:.9375rem;color:#B7B9AF}
.lc-q{display:inline-flex;align-items:center;border:1px solid rgba(227,224,216,.35);border-radius:99px;margin-top:.5rem;height:38px;padding:0 3px;font-size:.9375rem}
.lc-q button{all:unset;cursor:pointer;width:32px;height:32px;text-align:center;line-height:32px;border-radius:99px;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.lc-q button:active{transform:scale(.97)}
.lc-q output{min-width:24px;text-align:center}
.lc-p{font-family:var(--display);font-size:1.5rem}
.lc-rm{all:unset;cursor:pointer;position:absolute;top:.5rem;right:-.5rem;width:32px;height:32px;line-height:32px;text-align:center;color:#B7B9AF;font-size:1.125rem;border-radius:99px}
.lc-foot{padding:1.375rem 2.25rem 2rem;border-top:1px solid rgba(227,224,216,.18)}
.lc-sub{display:flex;justify-content:space-between;align-items:baseline;color:#B7B9AF}
.lc-sub b{font-family:var(--display);font-weight:500;font-size:2.5rem;letter-spacing:-.02em;color:#E8E6DE}
.lc-note{margin:.25rem 0 1.125rem;font-size:.8125rem;color:#B7B9AF}
.lc-go{display:flex;align-items:center;justify-content:center;gap:.75rem;height:60px;border-radius:99px;background:var(--cherry);color:#fff;text-decoration:none;font-size:1.0625rem;font-weight:500;transition:transform 160ms cubic-bezier(.23,1,.32,1),background-color .3s}
.lc-go:hover{background:var(--cherry-deep)}
.lc-go:active{transform:scale(.97)}
.lc-go svg{width:18px;height:10px}
.lm-cart-open{overflow:hidden}
@media (max-width:640px){
  .lm-cart{top:auto;left:0;width:100%;height:min(88svh,720px);border-radius:28px 28px 0 0;border-left:0;border-top:1px solid rgba(227,224,216,.22);transform:translateY(100%)}
  .lc-head{padding:1.5rem 1.375rem 1rem}.lc-body{padding:0 1.375rem}.lc-foot{padding:1.125rem 1.375rem 1.5rem}
}
@media (prefers-reduced-motion:reduce){.lm-cart{transition:opacity 160ms,visibility 0s linear 160ms;transform:none;opacity:0}.lm-cart.on{opacity:1}.cart-count.pop{transform:none}}
@media (prefers-reduced-transparency:reduce){.lm-cart{background:#1F2A24;-webkit-backdrop-filter:none;backdrop-filter:none}}

/* ---- barra de envío gratis: solo en páginas de tienda (el encabezado la imprime y pone body.lm-shop-bar) ---- */
body.lm-shop-bar{--lm-bar-h:32px}
.lm-shipbar{position:fixed;top:0;left:0;right:0;z-index:59;box-sizing:border-box;height:var(--lm-bar-h,32px);display:flex;align-items:center;justify-content:center;gap:14px;padding:0 var(--gutter);background:var(--ink);color:var(--on-ink);font-size:.8125rem;line-height:1;white-space:nowrap}
.lm-shiptxt{overflow:hidden;text-overflow:ellipsis}
.lm-shipbar .lm-bar{display:block;flex:0 1 140px;min-width:60px;height:3px;border-radius:99px;background:rgba(232,230,222,.24);overflow:hidden}
.lm-shipbar .lm-bar span{display:block;height:100%;background:var(--brand-gold);transform-origin:left;transform:scaleX(0);transition:transform 400ms cubic-bezier(.23,1,.32,1)}
body.lm-shop-bar .site-header{top:var(--lm-bar-h,32px)}
@media (max-width:820px){body.lm-shop-bar .primary-nav{padding-top:calc(96px + var(--lm-bar-h,32px))}}
body.lm-shop-bar main [id]{scroll-margin-top:calc(6.5rem + var(--lm-bar-h,32px))}
@media (max-width:760px){body.lm-shop-bar{--lm-bar-h:28px}.lm-shipbar{font-size:.75rem;gap:10px}}

/* ---- aviso sutil al agregar: arriba, unos segundos, sin botones ---- */
.lm-toast{position:fixed;left:50%;top:calc(var(--lm-chrome-h,84px) + 12px);z-index:70;box-sizing:border-box;max-width:min(92vw,440px);padding:.625rem 1.125rem;border-radius:99px;background:rgba(31,42,36,.94);color:#E8E6DE;font-size:.875rem;line-height:1.4;text-align:center;pointer-events:none;opacity:0;transform:translate(-50%,-8px);transition:opacity .25s ease-out,transform .35s cubic-bezier(.16,1,.3,1)}
.lm-toast.on{opacity:1;transform:translate(-50%,0)}

/* ---- nota escrita a mano (carrito lateral) ---- */
.lc-note-box{margin:1.5rem 0}
.lc-nl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.875rem;align-items:start;cursor:pointer;font-size:.9375rem;line-height:1.45}
.lc-nl input{width:22px;height:22px;margin:.0625rem 0 0;accent-color:#E6D8B1;flex:none}
.lc-nl b{display:block;font-weight:500;color:#E8E6DE}
.lc-nl span span{display:block;color:#B7B9AF;font-size:.875rem}
.lc-nl:focus-within{outline:2px solid #E6D8B1;outline-offset:4px;border-radius:6px}
#lc-txt{box-sizing:border-box;width:100%;min-height:84px;margin-top:.75rem;padding:.75rem 1rem;resize:vertical;font:inherit;font-size:.9375rem;color:#E8E6DE;background:rgba(232,230,222,.08);border:1px solid rgba(227,224,216,.32);border-radius:12px}
#lc-txt:focus-visible{outline:2px solid #E6D8B1;outline-offset:2px}
.lc-cnt{display:block;margin-top:.375rem;text-align:right;font-size:.8125rem;color:#B7B9AF}
@media (prefers-reduced-motion:reduce){.lm-toast{transform:translate(-50%,0)}.lm-shipbar .lm-bar span{transition:none}}
