.wl-offer-toggle {
  background: #fff;
  border: 1.5px solid #5810c5;
  color: #5810c5;
  border-radius: 8px;
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.15s, color 0.15s, transform 0.1s;
}

.wl-offer-toggle:hover {
  background: #f0ebff;
}

.wl-offer-toggle.active {
  background: linear-gradient(135deg, #157347, #1f9e5f);
  border-color: #157347;
  color: #fff;
  transform: scale(1.05);
}

#wishlistOfferFab {
  transition: transform 0.15s;
}

#wishlistOfferFab:hover {
  transform: scale(1.06);
}

/* =============================================
   Cruce con el stock del visitante

   Cuando alguien mira una wishlist ajena, las filas que ya tiene a la venta
   salen marcadas con las unidades, el precio y un enlace directo a esa carta
   en su tienda. Lo calcula profiles/stock_matches.py.
   ============================================= */
.wl-stock-hint {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: #f0f7f2;
  border: 1px solid #b8ddc7;
  border-left: 4px solid #157347;
  border-radius: 10px;
  padding: 10px 14px;
  margin-bottom: 14px;
  font-size: 0.84rem;
  color: #14532d;
}
.wl-stock-hint i { color: #157347; }

.wl-stock-hint-btn {
  background: #157347;
  border: none;
  color: #fff;
  border-radius: 8px;
  padding: 6px 14px;
  font-size: 0.8rem;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: opacity 0.15s;
}
.wl-stock-hint-btn:hover { opacity: 0.9; }

/* La fila que ya tienes: el botón nace en verde apagado para distinguirlo del
   verde lleno de "seleccionada para ofertar". */
.wl-offer-toggle.owned {
  border-color: #157347;
  color: #157347;
  background: #eaf6ef;
}
.wl-offer-toggle.owned:hover { background: #d9eee2; }

.wl-stock-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 5px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #eaf6ef;
  border: 1px solid #b8ddc7;
  color: #157347;
  font-size: 0.7rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.wl-stock-badge:hover { background: #d9eee2; color: #0f5132; }
.wl-stock-badge i { font-size: 0.72rem; color: #157347; }

html.dark-mode .wl-stock-hint {
  background: #17301f; border-color: #2c5c3c; color: #b7e7c8;
}
html.dark-mode .wl-offer-toggle.owned { background: #17301f; }
html.dark-mode .wl-stock-badge {
  background: #17301f; border-color: #2c5c3c; color: #7fd3a0;
}
