/* Evaflex Favorites 1.1.1 — styles scoped to Evaflex widgets.
   The public wishlist uses real buttons; the Elementor editor displays the
   same elements as a preview. CSS variables are controlled by Elementor. */
.evx-wl-heart {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  cursor:pointer; background:#fff; color:#1263a4; border:1px solid #dae6ee;
  border-radius:999px; padding:8px; font-family:inherit; font-size:18px;
  line-height:1; transition:transform .2s,background .2s,color .2s;
}
.evx-wl-heart svg { width:1em; height:1em; }
.evx-wl-heart:hover { color:#ef1686; background:#fff2f8; transform:translateY(-1px); }
.evx-wl-heart:focus-visible,
.evx-wl-item button:focus-visible,
.evx-wl-item a:focus-visible { outline:2px solid #0565a7; outline-offset:3px; }
.evx-wl-heart__filled { display:none; }
.evx-wl-heart[aria-pressed="true"] { color:#ed168a; }
.evx-wl-heart[aria-pressed="true"] .evx-wl-heart__outline { display:none; }
.evx-wl-heart[aria-pressed="true"] .evx-wl-heart__filled { display:inline-flex; }
.evx-wl-heart__outline,.evx-wl-heart__filled { align-items:center; }
.evx-wl-header { display:inline-flex; align-items:center; gap:9px; color:#0764a5; text-decoration:none; font-weight:700; font-size:15px; }
.evx-wl-header__icon { display:inline-flex; align-items:center; justify-content:center; position:relative; font-size:26px; }
.evx-wl-header__icon svg { width:1em; height:1em; }
.evx-wl-count { position:absolute; top:-8px; right:-10px; display:inline-flex; align-items:center; justify-content:center; font-size:11px; background:#e72b60; color:#fff; min-width:19px; height:19px; border-radius:20px; padding:0 4px; line-height:1; font-weight:700; }
.evx-wl-header.is-empty .evx-wl-count { display:none; }
.evx-wl-list { width:100%; min-width:0; }
.evx-wl-list *, .evx-wl-list *::before, .evx-wl-list *::after { box-sizing:border-box; }
.evx-wl-grid { display:grid; grid-template-columns:repeat(var(--evx-wl-cols,4),minmax(0,1fr)); gap:20px; }
.evx-wl-loading,.evx-wl-empty,.evx-wl-error { grid-column:1/-1; padding:32px 16px; text-align:center; background:#f4faff; border-radius:16px; color:#43647a; }
.evx-wl-item { min-width:0; position:relative; padding:15px; display:flex; align-items:center; flex-direction:column; gap:10px; background:white; border:1px solid #e4ebf1; border-radius:17px; box-shadow:0 5px 14px rgba(0,56,95,.08); text-align:center; }
.evx-wl-item__media { display:flex; width:100%; height:180px; justify-content:center; align-items:center; text-decoration:none; }
.evx-wl-item__media img { display:block; width:100%; height:100%; object-fit:contain; }
.evx-wl-item__name { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; color:#075fa3; font-weight:700; text-decoration:none; font-size:15px; }
.evx-wl-item__price { color:#eb1683; font-weight:800; font-size:18px; }
.evx-wl-item__price del { color:#8f9aaa; font-size:.85em; }

/* Low-specificity text defaults: Elementor's typography controls can win. */
.evx-wl-item__buy {
  font-family:inherit; font-size:13px; font-weight:700; line-height:1.25;
  text-transform:none; text-align:center; white-space:normal;
  overflow-wrap:anywhere;
  transition:background-color .2s ease,color .2s ease;
}
/* Button reset beats theme/WooCommerce button defaults WITHOUT overriding
   Elementor choices: the Elementor controls set the variables below. */
.evx-wl-list .evx-wl-item .evx-wl-item__buy {
  -webkit-appearance:none !important; appearance:none !important;
  display:inline-flex !important; align-items:center !important;
  justify-content:center !important; vertical-align:middle;
  width:100% !important; max-width:100% !important; min-width:0;
  min-height:41px; margin-top:auto;
  padding:var(--evx-wl-buy-padding,11px 14px) !important;
  border:var(--evx-wl-buy-border-width,0px) solid var(--evx-wl-buy-border-color,transparent) !important;
  border-radius:var(--evx-wl-buy-radius,22px) !important;
  background:var(--evx-wl-buy-bg,#79be3c) !important;
  color:var(--evx-wl-buy-color,#fff) !important;
  text-decoration:none !important; cursor:pointer; box-shadow:none;
}
.evx-wl-list .evx-wl-item .evx-wl-item__buy:hover {
  background:var(--evx-wl-buy-hover-bg,#0364aa) !important;
  color:var(--evx-wl-buy-hover-color,#fff) !important;
  text-decoration:none !important;
}
.evx-wl-list .evx-wl-item .evx-wl-item__buy:focus:not(:focus-visible) { outline:none; }
.evx-wl-list .evx-wl-item .evx-wl-item__buy:disabled { cursor:wait; opacity:.75; }

/* The exact same circular remove control in Elementor and the public page.
   SVG avoids font-dependent positioning of the multiplication sign. */
.evx-wl-list .evx-wl-item .evx-wl-item__remove {
  -webkit-appearance:none !important; appearance:none !important;
  box-sizing:border-box !important;
  position:absolute !important;
  top:var(--evx-wl-remove-top,10px) !important;
  right:var(--evx-wl-remove-right,10px) !important;
  z-index:2;
  display:inline-flex !important;
  align-items:center !important; justify-content:center !important;
  flex:0 0 auto;
  width:var(--evx-wl-remove-size,30px) !important;
  height:var(--evx-wl-remove-size,30px) !important;
  min-width:var(--evx-wl-remove-size,30px) !important;
  min-height:var(--evx-wl-remove-size,30px) !important;
  max-width:var(--evx-wl-remove-size,30px) !important;
  max-height:var(--evx-wl-remove-size,30px) !important;
  margin:0 !important; padding:0 !important;
  border:1px solid var(--evx-wl-remove-border,#e4e9ef) !important;
  border-radius:50% !important;
  background:var(--evx-wl-remove-bg,#fff) !important;
  color:var(--evx-wl-remove-color,#ed168a) !important;
  box-shadow:0 3px 8px rgba(0,36,72,.08);
  cursor:pointer;
  font-size:0 !important; line-height:1 !important;
  text-decoration:none !important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.evx-wl-list .evx-wl-item .evx-wl-item__remove svg {
  display:block !important;
  flex:0 0 auto;
  width:var(--evx-wl-remove-icon-size,15px) !important;
  height:var(--evx-wl-remove-icon-size,15px) !important;
  fill:none !important; stroke:currentColor !important; stroke-width:2 !important;
  stroke-linecap:round; stroke-linejoin:round;
  pointer-events:none;
}
.evx-wl-list .evx-wl-item .evx-wl-item__remove:hover {
  background:var(--evx-wl-remove-hover-bg,#fff0f6) !important;
  border-color:var(--evx-wl-remove-hover-border,#f2bfd4) !important;
  color:var(--evx-wl-remove-hover-color,#d91b5c) !important;
  transform:scale(1.05);
}
.evx-wl-list .evx-wl-item .evx-wl-item__remove:focus:not(:focus-visible) { outline:none; }

@media(max-width:1024px){ .evx-wl-grid{ grid-template-columns:repeat(min(3,var(--evx-wl-cols,4)),minmax(0,1fr)); } }
@media(max-width:767px){ .evx-wl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;} .evx-wl-item{padding:10px;} .evx-wl-item__media{height:145px;} }
@media(max-width:390px){ .evx-wl-grid{grid-template-columns:1fr;} }
@media(prefers-reduced-motion:reduce){ .evx-wl-heart,.evx-wl-item__remove,.evx-wl-item__buy {transition:none !important;} .evx-wl-item__remove:hover {transform:none;} }

/* v1.1.2: Do not place WooCommerce's redundant "Ver carrito" link
   inside a favorite product card. The mini cart handles navigation. */
.evx-wl-list .evx-wl-item a.added_to_cart,
.evx-wl-list .evx-wl-item .added_to_cart:not(.evx-wl-item__buy) { display: none !important; }
