/* La M Supply - Favoritos v1.0 */
:root{--fv-rd:#d7262b;--fv-dk:#142a2e;--fv-mu:#6b7a80;--fv-ln:#e6eaec}
/* El botón nativo de las tarjetas se sustituye por el corazón sobre la imagen */
.oe_product_cart[data-lm-fv] .o_wsale_product_btn .o_add_wishlist,.lm-fv-native{display:none!important}
/* Corazón sobre la imagen */
.oe_product_image{position:relative}
.lm-fv{position:absolute;top:8px;right:8px;z-index:3;width:38px;height:38px;border:0;border-radius:50%;
  background:rgba(255,255,255,.94);color:var(--fv-dk);display:flex;align-items:center;justify-content:center;
  font-size:1.05rem;box-shadow:0 3px 10px rgba(20,42,46,.18);cursor:pointer;transition:transform .15s,color .2s,background .2s}
.lm-fv:hover{transform:scale(1.08);color:var(--fv-rd)}
.lm-fv.on{color:var(--fv-rd);background:#fff}
.lm-fv-gal{top:14px;right:14px;width:46px;height:46px;font-size:1.3rem}
.o_wsale_product_images{position:relative}
/* Texto "Agregar a favoritos" (solo en vista de lista de la tienda) */
.lm-fv-txt{display:none;align-items:center;gap:6px;margin-top:6px;padding:5px 12px;border:1.5px solid var(--fv-ln);border-radius:99px;background:#fff;
  color:var(--fv-dk);font-size:.78rem;font-weight:700;cursor:pointer;width:max-content}
.lm-fv-txt i{color:var(--fv-rd)}
.lm-fv-txt.on{border-color:#f3c1c3;background:#fff4f4;color:var(--fv-rd)}
body.lm-v-list .lm-fv-txt{display:inline-flex}
/* Botón grande en la ficha de producto */
.lm-fv-big{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 18px;border:2px solid var(--fv-rd);border-radius:99px;
  background:#fff;color:var(--fv-rd);font-weight:700;font-size:.92rem;cursor:pointer;flex:1 1 auto;transition:background .2s,color .2s}
.lm-fv-big.on{background:var(--fv-rd);color:#fff}
.lm-fv-big i{font-size:1.1rem}
/* Animaciones: latido al agregar, zumbido al quitar */
.lm-fv-beat{animation:lmfvbeat .7s ease}
.lm-fv-buzz{animation:lmfvbuzz .45s linear}
@keyframes lmfvbeat{0%{transform:scale(1)}15%{transform:scale(1.35)}30%{transform:scale(.95)}45%{transform:scale(1.22)}70%{transform:scale(1)}}
@keyframes lmfvbuzz{0%,100%{transform:translateX(0)}15%{transform:translateX(-4px) rotate(-6deg)}30%{transform:translateX(4px) rotate(6deg)}45%{transform:translateX(-3px) rotate(-4deg)}60%{transform:translateX(3px) rotate(4deg)}75%{transform:translateX(-2px)}}
.lm-fv-fly{position:fixed;z-index:2000;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--fv-rd);font-size:1.4rem;pointer-events:none;filter:drop-shadow(0 3px 6px rgba(215,38,43,.35))}
.lm-fv-fly.back{color:#9aa5aa}
@media (prefers-reduced-motion:reduce){.lm-fv-beat,.lm-fv-buzz{animation:none}}
/* Ícono del encabezado siempre visible */
.o_wsale_my_wish.lm-fv-li{display:list-item!important;list-style:none}
.o_wsale_my_wish .oi[data-icon="favorite"]{color:var(--fv-rd)}
.o_wsale_my_wish .my_wish_quantity{background:var(--fv-rd)!important}
/* Aviso inferior */
.lm-fv-toast{position:fixed;left:50%;bottom:22px;z-index:2100;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);
  padding:11px 16px;border-radius:99px;background:rgba(20,42,46,.95);color:#fff;font-size:.88rem;box-shadow:0 10px 30px rgba(0,0,0,.25);
  transform:translate(-50%,140%);opacity:0;transition:transform .3s cubic-bezier(.2,.9,.3,1.2),opacity .25s;pointer-events:none}
.lm-fv-toast.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
.lm-fv-toast .fa-heart{color:#ff5a5f}
.lm-fv-tl{border:0;background:none;color:#eff240;font-weight:700;font-size:.82rem;padding:0;white-space:nowrap;cursor:pointer}
/* Ventana de favoritos */
.lm-fv-bd{position:fixed;inset:0;z-index:1060;background:rgba(20,42,46,.5);opacity:0;pointer-events:none;transition:opacity .25s}
.lm-fv-bd.open{opacity:1;pointer-events:auto}
.lm-fv-dr{position:fixed;top:0;right:0;bottom:0;z-index:1061;width:min(420px,92vw);display:flex;flex-direction:column;background:#f4f6f7;
  transform:translateX(105%);transition:transform .3s cubic-bezier(.2,.8,.2,1);box-shadow:-10px 0 30px rgba(0,0,0,.15);border-radius:20px 0 0 20px;overflow:hidden}
.lm-fv-dr.open{transform:none}
.lm-fv-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;color:#fff;background:linear-gradient(135deg,#142a2e 0%,#1d3a42 60%,#4a1e22 100%)}
.lm-fv-head h3{margin:0;font-size:1.1rem;font-weight:800;color:#fff}
.lm-fv-head h3 .fa{color:#ff5a5f;margin-right:6px}
.lm-fv-n{opacity:.7;font-weight:600}
.lm-fv-x{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff}
.lm-fv-body{flex:1 1 auto;overflow:auto;padding:12px}
.lm-fv-it{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:12px;align-items:center;background:#fff;border-radius:16px;padding:10px;margin-bottom:10px;box-shadow:0 2px 8px rgba(20,42,46,.06);transition:opacity .3s,transform .3s}
.lm-fv-it.out{opacity:0;transform:translateX(30px)}
.lm-fv-im{display:block;width:72px;height:72px;border-radius:12px;background:#f5f7f8;overflow:hidden}
.lm-fv-im img{width:100%;height:100%;object-fit:contain;padding:4px}
.lm-fv-inf{min-width:0;display:flex;flex-direction:column;gap:4px}
.lm-fv-nm{color:var(--fv-dk);font-weight:700;font-size:.86rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none}
.lm-fv-pr{font-size:.9rem;color:var(--fv-dk)}
.lm-fv-add{align-self:flex-start;border:0;border-radius:99px;background:var(--fv-rd);color:#fff;font-size:.76rem;font-weight:700;padding:6px 12px}
.lm-fv-add.ok{background:#1a8a4a}
.lm-fv-rm{width:38px;height:38px;border:0;border-radius:50%;background:#fff4f4;color:var(--fv-rd);font-size:1.05rem}
.lm-fv-foot{padding:12px 16px;background:#fff;border-top:1px solid var(--fv-ln);text-align:center}
.lm-fv-foot[hidden]{display:none}
.lm-fv-all{color:var(--fv-rd);font-weight:700;font-size:.88rem}
.lm-fv-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:50px 20px;color:var(--fv-mu)}
.lm-fv-empty .fa{font-size:2.6rem;color:#f3a2a5}
.lm-fv-empty strong{color:var(--fv-dk);font-size:1.05rem}
.lm-fv-shop{margin-top:8px;padding:10px 22px;border-radius:99px;background:var(--fv-rd);color:#fff!important;font-weight:700;text-decoration:none}
.lm-fv-load{display:flex;justify-content:center;gap:6px;padding:40px}
.lm-fv-load span{width:9px;height:9px;border-radius:50%;background:var(--fv-rd);animation:lmfvdot 1s infinite ease-in-out}
.lm-fv-load span:nth-child(2){animation-delay:.15s}.lm-fv-load span:nth-child(3){animation-delay:.3s}
@keyframes lmfvdot{0%,80%,100%{transform:scale(.5);opacity:.4}40%{transform:scale(1);opacity:1}}

/* v1.1: en vista de lista solo el botón "Agregar a favoritos"; el corazón sobre la imagen queda para cuadrícula */
body.lm-v-list .oe_product_image .lm-fv{display:none!important}
