.hfdn-fav {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(0,0,0,0.15);
  border-radius: 999px;
  padding: 6px 10px;
  background: transparent;
  cursor: pointer;
  line-height: 1;
}

.hfdn-fav[disabled] { opacity: 0.6; cursor: not-allowed; }

.hfdn-fav__heart {
  font-size: 16px;
  transform: translateY(-1px);
}

.hfdn-fav__count {
  font-size: 13px;
  opacity: 0.85;
}

.hfdn-fav__label {
  font-size: 13px;
}

.hfdn-fav.is-saved .hfdn-fav__heart {
  /* simple visual cue; adjust to match your theme */
  opacity: 1;
}

.hfdn-fav.is-not-saved .hfdn-fav__heart {
  opacity: 0.6;
}

.hfdn-fav__status {
  margin-left: 8px;
  font-size: 13px;
  opacity: 0.8;
}

.hfdn-fav--compact {
  padding: 5px 9px;
}

.hfdn-fav-list {
  display: grid;
  gap: 12px;
}

.hfdn-fav-list__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 12px;
  padding: 10px 12px;
}

.hfdn-fav-list__title {
  font-weight: 600;
  text-decoration: none;
}

.hfdn-fav-list__date {
  font-size: 13px;
  opacity: 0.75;
  margin-top: 2px;
}
